Content-Type: multipart/related; start=; boundary=----------qfT33CQvrzOilNZq3SIUxQ Content-Location: http://aquaviews.net/scuba-diving-stories-news/sanctum-stunt-diver-dies-real-life-cave-diving-tradegy/ Subject: =?utf-8?Q?Sanctum=20Stunt=20Diver=20Dies=20In=20A=20Real=20Life=20Cave=20Diving=20Tragedy?= MIME-Version: 1.0 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=default.htm Content-Type: text/html; charset=UTF-8; name=default.htm Content-ID: Content-Location: http://aquaviews.net/scuba-diving-stories-news/sanctum-stunt-diver-dies-real-life-cave-diving-tradegy/ Content-Transfer-Encoding: Quoted-Printable = Sanctum Stunt Diver Dies In A Real Life Cave Diving Tragedy</titl= e> <meta name=3D"robots" content=3D"noodp, noydir" /> <meta name=3D"description" content=3D"Melbourne cave diver Agnes Milowka= , age 29, died on February 27, 2011 while exploring the extensive labyri= nth of caves known as Tank Caves, in Mt. Gambier. While the sad event pl= ayed out much like an incident out of the recent" /> <meta name=3D"keywords" content=3D"cave divers, cave diving, Sanctum, sc= uba accidents, scuba deaths, scuba stories" /> <link rel=3D"stylesheet" href=3D"http://aquaviews.net/wp-content/themes/= thesis_17/style.css?052610-150627" type=3D"text/css" media=3D"screen, pr= ojection" /> <link rel=3D"stylesheet" href=3D"http://aquaviews.net/wp-content/themes/= thesis_17/custom/layout.css?061310-214515" type=3D"text/css" media=3D"sc= reen, projection" /> <!--[if lte IE 8]><link rel=3D"stylesheet" href=3D"http://aquaviews.net/= wp-content/themes/thesis_17/lib/css/ie.css?052610-150649" type=3D"text/c= ss" media=3D"screen, projection" /><![endif]--> <link rel=3D"stylesheet" href=3D"http://aquaviews.net/wp-content/themes/= thesis_17/custom/custom.css?113010-04702" type=3D"text/css" media=3D"scr= een, projection" /> <link rel=3D"canonical" href=3D"http://aquaviews.net/scuba-diving-storie= s-news/sanctum-stunt-diver-dies-real-life-cave-diving-tradegy/" /> <link rel=3D"alternate" type=3D"application/rss+xml" title=3D"Aquaviews = - Online SCUBA Magazine RSS Feed" href=3D"http://feeds.feedburner.com/Aq= uaviews" /> <link rel=3D"pingback" href=3D"http://aquaviews.net/xmlrpc.php" /> <meta property=3D"fb:page_id" content=3D"128809250407" /> <script type=3D"text/javascript"> var _gaq =3D _gaq || []; _gaq.push(['_setAccount', 'UA-9346909-1']); _gaq.push(['_trackPageview']); (function() { var ga =3D document.createElement('script'); ga.type =3D 'text/javas= cript'; ga.async =3D true; ga.src =3D ('https:' =3D=3D document.location.protocol ? 'https://ss= l' : 'http://www') + '.google-analytics.com/ga.js'; var s =3D document.getElementsByTagName('script')[0]; s.parentNode.i= nsertBefore(ga, s); })(); </script> <script type=3D"text/javascript">var switchTo5x=3Dtrue;</script><script = type=3D"text/javascript" src=3D"http://w.sharethis.com/button/buttons.js= "></script><script type=3D"text/javascript">stLight.options({publisher:'= 9dfb21f8-1b3e-480e-b27e-818eac5662d6'});</script> <script type=3D"text/javascript" src=3D"http://apis.google.com/js/pluson= e.js"></script> <script type=3D"text/javascript"> var TB_pluginPath =3D 'http://aquaviews.net/wp-content/plugins/tweet-ble= nder'; var TB_config =3D { 'widget_show_photos':true, 'widget_show_source':false, 'widget_show_header':false, 'general_link_screen_names':true, 'general_link_hash_tags':true, 'general_link_urls':true, 'widget_check_sources':true, 'widget_show_user':false, 'archive_tweets_num':'20', 'general_timestamp_format':false, 'widget_show_reply_link':true, 'widget_show_follow_link':true, 'archive_show_user':false, 'archive_show_photos':false, 'archive_show_source':false, 'archive_is_disabled':false, 'archive_show_reply_link':false, 'archive_show_follow_link':false, 'archive_auto_page':false, 'advanced_reroute_on':false, 'advanced_show_limit_msg':false, 'advanced_disable_cache':true, 'advanced_no_search_api':false, 'filter_lang':'en', 'filter_hide_mentions':true, 'filter_hide_replies':false, 'filter_location_name':false, 'filter_location_dist':false, 'filter_location_dist_units':false, 'filter_bad_strings':'OBXdivecenter, scubadivergirls', 'general_seo_tweets_googleoff':false, 'general_seo_footer_googleoff':false, 'archive_keep_tweets':'0', 'filter_limit_per_source':false, 'filter_limit_per_source_time':'0', 'filter_hide_same_text':true, 'filter_hide_not_replies':false }</script> <link rel=3D"alternate" type=3D"application/rss+xml" title=3D"Aquaviews = - Online SCUBA Magazine » Sanctum Stunt Diver Dies In A Real Life = Cave Diving Tragedy Comments Feed" href=3D"http://aquaviews.net/scuba-di= ving-stories-news/sanctum-stunt-diver-dies-real-life-cave-diving-tradegy= /feed/" /> <link rel=3D'stylesheet' id=3D'NextGEN-css' href=3D'http://aquaviews.ne= t/wp-content/plugins/nextgen-gallery/css/nggallery.css?ver=3D1.0.0' type= =3D'text/css' media=3D'screen' /> <link rel=3D'stylesheet' id=3D'shutter-css' href=3D'http://aquaviews.ne= t/wp-content/plugins/nextgen-gallery/shutter/shutter-reloaded.css?ver=3D= 1.3.0' type=3D'text/css' media=3D'screen' /> <link rel=3D'stylesheet' id=3D'sociable-front-css-css' href=3D'http://a= quaviews.net/wp-content/plugins/sociable/sociable.css?ver=3D3.1' type=3D= 'text/css' media=3D'all' /> <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-includes= /js/l10n.js?ver=3D20101110'></script> <script type=3D'text/javascript' src=3D'https://ajax.googleapis.com/ajax= /libs/jquery/1.6.0/jquery.min.js?ver=3D3.1'></script> <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-content/= plugins/sharebar/js/sharebar.js?ver=3D3.1'></script> <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-content/= plugins/tweet-blender/js/jquery.jsonp-2.1.4.min.js?ver=3D3.1'></script> <script type=3D'text/javascript'> /* <![CDATA[ */ var TB_labels =3D { no_config: "No configuration settings found", twitter_logo: "Twitter Logo", kino: "Development by Kirill Novitchenko", refresh: "Refresh", no_sources: "Twitter sources to blend are not defined", no_global_config: "Cannot retrieve Tweet Blender configuration options"= , version_msg: "Powered by Tweet Blender plugin v{0} blending {1}", limit_msg: "You reached Twitter API connection limit", no_tweets_msg: "No tweets found for {0}", loading_msg: "Loading tweets...", time_past: "{0} {1} ago", time_future: "in {0} {1}", second: "second", seconds: "seconds", minute: "minute", minutes: "minutes", hour: "hour", hours: "hours", day: "day", days: "days", week: "week", weeks: "weeks", month: "month", months: "months", year: "year", years: "years", check_fail: "Check failed", limit_num: "Max is {0}/hour", limit_left: "You have {0} left", from: "from", reply: "reply", follow: "follow", limit_reset: "Next reset" }; /* ]]> */ </script> <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-content/= plugins/tweet-blender/js/lib.js?ver=3D3.1'></script> <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-content/= plugins/tweet-blender/js/main.js?ver=3D3.1'></script> <script type=3D'text/javascript'> /* <![CDATA[ */ var shutterSettings =3D { msgLoading: "L O A D I N G", msgClose: "Click to Close", imageCount: "1" }; /* ]]> */ </script> <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-content/= plugins/nextgen-gallery/shutter/shutter-reloaded.js?ver=3D1.3.0'></scrip= t> <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-content/= plugins/nextgen-gallery/js/jquery.cycle.all.min.js?ver=3D2.88'></script>= <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-content/= plugins/nextgen-gallery/js/ngg.slideshow.min.js?ver=3D1.05'></script> <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-includes= /js/comment-reply.js?ver=3D20090102'></script> <script type=3D'text/javascript' src=3D'http://aquaviews.net/wp-content/= plugins/google-analyticator/external-tracking.min.js?ver=3D6.1.3'></scri= pt> <link rel=3D"EditURI" type=3D"application/rsd+xml" title=3D"RSD" href=3D= "http://aquaviews.net/xmlrpc.php?rsd" /> <link rel=3D"wlwmanifest" type=3D"application/wlwmanifest+xml" href=3D"h= ttp://aquaviews.net/wp-includes/wlwmanifest.xml" /> = <link rel=3D'prev' title=3D'Scuba Mask Tips' href=3D'http://aquaviews.ne= t/scuba-gear/scuba-mask-tips/' /> <link rel=3D'next' title=3D'Using a Video Light for Underwater Photograp= hy Stills' href=3D'http://aquaviews.net/scuba-guides/video-light-underwa= ter-photography-stills/' /> <link rel=3D'shortlink' href=3D'http://wp.me/pXwPl-3nD' /> <link rel=3D"shortcut icon" href=3D"http://aquaviews.net/wp-content/uplo= ads/2010/06/16favicon.png"/> <link rel=3D"apple-touch-icon" href=3D"http://aquaviews.net/wp-content/u= ploads/2010/06/57favicon.png"/> <link rel=3D"stylesheet" href=3D"http://aquaviews.net/wp-content/plugins= /digg-digg/include/../css/diggdigg-style.css?ver=3D4.5.3.1" type=3D"text= /css" media=3D"screen" /> <!-- Facebook Like Thumbnail --> <meta property=3D"og:image" content=3D"http://aquaviews.net/wp-content/u= ploads/2011/04/Agnes-Milowka-150x150.jpg" /> <!-- End Facebook Like Thumbnail --> <script charset=3D"utf-8" type=3D"text/javascript">var switchTo5x=3Dtrue= ;</script><script charset=3D"utf-8" type=3D"text/javascript" src=3D"http= ://w.sharethis.com/button/buttons.js"></script><script type=3D"text/java= script">stLight.options({publisher:'9dfb21f8-1b3e-480e-b27e-818eac5662d6= '});var st_type=3D'wordpress3.1';</script><link rel=3D"stylesheet" href=3D= "http://aquaviews.net/wp-content/plugins/sharebar/css/sharebar.css" type= =3D"text/css" media=3D"screen" /> <script type=3D"text/javascript">jQuery(document).ready(function($) { $(= '.sharebar').sharebar({horizontal:'false',swidth:'65',minwidth:1000,posi= tion:'left',leftOffset:20,rightOffset:10}); });</script> <!-- Sharebar Plugin by Monjurul Dolon (http://mdolon.com/) - more info = at: http://devgrow.com/sharebar-wordpress-plugin --> <style type=3D"text/css" media=3D"all"> /* <![CDATA[ */ @import url("http://aquaviews.net/wp-content/plugins/wp-table-reloaded/c= ss/plugin.css?ver=3D1.9.1"); @import url("http://aquaviews.net/wp-content/plugins/wp-table-reloaded/c= ss/datatables.css?ver=3D1.9.1"); /* ]]> */ </style><!-- WPMU Fast Verification for Google Webmaster Tools, Yahoo! S= ite Explorer, Bing Webmaster Center and Alexa Siteowners [www.myfastblo= g.com] --> <meta name=3D"google-site-verification" content=3D"tymvgzZOYqpf076NvMjnR= p3oheOQL-YYcX0nL7F9NDU" /> <meta name=3D"y_key" content=3D"83c903548e923c60" /> <meta name=3D"msvalidate.01" content=3D"00ADD9BB12F60CB3EC91D7E5EE79EB76= " /> <!-- WPMU Fast Verification for Google Webmaster Tools, Yahoo! Site Expl= orer, Bing Webmaster Center and Alexa Siteowners --> <link id=3D'MediaRSS' rel=3D'alternate' type=3D'application/rss+xml' tit= le=3D'NextGEN Gallery RSS Feed' href=3D'http://aquaviews.net/wp-content/= plugins/nextgen-gallery/xml/media-rss.php' /> <!-- NextGeEN Gallery CoolIris/PicLens support --> <script type=3D"text/javascript" src=3D"http://lite.piclens.com/current/= piclens_optimized.js"></script> <!-- /NextGEN Gallery CoolIris/PicLens support --> <meta name=3D'NextGEN' content=3D'1.7.4' /> <link media=3D"screen, projection" type=3D"text/css" href=3D"http:/= /aquaviews.net/wp-content/themes/thesis_17/custom/css/aquaviews.css" rel= =3D"stylesheet" /> <link rel=3D"stylesheet" type=3D"text/css" media=3D"all" href=3D"ht= tp://aquaviews.net/wp-content/themes/thesis_17/custom/custom_header.css"= /> <style type=3D"text/css">.recentcomments a{display:inline !importan= t;padding:0 !important;margin:0 !important;}</style> <!-- Wordpress Popular Posts v2.1.4 --> <script type=3D"text/javascript" charset=3D"utf-8"> /* <![CDATA[ */ = jQuery.post('http://aquaviews.net/wp-admin/admin-ajax.php', {action: 'w= pp_update', token: 'ddcd62ce94', id: 12997}); /* ]]> */ </script> <!-- End Wordpress Popular Posts v2.1.4 --> = <!-- Wordpress Popular Posts v2.1.4 --> <link rel=3D"stylesheet" href=3D"http://aquaviews.net/wp-content/plugins= /wordpress-popular-posts/style/wpp.css" type=3D"text/css" media=3D"scree= n" /> <!-- End Wordpress Popular Posts v2.1.4 --> <link type=3D"text/css" media=3D"screen" rel=3D"stylesheet" href=3D"http= ://aquaviews.net/wp-content/plugins/tweet-blender/css/tweets.css" /> <!-- Google Analytics Tracking by Google Analyticator 6.1.3: http://rona= ldheft.com/code/analyticator/ --> <script type=3D"text/javascript"> var analyticsFileTypes =3D ['']; var analyticsEventTracking =3D 'enabled'; </script> <script type=3D"text/javascript"> var _gaq =3D _gaq || []; _gaq.push(['_setAccount', 'UA-9346909-1']); _gaq.push(['_trackPageview']); (function() { var ga =3D document.createElement('script'); ga.type =3D 'text/javascr= ipt'; ga.async =3D true; ga.src =3D ('https:' =3D=3D document.location.protocol ? 'https://ssl'= : 'http://www') + '.google-analytics.com/ga.js'; var s =3D document.getElementsByTagName('script')[0]; s.parentNode.ins= ertBefore(ga, s); })(); </script> </head> <body class=3D"custom"> <div id=3D"header_area" class=3D"full_width"> <div class=3D"page"> <ul class=3D"menu"> <li class=3D"tab tab-home"><a href=3D"http://aquaviews.net">Home</a></li= > <li class=3D"tab tab-1"><a href=3D"http://aquaviews.net/about/" title=3D= "About">About</a></li> <li class=3D"tab tab-2"><a href=3D"http://aquaviews.net/scuba-store/" ti= tle=3D"Scuba Store">Scuba Equipment</a></li> <li class=3D"tab tab-3"><a href=3D"http://aquaviews.net/contact-connect/= " title=3D"Contact & Connect">Contact Us</a></li> <li class=3D"rss"><a href=3D"http://feeds.feedburner.com/Aquaviews" titl= e=3D"Aquaviews - Online SCUBA Magazine RSS Feed" rel=3D"nofollow">Subscr= ibe</a></li> </ul> <div id=3D"search_bar"> <form method=3D"get" class=3D"search_form" action=3D"http://aquav= iews.net"> <p> <input class=3D"text_input" type=3D"text" value=3D"Search the blog..= ." id=3D"stop" name=3D"s" onfocus=3D"if (this.value =3D=3D 'Search the b= log...') {this.value =3D '';}" onblur=3D"if (this.value =3D=3D '') {this= .value =3D 'Search the blog...';}" /> <input type=3D"submit" id=3D"topsubmit" value=3D"GO" /> </p> </form> </div> = <div id=3D"header"> <div id=3D"second_nav"> <ul id=3D"second_nav_menu"> = <li class=3D"second_nav_one"><a href=3D"http://aquaviews= .net/category/scuba-diving-stories-news">News <span class=3D"desc">SCUBA= news</span></a> = <ul class=3D"second_nav_one_sub"> <li><a href=3D"http://aquaviews.net/category/scuba-div= ing-stories-news">SCUBA News</a></li> <li><a href=3D= "http://aquaviews.net/category/snorkeling-news">Snorkeling News</a></li>= <li><a href=3D"http://aquaviews.net/category/ocean-= news">Ocean News</a></li> = </ul> </li> = = <li class=3D"second_nav_two"><a href=3D"http://aquaviews= .net/category/scuba-gear">Gear <span class=3D"desc">SCUBA Equipment</spa= n></a> = <ul class=3D"second_nav_one_sub"> <li><a href=3D"http://aquaviews.n= et/category/scuba-gear">Equipment Reviews</a></li> = </ul> </li> = <li class=3D"second_nav_three"><a href=3D"http://aquavie= ws.net/category/dive-destinations">Travel <span class=3D"desc">Dive Dest= inations</span></a> = <ul class=3D"second_nav_= one_sub"> <li><a href=3D"http://aquaviews.net/category/dive-dest= inations">SCUBA Travel</a></li> <li><a href=3D"http:= //aquaviews.net/category/exlpore-the-blue">Marine Life Spotlight</a></li= > = </ul> </li> = <li class=3D"second_nav_four"><a href=3D"http://aquaview= s.net/category/scuba-humor">Deco <span class=3D"desc">Everything Else</s= pan></a> = <ul clas= s=3D"second_nav_one_sub"> <li><a href=3D"http://aquaviews.net/category/scuba-hum= or">SCUBA Humor</a></li> = </ul> </li> = </ul> </div> <p id=3D"logo"><a href=3D"http://aquaviews.net">Aquaviews - Online SCU= BA Magazine</a></p> </div> <div id=3D"header_addon"> <div id=3D"header_featured"> <ul class=3D"sidebar_list"> <li id=3D"bu_text_widget-4" class=3D"widget widget_bu_text"><div clas= s=3D"widget_box"><div class=3D"featured_default"><h3> </h3><p>Aquav= iews is the online SCUBA publication of LeisurePro. We provide the most = up to date, comprehensive SCUBA-related information online.</p></div></d= iv></li> </ul> </div> = <div id=3D"header_ads"> <div style=3D"margin-top:1.5em;"> <div style=3D"float:left; margin-left :2.5em;"><a href=3D"h= ttp://bit.ly/bxDZXH "><img src=3D"http://aquaviews.net/wp-content/upload= s/2011/03/125x125_LeisurePro.png" alt=3D"" /></a></div> <div style=3D"float:left; margin-left:2.5em; backgroun= d-color:white; height:125px;"><a href=3D"http://twitter.com/leisurepro">= <img src=3D"http://aquaviews.net/wp-content/uploads/2011/03/125x125_Twit= ter.png" alt=3D"Follow us on Twitter" /></a><br /> <div style=3D"text-align:center;padding-top:.5em">Join our <strong>1,565= </strong> friends!</div> </div> <div style=3D"float:left; margin-left:2.5em; backgroun= d-color:white; height:125px;"><a href=3D"http://www.facebook.com/leisure= pro"><img src=3D"http://aquaviews.net/wp-content/uploads/2011/03/125x125= _Facebook.png" alt=3D"Like us on Facebook" /></a> <div style=3D"text-align:center; padding-top:.5em;">Meet <strong>3032</s= trong> fans!</div> </div> <div style=3D"float:left; margin-left:2.5em;><a href=3D"http://www.youtu= be.com/leisurepro"><img src=3D"http://aquaviews.net/wp-content/uploads/2= 011/03/125x125_YouTube.png" alt=3D"" /></a></div> </div> </div> </div> </div> </div> <div id=3D"content_area" class=3D"full_width"> <div class=3D"page"> <div id=3D"content_box"> <div id=3D"content" class=3D"hfeed"> <div class=3D"post-12997 post type-post status-publish format-standar= d hentry category-scuba-diving-stories-news tag-cave-divers tag-cave-div= ing tag-sanctum tag-scuba-accidents tag-scuba-deaths tag-scuba-stories p= ost_box top" id=3D"post-12997"> <div class=3D"headline_area"> <h1 class=3D"entry-title">Sanctum Stunt Diver Dies In A Real Life C= ave Diving Tragedy</h1> <div style=3D"text-align:center;"> <!-- = <div class=3D"sociable"> <ul> <li class=3D"sociablefirst"><a rel=3D"nofollow" target=3D"_blank" href= =3D"http://www.printfriendly.com/print?url=3Dhttp%3A%2F%2Faquaviews.net%= 2Fscuba-diving-stories-news%2Fsanctum-stunt-diver-dies-real-life-cave-di= ving-tradegy%2F&partner=3Dsociable" title=3D"Print"><img src=3D"http= ://aquaviews.net/wp-content/plugins/sociable/images/services-sprite.gif"= title=3D"Print" alt=3D"Print" style=3D"width: 16px; height: 16px; backg= round: transparent url(http://aquaviews.net/wp-content/plugins/sociable/= images/services-sprite.png) no-repeat; background-position:-343px -37px"= /></a></li> <li><a rel=3D"nofollow" target=3D"_blank" href=3D"mailto:?subject=3DSa= nctum%20Stunt%20Diver%20Dies%20In%20A%20Real%20Life%20Cave%20Diving%20Tr= agedy&body=3Dhttp%3A%2F%2Faquaviews.net%2Fscuba-diving-stories-news%= 2Fsanctum-stunt-diver-dies-real-life-cave-diving-tradegy%2F" title=3D"em= ail"><img src=3D"http://aquaviews.net/wp-content/plugins/sociable/images= /services-sprite.gif" title=3D"email" alt=3D"email" style=3D"width: 16px= ; height: 16px; background: transparent url(http://aquaviews.net/wp-cont= ent/plugins/sociable/images/services-sprite.png) no-repeat; background-p= osition:-325px -1px" /></a></li> <li><a rel=3D"nofollow" target=3D"_blank" href=3D"http://www.printfrie= ndly.com/print?url=3Dhttp%3A%2F%2Faquaviews.net%2Fscuba-diving-stories-n= ews%2Fsanctum-stunt-diver-dies-real-life-cave-diving-tradegy%2F&part= ner=3Dsociable" title=3D"PDF"><img src=3D"http://aquaviews.net/wp-conten= t/plugins/sociable/images/services-sprite.gif" title=3D"PDF" alt=3D"PDF"= style=3D"width: 16px; height: 16px; background: transparent url(http://= aquaviews.net/wp-content/plugins/sociable/images/services-sprite.png) no= -repeat; background-position:-325px -37px" /></a></li> <li><a rel=3D"nofollow" target=3D"_blank" href=3D"http://twitter.com/h= ome?status=3DSanctum%20Stunt%20Diver%20Dies%20In%20A%20Real%20Life%20Cav= e%20Diving%20Tragedy%20-%20http%3A%2F%2Faquaviews.net%2Fscuba-diving-sto= ries-news%2Fsanctum-stunt-diver-dies-real-life-cave-diving-tradegy%2F" t= itle=3D"Twitter"><img src=3D"http://aquaviews.net/wp-content/plugins/soc= iable/images/services-sprite.gif" title=3D"Twitter" alt=3D"Twitter" styl= e=3D"width: 16px; height: 16px; background: transparent url(http://aquav= iews.net/wp-content/plugins/sociable/images/services-sprite.png) no-repe= at; background-position:-343px -55px" /></a></li> <li><a rel=3D"nofollow" target=3D"_blank" href=3D"http://digg.com/subm= it?phase=3D2&url=3Dhttp%3A%2F%2Faquaviews.net%2Fscuba-diving-stories= -news%2Fsanctum-stunt-diver-dies-real-life-cave-diving-tradegy%2F&ti= tle=3DSanctum%20Stunt%20Diver%20Dies%20In%20A%20Real%20Life%20Cave%20Div= ing%20Tragedy&bodytext=3D%0D%0AMelbourne%20cave%20diver%20Agnes%20Mi= lowka%2C%20age%2029%2C%20died%20on%20February%2027%2C%202011%20while%20e= xploring%20the%20extensive%20labyrinth%20of%20caves%20known%20as%20Tank%= 20Caves%2C%20in%20Mt.%20Gambier.%20While%20the%20sad%20event%20played%20= out%20much%20like%20an%20incident%20out%20of%20the%20recent%20James%20Ca= meron%20scuba%20m" title=3D"Digg"><img src=3D"http://aquaviews.net/wp-co= ntent/plugins/sociable/images/services-sprite.gif" title=3D"Digg" alt=3D= "Digg" style=3D"width: 16px; height: 16px; background: transparent url(h= ttp://aquaviews.net/wp-content/plugins/sociable/images/services-sprite.p= ng) no-repeat; background-position:-235px -1px" /></a></li> <li><a rel=3D"nofollow" target=3D"_blank" href=3D"http://www.facebook.= com/share.php?u=3Dhttp%3A%2F%2Faquaviews.net%2Fscuba-diving-stories-news= %2Fsanctum-stunt-diver-dies-real-life-cave-diving-tradegy%2F&t=3DSan= ctum%20Stunt%20Diver%20Dies%20In%20A%20Real%20Life%20Cave%20Diving%20Tra= gedy" title=3D"Facebook"><img src=3D"http://aquaviews.net/wp-content/plu= gins/sociable/images/services-sprite.gif" title=3D"Facebook" alt=3D"Face= book" style=3D"width: 16px; height: 16px; background: transparent url(ht= tp://aquaviews.net/wp-content/plugins/sociable/images/services-sprite.pn= g) no-repeat; background-position:-343px -1px" /></a></li> <li><a rel=3D"nofollow" target=3D"_blank" href=3D"http://www.stumbleup= on.com/submit?url=3Dhttp%3A%2F%2Faquaviews.net%2Fscuba-diving-stories-ne= ws%2Fsanctum-stunt-diver-dies-real-life-cave-diving-tradegy%2F&title= =3DSanctum%20Stunt%20Diver%20Dies%20In%20A%20Real%20Life%20Cave%20Diving= %20Tragedy" title=3D"StumbleUpon"><img src=3D"http://aquaviews.net/wp-co= ntent/plugins/sociable/images/services-sprite.gif" title=3D"StumbleUpon"= alt=3D"StumbleUpon" style=3D"width: 16px; height: 16px; background: tra= nsparent url(http://aquaviews.net/wp-content/plugins/sociable/images/ser= vices-sprite.png) no-repeat; background-position:-217px -55px" /></a></l= i> <li><a rel=3D"nofollow" target=3D"_blank" href=3D"http://posterous.com= /share?linkto=3Dhttp%3A%2F%2Faquaviews.net%2Fscuba-diving-stories-news%2= Fsanctum-stunt-diver-dies-real-life-cave-diving-tradegy%2F&title=3DS= anctum%20Stunt%20Diver%20Dies%20In%20A%20Real%20Life%20Cave%20Diving%20T= ragedy&selection=3D%0D%0AMelbourne%20cave%20diver%20Agnes%20Milowka%= 2C%20age%2029%2C%20died%20on%20February%2027%2C%202011%20while%20explori= ng%20the%20extensive%20labyrinth%20of%20caves%20known%20as%20Tank%20Cave= s%2C%20in%20Mt.%20Gambier.%20While%20the%20sad%20event%20played%20out%20= much%20like%20an%20incident%20out%20of%20the%20recent%20James%20Cameron%= 20scuba%20m" title=3D"Posterous"><img src=3D"http://aquaviews.net/wp-con= tent/plugins/sociable/images/services-sprite.gif" title=3D"Posterous" al= t=3D"Posterous" style=3D"width: 16px; height: 16px; background: transpar= ent url(http://aquaviews.net/wp-content/plugins/sociable/images/services= -sprite.png) no-repeat; background-position:-289px -37px" /></a></li> <li class=3D"sociablelast"><a rel=3D"nofollow" target=3D"_blank" href=3D= "http://www.tumblr.com/share?v=3D3&u=3Dhttp%3A%2F%2Faquaviews.net%2F= scuba-diving-stories-news%2Fsanctum-stunt-diver-dies-real-life-cave-divi= ng-tradegy%2F&t=3DSanctum%20Stunt%20Diver%20Dies%20In%20A%20Real%20L= ife%20Cave%20Diving%20Tragedy&s=3D%0D%0AMelbourne%20cave%20diver%20A= gnes%20Milowka%2C%20age%2029%2C%20died%20on%20February%2027%2C%202011%20= while%20exploring%20the%20extensive%20labyrinth%20of%20caves%20known%20a= s%20Tank%20Caves%2C%20in%20Mt.%20Gambier.%20While%20the%20sad%20event%20= played%20out%20much%20like%20an%20incident%20out%20of%20the%20recent%20J= ames%20Cameron%20scuba%20m" title=3D"Tumblr"><img src=3D"http://aquaview= s.net/wp-content/plugins/sociable/images/services-sprite.gif" title=3D"T= umblr" alt=3D"Tumblr" style=3D"width: 16px; height: 16px; background: tr= ansparent url(http://aquaviews.net/wp-content/plugins/sociable/images/se= rvices-sprite.png) no-repeat; background-position:-325px -55px" /></a></= li> </ul> </div> --> <span style=3D"line-height:25px;"><g:plusone></g:plusone></span><span c= lass=3D'st_facebook_hcount' displayText=3D'Facebook'></span><span class= =3D'st_twitter_hcount' displayText=3D'Tweet'></span><span class=3D'st_s= tumbleupon_hcount' displayText=3D'Stumble'></span><span class=3D'st_ema= il_hcount' displayText=3D'Email'></span><span class=3D'st_sharethis_hco= unt' displayText=3D'Share'></span><br /> <iframe src=3D'http://www.facebook.com/plugins/like.php?href=3Dhttp%3A%2= F%2Faquaviews.net%2Fscuba-diving-stories-news%2Fsanctum-stunt-diver-dies= -real-life-cave-diving-tradegy%2F&locale=3D&layout=3Dstandard&am= p;action=3Dlike&width=3D350&height=3D24&colorscheme=3Dlight'= scrolling=3D'no' frameborder=3D'0' style=3D'border:none; overflow:hidde= n; width:500px; height:24px;' allowTransparency=3D'true'></iframe><br />= </div> <p class=3D"headline_meta">by <span class=3D"author vcard fn">Noree= n</span> on <abbr class=3D"published" title=3D"2011-04-04">April 4, 2011= </abbr></p> </div> <div class=3D"format_text entry-content"> <div id=3D"attachment_13001" class=3D"wp-caption alignright" style=3D"wi= dth: 306px"> <a href=3D"http://aquaviews.net/wp-content/uploads/2011/04/Agnes-Milowk= a.jpg"><img class=3D"size-full wp-image-13001" title=3D"Agnes Milowka" s= rc=3D"http://aquaviews.net/wp-content/uploads/2011/04/Agnes-Milowka.jpg"= alt=3D"Agnes Milowka Sanctum Stunt Diver Dies In A Real Life Cave Divin= g Tragedy" width=3D"306" height=3D"387" /></a> <p class=3D"wp-caption-text">Image source: agnesmilowka.com </p> </div> <p style=3D"text-align: left;">Melbourne cave diver Agnes Milowka, age 2= 9, died on February 27, 2011 while exploring the extensive labyrinth of = caves known as <a href=3D"http://aquaviews.net/dive-craters-sinkholes-mo= unt-gambier/">Tank Caves</a>, in <a href=3D"http://aquaviews.net/scuba-d= ive-destinations/australias-diving-secret-mount-gambier/">Mt. Gambier</a= >. While the sad event played out much like an incident out of the recen= t <a href=3D"http://aquaviews.net/?s=3Dsanctum">James Cameron scuba movi= e ‘Sanctum’</a>, Milowka actually worked as a stunt diver fo= r the two female characters in the same movie.<em> </em></p> <p style=3D"text-align: left;">True to the character she played in the m= ovie, Agnes was a passionate cave diver and explorer who=C2=A0 lived to = go where no man had before. Captivated by the sheer mystery of unknown p= assages and where they led to, cave exploration became more than just an= obsession for her. Exploring, mapping new cave systems, pushing the bou= ndaries and bringing back images from her adventures to share with the w= orld what very few would ever see with their own eyes, was the center of= her existence. Having dived Florida’s cave country and the Bahama= s extensively, Agnes turned to her own country and set her sights on <a = href=3D"http://www.leisurepro.com/Cat/Context_954/Tanks/962.html">Tank</= a> Cave, a maze-like system with more than seven kilometers of underwate= r passages, located near <a href=3D"http://aquaviews.net/scuba-dive-dest= inations/australias-diving-secret-mount-gambier/">Mt. Gambier in South A= ustralia</a> which is famous for it’s sinkholes,=C2=A0 underground= waterways, caves and caverns.</p> <p style=3D"text-align: left;">A highly experienced cave diver, Milowka = was said to have dived the Tank Caves many times before. She had previou= sly written about the Tank Cave system for <em>Cave Diving Down Under</e= m> and described it as the =E2=80=9Ccrowning jewel=E2=80=9D of the caves= in the region. She went on to write-</p> <blockquote> <p style=3D"text-align: justify;"><em>=E2=80=9CThe cave is stunning, it = is relatively shallow (a max depth around 20m), there is no flow to figh= t and the water is crystal clear – you can’t go wrong really= .=E2=80=9D</em></p> </blockquote> <p style=3D"text-align: left;">But she also wrote that the system was co= mplicated, =E2=80=9Clike a spider web gone wild=E2=80=9D and meant diver= s must learn the cave carefully to navigate tight restrictions and often= zero visibility. She wrote of a new passage in Tank Cave she had discov= ered with a colleague, and described numerous “tight bits” w= here some divers may have had to take off their tanks to squeeze through= . She wrote-</p> <blockquote> <p style=3D"text-align: justify;"><em>“The walls and roof to begin= with are quite soft and squishy, which means that large chunks of the r= oof rain down on you as you exhale and the visibility is quickly reduced= to zero,” </em></p> <p style=3D"text-align: justify;"><em>“This is not only a hazard w= hen coming back out through the small restrictions but it also means tha= t this section of the cave is particularly fragile and needs to be handl= ed with a bit of tender love and care.”</em></p> </blockquote> <p style=3D"text-align: left;">On the day of her tragic accident, no one= really knows what went wrong. She was believed to have left her buddy a= nd never returned. Her fellow divers reported her missing and one of the= m was able to identify the area within the cave system where she was las= t seen.=C2=A0 Her body was found overnight about 600 meters inside the c= ave system.</p> <p style=3D"text-align: left;">On her website, Agnes says she is well aw= are of the risks she faces everytime she submerged into the dark subterr= anean world of cave diving.=C2=A0 And in a recent interview with a Polis= h radio station when asked if the death of a fellow diver scared her a l= ittle, she replied-<strong> </strong></p> <blockquote> <p style=3D"text-align: left;"><em>” I am not scared of diving. An= yone at any point can pass away. So you have to live your life as if tom= orrow could be your last day. I love diving, I am passionate about it an= d I don’t think anything will stop me from doing it. Unfortunately= there are risks; in every extreme sport there are dangers. It doesnR= 17;t always work out but you do everything possible to not only do that = one dive, but to keep on diving over many years. That’s what it= 217;s all about after all, longevity. You have to dive safely but live a= s if everyday is going to be your last.”</em></p> </blockquote> <p style=3D"text-align: center;"><object width=3D"560" height=3D"349"><p= aram name=3D"movie" value=3D"http://www.youtube.com/v/CKuUM8Z9MDg?fs=3D1= &hl=3Den_GB" /><param name=3D"allowFullScreen" value=3D"true" /><par= am name=3D"allowscriptaccess" value=3D"always" /><embed type=3D"applicat= ion/x-shockwave-flash" width=3D"560" height=3D"349" src=3D"http://www.yo= utube.com/v/CKuUM8Z9MDg?fs=3D1&hl=3Den_GB" allowfullscreen=3D"true" = allowscriptaccess=3D"always"></embed></object></p> <p style=3D"text-align: justify;"><span style=3D"text-decoration: underl= ine;">Sources:</span></p> <ul style=3D"text-align: justify;"> <li><a href=3D"http://www.heraldsun.com.au/news/victoria/victorian-cave-= diver-agnes-milowka-dies-at-tank-cave-mt-gambier/story-e6frf7kx-12260133= 13425">Herald Sun</a></li> <li><a href=3D"http://www.smh.com.au/national/grim-task-to-retrieve-lost= -diver-agnes-20110228-1baxc.html">The Sunday Morning Herald</a> (<a href= =3D"http://www.smh.com.au/national/grim-task-to-retrieve-lost-diver-agne= s-20110228-1baxc.html">Smh.com.au</a>)</li> <li><a href=3D"http://www.agnesmilowka.com/">agnesmilowka.com</a></li> </ul> <p style=3D"text-align: justify;"> </p><style type=3D"text/css"> .button{margin-left:30%;} .gfield_description{font-style:italic;font-weight:bold;font-size:.85em;}= .gform_wrapper .left_label input.medium, .gform_wrapper .left_label sele= ct.medium {text-align:center;} .gform_wrapper .gf_2col ul.gfield_checkbox li, .gform_wrapper .gf_2col u= l.gfield_radio li {width:50%; float:left; margin:0; min-height:1.8em} .gform_wrapper .gf_3col ul.gfield_checkbox li, .gform_wrapper .gf_3col u= l.gfield_radio li {width:33%; float:left; margin:0; min-height:1.8em} .gform_wrapper .gf_4col ul.gfield_checkbox li, .gform_wrapper .gf_4col u= l.gfield_radio li {width:25%; float:left; margin:0; min-height:1.8em} .gform_wrapper .gf_2col ul.gfield_checkbox, .gform_wrapper .gf_2col ul.g= field_radio, .gform_wrapper .gf_3col ul.gfield_checkbox, .gform_wrapper = .gf_3col ul.gfield_radio, .gform_wrapper .gf_4col ul.gfield_checkbox, .g= form_wrapper .gf_4col ul.gfield_radio {overflow:hidden} .gform_wrapper .gf_height25 ul.gfield_checkbox li, .gform_wrapper .gf_he= ight25 ul.gfield_radio li {height:25px} .gform_wrapper .gf_height50 ul.gfield_checkbox li, .gform_wrapper .gf_he= ight50 ul.gfield_radio li {height:50px} .gform_wrapper .gf_height75 ul.gfield_checkbox li, .gform_wrapper .gf_he= ight75 ul.gfield_radio li {height:75px} .gform_wrapper .gf_height100 ul.gfield_checkbox li, .gform_wrapper .gf_h= eight100 ul.gfield_radio li {height:100px} .gform_wrapper .gf_height125 ul.gfield_checkbox li, .gform_wrapper .gf_h= eight125 ul.gfield_radio li {height:125px} .gform_wrapper .gf_height150 ul.gfield_checkbox li, .gform_wrapper .gf_h= eight150 ul.gfield_radio li {height:150px} .gform_wrapper ul.gfield_radio li, .gform_wrapper ul.gfield_checkbox li = {overflow:visible} ul.gfield_radio, .gform_wrapper .right_label ul.gfield_radio {margin-lef= t:32%} .gform_wrapper .gfield_checkbox li, .gform_wrapper .gfield_radio li {pos= ition:relative} .gform_wrapper ul.gfield_checkbox, .gform_wrapper ul.gfield_radio {margi= n:6px 0; padding:0} .gform_wrapper .gfield_checkbox li label, .gform_wrapper .gfield_radio l= i label {display:block; margin: 0 0 0 24px; padding:0; width: auto; line= -height:1.5; vertical-align: top} .gform_wrapper .gfield_checkbox li input[type=3Dcheckbox], .gform_wrappe= r .gfield_radio li input[type=3Dradio], .gform_wrapper .gfield_checkbox = li input {float:left; margin-top:2px} .gform_body{text-align:center;} .gform_heading{font-style:italic;text-align:center;} .gform_wrapper li, .gform_wrapper form li {list-style-type:none !importa= nt; overflow:hidden;} .gform_wrapper .left_label .gfield_label {clear:both; display:inline-blo= ck; font-weight:bold; line-height:130%; margin:10px 0 4px;} .gform_wrapper .left_label input.medium, .gform_wrapper .left_label sele= ct.medium {width:95%;} .gform_wrapper input {font-family:verdana,sans-serif; font-size:11px; le= tter-spacing:normal; outline-style:none; padding:2px 0;} #___plusone_0{height: 16px!important;width: 70px!important;display: inli= ne-block;} </style> <div style=3D"text-align:center;"><span style=3D"line-height:50px;"><g:p= lusone size=3D"tall"></g:plusone></span><span class=3D'st_facebook_vcou= nt' displayText=3D'Facebook'></span><span class=3D'st_twitter_vcount' d= isplayText=3D'Tweet'></span><span class=3D'st_stumbleupon_vcount' displ= ayText=3D'Stumble'></span><span class=3D'st_email_vcount' displayText=3D= 'Email'></span><span class=3D'st_sharethis_vcount' displayText=3D'Share= '></span></div> <div style=3D"border:2px dotted blue; margin:1em 3em;padding:.75em;"> <div class=3D'gform_wrapper' id=3D'gform_wrapper_2' ><fo= rm method=3D'post' enctype=3D'multipart/form-data' target=3D'gform_ajax_= frame_2' id=3D'gform_2' action=3D'/scuba-diving-stories-news/sanctum-st= unt-diver-dies-real-life-cave-diving-tradegy/'> <div class=3D'gform_heading'> <span class=3D'gform_description'>Want to ge= t these articles sent automatically to your email every week? Sign up be= low!</span> </div> <div class=3D'gform_body'> <ul id=3D'gform_fields_2' class=3D'gform_fie= lds left_label'><li id=3D'field_2_2' class=3D'gfield gfiel= d_contains_required' ><label class=3D'gfield_label' for=3D'input_2_2'>Em= ail<span class=3D'gfield_required'>*</span></label><div class=3D'ginput_= container'><input name=3D'input_2' id=3D'input_2_2' type=3D'text' value=3D= '' class=3D'medium' tabindex=3D'1' /></div></li><li id=3D'field_2_3' c= lass=3D'gfield gfield_contains_required' ><label class=3D'= gfield_label' for=3D'input_2_3'>LeisurePro Newsletter?<span class=3D'gfi= eld_required'>*</span></label><div class=3D'ginput_container'><select na= me=3D'input_3' id=3D'input_2_3' class=3D'medium gfield_select' tabindex= =3D'2' ><option value=3D'Yes' selected=3D'selected'>Yes</option><option = value=3D'No' >No</option></select></div><div class=3D'gfield_description= '>Would you like to also receive the LeisurePro.com newsletter for the l= atest deals on SCUBA equipment and travel?</div></li> </ul></div> <div class=3D'gform_footer left_label'> <input type=3D'submit' i= d=3D'gform_submit_button_2' class=3D'button gform_button' value=3D'Submi= t' tabindex=3D'3' /><input type=3D'hidden' name=3D'gform_ajax' value=3D'= form_id=3D2&title=3D&description=3D1' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'is_sub= mit_2' value=3D'1' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'gform_= submit' value=3D'2' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'gform_= unique_id' value=3D'4dfb3f0f87ba0' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'state_= 2' value=3D'YToyOntpOjA7czo2OiJhOjA6e30iO2k6MTtzOjMyOiJmMmQwZGQ3NTY3N2Vl= ZmJmMWJkOTVhNDMwYWNhN2QwZCI7fQ=3D=3D' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'gform_= target_page_number_2' id=3D'gform_target_page_number_2' value=3D'0' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'gform_= source_page_number_2' id=3D'gform_source_page_number_2' value=3D'1' /> <input type=3D'hidden' name=3D'gform_field_values' value=3D'= ' /> = </div> </form> </div> <iframe style=3D'display:none;width:0px; height:0px;' sr= c=3D'about:blank' name=3D'gform_ajax_frame_2' id=3D'gform_ajax_frame_2'>= </iframe> <script type=3D'text/javascript'>function gformInitSpinn= er(){jQuery('#gform_2').submit(function(){jQuery('#gform_submit_button_2= ').attr('disabled', true).after('<' + 'img id=3D"gform_ajax_spinner_2" = class=3D"gform_ajax_spinner" src=3D"http://aquaviews.net/wp-content/plug= ins/gravityforms/images/spinner.gif" alt=3D"" />');jQuery('#gform_wrappe= r_2 .gform_previous_button').attr('disabled', true); jQuery('#gform_wrap= per_2 .gform_next_button').attr('disabled', true).after('<' + 'img id=3D= "gform_ajax_spinner_2" class=3D"gform_ajax_spinner" src=3D"http://aquav= iews.net/wp-content/plugins/gravityforms/images/spinner.gif" alt=3D"" />= ');});}jQuery(document).ready(function($){gformInitSpinner();jQuery('#gf= orm_ajax_frame_2').load( function(){var form_content =3D jQuery(this).co= ntents().find('#gform_wrapper_2');var confirmation_content =3D jQuery(th= is).contents().find('#gforms_confirmation_message');jQuery('#gform_submi= t_button_2').removeAttr('disabled');if(form_content.length > 0){jQuery('= #gform_wrapper_2').html(form_content.html());jQuery(document).scrollTop(= jQuery('#gform_wrapper_2').offset().top);if(window['gformInitDatepicker'= ]) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInit= PriceFields();}var current_page =3D jQuery('#gform_source_page_number_2'= ).val();gformInitSpinner();jQuery(document).trigger('gform_page_loaded',= [2, current_page]);}else if(confirmation_content.length > 0){setTimeout= (function(){jQuery('#gform_wrapper_2').replaceWith('<' + 'div id=3D\'gfo= rms_confirmation_message\'' + '>' + confirmation_content.html() + '<' + = '/div' + '>');jQuery(document).scrollTop(jQuery('#gforms_confirmation_me= ssage').offset().top);jQuery(document).trigger('gform_confirmation_loade= d', [2]);}, 50);}else{jQuery('#gform_2').append(jQuery(this).contents().= find('*').html());if(window['gformRedirect']) gformRedirect();}});});</s= cript></div> = <p style=3D"text-align:center;"><a href=3D"http://bit.ly/bxDZXH" title=3D= "Buy SCUBA Equipment" ><img src=3D"http://aquaviews.net/wp-content/uploa= ds/2011/03/lpbanner.jpg" alt=3D"Buy SCUBA Gear" /></a></p> <p style=3D"text-align:center;"> <a href=3D"http://insurance.essentialtravel.co.uk/scubainsurance.asp" ti= tle=3D"Scuba Diving Insurance"><img src=3D"https://images.essentialtrave= l.co.uk/banners/scuba-diving-468x60.gif" alt=3D"Scuba Diving Insurance" = border=3D"0"></a> </p> <div style=3D"background:#DEDEDE; border: 3px dotted black; padding:.5em= ;"> If you enjoyed this article, please consider sharing it on your favorite= social network, subscribing via <a href=3D"http://feeds.feedburner.com/= Aquaviews" target=3D"_blank">RSS</a> or <a href=3D"http://eepurl.com/ztL= P" target=3D"_blank">email</a>.</div> <p style=3D"font-size:1.5em;margin-bottom:.25em;">Related posts:</p><ol>= <li><a href=3D'http://aquaviews.net/ocean-news/real-story-movie-sanctum/= ' rel=3D'bookmark' title=3D'Permanent Link: The Real Story Behind The Mo= vie Sanctum'>The Real Story Behind The Movie Sanctum</a></li> <li><a href=3D'http://aquaviews.net/scuba-diving-stories-news/sanctum/' = rel=3D'bookmark' title=3D'Permanent Link: Sanctum: The Only Way out is D= own'>Sanctum: The Only Way out is Down</a></li> <li><a href=3D'http://aquaviews.net/scuba-guides/how-does-cavern-and-cav= e-diving-differ-from-one-another/' rel=3D'bookmark' title=3D'Permanent L= ink: How does cavern and cave diving differ from one another'>How does c= avern and cave diving differ from one another</a></li> </ol> </div> </div> <div id=3D'idc-container'></div> <div id=3D"idc-noscript"> <div id=3D"comments"> <div id=3D"comments_intro" class=3D"comments_intro"> <p><span class=3D"bracket">{</span> <span>3</span> comments… = read them below or <a href=3D"#respond" rel=3D"nofollow">add one</a> <sp= an class=3D"bracket">}</span></p> </div> <dl id=3D"comment_list"> <dt class=3D"comment even thread-even depth-1" id=3D"comment-22215"= > <span class=3D"avatar"><img alt=3D'' src=3D'http://0.gravatar.com/avatar= /65bb992f7898131a3547f719149830b2?s=3D44&d=3Dhttp%3A%2F%2Faquaviews.= net%2Fwp-includes%2Fimages%2Fblank.gif&r=3DPG' class=3D'avatar avata= r-44 photo' height=3D'44' width=3D'44' /></span> <span class=3D"comment_author">EDW</span> <span class=3D"comment_time"><a href=3D"#comment-22215" title=3D"Permali= nk to this comment" rel=3D"nofollow">April 6, 2011 at 1:28 pm</a></span>= </dt> <dd class=3D"comment even thread-even depth-1"> <div class=3D"format_text" id=3D"comment-body-22215"> <p>What a sad tragic loss for her family, and the diving community. We = are in her debt for all she has done as a diver, and she will surely be = missed.</p> <p class=3D"reply"><a class=3D'comment-reply-link' href=3D'/scuba-diving= -stories-news/sanctum-stunt-diver-dies-real-life-cave-diving-tradegy/?re= plytocom=3D22215#respond' onclick=3D'return addComment.moveForm("comment= -body-22215", "22215", "respond", "12997")'>Reply</a></p> </div> </dd> <dt class=3D"comment odd alt thread-odd thread-alt depth-1" id=3D"c= omment-22706"> <span class=3D"avatar"><img alt=3D'' src=3D'http://1.gravatar.com/avatar= /51ce146ecb547ba1f8f77124352c45c2?s=3D44&d=3Dhttp%3A%2F%2Faquaviews.= net%2Fwp-includes%2Fimages%2Fblank.gif&r=3DPG' class=3D'avatar avata= r-44 photo' height=3D'44' width=3D'44' /></span> <span class=3D"comment_author">Rosa</span> <span class=3D"comment_time"><a href=3D"#comment-22706" title=3D"Permali= nk to this comment" rel=3D"nofollow">April 13, 2011 at 11:24 am</a></spa= n> </dt> <dd class=3D"comment odd alt thread-odd thread-alt depth-1"> <div class=3D"format_text" id=3D"comment-body-22706"> <p>so sad and tragic…a beautiful person full of life…goes to= show you can never be too careful…she will be missed and always r= emembered….</p> <p class=3D"reply"><a class=3D'comment-reply-link' href=3D'/scuba-diving= -stories-news/sanctum-stunt-diver-dies-real-life-cave-diving-tradegy/?re= plytocom=3D22706#respond' onclick=3D'return addComment.moveForm("comment= -body-22706", "22706", "respond", "12997")'>Reply</a></p> </div> </dd> <dt class=3D"comment even thread-even depth-1" id=3D"comment-22711"= > <span class=3D"avatar"><img alt=3D'' src=3D'http://0.gravatar.com/avatar= /2fce9bb7a45db063fb44cd0e18532149?s=3D44&d=3Dhttp%3A%2F%2Faquaviews.= net%2Fwp-includes%2Fimages%2Fblank.gif&r=3DPG' class=3D'avatar avata= r-44 photo' height=3D'44' width=3D'44' /></span> <span class=3D"comment_author">Firecop527</span> <span class=3D"comment_time"><a href=3D"#comment-22711" title=3D"Permali= nk to this comment" rel=3D"nofollow">April 13, 2011 at 12:13 pm</a></spa= n> </dt> <dd class=3D"comment even thread-even depth-1"> <div class=3D"format_text" id=3D"comment-body-22711"> <p>Such a sad story for the end to such a live loving girl – my sy= mpathy to her family, friends and dive buddies.</p> <p class=3D"reply"><a class=3D'comment-reply-link' href=3D'/scuba-diving= -stories-news/sanctum-stunt-diver-dies-real-life-cave-diving-tradegy/?re= plytocom=3D22711#respond' onclick=3D'return addComment.moveForm("comment= -body-22711", "22711", "respond", "12997")'>Reply</a></p> </div> </dd> </dl> <div id=3D"respond"> <div id=3D"respond_intro"> <a rel=3D"nofollow" id=3D"cancel-comment-reply-link" href=3D"/scuba-divi= ng-stories-news/sanctum-stunt-diver-dies-real-life-cave-diving-tradegy/#= respond" style=3D"display:none;">Cancel reply</a> <p>Leave a Commen= t</p> </div> <form action=3D"http://aquaviews.net/wp-comments-post.php" method=3D= "post" id=3D"commentform"> <p><input class=3D"text_input" type=3D"text" name=3D"author" id=3D= "author" value=3D"" tabindex=3D"1" aria-required=3D"true" /><label for=3D= "author">Name <span class=3D"required" title=3D"Required">*</span></labe= l></p> <p><input class=3D"text_input" type=3D"text" name=3D"email" id=3D"= email" value=3D"" tabindex=3D"2" aria-required=3D"true" /><label for=3D"= email">E-mail <span class=3D"required" title=3D"Required">*</span></labe= l></p> <p><input class=3D"text_input" type=3D"text" name=3D"url" id=3D"ur= l" value=3D"" tabindex=3D"3" /><label for=3D"url">Website</label></p> <p class=3D"comment_box"> <textarea name=3D"comment" id=3D"comment" tabindex=3D"4" cols=3D"= 40" rows=3D"8"></textarea> </p> <p class=3D"remove_bottom_margin"> <input name=3D"submit" class=3D"form_submit" type=3D"submit" id=3D= "submit" tabindex=3D"5" value=3D"Submit" /> <input type=3D'hidden' name=3D'comment_post_ID' value=3D'12997' id=3D'co= mment_post_ID' /> <input type=3D'hidden' name=3D'comment_parent' id=3D'comment_parent' val= ue=3D'0' /> </p> <p style=3D"display: none;"><input type=3D"hidden" id=3D"akismet_comment= _nonce" name=3D"akismet_comment_nonce" value=3D"7fc436515b" /></p> <= /form> </div> </div> </div> <script type=3D"text/javascript"> /* <![CDATA[ */ var idc_xd_receiver =3D '/wp-content/plugins/intensedebate/xd_receiver.= htm'; function IDC_revert() { document.getElementById('idc-loading-comments')= .style.display=3D'none'; if ( !document.getElementById('IDCommentsHead')= ) { document.getElementById('idc-noscript').style.display=3D'block'; do= cument.getElementById('idc-comment-wrap-js').parentNode.removeChild(docu= ment.getElementById('idc-comment-wrap-js')); } else { document.getElemen= tById('idc-noscript').style.display=3D'none'; } } idc_ns =3D document.getElementById('idc-noscript'); idc_ns.style.display=3D'none'; idc_ld =3D document.createElement('div')= ; idc_ld.id =3D 'idc-loading-comments'; idc_ld.style.verticalAlign=3D'mid= dle'; idc_ld.innerHTML =3D "<img src=3D'http://aquaviews.net/wp-content/plugi= ns/intensedebate/loading.gif' alt=3D'Loading' border=3D'0' align=3D'absm= iddle' /> Loading IntenseDebate Comments..."; idc_ns.parentNode.insertBefore(idc_ld, idc_ns); setTimeout( IDC_revert, 10000 ); /* ]]> */ </script> <script type=3D"text/javascript"> /* <![CDATA[ */ var s =3D document.createElement("script"); s.type =3D "text/javascrip= t"; s.id =3D 'idc-comment-wrap-js'; s.src =3D "http://intensedebate.com/= js/wordpressTemplateCommentWrapper2.php?acct=3D138cd219a2cf5e96b1adf6742= bf600a5&postid=3D12997&title=3DSanctum+Stunt+Diver+Dies+In+A+Real+Life+C= ave+Diving+Tragedy&url=3Dhttp%3A%2F%2Faquaviews.net%2Fscuba-diving-stori= es-news%2Fsanctum-stunt-diver-dies-real-life-cave-diving-tradegy%2F&post= time=3D2011-04-04+13%3A00%3A29&postauthor=3DNoreen&guid=3Dhttp%3A%2F%2Fa= quaviews.net%2F%3Fp%3D12997"; document.getElementsByTagName("head")[0].a= ppendChild(s); /* ]]> */ </script> <div class=3D"prev_next post_nav"> <p class=3D"previous">Previous post: <a href=3D"http://aquaviews.n= et/scuba-gear/scuba-mask-tips/" rel=3D"prev">Scuba Mask Tips</a></p> <p>Next post: <a href=3D"http://aquaviews.net/scuba-guides/video-l= ight-underwater-photography-stills/" rel=3D"next">Using a Video Light fo= r Underwater Photography Stills</a></p> </div> </div> <div id=3D"sidebars"> <div id=3D"sidebar_1" class=3D"sidebar"> <ul class=3D"sidebar_list"> <li class=3D"widget gform_widget" id=3D"gform_widget-3"><h3>Email Newsle= tter</h3> <div class=3D'gform_wrapper' id=3D'gform_wrapper_2' ><fo= rm method=3D'post' enctype=3D'multipart/form-data' target=3D'gform_ajax_= frame_2' id=3D'gform_2' action=3D'/scuba-diving-stories-news/sanctum-st= unt-diver-dies-real-life-cave-diving-tradegy/'> <div class=3D'gform_heading'> <span class=3D'gform_description'>Want to ge= t these articles sent automatically to your email every week? Sign up be= low!</span> </div> <div class=3D'gform_body'> <ul id=3D'gform_fields_2' class=3D'gform_fie= lds left_label'><li id=3D'field_2_2' class=3D'gfield gfiel= d_contains_required' ><label class=3D'gfield_label' for=3D'input_2_2'>Em= ail<span class=3D'gfield_required'>*</span></label><div class=3D'ginput_= container'><input name=3D'input_2' id=3D'input_2_2' type=3D'text' value=3D= '' class=3D'medium' tabindex=3D'1' /></div></li><li id=3D'field_2_3' c= lass=3D'gfield gfield_contains_required' ><label class=3D'= gfield_label' for=3D'input_2_3'>LeisurePro Newsletter?<span class=3D'gfi= eld_required'>*</span></label><div class=3D'ginput_container'><select na= me=3D'input_3' id=3D'input_2_3' class=3D'medium gfield_select' tabindex= =3D'2' ><option value=3D'Yes' selected=3D'selected'>Yes</option><option = value=3D'No' >No</option></select></div><div class=3D'gfield_description= '>Would you like to also receive the LeisurePro.com newsletter for the l= atest deals on SCUBA equipment and travel?</div></li> </ul></div> <div class=3D'gform_footer left_label'> <input type=3D'submit' i= d=3D'gform_submit_button_2' class=3D'button gform_button' value=3D'Submi= t' tabindex=3D'3' /><input type=3D'hidden' name=3D'gform_ajax' value=3D'= form_id=3D2&title=3D&description=3D1' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'is_sub= mit_2' value=3D'1' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'gform_= submit' value=3D'2' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'gform_= unique_id' value=3D'4dfb3f0f8d2fd' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'state_= 2' value=3D'YToyOntpOjA7czo2OiJhOjA6e30iO2k6MTtzOjMyOiJmMmQwZGQ3NTY3N2Vl= ZmJmMWJkOTVhNDMwYWNhN2QwZCI7fQ=3D=3D' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'gform_= target_page_number_2' id=3D'gform_target_page_number_2' value=3D'0' /> <input type=3D'hidden' class=3D'gform_hidden' name=3D'gform_= source_page_number_2' id=3D'gform_source_page_number_2' value=3D'1' /> <input type=3D'hidden' name=3D'gform_field_values' value=3D'= ' /> = </div> </form> </div> <iframe style=3D'display:none;width:0px; height:0px;' sr= c=3D'about:blank' name=3D'gform_ajax_frame_2' id=3D'gform_ajax_frame_2'>= </iframe> <script type=3D'text/javascript'>function gformInitSpinn= er(){jQuery('#gform_2').submit(function(){jQuery('#gform_submit_button_2= ').attr('disabled', true).after('<' + 'img id=3D"gform_ajax_spinner_2" = class=3D"gform_ajax_spinner" src=3D"http://aquaviews.net/wp-content/plug= ins/gravityforms/images/spinner.gif" alt=3D"" />');jQuery('#gform_wrappe= r_2 .gform_previous_button').attr('disabled', true); jQuery('#gform_wrap= per_2 .gform_next_button').attr('disabled', true).after('<' + 'img id=3D= "gform_ajax_spinner_2" class=3D"gform_ajax_spinner" src=3D"http://aquav= iews.net/wp-content/plugins/gravityforms/images/spinner.gif" alt=3D"" />= ');});}jQuery(document).ready(function($){gformInitSpinner();jQuery('#gf= orm_ajax_frame_2').load( function(){var form_content =3D jQuery(this).co= ntents().find('#gform_wrapper_2');var confirmation_content =3D jQuery(th= is).contents().find('#gforms_confirmation_message');jQuery('#gform_submi= t_button_2').removeAttr('disabled');if(form_content.length > 0){jQuery('= #gform_wrapper_2').html(form_content.html());jQuery(document).scrollTop(= jQuery('#gform_wrapper_2').offset().top);if(window['gformInitDatepicker'= ]) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInit= PriceFields();}var current_page =3D jQuery('#gform_source_page_number_2'= ).val();gformInitSpinner();jQuery(document).trigger('gform_page_loaded',= [2, current_page]);}else if(confirmation_content.length > 0){setTimeout= (function(){jQuery('#gform_wrapper_2').replaceWith('<' + 'div id=3D\'gfo= rms_confirmation_message\'' + '>' + confirmation_content.html() + '<' + = '/div' + '>');jQuery(document).scrollTop(jQuery('#gforms_confirmation_me= ssage').offset().top);jQuery(document).trigger('gform_confirmation_loade= d', [2]);}, 50);}else{jQuery('#gform_2').append(jQuery(this).contents().= find('*').html());if(window['gformRedirect']) gformRedirect();}});});</s= cript></li><li class=3D"widget widget_execphp" id=3D"execphp-5"><h3>Leis= urePro</h3> = <div class=3D"execphpwidget"><p style=3D"text-align:center;"><a href=3D= "http://bit.ly/j0EIPD"><img src=3D"http://www.lpimgui.info/image/ui/Week= _Special_SQTKBST.gif" ></a> <a href=3D"http://bit.ly/lHhjM5"><img src=3D"http://www.lpimgui.info/ima= ge/ui/Month_Special_AERMC.gif" ></a></p></div> </li><li class=3D"widget widget_execphp" id=3D"execphp-4"><h3>LeisureP= ro on Facebook</h3> = <div class=3D"execphpwidget"><script type=3D"text/javascript" src=3D"= http://static.ak.connect.facebook.com/connect.php/en_US"></script><scrip= t type=3D"text/javascript">FB.init("61723a942e71fcdb0a1ee42d6132ea59");<= /script><fb:fan profile_id=3D"128809250407" stream=3D"0" connections=3D"= 10" logobar=3D"0" width=3D"300"></fb:fan><div style=3D"font-size:8px; pa= dding-left:10px"><a href=3D"http://www.facebook.com/pages/New-York-NY/Le= isure-Pro/128809250407">Leisure Pro</a> on Facebook</div></div> </li><li class=3D"widget widget_tweetblender" id=3D"tweetblender-3"><h= 3>SCUBA on Twitter</h3><form id=3D"tweetblender-3-f" class=3D"tb-widget-= configuration" action=3D"#"><div><input type=3D"hidden" name=3D"sources"= value=3D"@leisurepro,@aquaviews,@scubamarketing,#SCUBA" /><input type=3D= "hidden" name=3D"refreshRate" value=3D"120" /><input type=3D"hidden" nam= e=3D"tweetsNum" value=3D"10" /><input type=3D"hidden" name=3D"viewMoreTe= xt" value=3D"view more" /><input type=3D"hidden" name=3D"viewMoreUrl" va= lue=3D"" /></div></form><div id=3D"tweetblender-3-mc"><div class=3D"tb_t= weetlist"></div><div class=3D"tb_footer"></div></div></li> </ul> </div> </div> </div> <p id=3D"breadcrumb"><a href=3D"http://aquaviews.net">Aquaviews –= Online SCUBA Magazine</a>  /  <a href=3D"http://aquaview= s.net/category/scuba-diving-stories-news/" title=3D"View all posts in Aq= ua News" rel=3D"category tag">Aqua News</a>  /  Sanctum St= unt Diver Dies In A Real Life Cave Diving Tragedy</p> </div> </div> <div id=3D"footer_area" class=3D"full_width"> <div class=3D"page"> <div id=3D"footer"> <script type=3D'text/javascript' src=3D'http://w.sharethis.com/button/bu= ttons.js?ver=3D3.1'></script> <script type=3D'text/javascript' src=3D'http://cdn.wibiya.com/Toolbars/d= ir_0411/Toolbar_411610/Loader_411610.js?ver=3D3.1'></script> <script type=3D"text/javascript"> /* <![CDATA[ */ var s =3D document.createElement("script"); s.type =3D "text/javascrip= t"; s.src =3D "http://intensedebate.com/js/wordpressTemplateLinkWrapper2= .php?acct=3D138cd219a2cf5e96b1adf6742bf600a5"; document.getElementsByTag= Name("head")[0].appendChild(s); /* ]]> */ </script> <!--stats_footer_test--><script src=3D"http://stats.wordpress.com/e-2011= 24.js" type=3D"text/javascript"></script> <script type=3D"text/javascript"> st_go({blog:'14187543',v:'ext',post:'12997'}); var load_cmc =3D function(){linktracker_init(14187543,12997,2);}; if ( typeof addLoadEvent !=3D 'undefined' ) addLoadEvent(load_cmc); else load_cmc(); </script> </div> </div> </div> <!--[if lte IE 8]> <div id=3D"ie_clear"></div> <![endif]--> <div id=3D"foot"> <div class=3D"full_width"> <div class=3D"page"> <div class=3D"col"> <ul class=3D"sidebar_list"> <li id=3D"recent-comments-3" class=3D"widget widget_recent_comment= s"><h3>Recent Comments</h3><ul id=3D"recentcomments"><li class=3D"recent= comments"><a href=3D'http://www.spartanrace.com' rel=3D'external nofollo= w' class=3D'url'>Warrior Dash</a> on <a href=3D"http://aquaviews.net/exp= lore-the-blue/challenging-sport-cave-diving/comment-page-1/#comment-2782= 3">The Challenging Sport of Cave Diving</a></li><li class=3D"recentcomme= nts">Hawaiian on Bonin on <a href=3D"http://aquaviews.net/scuba-dive-des= tinations/japan-underwater-uncovered/comment-page-1/#comment-27609">Japa= n Underwater Uncovered</a></li><li class=3D"recentcomments">Hugh on <a h= ref=3D"http://aquaviews.net/scuba-guides/jala-nethi-%e2%80%93-nasal-irri= gation-for-scuba-divers/comment-page-1/#comment-27192">Jala Nethi =E2=80= =93 Nasal Irrigation for Scuba Divers</a></li><li class=3D"recentcomment= s"><a href=3D'http://www.padiinstructorinfo.com' rel=3D'external nofollo= w' class=3D'url'>Megan</a> on <a href=3D"http://aquaviews.net/scuba-gear= /underwater-photography-blue/comment-page-1/#comment-26706">Underwater P= hotography Got You Blue?</a></li><li class=3D"recentcomments">Newbie_01 = on <a href=3D"http://aquaviews.net/scuba-diving-stories-news/amazing-vid= eosworld-champion-free-diver-free-falls-blue-hole/comment-page-1/#commen= t-26408">Amazing Videos:World Champion Free Diver Free Falls into Blue H= ole</a></li></ul></li> </ul> </div> <div class=3D"col"> <ul class=3D"sidebar_list"> <!-- Wordpress Popular Posts Plugin v2.1.4 [W] [monthly] [regular]= --> <li id=3D"wpp-3" class=3D"widget popular-posts"> <h3>Popular Posts</h3><ul> <li><a href=3D"http://aquaviews.net/scuba-diving-stories-news/amazing-vi= deosworld-champion-free-diver-free-falls-blue-hole/" title=3D"Amazing Vi= deos:World Champion Free Diver Free Falls into Blue Hole"><span class=3D= "wpp-post-title">Amazing Videos:World Champion Free Diver Free Falls int= o Blue Hole</span></a> </li> <li><a href=3D"http://aquaviews.net/featured/meet-the-one-in-2-million-b= lue-lobster/" title=3D"Meet The One in 2 Million Blue Lobster"><span cla= ss=3D"wpp-post-title">Meet The One in 2 Million Blue Lobster</span></a> = </li> <li><a href=3D"http://aquaviews.net/featured/beluga-whale-saves-free-div= er-from-drowning/" title=3D"Beluga Whale Saves Free Diver from Drowning"= ><span class=3D"wpp-post-title">Beluga Whale Saves Free Diver from Drown= ing</span></a> </li> <li><a href=3D"http://aquaviews.net/explore-the-blue/fun-ocean-scuba-fac= ts/" title=3D"Did You Know? - Fun Ocean & Scuba Facts"><span class=3D= "wpp-post-title">Did You Know? - Fun Ocean & Scuba Facts</span></a> = </li> <li><a href=3D"http://aquaviews.net/featured/japanese-waters-witness-an-= attack-of-giant-jellyfish/" title=3D"Japanese Waters Witness an Attack o= f Giant Jellyfish"><span class=3D"wpp-post-title">Japanese Waters Witnes= s an Attack of Giant Jellyfish</span></a> </li> <li><a href=3D"http://aquaviews.net/scuba-guides/scuba-certification-age= ncies-padi-naui-bsac-cmas-and-more/" title=3D"SCUBA Certification Agenci= es- PADI, NAUI, BSAC, CMAS and more"><span class=3D"wpp-post-title">SCUB= A Certification Agencies- PADI, NAUI, BSAC, CMAS and more</span></a> </l= i> <li><a href=3D"http://aquaviews.net/featured/james-camerons-love-for-scu= ba-diving-shows-in-avatar/" title=3D"James Cameron's Love for Scuba= Diving Shows in Avatar "><span class=3D"wpp-post-title">James Cameron&#= 039;s Love for Scuba Diving Shows in Avatar </span></a> </li> <li><a href=3D"http://aquaviews.net/featured/the-most-rewarding-dive-spo= ts-in-the-caribbean/" title=3D"The Most Rewarding Dive Spots In The Cari= bbean"><span class=3D"wpp-post-title">The Most Rewarding Dive Spots In T= he Caribbean</span></a> </li> <li><a href=3D"http://aquaviews.net/scuba-gear/is-a-snorkel-necessary-fo= r-scuba-diving/" title=3D"Is a Snorkel necessary for Scuba Diving?"><spa= n class=3D"wpp-post-title">Is a Snorkel necessary for Scuba Diving?</spa= n></a> </li> <li><a href=3D"http://aquaviews.net/scuba-guides/scuba-tips-10-tips-for-= better-buoyancy-control/" title=3D"Scuba Tips: 10 Tips for Better Buoyan= cy Control"><span class=3D"wpp-post-title">Scuba Tips: 10 Tips for Bette= r Buoyancy Control</span></a> </li> </ul> </li> <!-- End Wordpress Popular Posts Plugin v2.1.4 --> </ul> </div> = <div class=3D"col"> <ul class=3D"sidebar_list"> <li id=3D"recent-posts-3" class=3D"widget widget_recent_entries"= > <h3>Recent Posts</h3> <ul> <li><a href=3D"http://aquaviews.net/scuba-gear/dry-boxes/" title=3D"= The Many Uses of Dry Boxes">The Many Uses of Dry Boxes</a></li> <li><a href=3D"http://aquaviews.net/ocean-news/el-nino-la-nina-globa= l-issue/" title=3D"El Nino and La Nina: A Global Issue">El Nino and La N= ina: A Global Issue</a></li> <li><a href=3D"http://aquaviews.net/scuba-gear/prepared-emergency-ki= t/" title=3D"Be Prepared With an Emergency Kit">Be Prepared With an Emer= gency Kit</a></li> <li><a href=3D"http://aquaviews.net/scuba-diving-stories-news/scuba-= offers-therapeutic/" title=3D"SCUBA Offers Therapeutic Value">SCUBA Offe= rs Therapeutic Value</a></li> <li><a href=3D"http://aquaviews.net/scuba-dive-destinations/travel-s= avings-leisurepro/" title=3D"Travel Savings Through LeisurePro">Travel S= avings Through LeisurePro</a></li> <li><a href=3D"http://aquaviews.net/scuba-guides/divers-tech-trainin= g/" title=3D"Why All Divers Should Consider Tech Training">Why All Diver= s Should Consider Tech Training</a></li> <li><a href=3D"http://aquaviews.net/scuba-diving-stories-news/seawat= er-greenhouse/" title=3D"The Seawater Greenhouse">The Seawater Greenhous= e</a></li> <li><a href=3D"http://aquaviews.net/scuba-guides/importance-training= /" title=3D"The Importance of Training">The Importance of Training</a></= li> <li><a href=3D"http://aquaviews.net/scuba-diving-stories-news/world-= oceans-day/" title=3D"World Oceans Day">World Oceans Day</a></li> <li><a href=3D"http://aquaviews.net/scuba-gear/sidemount-cave-divers= /" title=3D"Sidemount: Not Just for Cave Divers">Sidemount: Not Just for= Cave Divers</a></li> </ul> </li> </ul> </div> <div id=3D"copyright"> <ul class=3D"sidebar_list"> <li id=3D"text-7" class=3D"widget widget_text"><h3>=C2=A9 2010 Aqu= aviews and LeisurePro</h3> <div class=3D"textwidget"></div> </li> </ul> </div> </div> </div> </div> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-= edge.com/wordpress-plugins/ Page Caching using disk (enhanced) Database Caching 23/47 queries in 0.024 seconds using disk Object Caching 2203/2237 objects using disk Served from: aquaviews.net @ 2011-06-17 07:48:31 --> ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=style.css Content-Type: text/css; charset=UTF-8; name=style.css Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/style.css?052610-150627 Content-Transfer-Encoding: 8bit /* Theme Name: Thesis Theme URI: http://diythemes.com/thesis/ Description: A website framework so flexible and extensible that you will never have to change your theme again. Seriously. Check out the <a href="admin.php?page=thesis-options">Site Options</a> and the <a href="admin.php?page=thesis-design-options">Design Options</a> to begin your Thesis experience! [ver. 1.7] Version: 1.7 Author: Chris Pearson Author URI: http://www.pearsonified.com/ */ /* IMPORTANT NOTE! DO NOT EDIT THIS FILE. If you wish to make custom stylistic changes to your theme, use the custom.css template to define custom styles. This way, you will still be able to take advantage of future upgrades to the theme without worrying about overwriting your style changes. Also, be sure you've selected the "use custom stylesheet" option in the Thesis options panel if you wish to use a custom stylesheet. */ body { font-size: 62.5%; } * { padding: 0; margin: 0; } /*---:[ core layout elements ]:---*/ #header { border-style: double; border-color: #ddd; clear: both; } #column_wrap { float: left; } .post_box, .teasers_box { border-style: dotted; border-color: #bbb; clear: both; } .teaser { float: left; } .teaser_right { float: right; } .top { border: none; } #sidebars { border-color: #ddd; } #sidebar_1 { border-color: #ddd; } #footer { border-style: double; border-color: #ddd; text-align: right; clear: both; } /*---:[ global elements ]:---*/ a, a:hover { text-decoration: none; } a.post_image_link { outline: none; } a img { border: none; } blockquote { border-left: 1px solid #ddd; color: #666; } abbr, acronym { line-height: 1em; text-transform: uppercase; letter-spacing: 1px; border-bottom: none; cursor: help; } code { line-height: 1em; background: #eee; } pre { background: #eee; border: 1px solid #ddd; overflow: auto; clear: both; } p.center { text-align: center !important; } p.bottom { margin: 0 !important; } .remove_bottom_margin { margin-bottom: 0 !important; } /*---:[ form inputs ]:---*/ input, textarea { font-size: 1em; color: #444; background: #eee; border: 1px solid #aaa; border-right-color: #ddd; border-bottom-color: #ddd; } input:focus, textarea:focus { background: #fff; border-color: #777; border-right-color: #ccc; border-bottom-color: #ccc; } .sidebar .text_input { width: 95%; } input.form_submit { font-weight: bold; color: #111; background: url('lib/images/submit-bg.gif'); border: 3px double #999; border-top-color: #ccc; border-left-color: #ccc; cursor: pointer; width: auto !important; overflow: visible; } #commentform input.form_submit { border-width: 3px; } input.form_submit:hover { color: #090; } /*---:[ universal image classes ]:---*/ img.alignleft, img.left { float: left; } img.alignright, img.right { float: right; } img.aligncenter, img.center { display: block; margin-right: auto; margin-left: auto; float: none; clear: both; } img.alignnone, img.block { display: block; clear: both; } img.frame { background: #eee; border-style: solid; border-color: #ddd; } img.stack { clear: none !important; } img[align="left"] { float: left; clear: left; } img[align="right"] { float: right; clear: right; } img[align="middle"] { display: block; margin-right: auto; margin-left: auto; float: none; clear: both; } /*---:[ image captioning ]:---*/ .wp-caption { border-style: solid; border-color: #ddd; background-color: #eee; text-align: center; font-style: italic; } .wp-caption.alignleft { float: left; } .wp-caption.alignright { float: right; } .wp-caption.aligncenter { margin-right: auto; margin-left: auto; float: none; clear: both; } .wp-caption.alignnone { clear: both; } /*---:[ headlines and bylines ]:---*/ h1, h2, h3, h6 { font-weight: normal; } h4, h5 { font-weight: bold; } h5, h6 { text-transform: uppercase; letter-spacing: 1px; } .format_text h2 { font-weight: bold; } .format_text h2.top, .format_text h3.top { margin-top: 0 !important; } .sidebar h3 { font-variant: small-caps; letter-spacing: 2px; } /*---:[ headline meta data (includes bylines) ]:---*/ .headline_meta { font-style: italic; } .headline_meta span, .headline_meta abbr { font-style: normal; text-transform: uppercase; letter-spacing: 1px; } .headline_meta a { border-bottom: 1px solid #eee; } /*---:[ horizontal dropdown nav menu structure ]:---*/ .menu { position: relative; list-style: none; z-index: 50; } .menu li { position: relative; float: left; } .menu ul { position: absolute; visibility: hidden; list-style: none; z-index: 110; } .menu ul li { clear: both; } .menu a { display: block; } .menu table { position: absolute; left: 0; border-collapse: collapse; } .menu table table { top: 0 !important; } .menu ul ul { position: absolute; top: 0; } .menu li:hover ul, .menu a:hover ul, .menu :hover ul :hover ul, .menu :hover ul :hover ul :hover ul { visibility: visible; } .menu :hover ul ul, .menu :hover ul :hover ul ul { visibility: hidden; } /*---:[ nav menu styles ]:---*/ .menu, .menu a, .menu li ul { border-style: solid; } .menu a { text-transform: uppercase; letter-spacing: 2px; } .menu .current > a, .menu .current-cat > a { cursor: text; } .menu .rss { float: right; } .menu .rss a, .menu .rss a:hover { padding-right: 16px; background: url('lib/images/icon-rss.gif') 100% 50% no-repeat; border: none; } .menu .rss a:hover { text-decoration: underline; } /*---:[ #header styles ]:---*/ #logo { font-weight: bold; } #tagline { font-weight: normal; } /*---:[ content styles ]:---*/ .format_text a { text-decoration: underline; } .format_text a:hover { text-decoration: none; } .format_text p.note { background: #f5f5f5; border: 1px solid #ddd; } .format_text p.alert { background: #ffffa0; border: 1px solid #e5e597; } .format_text .drop_cap { color: #888; float: left; } .format_text ul { list-style: square; } .format_text dt { font-weight: bold; } /*---:[ pullquotes ]:---*/ .format_text blockquote.right, .format_text blockquote.left { border: none; } .format_text blockquote.right { float: right; } .format_text blockquote.left { float: left; } .format_text blockquote.right p, .format_text blockquote.left p { margin: 0; } /*---:[ end pullquotes ]:---*/ .format_text .ad { float: right; clear: right; } .format_text .ad_left { float: left; clear: left; } /*---:[ after-post elements ]:---*/ .format_text .to_comments { color: #666; clear: both; } .format_text .to_comments span { color: #111; line-height: 1em; } .format_text .to_comments span.bracket { color: #ccc; } .format_text .to_comments a { color: #666; text-decoration: none; } .format_text .to_comments a:hover { color: #111; text-decoration: underline; } /*---:[ tags are not targeted further because these styles need to cascade to teasers as well ]:---*/ .post_tags { color: #666; } .post_tags a { text-decoration: none; } .post_tags a:hover { text-decoration: underline; } /*---:[ feature box ]:---*/ #feature_box { background: #eee; border-style: solid; border-color: #ddd; } /*---:[ home page teasers ]:---*/ .teaser a.teaser_link:hover { text-decoration: underline; } .teaser .teaser_author { font-style: italic; } .teaser .teaser_author .author { font-style: normal; text-transform: uppercase; letter-spacing: 1px; } .teaser .edit_post { letter-spacing: 1px; } .teaser .teaser_author a, .teaser a.teaser_comments, .teaser a.teaser_category, .teaser .edit_post a { text-transform: uppercase; letter-spacing: 1px; color: #888; border-bottom: 1px solid #eee; } .teaser .teaser_author a { font-style: normal; } .teaser .format_teaser a { text-decoration: underline; } .teaser .format_teaser a:hover { text-decoration: none; } /*---:[ archive information block ]:---*/ #archive_info { border-style: solid; border-color: #ddd; } #archive_info p { text-transform: uppercase; letter-spacing: 2px; } /*---:[ navigation links ]:---*/ .prev_next { text-transform: uppercase; letter-spacing: 2px; color: #666; border-style: solid; border-color: #ddd; clear: both; } .prev_next .next { text-align: right; } .prev_next .floated { float: left; } .prev_next a { text-decoration: none; } .prev_next a:hover { text-decoration: underline; } .post_nav a { text-transform: none; letter-spacing: normal; } #comment_nav_2 { border-style: solid; border-color: #ddd; } /*---:[ multimedia box ]:---*/ .image_box, .custom_box { border-style: solid; border-color: #ddd; } #image_box img { background: #fff; border-style: solid; border-color: #bbb; } /*---:[ sidebar styles ]:---*/ .sidebar a:hover { text-decoration: underline; } ul.sidebar_list { list-style: none; } li.widget { width: 100%; } li.centered { text-align: center; } li.widget p a { text-decoration: underline; } li.widget p a:hover { text-decoration: none; } li.widget ul { list-style: none; } li.widget ul li .num_comments { color: #111; } /*---:[ widget box styles ]:---*/ li.widget .widget_box { background: #e3f0f2; border-style: solid; border-color: #addde6; } /*---:[ subscriptions widget ]:---*/ .thesis_widget_subscriptions .sub_rss a { padding-left: 20px; background: url('lib/images/icon-rss.gif') 0 50% no-repeat; } .thesis_widget_subscriptions .sub_email a { padding-left: 20px; background: url('lib/images/icon-email.gif') 0 50% no-repeat; } /*---:[ google custom search ]:---*/ li.thesis_widget_google_cse form input[type="text"] { width: 95%; } li.thesis_widget_google_cse form input[type="submit"] { font-weight: bold; color: #111; background: url('lib/images/submit-bg.gif'); border: 3px double #999; border-top-color: #ccc; border-left-color: #ccc; cursor: pointer; } li.thesis_widget_google_cse form input[type="submit"]:hover { color: #090; } /*---:[ calendar widget ]:---*/ #calendar_wrap { width: 98%; padding: 0 1%; } #calendar_wrap a { font-weight: bold; } #calendar_wrap a:hover { background: #ddd; text-decoration: none; } table#wp-calendar { width: 98%; border-collapse: collapse; } table#wp-calendar caption { font-weight: normal; text-transform: uppercase; letter-spacing: 2px; background: #e5e5e5; } table#wp-calendar th { width: 14%; background: #f2f2f2; border-bottom: 1px solid #ddd; text-align: center; } table#wp-calendar td { width: 14%; color: #888; text-align: center; } table#wp-calendar td#next, table#wp-calendar td#prev { width: 45%; text-transform: uppercase; letter-spacing: 1px; } table#wp-calendar td#next { text-align: right; } table#wp-calendar td#prev { text-align: left; } /*---:[ comment styles ]:---*/ .comments_intro p { color: #666; } .comments_intro a { text-decoration: underline; } .comments_intro a:hover { text-decoration: none; } .comments_intro span { color: #111; line-height: 1em; } .comments_intro span.bracket { color: #ccc; } dl#comment_list { border-top: 1px dotted #bbb; } dl#comment_list dt a:hover { text-decoration: underline; } dl#comment_list dt .comment_author { font-weight: bold; } .avatar img { float: right; } .comment_time, .edit_comment { color: #888; } .comment_time { white-space: nowrap; } .comment_time a, .edit_comment a { color: #888; } .comment_time a:hover, .edit_comment a:hover { color: #888; } .comment_num { float: right; } dl#comment_list .comment_num a { font-weight: bold; color: #aaa; } dl#comment_list .comment_num a:hover { color: #fff; background: #aaa; text-decoration: none; } dl#comment_list .bypostauthor { background: #e7f8fb; } dl#comment_list dd { border-bottom: 1px dotted #bbb; } dl#comment_list dd p.reply a { color: #888; text-transform: uppercase; letter-spacing: 1px; text-decoration: none; } dl#comment_list dd p.reply a:hover { text-decoration: underline; } dl#comment_list dl { border-top: 0; } dl#comment_list dl dt, dl#comment_list dl dd { background: none; } dl#comment_list dl dd { border-bottom: 0; } dl#comment_list dl .bypostauthor { background: none; } dl#comment_list dl dt, dl#comment_list dl dd .format_text { border-style: solid; border-color: #ddd; } dl#comment_list dl dt.bypostauthor, dl#comment_list dl dd.bypostauthor > .format_text { border-color: #bde0e6; } a.comment_link { color: #111; text-decoration: none; font-variant: small-caps; border-bottom: 1px solid #bbb; } a.comment_link:hover { color: #111; border-bottom-color: #111; } /*---:[ author comment and alternating comment colors ]:---*/ /* dl#comment_list .even { background: #f5f5f5; } dl#comment_list .odd { background: #fff; } */ #trackback_list { border-top: 1px dotted #bbb; } #trackback_list a { color: #111; } #trackback_list a:hover { color: #111; text-decoration: underline; } #trackback_list span { color: #888; } .comments_closed p { text-transform: uppercase; letter-spacing: 1px; color: #888; } /*---:[ comment form styles ]:---*/ #respond_intro p { color: #555; } #respond_intro p a { font-weight: bold; } #respond_intro p a:hover { text-decoration: underline; } #cancel-comment-reply-link { text-transform: uppercase; letter-spacing: 1px; color: #fff; background: #d00; border-style: solid; border-color: #ac0000; border-top-color: #fa5a5a; border-left-color: #fa5a5a; float: right; } .login_alert { background: #f5f5f5; border: 1px solid #ddd; } .login_alert p { font-weight: bold; } .login_alert p a:hover { text-decoration: underline; } .comment_moderated { font-weight: bold; } #commentform { border-top: 1px dotted #bbb; } #commentform p { margin-bottom: 1em; } #commentform p a { text-decoration: underline; } #commentform p a:hover { text-decoration: none; } #commentform p .required { color: #d00; } #commentform span.allowed { display: block; color: #807e70; background: #f9f7e4; border-style: dotted; border-color: #bbb; } #commentform span.allowed span { display: block; } /* Support for the highly-recommended Subscribe to Comments Plugin */ #commentform p.subscribe-to-comments label { font-size: 1em; } /*---:[ footer styles ]:---*/ #footer a { border-bottom: 1px solid #ccc; } /*---:[ self-clearing floats from Dan Cederholm ]:---*/ .menu:after, #content_box:after, #sidebars:after, .format_text:after, .teasers_box:after, .prev_next:after, ul.sidebar_list:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=layout.css Content-Type: text/css; charset=UTF-8; name=layout.css Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/layout.css?061310-214515 Content-Transfer-Encoding: 8bit /*---:[ core layout elements ]:---*/ .full_width { width: 100%; clear: both; } .full_width .page { width: 95.7em; margin: 0 auto; padding-right: 0em; padding-left: 0em; } #header_area .page { padding-top: 0em; } #footer_area .page { padding-bottom: 0em; } #header, #footer { padding-right: 1.1em; padding-left: 1.1em; } #content_box { width: 100%; background: url('../lib/images/dot-ddd.gif') 63.4em 0 repeat-y; } .no_sidebars { background: none !important; } #content { width: 63.4em; float: left; } .no_sidebars #content { width: 100%; } .post_box, .teasers_box, .full_width #content_box .page { margin: 0 2.3em 0 1.1em; } .full_width #content_box .page { width: auto; } .no_sidebars .post_box { margin: 0 1.1em; } .teasers_box { width: 60em; } .teaser { width: 28.9em; } #archive_info, .prev_next { padding-right: 2.3em; padding-left: 1.1em; } #sidebars { width: 32.2em; border: 0; float: right; } .sidebar { width: 100%; } #sidebar_1 { border: 0; } .sidebar ul.sidebar_list { padding-right: 1.1em; padding-left: 1.1em; } /*---:[ nav styles ]:---*/ .menu ul, .menu ul li { width: 15em; } .menu ul ul, .menu :hover ul :hover ul { left: 14.9em; } .menu li:hover ul, .menu a:hover ul { left: -0.1em; } .menu { border-width: 0 0 0.1em 0.1em; } /*---:[ multimedia box elements ]:---*/ #multimedia_box { padding: 1.1em; } #image_box img { display: block; padding: 0.1em; border-width: 0.1em; } #image_box img.square { width: 29.6em; height: 29.6em; } #image_box img.four_by_three { width: 29.6em; height: 22.2em; } #image_box img.three_by_four { width: 29.6em; height: 39.5em; } #image_box img.three_by_two { width: 29.6em; height: 19.7em; } #image_box img.two_by_three { width: 29.6em; height: 44.4em; } #image_box img.five_by_four { width: 29.6em; height: 23.7em; } #image_box img.four_by_five { width: 29.6em; height: 37em; } #image_box img.sixteen_by_nine { width: 29.6em; height: 16.7em; margin: 0 auto; } #image_box img.nine_by_sixteen { width: 29.6em; height: 52.6em; margin: 0 auto; } #image_box img.two_by_one { width: 29.6em; height: 14.8em; } #image_box img.one_by_two { width: 29.6em; height: 59.2em; } /*---:[ comments area ]:---*/ #comments { margin-right: 2.3em; margin-left: 0em; } .comments_intro, #respond_intro { margin-left: 1.1em; } dl#comment_list dt, #trackback_list { padding-right: 1.1em; padding-left: 1.1em; } dl#comment_list dd { padding-left: 1.1em; } dl#comment_list dd .format_text, dl#comment_list dd #respond { padding-right: 1.1em; } dl#comment_list dl dt { padding-left: 2.2em; border-width: 0 0 0 0.1em; } dl#comment_list dl dt.bypostauthor { padding-left: 2.1em; border-width: 0 0 0 0.2em; } dl#comment_list dl dd { padding-left: 0; } dl#comment_list dl dd .format_text { padding-left: 1.5em; border-width: 0 0 0 0.067em; } dl#comment_list dl dd.bypostauthor > .format_text { padding-left: 1.4em; border-width: 0 0 0 0.133em; } dl#comment_list dl dd dl { padding-left: 2.2em; } #commentform { padding-right: 2.3em; padding-left: 1.1em; } .comments_closed, .login_alert { margin-left: 1.1em; } /*---:[ content elements ]:---*/ body { font-family: Verdana, sans-serif; } #header { padding-top: 2.2em; padding-bottom: 2.2em; } .post_box { padding-top: 2.2em; } .headline_area { margin-bottom: 2.2em; } .teasers_box { padding-top: 2.2em; padding-bottom: 2.2em; } #multimedia_box { margin-bottom: 2.2em; } #footer { padding-top: 1.1em; padding-bottom: 1.1em; } /*---:[ #header styles ]:---*/ #header #logo { font-size: 3.6em; line-height: 1.167em; } #header #tagline { font-size: 1.4em; line-height: 1.429em; } /*---:[ nav menu styles ]:---*/ .menu table { bottom: -0.1em; } .nav, .menu li ul { border-width: 0 0 0.1em 0; } .menu li { margin-bottom: -0.1em; } .menu li ul { margin-top: -0.1em; } .menu ul ul { margin-top: 0; } .menu a { font-size: 1.2em; line-height: 1.333em; padding: 0.667em 0.833em; border-width: 0.083em; border-left-width: 0; } .menu ul a { width: 10.667em; border-left-width: 0.083em; } /*---:[ headlines ]:---*/ .headline_area h1, .headline_area h2 { font-size: 2.2em; line-height: 1.364em; } .format_text h2, .format_text h3 { font-size: 1.267em; line-height: 1.158em; margin: 1.737em 0 0.579em 0; } .format_text h4 { font-size: 1em; } .format_text h5 { font-size: 0.8em; } .format_text h6 { font-size: 0.8em; } .teaser h2 { } .sidebar h3 { font-size: 1em; line-height: 1.385em; margin-bottom: 0.692em; } #archive_info h1 { font-size: 1.9em; line-height: 1em; } /*---:[ bylines ]:---*/ .headline_meta { font-size: 1em; line-height: 1.8em; } .headline_meta .pad_left { padding-left: 0.9em; } /*---:[ headline area (image thumbnails) ]:---*/ .headline_area img.alignleft { margin: 0 2.2em 2.2em 0; } .headline_area img.alignright { margin: 0 0 2.2em 2.2em; } .headline_area img.alignnone { margin: 0 auto 2.2em 0; } .headline_area img.aligncenter { margin: 0 auto 2.2em auto; } .headline_area img.frame { padding: 1em; border-width: 0.1em; } /*---:[ post content area ]:---*/ .format_text { font-size: 1.5em; line-height: 1.467em; } .format_text p { margin-bottom: 1.467em; } .format_text p.note, .format_text p.alert { padding: 0.533em 0.733em; } .format_text .drop_cap { font-size: 3.333em; line-height: 0.76em; padding: 0.04em 0.12em 0 0; } .ie6 .format_text .drop_cap { padding-right: 0.06em; } .format_text acronym, .format_text abbr { font-size: 0.8em; } .format_text code, .format_text pre { font-family: Consolas, "Andale Mono", Monaco, Courier, "Courier New", Verdana, sans-serif; } .format_text code { font-size: 0.933em; } .format_text pre { font-size: 0.8em; line-height: 1.5em; margin-bottom: 1.833em; padding: 0.667em 0.917em; } .format_text sub, .format_text sup { line-height: 0.733em } .format_text ul { margin: 0 0 1.467em 1.467em; } .format_text ol { margin: 0 0 1.467em 1.467em; } .format_text ul ul, .format_text ul ol, .format_text ol ul, .format_text ol ol { margin: 0 0 0 1.467em; } .format_text dl { margin-bottom: 1.467em; } .format_text dd { margin-bottom: 1.467em; } .format_text blockquote { margin: 0 0 1.467em 0.733em; padding-left: 0.733em; } /*---:[ pullquotes ]:---*/ .format_text blockquote.right, .format_text blockquote.left { width: 45%; font-size: 1.267em; line-height: 1.158em; } .format_text blockquote.right { margin: 0 0 1.158em 1.158em; } .format_text blockquote.left { margin: 0 1.158em 1.158em 0; } /*---:[ image handling classes ]:---*/ .format_text img.left, .format_text img.alignleft, .wp-caption.alignleft { margin: 0 1.467em 1.467em 0; } .format_text img.right, .format_text img.alignright, .wp-caption.alignright { margin: 0 0 1.467em 1.467em; } .format_text img.center, .format_text img.aligncenter, .wp-caption.aligncenter { margin: 0 auto 1.467em auto; } .format_text img.block, .format_text img.alignnone, .wp-caption.alignnone { margin: 0 auto 1.467em 0; } .format_text img[align="left"] { margin-right: 1.467em; margin-bottom: 1.467em; } .format_text img[align="right"] { margin-bottom: 1.467em; margin-left: 1.467em; } .format_text img[align="middle"] { margin-bottom: 1.467em; } .format_text img.frame, .format_text .wp-caption { padding: 0.667em; border-width: 0.067em; } .format_text img.stack { margin-left: 1.467em; } .format_text .wp-caption p { font-size: 0.867em; line-height: 1.385em; margin-bottom: 0; } /*---:[ ad and miscellaneous "block" classes ]:---*/ .format_text .ad { margin-left: 1.467em; } .format_text .ad_left { margin-right: 1.467em; } /*---:[ after-post elements ]:---*/ .format_text .to_comments { font-size: 0.867em; line-height: 1.692em; margin-bottom: 1.692em; } .format_text .to_comments span { font-size: 1.692em; } .format_text .post_tags { font-size: 0.867em; line-height: 1.692em; margin-bottom: 1.692em; } /*---:[ multimedia box ]:---*/ #custom_box { font-size: 1.3em; line-height: 1.538em; } /*---:[ archive information block ]:---*/ #archive_info { padding-top: 1.1em; padding-bottom: 1.1em; } #archive_info p { font-size: 1em; line-height: 1em; margin-bottom: 1.1em; } /*---:[ previous and next links ]:---*/ .prev_next { padding-top: 1.1em; padding-bottom: 1.1em; } .prev_next p { font-size: 1em; line-height: 2.2em; } .post_nav .previous { margin-bottom: 0.55em; } .post_nav a { font-size: 1.5em; line-height: 1.467em; } /*---:[ comment area ]:---*/ #comments { margin-top: 4.4em; } .comments_intro { margin-bottom: 1.1em; } .comments_intro p { font-size: 1.3em; line-height: 1.692em; } .comments_intro span { font-size: 1.692em; } #comment_list, #trackback_list { margin-bottom: 4.4em; } dl#comment_list dt { padding-top: 1.8em; } dl#comment_list dt span { font-size: 1.3em; line-height: 1.692em; } dl#comment_list dt .comment_author { font-size: 1.7em; line-height: 1.294em; padding-right: 0.647em; } .avatar img { margin-left: 0.769em; } .comment_time { padding-right: 0.846em; } .comment_num { padding-left: 0.769em; } .comment_num a { font-size: 1em; line-height: 1.692em; padding: 0.077em 0.231em; } dl#comment_list dd { padding-top: 1.1em; } dl#comment_list dd p.reply a { font-size: 0.8em; line-height: 1.5em; } dl#comment_list dl dd p.reply { margin-bottom: 0; } dl#comment_list dl dt, dl#comment_list dl dd { padding-top: 0; } dl#comment_list dl dd .format_text { margin-bottom: 1.467em; } #trackback_list { padding-top: 1.1em; list-style: none; } #trackback_list a { font-size: 1.5em; line-height: 1.467em; } #trackback_list span { font-size: 1.3em; line-height: 1.692em; } .comments_closed { margin-top: 4.4em; margin-bottom: 2.2em; } /*---:[ comment form styles ]:---*/ #respond { margin-bottom: 4.4em; } #respond_intro { margin-bottom: 1.1em; } #respond_intro p { font-size: 1.8em; line-height: 1.222em; } #cancel-comment-reply-link { font-size: 1.1em; line-height: 1em; padding: 0.545em 0.727em; border-width: 0.182em; } .login_alert { margin-top: 4.4em; margin-bottom: 2.2em; padding: 1.1em; } #commentform { padding-top: 1.1em; } #commentform p, .login_alert p { font-size: 1.5em; line-height: 1.467em; } #commentform p.comment_box { line-height: 0.733em; } #commentform label { padding-left: 0.733em; } #commentform textarea { height: 11.733em; line-height: 1.467em; } #commentform span.allowed { width: 97.3%; padding-top: 0.467em; padding-bottom: 0.467em; border-width: 0 0.067em 0.067em 0.067em; } #commentform span.allowed span { font-size: 0.867em; line-height: 1.692em; padding: 0 0.538em; } /* Support for the highly-recommended Subscribe to Comments Plugin */ #commentform p.subscribe-to-comments { font-size: 1.5em; } #commentform p.subscribe-to-comments label { font-size: 1em; } /*---:[ sidebar styles ]:---*/ .sidebar { } #column_wrap .sidebar ul.sidebar_list { padding-top: 2.2em; } li.widget { font-size: 1.3em; line-height: 1.385em; margin-bottom: 2.769em; } li.tag_cloud { line-height: 1.692em; } li.widget p { margin-bottom: 1.385em; } li.widget abbr, li.widget acronym { font-size: 0.846em; } li.widget code { font-size: 0.923em; } li.widget ul li { margin-bottom: 0.692em; } li.widget li ul { margin: 0.692em 0 0 1.385em; } /*---:[ widget box styles ]:---*/ li.widget .widget_box { padding: 0.692em; border-width: 0.077em; } /*---:[ google custom search ]:---*/ li.thesis_widget_google_cse form input[type="submit"] { font-size: 1em; margin-top: 0.462em; padding: 0.154em 0.231em; } /*---:[ calendar widget ]:---*/ #calendar_wrap a { padding: 0.077em; } #calendar_wrap a:hover { padding: 0.077em; } table#wp-calendar caption { font-size: 0.846em; line-height: 2em; } table#wp-calendar th { font-size: 0.846em; line-height: 2em; padding-top: 0.091em; } table#wp-calendar td { line-height: 1.692em; } table#wp-calendar td#next, table#wp-calendar td#prev { font-size: 0.846em; line-height: 2em; } table#wp-calendar td#next { padding-right: 0.545em; } table#wp-calendar td#prev { padding-left: 0.545em; } /*---:[ form inputs ]:---*/ input, textarea { font-family: Verdana, sans-serif; } .format_text input, #commentform input, #commentform textarea { width: 45%; padding: 0.2em; border-width: 0.067em 0.067em 0.067em 0.067em; } #commentform textarea { width: 96%; } .format_text input.form_submit, #commentform .form_submit { font-size: 1.133em; padding: 0.294em 0.235em; } .sidebar .text_input, .sidebar .form_submit { padding: 0.308em; font-family: Verdana, sans-serif; } .sidebar input[type="text"], .sidebar input[type="submit"] { padding: 0.308em; font-family: Verdana, sans-serif; } /*---:[ footer styles ]:---*/ #footer p { font-size: 1.2em; line-height: 1.667em; } ul.sidebar_list { padding-top: 2.2em; } /*---:[ teaser styles ]:---*/ .teaser h2 { font-size: 1.6em; line-height: 1.375em; } .teaser .format_teaser { font-size: 1.2em; line-height: 1.5em; margin-top: 1.5em; margin-bottom: 1.5em; } .teaser .teaser_author, .teaser .teaser_category, .teaser .teaser_date, .teaser .teaser_comments, .teaser .edit_post { font-family: Verdana, sans-serif; } .teaser .teaser_author { font-size: 1em; line-height: 1.6em; } .teaser .teaser_category { font-size: 1em; line-height: 1.6em; } .teaser .teaser_date { font-size: 1em; line-height: 1.6em; } .teaser .teaser_comments { font-size: 1em; line-height: 1.6em; } .teaser .teaser_link { font-size: 1.2em; line-height: 1.5em; } .teaser .post_tags { font-size: 1.1em; line-height: 1.636em; } .teaser .edit_post { padding-left: 0.8em; } /*---:[ thumbnails ]:---*/ .teaser .post_image_link img.alignleft { margin-right: 1.8em; margin-bottom: 1.8em; } .teaser .post_image_link img.alignright { margin-left: 1.8em; margin-bottom: 1.8em; } .teaser .post_image_link img.aligncenter { margin-bottom: 1.8em; } .teaser .post_image_link img.alignnone { margin: 0 auto 1.8em 0; } .teaser .post_image_link img.frame { padding: 0.8em; border-width: 0.1em; } .teaser .format_teaser .post_image_link img.alignleft { margin-right: 0.75em; margin-bottom: 0; } .teaser .format_teaser .post_image_link img.alignright { margin-left: 0.75em; margin-bottom: 0; } .teaser .format_teaser .post_image_link img.aligncenter { margin-bottom: 1.5em; } .teaser .format_teaser .post_image_link img.frame { padding: 0.333em; border-width: 0.083em; } /*---:[ layout colors ]:---*/ body { color: #111111; background: #FFFFFF; } .full_width > .page { background: #FFFFFF; } a, h2 a:hover, #logo a:hover { color: #2361A1; } #logo, #logo a { color: #111111; } #tagline { color: #888888 } h1, h2, h2 a { color: #111111; } .headline_meta, .headline_meta a, .teaser_author, .teaser_date, .teaser .edit_post, .teaser_author a, .teaser_comments, .teaser_category, .teaser .edit_post a { color: #888888; } .headline_meta a:hover, .teaser_author a:hover, .teaser_comments:hover, .teaser_category:hover, .teaser .edit_post a:hover { color: #111111; } .sidebar h3 { color: #555555; } .image_box { background: #EEEEEE; } .video_box { background: #000000; } .custom_box { background: #EEEEEE; } #footer, #footer a { color: #888888; } #footer a:hover { color: #111111; } /*---:[ nav colors ]:---*/ .menu, .menu a, .menu li ul { border-color: #DDDDDD; } .menu .current a, .menu .current-cat a { border-bottom-color: #FFFFFF; } .menu ul .current a, .menu ul .current-cat a, .menu .current ul a, .menu .current-cat ul a { border-bottom-color: #DDDDDD; } .menu a, .menu .current ul a, .menu .current-cat ul a { color: #111111; background: #EFEFEF; } .menu a:hover, .menu .current ul a:hover, .menu .current-cat ul a:hover, .menu .current-parent a:hover { color: #111111; background: #DDDDDD; } .menu .current a, .menu .current a:hover, .menu .current-cat a, .menu .current-cat a:hover { color: #111111; background: #FFFFFF; } .menu .current-parent > a, .menu .current-cat-parent > a { color: #111111; background: #F0EEC2; } /*---:[ border package ]:---*/ #header { border-width: 0 0 0.3em 0; } .post_box, .teasers_box { border-width: 0.1em 0 0 0; } #footer { border-width: 0.3em 0 0 0; } #feature_box, #archive_info, #comment_nav_2 { border-width: 0 0 0.2em 0; } .prev_next { border-width: 0.2em 0 0 0; } .image_box, .custom_box { border-width: 0 0 0.1em 0; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=custom.css Content-Type: text/css; charset=UTF-8; name=custom.css Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/custom.css?113010-04702 Content-Transfer-Encoding: 8bit .custom .dd_post_share{padding-left:10em;} .custom .featured_default p{color:black;} .custom .ui-tabs .ui-tabs-nav li{padding:1em;margin-right:0;} .custom .ui-tabs .ui-tabs-nav li a{text-decoration:underline;} .custom .ui-tabs .selected{background-color:red;} .custom .ui-tabs li.ui-tabs-selected a{padding:1em;} .custom .spacer{clear:both; margin:0; padding:10px;} .custom .idTabs {float:left;margin-left:-1em;margin-top:1em;} .custom .idTabs li {float:left;} .custom .idTabs li a {border:1px solid black;display:block;font-weight:bold;margin:0 7px 0 0;padding:5px 8px;text-align:left;font-size:.95em;} .custom .spacer.white{clear:both;margin:0;padding:10px;} .custom .spacer.white ul li{margin-left:-1.75em;} .custom .menu{width:80% !important;} .custom .tb_header{display:none;} .custom .tb_tweetlist{margin-left:-1em;margin-right:-1em;border-bottom:none;} .custom #pop li{list-style-type:square;} .custom .idw_container.idw_empty{background:none !important;} .custom .idw_container.idw_footer{display:none !important;} .custom #header_ads{width:64%;} .custom #header_featured{width:35%;} .custom .featured_default h3 {display:none;} .custom body.custom{background-color:white;!important} .custom #header{background:url('http://cloud.aquaviews.net/wp-content/uploads/2010/06/LP_Head.jpg') no-repeat;} .custom #second_nav li a{ color:#2361A1; } .custom .idw-container{width:90%;} .custom #breadcrumb{color:black;} ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=buttons.js Content-Type: application/javascript; charset=UTF-8; name=buttons.js Content-Location: http://w.sharethis.com/button/buttons.js Content-Transfer-Encoding: Base64 dmFyIGNvb2tpZT1uZXcgZnVuY3Rpb24oKXtyZXR1cm57c2V0Q29va2llOmZ1bmN0 aW9uKGQsZixoKXtpZihoKXt2YXIgYz1uZXcgRGF0ZSgpO2Muc2V0VGltZShjLmdl dFRpbWUoKSsoaCoyNCo2MCo2MCoxMDAwKSk7dmFyIGE9IjsgZXhwaXJlcz0iK2Mu dG9HTVRTdHJpbmcoKX1lbHNle3ZhciBhPSIifXZhciBiPWQrIj0iK2VzY2FwZShm KSthO3ZhciBnPWRvY3VtZW50LmRvbWFpbi5zcGxpdCgvXC4vKTt2YXIgZT0iIjtp ZihnLmxlbmd0aD4xKXtlPSIuIitnW2cubGVuZ3RoLTJdKyIuIitnW2cubGVuZ3Ro LTFdfWIrPSI7IGRvbWFpbj0iK2VzY2FwZShlKSsiO3BhdGg9LyI7ZG9jdW1lbnQu Y29va2llPWJ9LGdldENvb2tpZTpmdW5jdGlvbihiKXt2YXIgYT1kb2N1bWVudC5j b29raWUubWF0Y2goIihefDspID8iK2IrIj0oW147XSopKDt8JCkiKTtpZihhKXty ZXR1cm4odW5lc2NhcGUoYVsyXSkpfWVsc2V7cmV0dXJuIGZhbHNlfX0sZGVsZXRl Q29va2llOmZ1bmN0aW9uKGEpe3ZhciBjPSIvIjt2YXIgZD1kb2N1bWVudC5kb21h aW4uc3BsaXQoL1wuLyk7dmFyIGI9IiI7aWYoZC5sZW5ndGg+MSl7Yj0iLiIrZFtk Lmxlbmd0aC0yXSsiLiIrZFtkLmxlbmd0aC0xXX1kb2N1bWVudC5jb29raWU9YSsi PSIrKChjKT8iO3BhdGg9IitjOiIiKSsoKGIpPyI7ZG9tYWluPSIrYjoiIikrIjtl eHBpcmVzPVRodSwgMDEtSmFuLTE5NzAgMDA6MDA6MDEgR01UIn19fSgpO2lmKHR5 cGVvZihfZ2FxKSE9PSJ1bmRlZmluZWQiKXtfZ2FxLnB1c2goZnVuY3Rpb24oKXt2 YXIgYT1fZ2F0Ll9nZXRUcmFja2VyQnlOYW1lKCk7X19zdFB1YkdBPWEuX2dldEFj Y291bnQoKX0pfWlmKHR5cGVvZihzdExpZ2h0KT09InVuZGVmaW5lZCImJnR5cGVv ZihTSEFSRVRISVMpPT0idW5kZWZpbmVkIil7dmFyIHN0UmVjZW50U2VydmljZXM9 ZmFsc2U7dmFyIGJldGFCbGFja2xpc3Q9WyJjb21wdXRlcndvcmxkLmNvbSIsIm5l dHdvcmt3b3JsZC5jb20iLCJjaW8uY29tIiwiaW5mb3dvcmxkLmNvbSIsImZvcmJl cy5jb20iLCJwZXJlemhpbHRvbi5jb20iLCJwZ2VzdG9yZS5jb20iLCJ0aGVwb3N0 Z2FtZS5jb20iXTtpZih0eXBlb2Yoc3dpdGNoVG81eCk9PSJ1bmRlZmluZWQiKXtz d2l0Y2hUbzV4PWZhbHNlO3ZhciByTnVtRm9yNXg9Y29va2llLmdldENvb2tpZSgi X19zd2l0Y2hUbzV4Iik7aWYock51bUZvcjV4PT1mYWxzZSl7dmFyIHJOdW1Gb3I1 eD0xK01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxMDApO2Nvb2tpZS5zZXRDb29r aWUoIl9fc3dpdGNoVG81eCIsck51bUZvcjV4LCIzMDAiKX12YXIgdGVzdExpbWl0 Rm9yNXg9MDtpZihyTnVtRm9yNXg8PXRlc3RMaW1pdEZvcjV4KXtzd2l0Y2hUbzV4 PXRydWV9Zm9yKHZhciBpPTA7aTxiZXRhQmxhY2tsaXN0Lmxlbmd0aDtpKyspe2lm KGRvY3VtZW50LmRvbWFpbi5zZWFyY2goYmV0YUJsYWNrbGlzdFtpXSkhPSItMSIp e3N3aXRjaFRvNXg9ZmFsc2U7YnJlYWt9fX1zdExpZ2h0PW5ldyBmdW5jdGlvbigp e3RoaXMucHVibGlzaGVyPW51bGw7dGhpcy5zZXNzaW9uSURfdGltZT0obmV3IERh dGUoKSkuZ2V0VGltZSgpLnRvU3RyaW5nKCk7dGhpcy5zZXNzaW9uSURfcmFuZD1O dW1iZXIoTWF0aC5yYW5kb20oKS50b1ByZWNpc2lvbig1KS50b1N0cmluZygpLnN1 YnN0cigyKSkudG9TdHJpbmcoKTt0aGlzLnNlc3Npb25JRD10aGlzLnNlc3Npb25J RF90aW1lKyIuIit0aGlzLnNlc3Npb25JRF9yYW5kO3RoaXMuZnBjPW51bGw7dGhp cy5jb3VudGVyPTA7dGhpcy5yZWFkeVJ1bj1mYWxzZTt0aGlzLm1ldGE9e2hvc3Ru YW1lOmRvY3VtZW50LmxvY2F0aW9uLmhvc3QsbG9jYXRpb246ZG9jdW1lbnQubG9j YXRpb24ucGF0aG5hbWV9O3RoaXMubG9hZGVkRnJvbUJhcj1mYWxzZTt0aGlzLmNs aWNrQ2FsbEJhY2s9ZmFsc2V9O3N0TGlnaHQub25SZWFkeT1mdW5jdGlvbigpe3N0 TGlnaHQucmVhZHlSdW49dHJ1ZTtpZihzdExpZ2h0LnB1Ymxpc2hlcj09bnVsbCl7 aWYodHlwZW9mKHdpbmRvdy5jb25zb2xlKSE9PSJ1bmRlZmluZWQiKXt0cnl7Y29u c29sZS5sb2coIlBsZWFzZSBzcGVjaWZ5IGEgU2hhcmVUaGlzIFB1Ymxpc2hlciBL ZXkgXG5Gb3IgaGVscCwgY29udGFjdCBzdXBwb3J0QHNoYXJldGhpcy5jb20iKX1j YXRjaChhKXt9fX12YXIgYj0ic2hhcmU0eCI7aWYoc3dpdGNoVG81eCl7Yj0ic2hh cmU1eCJ9aWYoc3RMaWdodC5oYXNCdXR0b25PblBhZ2UoKSl7aWYoc3RMaWdodC5s b2FkZWRGcm9tQmFyKXtpZihzd2l0Y2hUbzV4KXtiPSJiYXJfc2hhcmU1eCJ9ZWxz ZXtiPSJiYXJfc2hhcmU0eCJ9fX1lbHNle2lmKHN0TGlnaHQubG9hZGVkRnJvbUJh cil7Yj0iYmFyIn19c3RMaWdodC5sb2coInB2aWV3IixiLCIiKTtzdFdpZGdldC5v cHRpb25zLnNlc3Npb25JRD1zdExpZ2h0LnNlc3Npb25JRDtzdFdpZGdldC5vcHRp b25zLmZwYz1zdExpZ2h0LmZwYztzdEJ1dHRvbnMub25SZWFkeSgpfTtzdExpZ2h0 LmxvZz1mdW5jdGlvbihkLGUsYyl7dmFyIGY9KCgiaHR0cHM6Ij09ZG9jdW1lbnQu bG9jYXRpb24ucHJvdG9jb2wpPyJodHRwczovL2wuIjoiaHR0cDovL2wuIikrInNo YXJldGhpcy5jb20vbG9nP2V2ZW50PSI7aWYoZD09InB2aWV3Iil7Zj0oKCJodHRw czoiPT1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk/Imh0dHBzOi8vbC4iOiJo dHRwOi8vbC4iKSsic2hhcmV0aGlzLmNvbS9wdmlldz9ldmVudD0ifXZhciBhPXN0 TGlnaHQuZGJySW5mbygpO2lmKGE9PWZhbHNlKXthPSIifWYrPWQ7Zis9IiZzb3Vy Y2U9IitlO2lmKGMhPSIiKXtmKz0iJnR5cGU9IitjfWYrPSImcHVibGlzaGVyPSIr ZW5jb2RlVVJJQ29tcG9uZW50KHN0TGlnaHQucHVibGlzaGVyKSsiJmhvc3RuYW1l PSIrZW5jb2RlVVJJQ29tcG9uZW50KHN0TGlnaHQubWV0YS5ob3N0bmFtZSkrIiZs b2NhdGlvbj0iK2VuY29kZVVSSUNvbXBvbmVudChzdExpZ2h0Lm1ldGEubG9jYXRp b24pKyImdXJsPSIrZW5jb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LmxvY2F0aW9u LmhyZWYpKyImc2Vzc2lvbklEPSIrc3RMaWdodC5zZXNzaW9uSUQrIiZmcGM9Iitz dExpZ2h0LmZwYysiJnRzIisobmV3IERhdGUoKSkuZ2V0VGltZSgpKyIuIitzdExp Z2h0LmNvdW50ZXIrKythO3ZhciBiPW5ldyBJbWFnZSgxLDEpO2Iuc3JjPWY7Yi5v bmxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm59O2lmKGQ9PSJwdmlldyIpe3N0TGlnaHQu Y3JlYXRlU2VnbWVudEZyYW1lKCl9fTtzdExpZ2h0Ll9zdEZwYz1mdW5jdGlvbigp e2lmKCFkb2N1bWVudC5kb21haW58fGRvY3VtZW50LmRvbWFpbi5zZWFyY2goL1wu Z292Lyk+MCl7cmV0dXJuIGZhbHNlfXZhciBnPXN0TGlnaHQuX3N0R2V0RnBjKCJf X3VuYW0iKTtpZihnPT1mYWxzZSl7dmFyIGM9TWF0aC5yb3VuZChNYXRoLnJhbmRv bSgpKjIxNDc0ODM2NDcpO2M9Yy50b1N0cmluZygxNik7dmFyIGg9KG5ldyBEYXRl KCkpLmdldFRpbWUoKTtoPWgudG9TdHJpbmcoMTYpO3ZhciBlPSIiO3ZhciBhPXN0 TGlnaHQuX3N0R2V0RCgpO2E9YS5zcGxpdCgvXC4vKVsxXTtpZighYSl7cmV0dXJu IGZhbHNlfWU9c3RMaWdodC5fc3RkSGFzaChhKSsiLSIraCsiLSIrYysiLTEiO2c9 ZTtzdExpZ2h0Ll9zdFNldEZwYyhnKX1lbHNle3ZhciBiPWc7dmFyIGY9Yi5zcGxp dCgvXC0vKTtpZihmLmxlbmd0aD09NCl7dmFyIGQ9TnVtYmVyKGZbM10pO2QrKzti PWZbMF0rIi0iK2ZbMV0rIi0iK2ZbMl0rIi0iK2Q7Zz1iO3N0TGlnaHQuX3N0U2V0 RnBjKGcpfX1yZXR1cm4gZ307c3RMaWdodC5fc3RTZXRGcGM9ZnVuY3Rpb24oZyl7 dmFyIGE9Il9fdW5hbSI7dmFyIGM9bmV3IERhdGU7dmFyIGo9Yy5nZXRGdWxsWWVh cigpO3ZhciBmPWMuZ2V0TW9udGgoKSs5O3ZhciBoPWMuZ2V0RGF0ZSgpO3ZhciBk PWErIj0iK2VzY2FwZShnKTtpZihqKXt2YXIgYj1uZXcgRGF0ZShqLGYsaCk7ZCs9 IjsgZXhwaXJlcz0iK2IudG9HTVRTdHJpbmcoKX12YXIgZT1zdExpZ2h0Ll9zdEdl dEQoKTtkKz0iOyBkb21haW49Iitlc2NhcGUoZSkrIjtwYXRoPS8iO2RvY3VtZW50 LmNvb2tpZT1kfTtzdExpZ2h0Ll9zdEdldEQ9ZnVuY3Rpb24oKXt2YXIgYj1kb2N1 bWVudC5kb21haW4uc3BsaXQoL1wuLyk7dmFyIGE9IiI7aWYoYi5sZW5ndGg+MSl7 YT0iLiIrYltiLmxlbmd0aC0yXSsiLiIrYltiLmxlbmd0aC0xXX1yZXR1cm4gYX07 c3RMaWdodC5fc3RHZXRGcGM9ZnVuY3Rpb24oYil7dmFyIGE9ZG9jdW1lbnQuY29v a2llLm1hdGNoKCIoXnw7KSA/IitiKyI9KFteO10qKSg7fCQpIik7aWYoYSl7cmV0 dXJuKHVuZXNjYXBlKGFbMl0pKX1lbHNle3JldHVybiBmYWxzZX19O3N0TGlnaHQu X3N0ZEhhc2g9ZnVuY3Rpb24oYSl7dmFyIGU9MCxkPTA7Zm9yKHZhciBjPWEubGVu Z3RoLTE7Yz49MDtjLS0pe3ZhciBiPXBhcnNlSW50KGEuY2hhckNvZGVBdChjKSk7 ZT0oKGU8PDgpJjI2ODQzNTQ1NSkrYisoYjw8MTIpO2lmKChkPWUmMTYxMTE5ODUw KSE9MCl7ZT0oZV4oZD4+MjApKX19cmV0dXJuIGUudG9TdHJpbmcoMTYpfTtzdExp Z2h0Ll90aGlzU2NyaXB0PW51bGw7c3RMaWdodC5nZXRTaGFyZVRoaXNMaWdodFNj cmlwdD1mdW5jdGlvbigpe3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO YW1lKCJzY3JpcHQiKTt2YXIgYz1udWxsO2Zvcih2YXIgYj0wO2I8ZC5sZW5ndGg7 YisrKXt2YXIgYT1kW2JdLnNyYztpZihhLnNlYXJjaCgvLipzaGFyZXRoaXMuKlwv YnV0dG9uXC9saWdodC4qLyk+PTApe2M9ZFtiXX19cmV0dXJuIGN9O3N0TGlnaHQu ZGJySW5mbz1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LnJlZmVycmVyO3ZhciBk PW5ldyBSZWdFeHAoZG9jdW1lbnQuZG9tYWluLCJnaSIpO2lmKGQudGVzdChhKT09 dHJ1ZSl7cmV0dXJuIGZhbHNlfWlmKGEmJmEubGVuZ3RoPjApe3ZhciBjPS8oaHR0 cDpcL1wvKSguKj8pXC8uKi9pO3ZhciBiPS8oXi4qXD8pKC4qKS9pZzt2YXIgZz0i Ijt2YXIgZj1hLnJlcGxhY2UoYywiJDIiKTtpZihmLmxlbmd0aD4wKXtnKz0iJnJl ZkRvbWFpbj0iK2Z9ZWxzZXtyZXR1cm4gZmFsc2V9dmFyIGU9YS5yZXBsYWNlKGIs IiQyIik7aWYoZS5sZW5ndGg+MCl7Zys9IiZyZWZRdWVyeT0iK2VuY29kZVVSSUNv bXBvbmVudChlKX1yZXR1cm4gZ31lbHNle3JldHVybiBmYWxzZX19O3N0TGlnaHQu b2Rqcz1mdW5jdGlvbihhLGIpe3RoaXMuaGVhZD1kb2N1bWVudC5nZXRFbGVtZW50 c0J5VGFnTmFtZSgiaGVhZCIpWzBdO3RoaXMuc2NyaXB0U3JjPWE7dGhpcy5zY3Jp cHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dGhpcy5zY3JpcHQu c2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9qYXZhc2NyaXB0Iik7dGhpcy5zY3Jp cHQuc2V0QXR0cmlidXRlKCJzcmMiLHRoaXMuc2NyaXB0U3JjKTt0aGlzLnNjcmlw dC5vbmxvYWQ9Yjt0aGlzLnNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rp b24oKXtpZih0aGlzLnJlYWR5U3RhdGU9PSJsb2FkZWQifHx0aGlzLnJlYWR5U3Rh dGU9PSJjb21wbGV0ZSIpe2IoKX19O3RoaXMuaGVhZC5hcHBlbmRDaGlsZCh0aGlz LnNjcmlwdCl9O2lmKHdpbmRvdy5kb2N1bWVudC5yZWFkeVN0YXRlPT0iY29tcGxl dGVkIil7c3RMaWdodC5vblJlYWR5KCl9ZWxzZXtpZih0eXBlb2Yod2luZG93LmFk ZEV2ZW50TGlzdGVuZXIpIT0idW5kZWZpbmVkIil7d2luZG93LmFkZEV2ZW50TGlz dGVuZXIoImxvYWQiLHN0TGlnaHQub25SZWFkeSxmYWxzZSl9ZWxzZXtpZih0eXBl b2YoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikhPSJ1bmRlZmluZWQiKXtkb2N1 bWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixzdExpZ2h0Lm9uUmVhZHksZmFs c2UpfWVsc2V7aWYodHlwZW9mIHdpbmRvdy5hdHRhY2hFdmVudCE9InVuZGVmaW5l ZCIpe3dpbmRvdy5hdHRhY2hFdmVudCgib25sb2FkIixzdExpZ2h0Lm9uUmVhZHkp fX19fXN0TGlnaHQuY3JlYXRlU2VnbWVudEZyYW1lPWZ1bmN0aW9uKCl7dHJ5e3N0 TGlnaHQuc2VnbWVudGZyYW1lPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJzxpZnJh bWUgbmFtZT0ic3RmcmFtZSIgYWxsb3dUcmFuc3BhcmVuY3k9InRydWUiIHN0eWxl PSJib2R5e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7fSIgPjwvaWZyYW1lPicpfWNh dGNoKGIpe3N0TGlnaHQuc2VnbWVudGZyYW1lPWRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoImlmcmFtZSIpfXN0TGlnaHQuc2VnbWVudGZyYW1lLmlkPSJzdFNlZ21lbnRG cmFtZSI7c3RMaWdodC5zZWdtZW50ZnJhbWUubmFtZT0ic3RTZWdtZW50RnJhbWUi O3ZhciBjPWRvY3VtZW50LmJvZHk7dmFyIGE9KCgiaHR0cHM6Ij09ZG9jdW1lbnQu bG9jYXRpb24ucHJvdG9jb2wpPyJodHRwczovL3NlZy4iOiJodHRwOi8vc2VnLiIp KyJzaGFyZXRoaXMuY29tL2dldFNlZ21lbnQucGhwP3B1cmw9IitlbmNvZGVVUklD b21wb25lbnQoZG9jdW1lbnQubG9jYXRpb24uaHJlZikrIiZqc3JlZj0iK2VuY29k ZVVSSUNvbXBvbmVudChkb2N1bWVudC5yZWZlcnJlcikrIiZybmQ9IisobmV3IERh dGUoKSkuZ2V0VGltZSgpO3N0TGlnaHQuc2VnbWVudGZyYW1lLnNyYz1hO3N0TGln aHQuc2VnbWVudGZyYW1lLmZyYW1lQm9yZGVyPSIwIjtzdExpZ2h0LnNlZ21lbnRm cmFtZS5zY3JvbGxpbmc9Im5vIjtzdExpZ2h0LnNlZ21lbnRmcmFtZS53aWR0aD0i MHB4IjtzdExpZ2h0LnNlZ21lbnRmcmFtZS5oZWlnaHQ9IjBweCI7c3RMaWdodC5z ZWdtZW50ZnJhbWUuc2V0QXR0cmlidXRlKCJzdHlsZSIsImRpc3BsYXk6bm9uZTsi KTtjLmFwcGVuZENoaWxkKHN0TGlnaHQuc2VnbWVudGZyYW1lKX07c3RMaWdodC5m cGM9c3RMaWdodC5fc3RGcGMoKTtzdExpZ2h0Lm9wdGlvbnM9ZnVuY3Rpb24oYSl7 aWYoYSYmYS5wdWJsaXNoZXIpe3N0TGlnaHQucHVibGlzaGVyPWEucHVibGlzaGVy fWlmKGEmJmEubG9hZGVkRnJvbUJhcil7c3RMaWdodC5sb2FkZWRGcm9tQmFyPWEu bG9hZGVkRnJvbUJhcn1pZihhJiZhLmNsaWNrQ2FsbEJhY2smJnR5cGVvZihhLmNs aWNrQ2FsbEJhY2spPT0iZnVuY3Rpb24iKXtzdExpZ2h0LmNsaWNrQ2FsbEJhY2s9 YS5jbGlja0NhbGxCYWNrfWZvcih2YXIgYiBpbiBhKXtpZihzdFdpZGdldC5vcHRp b25zLmhhc093blByb3BlcnR5KGIpJiZhW2JdIT09bnVsbCl7c3RXaWRnZXQub3B0 aW9uc1tiXT1hW2JdfX19O3N0TGlnaHQuaGFzQnV0dG9uT25QYWdlPWZ1bmN0aW9u KCl7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTt2YXIg Yz1uZXcgUmVnRXhwKC9ec3RfKC4qPykkLyk7dmFyIGE9ZC5sZW5ndGg7Zm9yKHZh ciBiPTA7YjxhO2IrKyl7aWYodHlwZW9mKGRbYl0uY2xhc3NOYW1lKT09InN0cmlu ZyImJmRbYl0uY2xhc3NOYW1lIT0iIil7aWYoZFtiXS5jbGFzc05hbWUubWF0Y2go YykmJmRbYl0uY2xhc3NOYW1lLm1hdGNoKGMpLmxlbmd0aD49MiYmZFtiXS5jbGFz c05hbWUubWF0Y2goYylbMV0pe3JldHVybiB0cnVlfX19cmV0dXJuIGZhbHNlfX12 YXIgc3RCdXR0b25zPXt9O3N0QnV0dG9ucy5zbWFydGlmeUJ1dHRvbnM9ZnVuY3Rp b24oYSl7aWYodHlwZW9mKGEpIT0idW5kZWZpbmVkIiYmYSE9InVuZGVmaW5lZCIp e3N0UmVjZW50U2VydmljZXM9YTtmb3IodmFyIGIgaW4gc3RSZWNlbnRTZXJ2aWNl cyl7c3RSZWNlbnRTZXJ2aWNlc1tiXS5wcm9jZXNzZWQ9ZmFsc2V9fXN0QnV0dG9u cy5jb21wbGV0ZUluaXQoKX07c3RCdXR0b25zLm1ha2VCdXR0b249ZnVuY3Rpb24o byl7dmFyIGY9by5zZXJ2aWNlO3ZhciB5PW8udGV4dDtpZih5PT1udWxsJiYoby50 eXBlPT0idmNvdW50Inx8by50eXBlPT0iaGNvdW50Iikpe3k9IlNoYXJlIn1pZihm PT0iZmJfbGlrZSIpe2Y9ImZibGlrZSJ9ZWxzZXtpZihmPT0iZmJsaWtlX2ZiTG9u ZyIpe2Y9ImZibGlrZSI7by50eXBlPSJmYkxvbmcifX12YXIgZz1zdFdpZGdldC5v Z3VybD9zdFdpZGdldC5vZ3VybDpkb2N1bWVudC5sb2NhdGlvbi5ocmVmO2c9by51 cmw/by51cmw6Zzt2YXIgQj1zdFdpZGdldC5vZ3RpdGxlP3N0V2lkZ2V0Lm9ndGl0 bGU6ZG9jdW1lbnQudGl0bGU7Qj1vLnRpdGxlP28udGl0bGU6Qjt2YXIgZT0oby50 aHVtYm5haWwmJm8udGh1bWJuYWlsIT1udWxsKT9vLnRodW1ibmFpbDpzdFdpZGdl dC5vZ2ltZzt2YXIgSj1zdFdpZGdldC5kZXNjP3N0V2lkZ2V0LmRlc2M6IiI7Sj1z dFdpZGdldC5vZ2Rlc2M/c3RXaWRnZXQub2dkZXNjOnN0V2lkZ2V0LmRlc2M7Sj0o by5kZXNjcmlwdGlvbiYmby5kZXNjcmlwdGlvbiE9bnVsbCk/by5kZXNjcmlwdGlv bjpKO2lmKC8oaHR0cHxodHRwcyk6XC9cLy8udGVzdChnKT09ZmFsc2Upe2c9ZGVj b2RlVVJJQ29tcG9uZW50KGcpO0I9ZGVjb2RlVVJJQ29tcG9uZW50KEIpfWlmKC8o aHR0cHxodHRwcyk6XC9cLy8udGVzdChnKT09ZmFsc2Upe2c9ZGVjb2RlVVJJQ29t cG9uZW50KGcpO0I9ZGVjb2RlVVJJQ29tcG9uZW50KEIpfXZhciBPPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtPLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJ0 ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojMDAwMDAwO2Rpc3BsYXk6aW5saW5l LWJsb2NrO2N1cnNvcjpwb2ludGVyOyIpO08uY2xhc3NOYW1lPSJzdEJ1dHRvbiI7 aWYoby50eXBlPT0iY3VzdG9tIil7by5lbGVtZW50Lm9uY2xpY2s9ZnVuY3Rpb24o KXt2YXIgUD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7UC5zZXRBdHRy aWJ1dGUoIm1ldGhvZCIsIkdFVCIpO1Auc2V0QXR0cmlidXRlKCJhY3Rpb24iLCJo dHRwOi8vd2Quc2hhcmV0aGlzLmNvbS9hcGkvc2hhcmVyLnBocCIpO1Auc2V0QXR0 cmlidXRlKCJ0YXJnZXQiLCJfYmxhbmsiKTt2YXIgUT17dXJsOmcsdGl0bGU6Qixk ZXN0aW5hdGlvbjpmLHB1Ymxpc2hlcjpzdExpZ2h0LnB1Ymxpc2hlcixmcGM6c3RM aWdodC5mcGMsc2Vzc2lvbklEOnN0TGlnaHQuc2Vzc2lvbklEfTtpZih0eXBlb2Yo ZSkhPSJ1bmRlZmluZWQiJiZlIT1udWxsKXtRLmltYWdlPWV9aWYodHlwZW9mKEop IT0idW5kZWZpbmVkIiYmSiE9bnVsbCl7US5kZXNjPUp9US5zZXJ2aWNlPW8uc2Vy dmljZTtRLnR5cGU9by50eXBlO2Zvcih2YXIgYiBpbiBRKXt2YXIgYT1kb2N1bWVu dC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Euc2V0QXR0cmlidXRlKCJ0eXBlIiwi aGlkZGVuIik7YS5zZXRBdHRyaWJ1dGUoIm5hbWUiLGIpO2Euc2V0QXR0cmlidXRl KCJ2YWx1ZSIsUVtiXSk7UC5hcHBlbmRDaGlsZChhKX1kb2N1bWVudC5ib2R5LmFw cGVuZENoaWxkKFApO1Auc3VibWl0KCl9O3JldHVybiBmYWxzZX1pZighKChmPT0i ZW1haWwifHxmPT0ic2hhcmV0aGlzIil8fChzd2l0Y2hUbzV4JiYoZj09ImZhY2Vi b29rInx8Zj09InR3aXR0ZXIifHxmPT0iZ2J1enoifHxmPT0ieWFob28ifHxmPT0i bGlua2VkaW4iKSkpKXtPLm9uY2xpY2s9ZnVuY3Rpb24oKXtpZihzdFdpZGdldC5v cHRpb25zLnRyYWNraW5nKXtzaGFyZUxvZyhmKX12YXIgUD1kb2N1bWVudC5jcmVh dGVFbGVtZW50KCJmb3JtIik7UC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsIkdFVCIp O1Auc2V0QXR0cmlidXRlKCJhY3Rpb24iLCJodHRwOi8vd2Quc2hhcmV0aGlzLmNv bS9hcGkvc2hhcmVyLnBocCIpO1Auc2V0QXR0cmlidXRlKCJ0YXJnZXQiLCJfYmxh bmsiKTt2YXIgUT17dXJsOmcsdGl0bGU6QixkZXN0aW5hdGlvbjpmLHB1Ymxpc2hl cjpzdExpZ2h0LnB1Ymxpc2hlcixmcGM6c3RMaWdodC5mcGMsc2Vzc2lvbklEOnN0 TGlnaHQuc2Vzc2lvbklEfTtpZih0eXBlb2YoZSkhPSJ1bmRlZmluZWQiJiZlIT1u dWxsKXtRLmltYWdlPWV9aWYodHlwZW9mKEopIT0idW5kZWZpbmVkIiYmSiE9bnVs bCl7US5kZXNjPUp9US5zZXJ2aWNlPW8uc2VydmljZTtRLnR5cGU9by50eXBlO2Zv cih2YXIgYiBpbiBRKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1 dCIpO2Euc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIik7YS5zZXRBdHRyaWJ1 dGUoIm5hbWUiLGIpO2Euc2V0QXR0cmlidXRlKCJ2YWx1ZSIsUVtiXSk7UC5hcHBl bmRDaGlsZChhKX1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFApO1Auc3VibWl0 KCl9fWlmKGY9PSJmYmxpa2UiKXt0cnl7dmFyIHg9ZG9jdW1lbnQuY3JlYXRlRWxl bWVudCgnPGlmcmFtZSBuYW1lPSJzdExmcmFtZSIgc2Nyb2xsaW5nPSJubyIgZnJh bWVCb3JkZXI9IjAiIGFsbG93VHJhbnNwYXJlbmN5PSJ0cnVlIiBzdHlsZT0iYm9k eXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O30iID48L2lmcmFtZT4nKX1jYXRjaChL KXt4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3guYWxsb3dUcmFu c3BhcmVuY3k9InRydWUiO3guc2V0QXR0cmlidXRlKCJhbGxvd1RyYW5zcGFyZW5j eSIsInRydWUiKTt4LmZyYW1lQm9yZGVyPSIwIjt4LnNldEF0dHJpYnV0ZSgiZnJh bWVCb3JkZXIiLCIwIik7eC5zY3JvbGxpbmc9Im5vIjt4LnNldEF0dHJpYnV0ZSgi c2Nyb2xsaW5nIiwibm8iKX12YXIgTj0iaHR0cDovL3dkLnNoYXJldGhpcy5jb20v YXBpL3NoYXJlci5waHA/ZGVzdGluYXRpb249ZmJsaWtlJnVybD0iK2VuY29kZVVS SUNvbXBvbmVudChnKTt2YXIgQT0iYnV0dG9uX2NvdW50IjtpZihvLnR5cGU9PSJ2 Y291bnQiKXtBPSJib3hfY291bnQiO3guc2V0QXR0cmlidXRlKCJzdHlsZSIsImJv cmRlcjpub25lOyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjU1cHg7IGhlaWdodDo2 NXB4OyBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjEycHg7Iik7eC53aWR0aD0iNTVw eCI7eC5oZWlnaHQ9IjY1cHgifWVsc2V7aWYoby50eXBlPT0iZmJMb25nIil7QT0i c3RhbmRhcmQiO3guc2V0QXR0cmlidXRlKCJzdHlsZSIsImJvcmRlcjpub25lOyBw b3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcDt3aWR0aDoz MDBweDsgaGVpZ2h0OjI5cHg7ICIpO3gud2lkdGg9IjMwMHB4Ijt4LmhlaWdodD0i MjlweCJ9ZWxzZXt4LnNldEF0dHJpYnV0ZSgic3R5bGUiLCJib3JkZXI6bm9uZTsg b3ZlcmZsb3c6aGlkZGVuOyB3aWR0aDo5MHB4OyBoZWlnaHQ6MjFweDsgcG9zaXRp b246cmVsYXRpdmU7IHRvcDo3cHg7Iik7eC53aWR0aD0iOTBweCI7eC5oZWlnaHQ9 IjIxcHgifX14LnNyYz0iaHR0cDovL3d3dy5mYWNlYm9vay5jb20vcGx1Z2lucy9s aWtlLnBocD9ocmVmPSIrZW5jb2RlVVJJQ29tcG9uZW50KE4pKyImbGF5b3V0PSIr QSsiJnNob3dfZmFjZXM9ZmFsc2Umd2lkdGg9OTAmYWN0aW9uPWxpa2UmY29sb3Jz Y2hlbWU9bGlnaHQmaGVpZ2h0PTIxIjtyZXR1cm4geH1pZihmPT0icGx1c29uZSIp e3N0QnV0dG9ucy5sb2FkUGx1c29uZT10cnVlO3ZhciB3PWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoImRpdiIpO3cuaW5uZXJIVE1MPSImbmJzcDsiO3ZhciBOPSJodHRw Oi8vd2Quc2hhcmV0aGlzLmNvbS9hcGkvc2hhcmVyLnBocD9kZXN0aW5hdGlvbj1w bHVzb25lJnVybD0iK2VuY29kZVVSSUNvbXBvbmVudChnKTt2YXIgcD0obmF2aWdh dG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIDcuMCIpIT0tMSk7dmFyIEY9ImRp c3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDow cHg7dmVydGljYWwtYWxpZ246Ym90dG9tOyI7dmFyIHU9Im92ZXJmbG93OmhpZGRl bjt6b29tOjE7ZGlzcGxheTppbmxpbmU7dmVydGljYWwtYWxpZ246Ym90dG9tOyI7 dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZzpwbHVzb25lIik7ZC5zZXRB dHRyaWJ1dGUoImhyZWYiLGcpO2lmKG8udHlwZT09InZjb3VudCIpe2Quc2V0QXR0 cmlidXRlKCJzaXplIiwidGFsbCIpO3cuc2V0QXR0cmlidXRlKCJzdHlsZSIsRisi d2lkdGg6NTVweDsgaGVpZ2h0OjYwcHg7Iik7cCYmdy5zdHlsZS5zZXRBdHRyaWJ1 dGU/dy5zdHlsZS5zZXRBdHRyaWJ1dGUoImNzc1RleHQiLHUrIndpZHRoOjU1cHg7 IGhlaWdodDo2MHB4OyIsMCk6bnVsbH1lbHNle2lmKG8udHlwZT09Imhjb3VudCIp e2Quc2V0QXR0cmlidXRlKCJzaXplIiwibWVkaXVtIik7ZC5zZXRBdHRyaWJ1dGUo ImNvdW50IiwidHJ1ZSIpO3cuc2V0QXR0cmlidXRlKCJzdHlsZSIsRisid2lkdGg6 OTBweDsgaGVpZ2h0OjIycHg7Iik7cCYmdy5zdHlsZS5zZXRBdHRyaWJ1dGU/dy5z dHlsZS5zZXRBdHRyaWJ1dGUoImNzc1RleHQiLHUrIndpZHRoOjkwcHg7IGhlaWdo dDoyMnB4OyIsMCk6bnVsbH1lbHNle2lmKG8udHlwZT09ImJ1dHRvbiIpe2Quc2V0 QXR0cmlidXRlKCJzaXplIiwibWVkaXVtIik7ZC5zZXRBdHRyaWJ1dGUoImNvdW50 IiwiZmFsc2UiKTt3LnNldEF0dHJpYnV0ZSgic3R5bGUiLEYrIndpZHRoOjM2cHg7 IGhlaWdodDoyMnB4OyIpO3AmJncuc3R5bGUuc2V0QXR0cmlidXRlP3cuc3R5bGUu c2V0QXR0cmlidXRlKCJjc3NUZXh0Iix1KyJ3aWR0aDozNnB4OyBoZWlnaHQ6MjJw eDsiLDApOm51bGx9ZWxzZXtpZihvLnR5cGU9PSJsYXJnZSIpe2Quc2V0QXR0cmli dXRlKCJzaXplIiwibWVkaXVtIik7ZC5zZXRBdHRyaWJ1dGUoImNvdW50IiwiZmFs c2UiKTt3LnNldEF0dHJpYnV0ZSgic3R5bGUiLEYrIndpZHRoOjM2cHg7IGhlaWdo dDozMnB4OyIpO3AmJncuc3R5bGUuc2V0QXR0cmlidXRlP3cuc3R5bGUuc2V0QXR0 cmlidXRlKCJjc3NUZXh0Iix1KyJ3aWR0aDozNnB4OyBoZWlnaHQ6MzJweDsiLDAp Om51bGx9ZWxzZXtkLnNldEF0dHJpYnV0ZSgic2l6ZSIsInNtYWxsIik7ZC5zZXRB dHRyaWJ1dGUoImNvdW50IiwiZmFsc2UiKTt3LnNldEF0dHJpYnV0ZSgic3R5bGUi LEYrIndpZHRoOjM2cHg7IGhlaWdodDoyMHB4OyIpO3AmJncuc3R5bGUuc2V0QXR0 cmlidXRlP3cuc3R5bGUuc2V0QXR0cmlidXRlKCJjc3NUZXh0Iix1KyJ3aWR0aDoz NnB4OyBoZWlnaHQ6MzJweDsiLDApOm51bGx9fX19dy5hcHBlbmRDaGlsZChkKTtk LnNldEF0dHJpYnV0ZSgiY2FsbGJhY2siLCJwbHVzb25lQ2FsbGJhY2siKTtyZXR1 cm4gd31pZihvLnR5cGU9PSJjaGlja2xldCIpe3ZhciBDPWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoInNwYW4iKTtDLmNsYXNzTmFtZT0iY2hpY2tsZXRzICIrZjtpZih5 PT1udWxsKXtDLmlubmVySFRNTD0iJm5ic3A7In1lbHNle0MuYXBwZW5kQ2hpbGQo ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoeSkpfU8uYXBwZW5kQ2hpbGQoQyk7cmV0 dXJuIE99ZWxzZXtpZihvLnR5cGU9PSJsYXJnZSIpe3ZhciBDPWRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoInNwYW4iKTtDLmNsYXNzTmFtZT0ic3RMYXJnZSI7dmFyIGg9 KCJodHRwczoiPT1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk/Imh0dHBzOi8v d3Muc2hhcmV0aGlzLmNvbS9pbWFnZXMvIjoiaHR0cDovL3cuc2hhcmV0aGlzLmNv bS9pbWFnZXMvIjtDLnN0eWxlLmJhY2tncm91bmRJbWFnZT0idXJsKCciK2grZisi XzMyLnBuZycpIjtPLmFwcGVuZENoaWxkKEMpO3JldHVybiBPfWVsc2V7aWYoby50 eXBlPT0icGNvdW50Inx8by50eXBlPT0ic3RiYXIifHxvLnR5cGU9PSJzdHNtYmFy Iil7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3ZhciBDPWRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtpZihvLnR5cGU9PSJzdHNtYmFy Iil7Qy5jbGFzc05hbWU9InN0U21CYXIiO3ZhciBoPSgiaHR0cHM6Ij09ZG9jdW1l bnQubG9jYXRpb24ucHJvdG9jb2wpPyJodHRwczovL3dzLnNoYXJldGhpcy5jb20v aW1hZ2VzLyI6Imh0dHA6Ly93LnNoYXJldGhpcy5jb20vaW1hZ2VzLyI7Qy5zdHls ZS5iYWNrZ3JvdW5kSW1hZ2U9InVybCgnIitoK2YrIl8xNi5wbmcnKSJ9ZWxzZXtD LmNsYXNzTmFtZT0ic3RMYXJnZSI7dmFyIGg9KCJodHRwczoiPT1kb2N1bWVudC5s b2NhdGlvbi5wcm90b2NvbCk/Imh0dHBzOi8vd3Muc2hhcmV0aGlzLmNvbS9pbWFn ZXMvIjoiaHR0cDovL3cuc2hhcmV0aGlzLmNvbS9pbWFnZXMvIjtDLnN0eWxlLmJh Y2tncm91bmRJbWFnZT0idXJsKCciK2grZisiXzMyLnBuZycpIn10LmFwcGVuZENo aWxkKEMpO3ZhciBtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTt2YXIg TT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihvLnR5cGU9PSJzdHNt YmFyIil7TS5jbGFzc05hbWU9InN0QnViYmxlU21Ib3JpeiJ9ZWxzZXtNLmNsYXNz TmFtZT0ic3RCdWJibGVTbSJ9TS5zZXRBdHRyaWJ1dGUoImlkIiwic3RCdWJibGVf IitvLmNvdW50KTtNLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7dmFyIEk9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7SS5jbGFzc05hbWU9InN0QnViYmxl X2NvdW50X3NtIjtNLmFwcGVuZENoaWxkKEkpO20uYXBwZW5kQ2hpbGQoTSk7bS5h cHBlbmRDaGlsZCh0KTtPLmFwcGVuZENoaWxkKG0pO3N0QnV0dG9ucy5nZXRDb3Vu dChnLGYsSSk7dC5vbm1vdXNlb3Zlcj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKCJzdEJ1YmJsZV8iK28uY291bnQpO2Euc3R5bGUudmlz aWJpbGl0eT0idmlzaWJsZSJ9O3Qub25tb3VzZW91dD1mdW5jdGlvbigpe3ZhciBh PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdEJ1YmJsZV8iK28uY291bnQpO2Eu c3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIn07cmV0dXJuIE99ZWxzZXtpZihvLnR5 cGU9PSJidXR0b24ifHxvLnR5cGU9PSJ2Y291bnQifHxvLnR5cGU9PSJoY291bnQi KXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7dC5jbGFzc05h bWU9InN0QnV0dG9uX2dyYWRpZW50Ijt2YXIgej1kb2N1bWVudC5jcmVhdGVFbGVt ZW50KCJzcGFuIik7ei5jbGFzc05hbWU9ImNoaWNrbGV0cyAiK2Y7aWYoeT09bnVs bCl7ei5pbm5lckhUTUw9IiZuYnNwOyJ9ZWxzZXt6LmFwcGVuZENoaWxkKGRvY3Vt ZW50LmNyZWF0ZVRleHROb2RlKHkpKX10LmFwcGVuZENoaWxkKHopO2lmKGY9PSJ0 d2l0dGVyIil7dmFyIEc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO0cu Y2xhc3NOYW1lPSJzdFR3YnV0dG9uIjtHLmlubmVySFRNTD0iJm5ic3A7Ijt0PUd9 ZWxzZXtpZihmPT0iZmFjZWJvb2siKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVt ZW50KCJzcGFuIik7bi5jbGFzc05hbWU9InN0RmIiO24uaW5uZXJIVE1MPSImbmJz cDsiO3Q9bn19aWYoby50eXBlPT0idmNvdW50Iil7dmFyIG09ZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgiZGl2Iik7dmFyIE09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi ZGl2Iik7TS5jbGFzc05hbWU9InN0QnViYmxlIjt2YXIgST1kb2N1bWVudC5jcmVh dGVFbGVtZW50KCJkaXYiKTtJLmNsYXNzTmFtZT0ic3RCdWJibGVfY291bnQiO00u YXBwZW5kQ2hpbGQoSSk7bS5hcHBlbmRDaGlsZChNKTttLmFwcGVuZENoaWxkKHQp O08uYXBwZW5kQ2hpbGQobSk7c3RCdXR0b25zLmdldENvdW50KGcsZixJKX1lbHNl e2lmKG8udHlwZT09Imhjb3VudCIpe3ZhciBtPWRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoInNwYW4iKTt2YXIgRT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7 RS5jbGFzc05hbWU9InN0QnV0dG9uX2dyYWRpZW50IHN0SEJ1YmJsZSI7dmFyIGw9 ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2wuY2xhc3NOYW1lPSJzdEJ1 dHRvbl9sZWZ0IjtsLmlubmVySFRNTD0iJm5ic3A7Ijt2YXIgcT1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCJzcGFuIik7cS5jbGFzc05hbWU9InN0QnV0dG9uX3JpZ2h0 IjtxLmlubmVySFRNTD0iJm5ic3A7Ijt2YXIgST1kb2N1bWVudC5jcmVhdGVFbGVt ZW50KCJzcGFuIik7SS5jbGFzc05hbWU9InN0QnViYmxlX2hjb3VudCI7RS5hcHBl bmRDaGlsZChJKTttLmFwcGVuZENoaWxkKHQpO3ZhciB2PWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoInNwYW4iKTt2LmNsYXNzTmFtZT0ic3RBcnJvdyI7di5hcHBlbmRD aGlsZChFKTttLmFwcGVuZENoaWxkKHYpO08uYXBwZW5kQ2hpbGQobSk7c3RCdXR0 b25zLmdldENvdW50KGcsZixJKX1lbHNle08uYXBwZW5kQ2hpbGQodCl9fX1lbHNl e2lmKG8udHlwZT09ImNzcyIpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo ImRpdiIpO3QuY2xhc3NOYW1lPSJzdENTU0J1dHRvbiI7aWYoby5jc3NUeXBlPT0i Y3NzViIpe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xh c3NOYW1lPSJzdENTU1ZCdWJibGUiO3ZhciBEPWRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoImRpdiIpO0QuY2xhc3NOYW1lPSJzdENTU1ZCdWJibGVfY291bnQiO3MuYXBw ZW5kQ2hpbGQoRCk7dmFyIGo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7 ai5jbGFzc05hbWU9InN0Q1NTVkFycm93Ijt2YXIgSD1kb2N1bWVudC5jcmVhdGVF bGVtZW50KCJkaXYiKTtILmNsYXNzTmFtZT0ic3RDU1NWQXJyb3dCb3JkZXIiO0gu YXBwZW5kQ2hpbGQoaik7Ty5hcHBlbmRDaGlsZChzKTtPLmFwcGVuZENoaWxkKEgp O3N0QnV0dG9ucy5nZXRDb3VudChnLGYsRCl9dmFyIGM9ZG9jdW1lbnQuY3JlYXRl RWxlbWVudCgiZGl2Iik7Yy5jbGFzc05hbWU9InN0Q1NTU3ByaXRlICIrZjtjLmlu bmVySFRNTD0iJm5ic3A7Ijt2YXIgQz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz cGFuIik7Qy5jbGFzc05hbWU9InN0Q1NTVGV4dCI7aWYoeT09bnVsbCl7Qy5pbm5l ckhUTUw9IiZuYnNwOyJ9ZWxzZXtDLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0 ZVRleHROb2RlKHkpKX10LmFwcGVuZENoaWxkKGMpO3QuYXBwZW5kQ2hpbGQoQyk7 Ty5hcHBlbmRDaGlsZCh0KTtpZihvLmNzc1R5cGU9PSJjc3NIIil7dmFyIHI9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc05hbWU9InN0Q1NTSEJ1 YmJsZSI7dmFyIEQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7RC5jbGFz c05hbWU9InN0Q1NTSEJ1YmJsZV9jb3VudCI7ci5hcHBlbmRDaGlsZChEKTt2YXIg TD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtMLmNsYXNzTmFtZT0ic3RD U1NIQXJyb3ciO3ZhciBrPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2su Y2xhc3NOYW1lPSJzdENTU0hBcnJvd0JvcmRlciI7ay5hcHBlbmRDaGlsZChMKTtP LmFwcGVuZENoaWxkKGspO08uYXBwZW5kQ2hpbGQocik7c3RCdXR0b25zLmdldENv dW50KGcsZixEKX19fX19fXJldHVybiBPfTtzdEJ1dHRvbnMuZ2V0Q291bnQ9ZnVu Y3Rpb24oYyxhLGQpe3ZhciBiPWZhbHNlO2lmKGQmJmQhPT1udWxsKXt3aGlsZShk LmNoaWxkTm9kZXMubGVuZ3RoPj0xKXt0cnl7ZC5yZW1vdmVDaGlsZChkLmZpcnN0 Q2hpbGQpfWNhdGNoKGUpe319fXN0QnV0dG9ucy5jYlF1ZXVlLnB1c2goe3VybDpj LHNlcnZpY2U6YSxlbGVtZW50OmR9KTtzdEJ1dHRvbnMuZ2V0Q291bnRzRnJvbVNl cnZpY2UoYyxhLGQpfTtzdEJ1dHRvbnMucHJvY2Vzc0NCPWZ1bmN0aW9uKGIpe3Zh ciBhPWZhbHNlO2Zvcih2YXIgYz0wO2M8c3RCdXR0b25zLmNiUXVldWUubGVuZ3Ro O2MrKyl7dmFyIGU9c3RCdXR0b25zLmNiUXVldWVbY107aWYoYi5vdXJsPT1lLnVy bCl7dmFyIGY9IiI7dHJ5e2lmKGUuc2VydmljZT09InNoYXJldGhpcyIpe2lmKHN0 V2lkZ2V0Lm9wdGlvbnMubmV3T3JaZXJvPT0iemVybyIpe2Y9KGIudG90YWw+MCk/ c3RCdXR0b25zLmh1bWFuKGIudG90YWwpOiIwIn1lbHNle2Y9KGIudG90YWw+MCk/ c3RCdXR0b25zLmh1bWFuKGIudG90YWwpOiJOZXcifX1lbHNle2lmKGUuc2Vydmlj ZT09ImZhY2Vib29rIiYmdHlwZW9mKGIuZmFjZWJvb2syKSE9InVuZGVmaW5lZCIp e2Y9c3RCdXR0b25zLmh1bWFuKGIuZmFjZWJvb2syKX1lbHNle2lmKHR5cGVvZihi W2Uuc2VydmljZV0pIT0idW5kZWZpbmVkIil7Zj0oYltlLnNlcnZpY2VdPjApP3N0 QnV0dG9ucy5odW1hbihiW2Uuc2VydmljZV0pOiIwIn1lbHNle2Y9IjAifX19ZS5l bGVtZW50LmlubmVySFRNTD1mfWNhdGNoKGQpe31hPXRydWV9fX07c3RCdXR0b25z Lmh1bWFuPWZ1bmN0aW9uKGEpe2lmKGE+PTEwMDAwKXthPWEvMTAwO2E9TWF0aC5y b3VuZChhKTthPWEvMTA7YT1hKyJLIn1yZXR1cm4gYX07c3RCdXR0b25zLmxvY2F0 ZUVsZW1lbnRzPWZ1bmN0aW9uKGMpe3ZhciBEPWRvY3VtZW50LmdldEVsZW1lbnRz QnlUYWdOYW1lKCIqIik7dmFyIEM9W107dmFyIEY9bmV3IFJlZ0V4cCgvc3RfKC4q PylfY3VzdG9tLyk7dmFyIEU9bmV3IFJlZ0V4cCgvc3RfKC4qPylfdmNvdW50Lyk7 dmFyIEE9bmV3IFJlZ0V4cCgvc3RfKC4qPylfaGNvdW50Lyk7dmFyIHY9bmV3IFJl Z0V4cCgvc3RfKC4qPylfYnV0dG9uLyk7dmFyIHU9bmV3IFJlZ0V4cCgvc3RfKC4q PylfbGFyZ2UvKTt2YXIgcz1uZXcgUmVnRXhwKC9zdF8oLio/KV9wY291bnQvKTt2 YXIgcD1uZXcgUmVnRXhwKC9zdF8oLio/KV9zdGJhci8pO3ZhciBuPW5ldyBSZWdF eHAoL3N0XyguKj8pX3N0c21iYXIvKTt2YXIgbT1uZXcgUmVnRXhwKC9zdF8oLio/ KV9jc3MvKTt2YXIgYT1uZXcgUmVnRXhwKC9ec3RfKC4qPykkLyk7dmFyIHQ9RC5s ZW5ndGg7dmFyIG89MCxnLGwsdyxiPVtdLEc9ZmFsc2U7aWYodHlwZW9mKHN0UmVj ZW50U2VydmljZXMpIT0idW5kZWZpbmVkIiYmc3RSZWNlbnRTZXJ2aWNlcyE9InVu ZGVmaW5lZCImJnN0UmVjZW50U2VydmljZXMhPSJmYWxzZSImJnN0UmVjZW50U2Vy dmljZXMpe0c9dHJ1ZX1mb3IodmFyIHI9MDtyPHQ7cisrKXtnPSIiO2w9ZmFsc2U7 dz1mYWxzZTtpZih0eXBlb2YoRFtyXS5jbGFzc05hbWUpPT0ic3RyaW5nIiYmRFty XS5jbGFzc05hbWUhPSIiKXtpZihEW3JdLmNsYXNzTmFtZS5tYXRjaChGKSYmRFty XS5jbGFzc05hbWUubWF0Y2goRikubGVuZ3RoPj0yJiZEW3JdLmNsYXNzTmFtZS5t YXRjaChGKVsxXSl7aWYoc3RCdXR0b25zLnRlc3RFbGVtKERbcl0pPT1mYWxzZSl7 dz10cnVlO2c9RFtyXS5jbGFzc05hbWUubWF0Y2goRilbMV07c3RCdXR0b25zLmVs ZW1BcnIucHVzaChEW3JdKTtDLnB1c2goe3NlcnZpY2U6ZyxlbGVtZW50OkRbcl0s dXJsOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF91cmwiKSx0aXRsZTpEW3JdLmdldEF0 dHJpYnV0ZSgic3RfdGl0bGUiKSxpbWFnZTooRFtyXS5nZXRBdHRyaWJ1dGUoInN0 X2ltZyIpIT1udWxsKT9EW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1nIik6RFtyXS5n ZXRBdHRyaWJ1dGUoInN0X2ltYWdlIiksc3VtbWFyeTpEW3JdLmdldEF0dHJpYnV0 ZSgic3Rfc3VtbWFyeSIpLHRleHQ6RFtyXS5nZXRBdHRyaWJ1dGUoImRpc3BsYXlU ZXh0IiksdHlwZToiY3VzdG9tIn0pfX1lbHNle2lmKERbcl0uY2xhc3NOYW1lLm1h dGNoKEUpJiZEW3JdLmNsYXNzTmFtZS5tYXRjaChFKS5sZW5ndGg+PTImJkRbcl0u Y2xhc3NOYW1lLm1hdGNoKEUpWzFdKXtpZihzdEJ1dHRvbnMudGVzdEVsZW0oRFty XSk9PWZhbHNlKXt3PXRydWU7Zz1EW3JdLmNsYXNzTmFtZS5tYXRjaChFKVsxXTtz dEJ1dHRvbnMuZWxlbUFyci5wdXNoKERbcl0pO0MucHVzaCh7c2VydmljZTpnLGVs ZW1lbnQ6RFtyXSx1cmw6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3VybCIpLHRpdGxl OkRbcl0uZ2V0QXR0cmlidXRlKCJzdF90aXRsZSIpLGltYWdlOihEW3JdLmdldEF0 dHJpYnV0ZSgic3RfaW1nIikhPW51bGwpP0Rbcl0uZ2V0QXR0cmlidXRlKCJzdF9p bWciKTpEW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1hZ2UiKSxzdW1tYXJ5OkRbcl0u Z2V0QXR0cmlidXRlKCJzdF9zdW1tYXJ5IiksdGV4dDpEW3JdLmdldEF0dHJpYnV0 ZSgiZGlzcGxheVRleHQiKSx0eXBlOiJ2Y291bnQifSl9fWVsc2V7aWYoRFtyXS5j bGFzc05hbWUubWF0Y2goQSkmJkRbcl0uY2xhc3NOYW1lLm1hdGNoKEEpLmxlbmd0 aD49MiYmRFtyXS5jbGFzc05hbWUubWF0Y2goQSlbMV0pe2lmKHN0QnV0dG9ucy50 ZXN0RWxlbShEW3JdKT09ZmFsc2Upe3c9dHJ1ZTtnPURbcl0uY2xhc3NOYW1lLm1h dGNoKEEpWzFdO3N0QnV0dG9ucy5lbGVtQXJyLnB1c2goRFtyXSk7Qy5wdXNoKHtz ZXJ2aWNlOmcsZWxlbWVudDpEW3JdLHVybDpEW3JdLmdldEF0dHJpYnV0ZSgic3Rf dXJsIiksdGl0bGU6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3RpdGxlIiksaW1hZ2U6 KERbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWciKSE9bnVsbCk/RFtyXS5nZXRBdHRy aWJ1dGUoInN0X2ltZyIpOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWFnZSIpLHN1 bW1hcnk6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3N1bW1hcnkiKSx0ZXh0OkRbcl0u Z2V0QXR0cmlidXRlKCJkaXNwbGF5VGV4dCIpLHR5cGU6Imhjb3VudCJ9KX19ZWxz ZXtpZihEW3JdLmNsYXNzTmFtZS5tYXRjaCh2KSYmRFtyXS5jbGFzc05hbWUubWF0 Y2godikubGVuZ3RoPj0yJiZEW3JdLmNsYXNzTmFtZS5tYXRjaCh2KVsxXSl7aWYo c3RCdXR0b25zLnRlc3RFbGVtKERbcl0pPT1mYWxzZSl7dz10cnVlO2c9RFtyXS5j bGFzc05hbWUubWF0Y2godilbMV07c3RCdXR0b25zLmVsZW1BcnIucHVzaChEW3Jd KTtDLnB1c2goe3NlcnZpY2U6ZyxlbGVtZW50OkRbcl0sdXJsOkRbcl0uZ2V0QXR0 cmlidXRlKCJzdF91cmwiKSx0aXRsZTpEW3JdLmdldEF0dHJpYnV0ZSgic3RfdGl0 bGUiKSxpbWFnZTooRFtyXS5nZXRBdHRyaWJ1dGUoInN0X2ltZyIpIT1udWxsKT9E W3JdLmdldEF0dHJpYnV0ZSgic3RfaW1nIik6RFtyXS5nZXRBdHRyaWJ1dGUoInN0 X2ltYWdlIiksc3VtbWFyeTpEW3JdLmdldEF0dHJpYnV0ZSgic3Rfc3VtbWFyeSIp LHRleHQ6RFtyXS5nZXRBdHRyaWJ1dGUoImRpc3BsYXlUZXh0IiksdHlwZToiYnV0 dG9uIn0pfX1lbHNle2lmKERbcl0uY2xhc3NOYW1lLm1hdGNoKHUpJiZEW3JdLmNs YXNzTmFtZS5tYXRjaCh1KS5sZW5ndGg+PTImJkRbcl0uY2xhc3NOYW1lLm1hdGNo KHUpWzFdKXtpZihzdEJ1dHRvbnMudGVzdEVsZW0oRFtyXSk9PWZhbHNlKXt3PXRy dWU7Zz1EW3JdLmNsYXNzTmFtZS5tYXRjaCh1KVsxXTtzdEJ1dHRvbnMuZWxlbUFy ci5wdXNoKERbcl0pO0MucHVzaCh7c2VydmljZTpnLGVsZW1lbnQ6RFtyXSx1cmw6 RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3VybCIpLHRpdGxlOkRbcl0uZ2V0QXR0cmli dXRlKCJzdF90aXRsZSIpLGltYWdlOihEW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1n IikhPW51bGwpP0Rbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWciKTpEW3JdLmdldEF0 dHJpYnV0ZSgic3RfaW1hZ2UiKSxzdW1tYXJ5OkRbcl0uZ2V0QXR0cmlidXRlKCJz dF9zdW1tYXJ5IiksdGV4dDpEW3JdLmdldEF0dHJpYnV0ZSgiZGlzcGxheVRleHQi KSx0eXBlOiJsYXJnZSJ9KX19ZWxzZXtpZihEW3JdLmNsYXNzTmFtZS5tYXRjaChz KSYmRFtyXS5jbGFzc05hbWUubWF0Y2gocykubGVuZ3RoPj0yJiZEW3JdLmNsYXNz TmFtZS5tYXRjaChzKVsxXSl7aWYoc3RCdXR0b25zLnRlc3RFbGVtKERbcl0pPT1m YWxzZSl7dz10cnVlO2c9RFtyXS5jbGFzc05hbWUubWF0Y2gocylbMV07c3RCdXR0 b25zLmVsZW1BcnIucHVzaChEW3JdKTtDLnB1c2goe3NlcnZpY2U6ZyxlbGVtZW50 OkRbcl0sdXJsOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF91cmwiKSx0aXRsZTpEW3Jd LmdldEF0dHJpYnV0ZSgic3RfdGl0bGUiKSxpbWFnZTooRFtyXS5nZXRBdHRyaWJ1 dGUoInN0X2ltZyIpIT1udWxsKT9EW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1nIik6 RFtyXS5nZXRBdHRyaWJ1dGUoInN0X2ltYWdlIiksc3VtbWFyeTpEW3JdLmdldEF0 dHJpYnV0ZSgic3Rfc3VtbWFyeSIpLHRleHQ6RFtyXS5nZXRBdHRyaWJ1dGUoImRp c3BsYXlUZXh0IiksdHlwZToicGNvdW50Iixjb3VudDpyfSl9fWVsc2V7aWYoRFty XS5jbGFzc05hbWUubWF0Y2gocCkmJkRbcl0uY2xhc3NOYW1lLm1hdGNoKHApLmxl bmd0aD49MiYmRFtyXS5jbGFzc05hbWUubWF0Y2gocClbMV0pe2lmKHN0QnV0dG9u cy50ZXN0RWxlbShEW3JdKT09ZmFsc2Upe3c9dHJ1ZTtnPURbcl0uY2xhc3NOYW1l Lm1hdGNoKHApWzFdO3N0QnV0dG9ucy5lbGVtQXJyLnB1c2goRFtyXSk7Qy5wdXNo KHtzZXJ2aWNlOmcsZWxlbWVudDpEW3JdLHVybDpEW3JdLmdldEF0dHJpYnV0ZSgi c3RfdXJsIiksdGl0bGU6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3RpdGxlIiksaW1h Z2U6KERbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWciKSE9bnVsbCk/RFtyXS5nZXRB dHRyaWJ1dGUoInN0X2ltZyIpOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWFnZSIp LHN1bW1hcnk6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3N1bW1hcnkiKSx0ZXh0OkRb cl0uZ2V0QXR0cmlidXRlKCJkaXNwbGF5VGV4dCIpLHR5cGU6InN0YmFyIixjb3Vu dDpyfSl9fWVsc2V7aWYoRFtyXS5jbGFzc05hbWUubWF0Y2gobikmJkRbcl0uY2xh c3NOYW1lLm1hdGNoKG4pLmxlbmd0aD49MiYmRFtyXS5jbGFzc05hbWUubWF0Y2go bilbMV0pe2lmKHN0QnV0dG9ucy50ZXN0RWxlbShEW3JdKT09ZmFsc2Upe3c9dHJ1 ZTtnPURbcl0uY2xhc3NOYW1lLm1hdGNoKG4pWzFdO3N0QnV0dG9ucy5lbGVtQXJy LnB1c2goRFtyXSk7Qy5wdXNoKHtzZXJ2aWNlOmcsZWxlbWVudDpEW3JdLHVybDpE W3JdLmdldEF0dHJpYnV0ZSgic3RfdXJsIiksdGl0bGU6RFtyXS5nZXRBdHRyaWJ1 dGUoInN0X3RpdGxlIiksaW1hZ2U6KERbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWci KSE9bnVsbCk/RFtyXS5nZXRBdHRyaWJ1dGUoInN0X2ltZyIpOkRbcl0uZ2V0QXR0 cmlidXRlKCJzdF9pbWFnZSIpLHN1bW1hcnk6RFtyXS5nZXRBdHRyaWJ1dGUoInN0 X3N1bW1hcnkiKSx0ZXh0OkRbcl0uZ2V0QXR0cmlidXRlKCJkaXNwbGF5VGV4dCIp LHR5cGU6InN0c21iYXIiLGNvdW50OnJ9KX19ZWxzZXtpZihEW3JdLmNsYXNzTmFt ZS5tYXRjaChtKSYmRFtyXS5jbGFzc05hbWUubWF0Y2gobSkubGVuZ3RoPj0yJiZE W3JdLmNsYXNzTmFtZS5tYXRjaChtKVsxXSl7aWYoc3RCdXR0b25zLnRlc3RFbGVt KERbcl0pPT1mYWxzZSl7dz10cnVlO2c9RFtyXS5jbGFzc05hbWUubWF0Y2gobSlb MV07c3RCdXR0b25zLmVsZW1BcnIucHVzaChEW3JdKTt2YXIgQj1EW3JdLmNsYXNz TmFtZS5zcGxpdCgiXyIpO0MucHVzaCh7c2VydmljZTpnLGVsZW1lbnQ6RFtyXSx1 cmw6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3VybCIpLHRpdGxlOkRbcl0uZ2V0QXR0 cmlidXRlKCJzdF90aXRsZSIpLGltYWdlOihEW3JdLmdldEF0dHJpYnV0ZSgic3Rf aW1nIikhPW51bGwpP0Rbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWciKTpEW3JdLmdl dEF0dHJpYnV0ZSgic3RfaW1hZ2UiKSxzdW1tYXJ5OkRbcl0uZ2V0QXR0cmlidXRl KCJzdF9zdW1tYXJ5IiksdGV4dDpEW3JdLmdldEF0dHJpYnV0ZSgiZGlzcGxheVRl eHQiKSx0eXBlOiJjc3MiLGNzc1R5cGU6QltCLmxlbmd0aC0xXX0pfX1lbHNle2lm KERbcl0uY2xhc3NOYW1lLm1hdGNoKGEpJiZEW3JdLmNsYXNzTmFtZS5tYXRjaChh KS5sZW5ndGg+PTImJkRbcl0uY2xhc3NOYW1lLm1hdGNoKGEpWzFdKXtpZihzdEJ1 dHRvbnMudGVzdEVsZW0oRFtyXSk9PWZhbHNlKXt3PXRydWU7Zz1EW3JdLmNsYXNz TmFtZS5tYXRjaChhKVsxXTtzdEJ1dHRvbnMuZWxlbUFyci5wdXNoKERbcl0pO0Mu cHVzaCh7c2VydmljZTpnLGVsZW1lbnQ6RFtyXSx1cmw6RFtyXS5nZXRBdHRyaWJ1 dGUoInN0X3VybCIpLHRpdGxlOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF90aXRsZSIp LGltYWdlOihEW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1nIikhPW51bGwpP0Rbcl0u Z2V0QXR0cmlidXRlKCJzdF9pbWciKTpEW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1h Z2UiKSxzdW1tYXJ5OkRbcl0uZ2V0QXR0cmlidXRlKCJzdF9zdW1tYXJ5IiksdGV4 dDpEW3JdLmdldEF0dHJpYnV0ZSgiZGlzcGxheVRleHQiKSx0eXBlOiJjaGlja2xl dCJ9KX19fX19fX19fX19aWYoRyl7aWYodyl7c3RCdXR0b25zLmVsZW1BcnIucHVz aChEW3JdKTtmb3Iobz0wO288Yi5sZW5ndGg7bysrKXtpZihiW29dLnNlcnZpY2U9 PWcpe2Jbb10uY291bnQrKztsPXRydWV9fWlmKCFsKXtiLnB1c2goe3NlcnZpY2U6 Zyxjb3VudDoxLGRvTm90UmVwbGFjZTpmYWxzZSxwcm9jZXNzZWQ6ZmFsc2V9KX19 fX19aWYoRyl7dmFyIGo9W107Zm9yKHZhciBmPWIubGVuZ3RoLTE7Zj49MDtmLS0p e2lmKGJbZl0uc2VydmljZT09InNoYXJldGhpcyJ8fGJbZl0uZG9Ob3RSZXBsYWNl KXtiW2ZdLnByb2Nlc3NlZD10cnVlO2NvbnRpbnVlfWVsc2V7Zm9yKHZhciBlIGlu IHN0UmVjZW50U2VydmljZXMpe3ZhciBoPWZhbHNlO2lmKCFzdFJlY2VudFNlcnZp Y2VzW2VdLnByb2Nlc3NlZCl7Zm9yKHZhciBxPTA7cTxiLmxlbmd0aDtxKyspe2lm KGU9PWJbcV0uc2VydmljZSYmIWJbcV0ucHJvY2Vzc2VkKXtoPXRydWU7YltxXS5k b05vdFJlcGxhY2U9dHJ1ZTtzdFJlY2VudFNlcnZpY2VzW2VdLnByb2Nlc3NlZD10 cnVlO2JyZWFrfX1pZihoKXtiW2ZdLnByb2Nlc3NlZD10cnVlfWVsc2V7ai5wdXNo KHtvbGRTZXJ2aWNlOmJbZl0uc2VydmljZSxuZXdTZXJ2aWNlOmV9KTtmb3IodmFy IGQ9MDtkPEMubGVuZ3RoO2QrKyl7aWYoQ1tkXS5zZXJ2aWNlPT1iW2ZdLnNlcnZp Y2Upe0NbZF0uc2VydmljZT1lO0NbZF0udGV4dD1zdFJlY2VudFNlcnZpY2VzW2Vd LnRpdGxlO0NbZF0uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRpc3BsYXlUZXh0Iixz dFJlY2VudFNlcnZpY2VzW2VdLnRpdGxlKTtDW2RdLmVsZW1lbnQuY2xhc3NOYW1l PUNbZF0uZWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShiW2ZdLnNlcnZpY2UsZSl9 fXN0UmVjZW50U2VydmljZXNbZV0ucHJvY2Vzc2VkPXRydWU7YltmXS5wcm9jZXNz ZWQ9dHJ1ZTticmVha319fX19fWZvcih2YXIgcj0wO3I8Qy5sZW5ndGg7cisrKXtz dFdpZGdldC5hZGRFbnRyeShDW3JdKX19O3N0QnV0dG9ucy5vZGNzcz1mdW5jdGlv bihhLGIpe3RoaXMuaGVhZD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi aGVhZCIpWzBdO3RoaXMuc2NyaXB0U3JjPWE7dGhpcy5jc3M9ZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgibGluayIpO3RoaXMuY3NzLnNldEF0dHJpYnV0ZSgicmVsIiwi c3R5bGVzaGVldCIpO3RoaXMuY3NzLnNldEF0dHJpYnV0ZSgidHlwZSIsInRleHQv Y3NzIik7dGhpcy5jc3Muc2V0QXR0cmlidXRlKCJocmVmIix0aGlzLnNjcmlwdFNy Yyk7c2V0VGltZW91dChmdW5jdGlvbigpe2IoKX0sNTAwKTt0aGlzLmhlYWQuYXBw ZW5kQ2hpbGQodGhpcy5jc3MpfTtzdEJ1dHRvbnMubWFrZUJ1dHRvbnM9ZnVuY3Rp b24oKXt2YXIgYT0oKCJodHRwczoiPT1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2Nv bCk/Imh0dHBzOi8vd3Muc2hhcmV0aGlzLmNvbS9idXR0b24vY3NzL2J1dHRvbnMt c2VjdXJlLmNzcyI6Imh0dHA6Ly93LnNoYXJldGhpcy5jb20vYnV0dG9uL2Nzcy9i dXR0b25zLmNzcyIpO3N0QnV0dG9ucy5vZGNzcyhhLGZ1bmN0aW9uKCl7fSk7c3RC dXR0b25zLmxvY2F0ZUVsZW1lbnRzKCk7aWYoc3RCdXR0b25zLmxvYWRQbHVzb25l KXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtiLnNldEF0 dHJpYnV0ZSgidHlwZSIsInRleHQvamF2YXNjcmlwdCIpO2Iuc2V0QXR0cmlidXRl KCJzcmMiLCJodHRwczovL2FwaXMuZ29vZ2xlLmNvbS9qcy9wbHVzb25lLmpzIik7 Yi5pbm5lckhUTUw9J3sicGFyc2V0YWdzIjogImV4cGxpY2l0In0nO2RvY3VtZW50 LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoYik7 c2V0VGltZW91dChmdW5jdGlvbigpe2dhcGkucGx1c29uZS5nbygpfSwzMDApfX07 c3RCdXR0b25zLmFkZENvdW50PWZ1bmN0aW9uKGEpe3N0QnV0dG9ucy5jb3VudHMu cHVzaChhKX07c3RCdXR0b25zLmdldENvdW50c0Zyb21TZXJ2aWNlPWZ1bmN0aW9u KGMsYixkKXtpZihzdEJ1dHRvbnMuY2hlY2tRdWV1ZShjKT09ZmFsc2Upe3ZhciBh PWErIi0iK3N0QnV0dG9ucy5jYlZhbDthPSJzdEJ1dHRvbnMucHJvY2Vzc0NCIjtz dEJ1dHRvbnMuY2JWYWwrKzt2YXIgZT0oKCJodHRwczoiPT1kb2N1bWVudC5sb2Nh dGlvbi5wcm90b2NvbCk/Imh0dHBzOi8vd3Muc2hhcmV0aGlzLmNvbS9hcGkvZ2V0 Q291bnQyLnBocD9jYj0iK2ErIiZ1cmw9IjoiaHR0cDovL3dkLnNoYXJldGhpcy5j b20vYXBpL2dldENvdW50Mi5waHA/Y2I9IithKyImdXJsPSIpO3N0TGlnaHQub2Rq cyhlK2VuY29kZVVSSUNvbXBvbmVudChjKSxmdW5jdGlvbigpe30pO3N0QnV0dG9u cy5xdWV1ZS5wdXNoKGMpfX07c3RCdXR0b25zLmNoZWNrUXVldWU9ZnVuY3Rpb24o YSl7Zm9yKHZhciBiPTA7YjxzdEJ1dHRvbnMucXVldWUubGVuZ3RoO2IrKyl7aWYo c3RCdXR0b25zLnF1ZXVlW2JdPT1hKXtyZXR1cm4gdHJ1ZX19cmV0dXJuIGZhbHNl fTtzdEJ1dHRvbnMuZWxlbUFycj1bXTtzdEJ1dHRvbnMudGVzdEVsZW09ZnVuY3Rp b24oYyl7dmFyIGE9ZmFsc2U7Zm9yKHZhciBiPTA7YjxzdEJ1dHRvbnMuZWxlbUFy ci5sZW5ndGg7YisrKXtpZihjPT1zdEJ1dHRvbnMuZWxlbUFycltiXSl7YT10cnVl fX1pZihhPT10cnVlKXtyZXR1cm4gdHJ1ZX1lbHNle3JldHVybiBmYWxzZX19O2Z1 bmN0aW9uIFNoYXJlYWJsZShjKXt2YXIgYT17fTthLmZhY2Vib29rPSI0NTAiO2Eu dHdpdHRlcj0iNjg0IjthLnlhaG9vPSI1MDAiO2EuZ2J1eno9IjU1MCI7YS5saW5r ZWRpbj0iNjAwIjt2YXIgYj17fTtiLmZhY2Vib29rPSIzMDAiO2IudHdpdHRlcj0i NzE4IjtiLnlhaG9vPSI0NjAiO2IuZ2J1eno9IjQwMCI7Yi5saW5rZWRpbj0iNDMz Ijt0aGlzLmlkeD0tMTt0aGlzLnVybD1udWxsO3RoaXMudGl0bGU9bnVsbDt0aGlz LmltYWdlPW51bGw7dGhpcy5lbGVtZW50PW51bGw7dGhpcy5zZXJ2aWNlPW51bGw7 dGhpcy5zY3JlZW49ImhvbWUiO3RoaXMuc3VtbWFyeT1udWxsO3RoaXMuY29udGVu dD1udWxsO3RoaXMuYnV0dG9uVGV4dD1udWxsO3RoaXMuZnJhZz1udWxsO3RoaXMu b25ob3Zlcj10cnVlO3RoaXMudHlwZT1udWxsO3ZhciBkPXRoaXM7dmFyIGU9ZmFs c2U7dGhpcy5hdHRhY2hCdXR0b249ZnVuY3Rpb24oZil7dGhpcy5lbGVtZW50PWY7 aWYoKHRoaXMub25ob3Zlcj09dHJ1ZXx8dGhpcy5vbmhvdmVyPT0idHJ1ZSIpJiYo dGhpcy5wb3B1cD09ZmFsc2V8fHRoaXMucG9wdXA9PSJmYWxzZSIpJiYoKCFzd2l0 Y2hUbzV4KXx8KHN3aXRjaFRvNXgmJihjLnNlcnZpY2U9PSJzaGFyZXRoaXMifHxj LnNlcnZpY2U9PSJlbWFpbCIpKSkpe2Yub25tb3VzZW92ZXI9dGhpcy5tb3VzZU9u O2Yub25tb3VzZW91dD10aGlzLm1vdXNlT3V0fWYub25jbGljaz1mdW5jdGlvbigp e2lmKHN3aXRjaFRvNXgpe2lmKGMmJihjLnNlcnZpY2U9PSJ5YWhvbyJ8fGMuc2Vy dmljZT09ImJ1enoifHxjLnNlcnZpY2U9PSJmYWNlYm9vayJ8fGMuc2VydmljZT09 InR3aXR0ZXIifHxjLnNlcnZpY2U9PSJnYnV6eiJ8fGMuc2VydmljZT09Imxpbmtl ZGluIikpe2lmKGMuc2VydmljZT09ImJ1enoifHxjLnNlcnZpY2U9PSJnYnV6eiIp e29BdXRoVVJMPSJodHRwOi8vcmVzdC5zaGFyZXRoaXMuY29tL2F1dGgvZ2V0T0F1 dGgucGhwP3Byb3ZpZGVyPWJ1enombGlua2luZz10cnVlJnB1Yl9rZXk9MTJiZTRk ZGEtZjgzOC00MGUwLWI3NDgtZjc4MzU3YTYzY2M4JmFjY2Vzc19rZXk9OTZiYTZi NDc2MTUxZDA3ZTY3NTEyNWE3Y2M4ZWMwZWEmcmVkaXJlY3RfdXJsPWh0dHA6Ly9z aGFyZXRoaXMuY29tIn1lbHNle29BdXRoVVJMPSJodHRwOi8vc2hhcmV0aGlzLmNv bS9hY2NvdW50L2xpbmtpbmc/cHJvdmlkZXI9IitjLnNlcnZpY2V9d2luZG93Lm9w ZW4ob0F1dGhVUkwsIkFjY291bnRMaW5raW5nV2luZG93Iiwic3RhdHVzPTEsIGhl aWdodD0iK2JbYy5zZXJ2aWNlXSsiLCB3aWR0aD0iK2FbYy5zZXJ2aWNlXSsiLCBy ZXNpemFibGU9MCIpfX1kLnBvcHVwKCl9fTt0aGlzLmluaXQ9ZnVuY3Rpb24oKXtz dFdpZGdldC5tZXJnZSh0aGlzLGMpO3N0V2lkZ2V0LnNoYXJlYWJsZXMucHVzaCh0 aGlzKTtpZihjLmVsZW1lbnQhPT1udWxsKXt0aGlzLmF0dGFjaEJ1dHRvbihjLmVs ZW1lbnQpfX07cmV0dXJuIHRoaXN9dmFyIHN0V2lkZ2V0PW5ldyBmdW5jdGlvbigp e3RoaXMuc2hhcmVhYmxlcz1bXTt0aGlzLmVudHJpZXM9MDt0aGlzLndpZGdldE9w ZW49ZmFsc2U7dGhpcy5tb3VzZU9uVGltZXI9bnVsbDt0aGlzLm1vdXNlT3V0VGlt ZXI9bnVsbDt0aGlzLmZyYW1lUmVhZHk9ZmFsc2U7aWYoc3dpdGNoVG81eCl7dGhp cy5mcmFtZVVybD0oKCJodHRwczoiPT1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2Nv bCk/Imh0dHBzOi8vd3Muc2hhcmV0aGlzLmNvbS9zZWN1cmU1eC9pbmRleC5odG1s IjoiaHR0cDovL2VkZ2Uuc2hhcmV0aGlzLmNvbS9zaGFyZTV4L2luZGV4LmE0OWU1 NTJhOTE2ZDVlMGRlZmQzNTEzNjIzNmQwZjc0Lmh0bWwiKX1lbHNle3RoaXMuZnJh bWVVcmw9KCgiaHR0cHM6Ij09ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wpPyJo dHRwczovL3dzLnNoYXJldGhpcy5jb20vc2VjdXJlL2luZGV4Lmh0bWwiOiJodHRw Oi8vZWRnZS5zaGFyZXRoaXMuY29tL3NoYXJlNHgvaW5kZXguNTQ2MzJkMzQ1Yzkz MTgwYTQ4ZTU5YjUxODNjOTliYWYuaHRtbCIpfXRoaXMuc2VjdXJlPWZhbHNlO3Ry eXt0aGlzLm1haW5zdGZyYW1lPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJzxpZnJh bWUgbmFtZT0ic3RMZnJhbWUiIGFsbG93VHJhbnNwYXJlbmN5PSJ0cnVlIiBzdHls ZT0iYm9keXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O30iID48L2lmcmFtZT4nKTt0 aGlzLm1haW5zdGZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lm KHN0V2lkZ2V0Lm1haW5zdGZyYW1lLnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKXtz dFdpZGdldC5mcmFtZVJlYWR5PXRydWV9fX1jYXRjaChhKXt0aGlzLm1haW5zdGZy YW1lPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3RoaXMubWFpbnN0 ZnJhbWUuYWxsb3dUcmFuc3BhcmVuY3k9InRydWUiO3RoaXMubWFpbnN0ZnJhbWUu c2V0QXR0cmlidXRlKCJhbGxvd1RyYW5zcGFyZW5jeSIsInRydWUiKTt0aGlzLm1h aW5zdGZyYW1lLm9ubG9hZD1mdW5jdGlvbigpe3N0V2lkZ2V0LmZyYW1lUmVhZHk9 dHJ1ZX19dGhpcy5tYWluc3RmcmFtZS5pZD0ic3RMZnJhbWUiO3RoaXMubWFpbnN0 ZnJhbWUuY2xhc3NOYW1lPSJzdExmcmFtZSI7dGhpcy5tYWluc3RmcmFtZS5uYW1l PSJzdExmcmFtZSI7dGhpcy5tYWluc3RmcmFtZS5mcmFtZUJvcmRlcj0iMCI7dGhp cy5tYWluc3RmcmFtZS5zY3JvbGxpbmc9Im5vIjt0aGlzLm1haW5zdGZyYW1lLndp ZHRoPSIzNDVweCI7dGhpcy5tYWluc3RmcmFtZS5oZWlnaHQ9IjQ1MHB4Ijt0aGlz Lm1haW5zdGZyYW1lLnN0eWxlLnRvcD0iMHB4Ijt0aGlzLm1haW5zdGZyYW1lLnN0 eWxlLmxlZnQ9IjBweCI7dGhpcy5tYWluc3RmcmFtZS5zcmM9IiI7dGhpcy53cmFw cGVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMud3JhcHBlci5p ZD0ic3R3cmFwcGVyIjt0aGlzLndyYXBwZXIuY2xhc3NOYW1lPSJzdHdyYXBwZXIi O3RoaXMud3JhcHBlci5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO3RoaXMud3Jh cHBlci5zdHlsZS50b3A9Ii05OTlweCI7dGhpcy53cmFwcGVyLnN0eWxlLmxlZnQ9 Ii05OTlweCI7dGhpcy5jbG9zZXdyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgiZGl2Iik7dGhpcy5jbG9zZXdyYXBwZXIuY2xhc3NOYW1lPSJzdGNsb3NlIjtp Zihzd2l0Y2hUbzV4KXt0aGlzLm1haW5zdGZyYW1lLndpZHRoPSI1MDBweCI7dGhp cy5tYWluc3RmcmFtZS5oZWlnaHQ9IjQzMHB4Ijt0aGlzLndyYXBwZXIuc3R5bGUu dG9wPSItOTk5cHgiO3RoaXMud3JhcHBlci5zdHlsZS5sZWZ0PSItOTk5cHgiO3Ro aXMud3JhcHBlci5zdHlsZS53aWR0aD0iNTAwcHgiO3RoaXMud3JhcHBlci5zdHls ZS56SW5kZXg9ODk5OTk5OTk7dGhpcy5vdmVybGF5PWRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoImRpdiIpO3RoaXMub3ZlcmxheS5zdHlsZS5oZWlnaHQ9IjEwMCUiO3Ro aXMub3ZlcmxheS5zdHlsZS53aWR0aD0iMTAwJSI7dGhpcy5vdmVybGF5LnN0eWxl LmJhY2tncm91bmRDb2xvcj0iIzAwMCI7dGhpcy5vdmVybGF5LnN0eWxlLm9wYWNp dHk9IjAuNiI7dGhpcy5vdmVybGF5LnN0eWxlLmZpbHRlcj0iQWxwaGEoT3BhY2l0 eT02MCkiO3RoaXMub3ZlcmxheS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiO2lmKGRv Y3VtZW50LmFsbCYmbmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiTVNJRSA2 LiIpIT0tMSl7dGhpcy5vdmVybGF5LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSJ9 dGhpcy5vdmVybGF5LnN0eWxlLmRpc3BsYXk9Im5vbmUiO3RoaXMub3ZlcmxheS5z dHlsZS5sZWZ0PSIwIjt0aGlzLm92ZXJsYXkuc3R5bGUudG9wPSIwIjt0aGlzLm92 ZXJsYXkuc3R5bGUuekluZGV4PTg5OTk5OTkwO3RoaXMub3ZlcmxheS5zZXRBdHRy aWJ1dGUoImlkIiwic3RPdmVybGF5Iik7dGhpcy5jbG9zZXdyYXBwZXIuY2xhc3NO YW1lPSJzdENsb3NlTmV3MiJ9dGhpcy5jbG9zZXdyYXBwZXIub25jbGljaz1mdW5j dGlvbigpe3N0V2lkZ2V0LmNsb3NlV2lkZ2V0KCl9O3RoaXMud3JhcHBlci5hcHBl bmRDaGlsZCh0aGlzLmNsb3Nld3JhcHBlcik7dGhpcy53cmFwcGVyLmFwcGVuZENo aWxkKHRoaXMubWFpbnN0ZnJhbWUpO3RoaXMub2d0aXRsZT1udWxsO3RoaXMub2dk ZXNjPW51bGw7dGhpcy5vZ3VybD1udWxsO3RoaXMub2dpbWc9bnVsbDt0aGlzLm9n dHlwZT1udWxsO3RoaXMuZGVzYz1udWxsO3RoaXMuaW5pdEZpcmU9ZmFsc2U7dGhp cy5tZXJnZT1mdW5jdGlvbihkLGMpe2Zvcih2YXIgYiBpbiBjKXtpZihkLmhhc093 blByb3BlcnR5KGIpJiZjW2JdIT09bnVsbCl7ZFtiXT1jW2JdfX19O3RoaXMub2xk U2Nyb2xsPTA7dGhpcy5pbml0PWZ1bmN0aW9uKCl7aWYoc3RXaWRnZXQuaW5pdEZp cmU9PWZhbHNlKXtzdFdpZGdldC5pbml0RmlyZT10cnVlO3dpbmRvdy5mcmFtZXMu c3RMZnJhbWUubG9jYXRpb24ucmVwbGFjZShzdFdpZGdldC5mcmFtZVVybCtzdFdp ZGdldC5jcmVhdGVGcmFnKG51bGwsImluaXQiKSl9fX07c3RXaWRnZXQub3B0aW9u cz1uZXcgZnVuY3Rpb24oKXt0aGlzLmZwYz1zdExpZ2h0LmZwYzt0aGlzLnNlc3Np b25JRD1udWxsO3RoaXMucHVibGlzaGVyPW51bGw7dGhpcy50cmFja2luZz10cnVl O3RoaXMuc2VuZF9zZXJ2aWNlcz1udWxsO3RoaXMuZXhjbHVzaXZlX3NlcnZpY2Vz PW51bGw7dGhpcy5oZWFkZXJUaXRsZT1udWxsO3RoaXMuaGVhZGVyZmc9bnVsbDt0 aGlzLmhlYWRlcmJnPW51bGw7dGhpcy5vZmZzZXRMZWZ0PW51bGw7dGhpcy5vZmZz ZXRUb3A9bnVsbDt0aGlzLm9uaG92ZXI9dHJ1ZTt0aGlzLmF1dG9jbG9zZT10cnVl O3RoaXMuYXV0b1Bvc2l0aW9uPXRydWU7dGhpcy5lbWJlZHM9ZmFsc2U7dGhpcy5k b25lU2NyZWVuPXRydWU7dGhpcy5taW5vclNlcnZpY2VzPXRydWU7dGhpcy5leGNs dWRlU2VydmljZXM9bnVsbDt0aGlzLnRoZW1lPTE7dGhpcy5zZXJ2aWNlQmFyQ29s b3I9bnVsbDt0aGlzLnNoYXJlQnV0dG9uQ29sb3I9bnVsbDt0aGlzLmZvb3RlckNv bG9yPW51bGw7dGhpcy5oZWFkZXJUZXh0Q29sb3I9bnVsbDt0aGlzLmhlbHBUZXh0 Q29sb3I9bnVsbDt0aGlzLm1haW5XaWRnZXRDb2xvcj1udWxsO3RoaXMudGV4dEJv eEZvbnRDb2xvcj1udWxsO3RoaXMudGV4dFJpZ2h0VG9MZWZ0PWZhbHNlO3RoaXMu c2hvcnRlbj10cnVlO3RoaXMucG9wdXA9ZmFsc2U7dGhpcy5uZXdPclplcm89Im5l dyI7dGhpcy5wdWJsaXNoZXJHQT1udWxsfTtzdFdpZGdldC5hZGRFbnRyeT1mdW5j dGlvbihhKXtpZighYS5lbGVtZW50KXtyZXR1cm4gZmFsc2V9aWYoYSYmKChhLnNl cnZpY2U9PSJlbWFpbCJ8fGEuc2VydmljZT09InNoYXJldGhpcyIpfHwoc3dpdGNo VG81eCYmKGEuc2VydmljZT09ImZhY2Vib29rInx8YS5zZXJ2aWNlPT0idHdpdHRl ciJ8fGEuc2VydmljZT09ImdidXp6Inx8YS5zZXJ2aWNlPT0ieWFob28ifHxhLnNl cnZpY2U9PSJsaW5rZWRpbiIpKSkpe29wZW5XaWRnZXQ9dHJ1ZX1lbHNle29wZW5X aWRnZXQ9ZmFsc2V9aWYoIW9wZW5XaWRnZXQpe2lmKGEudHlwZSE9PSJjdXN0b20i KXthLmVsZW1lbnQuYXBwZW5kQ2hpbGQoc3RCdXR0b25zLm1ha2VCdXR0b24oYSkp fWVsc2V7aWYoIShhLnR5cGU9PSJjdXN0b20iJiZhLnNlcnZpY2U9PSJzaGFyZXRo aXMiKSl7c3RCdXR0b25zLm1ha2VCdXR0b24oYSl9fXJldHVybiB0cnVlfWVsc2V7 aWYoYS50eXBlIT0iY3VzdG9tIil7YS5lbGVtZW50LmFwcGVuZENoaWxkKHN0QnV0 dG9ucy5tYWtlQnV0dG9uKGEpKX1lbHNle2lmKCEoYS50eXBlPT0iY3VzdG9tIiYm YS5zZXJ2aWNlPT0ic2hhcmV0aGlzIikpe3N0QnV0dG9ucy5tYWtlQnV0dG9uKGEp fX12YXIgYj1uZXcgU2hhcmVhYmxlKGEpO2IuaWR4PXN0V2lkZ2V0LmVudHJpZXM7 c3RXaWRnZXQuZW50cmllcysrO2IucHVibGlzaGVyPXN0TGlnaHQucHVibGlzaGVy O2Iuc2Vzc2lvbklEPXN0TGlnaHQuc2Vzc2lvbklEO2IuZnBjPXN0TGlnaHQuZnBj O2lmKGEuZWxlbWVudC5pbWFnZT09bnVsbCYmc3RXaWRnZXQub2dpbWchPW51bGwp e2IuaW1hZ2U9c3RXaWRnZXQub2dpbWd9aWYoYS5lbGVtZW50LnN1bW1hcnk9PW51 bGwmJnN0V2lkZ2V0Lm9nZGVzYyE9bnVsbCl7Yi5zdW1tYXJ5PXN0V2lkZ2V0Lm9n ZGVzY31lbHNle2lmKGEuZWxlbWVudC5zdW1tYXJ5PT1udWxsJiZzdFdpZGdldC5k ZXNjIT1udWxsKXtiLnN1bW1hcnk9c3RXaWRnZXQuZGVzY319Yi51cmw9c3RXaWRn ZXQub2d1cmw/c3RXaWRnZXQub2d1cmw6ZG9jdW1lbnQubG9jYXRpb24uaHJlZjti LnVybD1hLnVybD9hLnVybDpiLnVybDtiLnRpdGxlPXN0V2lkZ2V0Lm9ndGl0bGU/ c3RXaWRnZXQub2d0aXRsZTpkb2N1bWVudC50aXRsZTtiLnRpdGxlPWEudGl0bGU/ YS50aXRsZTpiLnRpdGxlO3N0V2lkZ2V0Lm1lcmdlKGIsc3RXaWRnZXQub3B0aW9u cyk7aWYodHlwZW9mKHN0V2lkZ2V0Lm9wdGlvbnMudGV4dFJpZ2h0VG9MZWZ0KSE9 InVuZGVmaW5lZCImJnN0V2lkZ2V0Lm9wdGlvbnMudGV4dFJpZ2h0VG9MZWZ0IT0i bnVsbCImJnN0V2lkZ2V0Lm9wdGlvbnMudGV4dFJpZ2h0VG9MZWZ0PT10cnVlKXtk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R3cmFwcGVyIikuc3R5bGUudG9wPSJh dXRvIjtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R3cmFwcGVyIikuc3R5bGUu bGVmdD0iYXV0byJ9Yi5tb3VzZU9uPWZ1bmN0aW9uKCl7c3RXaWRnZXQubW91c2VP blRpbWVyPXNldFRpbWVvdXQoYi5wb3B1cCw1MDApfTtiLm1vdXNlT3V0PWZ1bmN0 aW9uKCl7Y2xlYXJJbnRlcnZhbChzdFdpZGdldC5tb3VzZU9uVGltZXIpfTtiLnBv cHVwPWZ1bmN0aW9uKCl7aWYoc3RXaWRnZXQud2lkZ2V0T3Blbj09ZmFsc2Upe3Zh ciBkPSJzaGFyZTR4IjtpZihzd2l0Y2hUbzV4KXtkPSJzaGFyZTV4Ijt0cnl7aWYo c3RMaWdodC5jbGlja0NhbGxCYWNrIT1mYWxzZSl7c3RMaWdodC5jbGlja0NhbGxC YWNrKGEuc2VydmljZSl9fWNhdGNoKGMpe319aWYoYS50eXBlPT0ic3RiYXIifHxh LnR5cGU9PSJzdHNtYmFyIil7ZD0iYmFyIn1zdExpZ2h0LmxvZygid2lkZ2V0Iixk LGEuc2VydmljZSsiXyIrYS50eXBlKTtpZihzdFdpZGdldC5vcHRpb25zLnBvcHVw JiYhc3dpdGNoVG81eCl7d2luZG93Lm9wZW4oc3RXaWRnZXQuZnJhbWVVcmwrc3RX aWRnZXQuY3JlYXRlRnJhZyhiKSwibmV3c3RmcmFtZSIsInN0YXR1cz0xLHRvb2xi YXI9MCx3aWR0aD0zNDUsaGVpZ2h0PTM3NSIpfWVsc2V7aWYoc3RXaWRnZXQub3B0 aW9ucy5wb3B1cCYmc3dpdGNoVG81eCl7dmFyIGU9Imh0dHA6Ly9zaGFyZXRoaXMu Y29tL3NoYXJlP3VybD0iK2IudXJsO3dpbmRvdy5vcGVuKGUsIm5ld3N0ZnJhbWUi LCJzdGF0dXM9MSx0b29sYmFyPTAsd2lkdGg9ODIwLGhlaWdodD05NTAiKX1lbHNl e3dpbmRvdy5mcmFtZXMuc3RMZnJhbWUubG9jYXRpb24ucmVwbGFjZShzdFdpZGdl dC5mcmFtZVVybCtzdFdpZGdldC5jcmVhdGVGcmFnKGIpKTtzdFdpZGdldC5wb3Np dGlvbldpZGdldChiKTtpZihzdFdpZGdldC5vcHRpb25zLmVtYmVkcz09ZmFsc2Up e3N0V2lkZ2V0LmhpZGVFbWJlZHMoKX1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7c3RX aWRnZXQud2lkZ2V0T3Blbj10cnVlO3N0X3Nob3dpbmc9dHJ1ZX0sMjAwKX19fWVs c2V7aWYoc3RXaWRnZXQud2lkZ2V0T3Blbj09dHJ1ZSYmc3RXaWRnZXQub3B0aW9u cy5vbmhvdmVyPT1mYWxzZSl7fX1yZXR1cm4gZmFsc2V9O2IuaW5pdCgpO3JldHVy biBifX07c3RXaWRnZXQuY3JlYXRlRnJhZz1mdW5jdGlvbihjLGIpe3ZhciBmPSIj bGlnaHQiO2lmKGI9PSJpbml0Iil7Zj0iI2luaXQiO2lmKHN0V2lkZ2V0Lm9wdGlv bnMudHJhY2tpbmcmJnN0V2lkZ2V0Lm9wdGlvbnMucHVibGlzaGVyR0E9PW51bGwp e2lmKHR5cGVvZihwYWdlVHJhY2tlcikhPSJ1bmRlZmluZWQiJiZwYWdlVHJhY2tl ciE9PW51bGwpe3N0V2lkZ2V0Lm9wdGlvbnMucHVibGlzaGVyR0E9cGFnZVRyYWNr ZXIuX2dldEFjY291bnQoKX1lbHNle2lmKHN0V2lkZ2V0Lm9wdGlvbnMucHVibGlz aGVyR0E9PW51bGwmJnR5cGVvZihfX3N0UHViR0EpIT09InVuZGVmaW5lZCIpe3N0 V2lkZ2V0Lm9wdGlvbnMucHVibGlzaGVyR0E9X19zdFB1YkdBfX19Zm9yKHZhciBl IGluIHN0V2lkZ2V0Lm9wdGlvbnMpe2lmKHN0V2lkZ2V0Lm9wdGlvbnMuaGFzT3du UHJvcGVydHkoZSk9PXRydWUmJnN0V2lkZ2V0Lm9wdGlvbnNbZV0hPT1udWxsJiZ0 eXBlb2Yoc3RXaWRnZXQub3B0aW9uc1tlXSkhPSJmdW5jdGlvbiImJnR5cGVvZihz dFdpZGdldC5vcHRpb25zW2VdKSE9Im9iamVjdCIpe3ZhciBhPXN0V2lkZ2V0Lm9w dGlvbnNbZV07dHJ5e2E9ZGVjb2RlVVJJQ29tcG9uZW50KGEpO2E9ZGVjb2RlVVJJ Q29tcG9uZW50KGEpfWNhdGNoKGQpe31mPWYrIi8iK2UrIj0iK2VuY29kZVVSSUNv bXBvbmVudChhKX19Zj1mKyIvcFVybD0iK2VuY29kZVVSSUNvbXBvbmVudChlbmNv ZGVVUklDb21wb25lbnQoZG9jdW1lbnQubG9jYXRpb24uaHJlZikpKygoZG9jdW1l bnQudGl0bGUhPSIiKT8iL3RpdGxlPSIrZW5jb2RlVVJJQ29tcG9uZW50KGVuY29k ZVVSSUNvbXBvbmVudChkb2N1bWVudC50aXRsZSkpOiIiKSsiL3N0TGlnaHQ9dHJ1 ZSJ9ZWxzZXtmb3IodmFyIGUgaW4gYyl7aWYoYy5oYXNPd25Qcm9wZXJ0eShlKT09 dHJ1ZSYmY1tlXSE9PW51bGwmJnR5cGVvZihjW2VdKSE9ImZ1bmN0aW9uIiYmdHlw ZW9mKGNbZV0pIT0ib2JqZWN0IiYmZSE9PSJpZHgiKXtmPWYrIi8iK2UrIi09LSIr ZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudChjW2VdKSl9fWlm KGMuc2VydmljZT09ImVtYWlsIil7Zj1mKyIvcGFnZS09LXNlbmQifWlmKHN3aXRj aFRvNXgpe2lmKGMuc2VydmljZT09ImZhY2Vib29rIil7Zj1mKyIvcGFnZS09LWZi aG9tZSJ9ZWxzZXtpZihjLnNlcnZpY2U9PSJ0d2l0dGVyIil7Zj1mKyIvcGFnZS09 LXR3aG9tZSJ9ZWxzZXtpZihjLnNlcnZpY2U9PSJnYnV6eiIpe2Y9ZisiL3BhZ2Ut PS1nYmhvbWUifWVsc2V7aWYoYy5zZXJ2aWNlPT0ieWFob28iKXtmPWYrIi9wYWdl LT0teWJob21lIn1lbHNle2lmKGMuc2VydmljZT09ImxpbmtlZGluIil7Zj1mKyIv cGFnZS09LWxpaG9tZSJ9fX19fX19cmV0dXJuIGZ9O3N0V2lkZ2V0LnBvc2l0aW9u V2lkZ2V0PWZ1bmN0aW9uKG8pe2lmKCFvKXtyZXR1cm4gZmFsc2V9aWYoIXN3aXRj aFRvNXgpe3NoYXJlZWw9by5lbGVtZW50O3ZhciBjdXJsZWZ0PWN1cnRvcD0wO2lm KHNoYXJlZWwub2Zmc2V0UGFyZW50KXtjdXJsZWZ0PXNoYXJlZWwub2Zmc2V0TGVm dDtjdXJ0b3A9c2hhcmVlbC5vZmZzZXRUb3A7d2hpbGUoc2hhcmVlbD1zaGFyZWVs Lm9mZnNldFBhcmVudCl7Y3VybGVmdCs9c2hhcmVlbC5vZmZzZXRMZWZ0O2N1cnRv cCs9c2hhcmVlbC5vZmZzZXRUb3B9fXNoYXJlZWw9by5lbGVtZW50O3ZhciBlbHRv cD0wO3ZhciBlbGxlZnQ9MDt2YXIgdG9wVmFsPTA7dmFyIGxlZnRWYWw9MDt2YXIg ZWxlbUg9MDt2YXIgZWxlbVc9MDtlbHRvcD1jdXJ0b3Arc2hhcmVlbC5vZmZzZXRI ZWlnaHQrNTtlbGxlZnQ9Y3VybGVmdCs1O3RvcFZhbD0oZWx0b3ArKHN0V2lkZ2V0 Lm9wdGlvbnMub2Zmc2V0VG9wP3N0V2lkZ2V0Lm9wdGlvbnMub2Zmc2V0VG9wOjAp KTt0b3BWYWw9ZXZhbCh0b3BWYWwpO2VsZW1IPXRvcFZhbDt0b3BWYWwrPSJweCI7 bGVmdFZhbD0oZWxsZWZ0KyhzdFdpZGdldC5vcHRpb25zLm9mZnNldExlZnQ/c3RX aWRnZXQub3B0aW9ucy5vZmZzZXRMZWZ0OjApKTtsZWZ0VmFsPWV2YWwobGVmdFZh bCk7ZWxlbVc9bGVmdFZhbDtsZWZ0VmFsKz0icHgiO3N0V2lkZ2V0LndyYXBwZXIu c3R5bGUudG9wPXRvcFZhbDtzdFdpZGdldC53cmFwcGVyLnN0eWxlLmxlZnQ9bGVm dFZhbDtpZihzdFdpZGdldC5vcHRpb25zLmF1dG9Qb3NpdGlvbj09dHJ1ZSl7c3RX aWRnZXQub2xkU2Nyb2xsPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO3ZhciBwZ2lu Zm89c3RXaWRnZXQucGFnZVNpemUoKTt2YXIgZWZmZWN0aXZlSD1wZ2luZm8uaGVp Z2h0K3BnaW5mby5zY3JZO3ZhciBlZmZlY3RpdmVXPXBnaW5mby53aWR0aCtwZ2lu Zm8uc2NyWDt2YXIgd2lkZ2V0SD0xODA7dmFyIHdpZGdldFc9MzU1O3ZhciBuZWVk SD13aWRnZXRIK2VsZW1IO3ZhciBuZWVkVz13aWRnZXRXK2VsZW1XO3ZhciBkaWZm SD1uZWVkSC1lZmZlY3RpdmVIO3ZhciBkaWZmVz1uZWVkVy1lZmZlY3RpdmVXO3Zh ciBuZXdIPWVsZW1ILWRpZmZIO3ZhciBuZXdXPWVsZW1XLWRpZmZXO2Z1bmN0aW9u IGdldEhXKGVsZW0pe3ZhciByZXRIPTA7dmFyIHJldFc9MDt3aGlsZShlbGVtIT1u dWxsKXtyZXRIKz1lbGVtLm9mZnNldFRvcDtyZXRXKz1lbGVtLm9mZnNldExlZnQ7 ZWxlbT1lbGVtLm9mZnNldFBhcmVudH1yZXR1cm57aGVpZ2h0OnJldEgsd2lkdGg6 cmV0V319dmFyIGJ1dHRvblBvcz1nZXRIVyhzaGFyZWVsKTt2YXIgbGVmdEEscmln aHRBLHRvcEEsYm90dG9tQT1mYWxzZTtpZihkaWZmSD4wKXtib3R0b21BPWZhbHNl O3RvcEE9dHJ1ZTtpZigoYnV0dG9uUG9zLmhlaWdodC13aWRnZXRIKT4wKXtuZXdI PWJ1dHRvblBvcy5oZWlnaHQtd2lkZ2V0SH1zdFdpZGdldC53cmFwcGVyLnN0eWxl LnRvcD1uZXdIKyJweCJ9aWYoZGlmZlc+MCl7bGVmdEE9ZmFsc2U7cmlnaHRBPXRy dWU7aWYoKGJ1dHRvblBvcy53aWR0aC13aWRnZXRXKT4wKXtuZXdXPWJ1dHRvblBv cy53aWR0aC13aWRnZXRXfXN0V2lkZ2V0LndyYXBwZXIuc3R5bGUubGVmdD1uZXdX KyJweCJ9fWlmKHN0V2lkZ2V0Lm9wdGlvbnMuYXV0b1Bvc2l0aW9uPT0iY2VudGVy Iil7c3RXaWRnZXQud3JhcHBlci5zdHlsZS50b3A9IjE1JSI7c3RXaWRnZXQud3Jh cHBlci5zdHlsZS5sZWZ0PSIzNSUiO3N0V2lkZ2V0LndyYXBwZXIuc3R5bGUucG9z aXRpb249ImZpeGVkIn19ZWxzZXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RP dmVybGF5Iikuc3R5bGUuZGlzcGxheT0iYmxvY2siO3ZhciB0b3BWYWw7aWYoc3RX aWRnZXQub3B0aW9ucy5hdXRvUG9zaXRpb249PXRydWUpe2lmKGRvY3VtZW50LmFs bCYmbmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiTVNJRSA3LiIpIT0tMSl7 c3RXaWRnZXQud3JhcHBlci5zdHlsZS5sZWZ0PSI1MDBweCJ9ZWxzZXtzdFdpZGdl dC53cmFwcGVyLnN0eWxlLmxlZnQ9IjEwJSJ9c3RXaWRnZXQud3JhcHBlci5zdHls ZS5yaWdodD0iMTAlIjt0b3BWYWw9KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5j bGllbnRIZWlnaHQtcGFyc2VGbG9hdChzdFdpZGdldC53cmFwcGVyLm9mZnNldEhl aWdodCkvMikvMjtpZih0b3BWYWw+MjApe3RvcFZhbD0yMH1lbHNle2lmKHRvcFZh bDw1KXt0b3BWYWw9NX19c3RXaWRnZXQud3JhcHBlci5zdHlsZS50b3A9dG9wVmFs KyJweCI7c3RXaWRnZXQud3JhcHBlci5zdHlsZS5tYXJnaW5MZWZ0PSJhdXRvIjtz dFdpZGdldC53cmFwcGVyLnN0eWxlLm1hcmdpblJpZ2h0PSJhdXRvIjtzdFdpZGdl dC53cmFwcGVyLnN0eWxlLnRleHRBbGlnbj0ibGVmdCI7c3RXaWRnZXQud3JhcHBl ci5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiO2lmKGRvY3VtZW50LmFsbCYmbmF2aWdh dG9yLmFwcFZlcnNpb24uaW5kZXhPZigiTVNJRSA2LiIpIT0tMSl7c3RXaWRnZXQu d3JhcHBlci5zdHlsZS5sZWZ0PSIzMDBweCI7c3RXaWRnZXQud3JhcHBlci5zdHls ZS5wb3NpdGlvbj0iYWJzb2x1dGUifX1pZihzdFdpZGdldC5vcHRpb25zLmF1dG9Q b3NpdGlvbj09ImNlbnRlciIpe2lmKGRvY3VtZW50LmFsbCYmbmF2aWdhdG9yLmFw cFZlcnNpb24uaW5kZXhPZigiTVNJRSA3LiIpIT0tMSl7c3RXaWRnZXQud3JhcHBl ci5zdHlsZS5sZWZ0PSI1MDBweCJ9ZWxzZXtzdFdpZGdldC53cmFwcGVyLnN0eWxl LmxlZnQ9IjEwJSJ9c3RXaWRnZXQud3JhcHBlci5zdHlsZS5yaWdodD0iMTAlIjtz dFdpZGdldC53cmFwcGVyLnN0eWxlLm1hcmdpbkxlZnQ9ImF1dG8iO3N0V2lkZ2V0 LndyYXBwZXIuc3R5bGUubWFyZ2luUmlnaHQ9ImF1dG8iO3N0V2lkZ2V0LndyYXBw ZXIuc3R5bGUucG9zaXRpb249ImZpeGVkIjt0b3BWYWw9KGRvY3VtZW50LmRvY3Vt ZW50RWxlbWVudC5jbGllbnRIZWlnaHQtcGFyc2VGbG9hdChzdFdpZGdldC53cmFw cGVyLm9mZnNldEhlaWdodCkvMikvMjtpZih0b3BWYWw+MjApe3RvcFZhbD0yMH1l bHNle2lmKHRvcFZhbDw1KXt0b3BWYWw9NX19c3RXaWRnZXQud3JhcHBlci5zdHls ZS50b3A9dG9wVmFsKyJweCI7aWYoZG9jdW1lbnQuYWxsJiZuYXZpZ2F0b3IuYXBw VmVyc2lvbi5pbmRleE9mKCJNU0lFIDYuIikhPS0xKXtzdFdpZGdldC53cmFwcGVy LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSJ9fX1zdFdpZGdldC53cmFwcGVyLnN0 eWxlLnZpc2liaWxpdHk9InZpc2libGUiO3N0V2lkZ2V0Lm1haW5zdGZyYW1lLnN0 eWxlLnZpc2liaWxpdHk9InZpc2libGUifSxzdFdpZGdldC5oaWRlV2lkZ2V0PWZ1 bmN0aW9uKCl7aWYoc3RXaWRnZXQud3JhcHBlci5zdHlsZS52aXNpYmlsaXR5IT09 ImhpZGRlbiIpe3N0V2lkZ2V0LndyYXBwZXIuc3R5bGUudmlzaWJpbGl0eT0iaGlk ZGVuIn1pZihzdFdpZGdldC5tYWluc3RmcmFtZS5zdHlsZS52aXNpYmlsaXR5IT09 ImhpZGRlbiIpe3N0V2lkZ2V0Lm1haW5zdGZyYW1lLnN0eWxlLnZpc2liaWxpdHk9 ImhpZGRlbiJ9aWYoc3dpdGNoVG81eCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo InN0T3ZlcmxheSIpLnN0eWxlLmRpc3BsYXk9Im5vbmUifX07c3RXaWRnZXQucGFn ZVNpemU9ZnVuY3Rpb24oKXt2YXIgZT1bMCwwLDAsMF07dmFyIGI9MDt2YXIgYT0w O3ZhciBkPTA7dmFyIGM9MDtpZih0eXBlb2Yod2luZG93LnBhZ2VZT2Zmc2V0KT09 Im51bWJlciIpe2I9d2luZG93LnBhZ2VYT2Zmc2V0O2E9d2luZG93LnBhZ2VZT2Zm c2V0fWVsc2V7aWYoZG9jdW1lbnQuYm9keSYmKGRvY3VtZW50LmJvZHkuc2Nyb2xs TGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKXtiPWRvY3VtZW50LmJvZHku c2Nyb2xsTGVmdDthPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wfWVsc2V7aWYoZG9j dW1lbnQuZG9jdW1lbnRFbGVtZW50JiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50 LnNjcm9sbExlZnR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3Ap KXtiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O2E9ZG9jdW1l bnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcH19fWlmKHdpbmRvdy5pbm5lcldp ZHRoKXtkPXdpbmRvdy5pbm5lcldpZHRoO2M9d2luZG93LmlubmVySGVpZ2h0fWVs c2V7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldFdpZHRoKXtkPWRv Y3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aDtjPWRvY3VtZW50LmRv Y3VtZW50RWxlbWVudC5vZmZzZXRIZWlnaHR9fWU9e3Njclg6YixzY3JZOmEsd2lk dGg6ZCxoZWlnaHQ6Y307cmV0dXJuIGV9O3N0V2lkZ2V0LmNsb3NlV2lkZ2V0PWZ1 bmN0aW9uKCl7aWYoc3Rfc2hvd2luZz09ZmFsc2Upe3JldHVybiBmYWxzZX1zdF9z aG93aW5nPWZhbHNlO3N0V2lkZ2V0LndpZGdldE9wZW49ZmFsc2U7c3RXaWRnZXQu d3JhcHBlci5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO3N0V2lkZ2V0Lm1haW5z dGZyYW1lLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7c3RXaWRnZXQuc2hvd0Vt YmVkcygpO3N0V2lkZ2V0LnNlbmRFdmVudCgic2NyZWVuIiwiaG9tZSIpO2lmKHN3 aXRjaFRvNXgpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdE92ZXJsYXkiKS5z dHlsZS5kaXNwbGF5PSJub25lIn1lbHNle3N0V2lkZ2V0LndyYXBwZXIuc3R5bGUu dG9wPSItOTk5cHgiO3N0V2lkZ2V0LndyYXBwZXIuc3R5bGUubGVmdD0iLTk5OXB4 In19O3N0V2lkZ2V0LmhpZGVFbWJlZHM9ZnVuY3Rpb24oKXt2YXIgYj1kb2N1bWVu dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZW1iZWQiKTtmb3IodmFyIGE9MDthPGIu bGVuZ3RoO2ErKyl7YlthXS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4ifX07c3RX aWRnZXQuc2hvd0VtYmVkcz1mdW5jdGlvbigpe2lmKHN0V2lkZ2V0Lm9wdGlvbnMu ZW1iZWRzPT10cnVlKXtyZXR1cm4gdHJ1ZX12YXIgYj1kb2N1bWVudC5nZXRFbGVt ZW50c0J5VGFnTmFtZSgiZW1iZWQiKTtmb3IodmFyIGE9MDthPGIubGVuZ3RoO2Er Kyl7YlthXS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIn19O3N0V2lkZ2V0LnNl bmRFdmVudD1mdW5jdGlvbihhLGQpe3ZhciBjPSIjd2lkZ2V0LyIrYSsiPSIrZDt0 cnl7d2luZG93LmZyYW1lcy5zdExmcmFtZS5sb2NhdGlvbi5yZXBsYWNlKHN0V2lk Z2V0LmZyYW1lVXJsK2MpfWNhdGNoKGIpe319O3N0V2lkZ2V0LmdldE9HVGFncz1m dW5jdGlvbigpe3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJt ZXRhIik7Zm9yKHZhciBhPTA7YTxiLmxlbmd0aDthKyspe2lmKGJbYV0uZ2V0QXR0 cmlidXRlKCJwcm9wZXJ0eSIpPT0ib2c6dGl0bGUiKXtzdFdpZGdldC5vZ3RpdGxl PWJbYV0uZ2V0QXR0cmlidXRlKCJjb250ZW50Iil9ZWxzZXtpZihiW2FdLmdldEF0 dHJpYnV0ZSgicHJvcGVydHkiKT09Im9nOnR5cGUiKXtzdFdpZGdldC5vZ3R5cGU9 YlthXS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKX1lbHNle2lmKGJbYV0uZ2V0QXR0 cmlidXRlKCJwcm9wZXJ0eSIpPT0ib2c6dXJsIil7c3RXaWRnZXQub2d1cmw9Ylth XS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKX1lbHNle2lmKGJbYV0uZ2V0QXR0cmli dXRlKCJwcm9wZXJ0eSIpPT0ib2c6aW1hZ2UiKXtzdFdpZGdldC5vZ2ltZz1iW2Fd LmdldEF0dHJpYnV0ZSgiY29udGVudCIpfWVsc2V7aWYoYlthXS5nZXRBdHRyaWJ1 dGUoInByb3BlcnR5Iik9PSJvZzpkZXNjcmlwdGlvbiIpe3N0V2lkZ2V0Lm9nZGVz Yz1iW2FdLmdldEF0dHJpYnV0ZSgiY29udGVudCIpfWVsc2V7aWYoYlthXS5nZXRB dHRyaWJ1dGUoIm5hbWUiKT09ImRlc2NyaXB0aW9uInx8YlthXS5nZXRBdHRyaWJ1 dGUoIm5hbWUiKT09IkRlc2NyaXB0aW9uIil7c3RXaWRnZXQuZGVzYz1iW2FdLmdl dEF0dHJpYnV0ZSgiY29udGVudCIpfX19fX19fX07ZnVuY3Rpb24gb2RqcyhhLGIp e3RoaXMuaGVhZD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIp WzBdO3RoaXMuc2NyaXB0U3JjPWE7dGhpcy5zY3JpcHQ9ZG9jdW1lbnQuY3JlYXRl RWxlbWVudCgic2NyaXB0Iik7dGhpcy5zY3JpcHQuc2V0QXR0cmlidXRlKCJ0eXBl IiwidGV4dC9qYXZhc2NyaXB0Iik7dGhpcy5zY3JpcHQuc2V0QXR0cmlidXRlKCJz cmMiLHRoaXMuc2NyaXB0U3JjKTt0aGlzLnNjcmlwdC5vbmxvYWQ9Yjt0aGlzLnNj cmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZih0aGlzLnJlYWR5 U3RhdGU9PSJsb2FkZWQiKXtiKCl9fTt0aGlzLmhlYWQuYXBwZW5kQ2hpbGQodGhp cy5zY3JpcHQpfXZhciBqc29ucD17fTtqc29ucC5tYWtlUmVxdWVzdD1mdW5jdGlv bihhKXtvZGpzKGEsZnVuY3Rpb24oKXt9KX07ZnVuY3Rpb24gc2hhcmVMb2coYSl7 aWYodHlwZW9mKHBhZ2VUcmFja2VyKSE9InVuZGVmaW5lZCImJnBhZ2VUcmFja2Vy IT09bnVsbCl7cGFnZVRyYWNrZXIuX3RyYWNrRXZlbnQoIlNoYXJlVGhpcyIsYSl9 ZWxzZXtpZih0eXBlb2YoX2dhcSkhPSJ1bmRlZmluZWQiJiZfZ2FxIT09bnVsbCl7 X2dhcS5wdXNoKFsiX3RyYWNrRXZlbnQiLCJTaGFyZVRoaXMiLGFdKX1lbHNle2lm KHN0QnV0dG9ucy5wdWJsaXNoZXJUcmFja2VyIT09bnVsbCl7c3RCdXR0b25zLnB1 Ymxpc2hlclRyYWNrZXIuX3RyYWNrRXZlbnQoIlNoYXJlVGhpcyIsYSl9ZWxzZXtp Zih0eXBlb2YoX2dhdCkhPSJ1bmRlZmluZWQiJiZfZ2F0IT09bnVsbCl7aWYodHlw ZW9mKHN0V2lkZ2V0Lm9wdGlvbnMucHVibGlzaGVyR0EpIT0idW5kZWZpbmVkIiYm c3RXaWRnZXQub3B0aW9ucy5wdWJsaXNoZXJHQSE9bnVsbCl7c3RCdXR0b25zLnB1 Ymxpc2hlclRyYWNrZXI9X2dhdC5fZ2V0VHJhY2tlcihzdFdpZGdldC5vcHRpb25z LnB1Ymxpc2hlckdBKTtzdEJ1dHRvbnMucHVibGlzaGVyVHJhY2tlci5fdHJhY2tF dmVudCgiU2hhcmVUaGlzIixhKX19fX19fXN0QnV0dG9ucy5vblJlYWR5PWZ1bmN0 aW9uKCl7dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTt2 YXIgYj1bXTt2YXIgYz1uZXcgUmVnRXhwKC9zaGFyZXRoaXNfc21hcnRidXR0b25z Lyk7dmFyIGE9ZmFsc2U7Zm9yKHZhciBqPTA7ajxnLmxlbmd0aDtqKyspe2lmKHR5 cGVvZihnW2pdLmNsYXNzTmFtZSk9PSJzdHJpbmciJiZnW2pdLmNsYXNzTmFtZSE9 IiIpe2lmKGdbal0uY2xhc3NOYW1lLm1hdGNoKGMpKXthPXRydWU7YnJlYWt9fX1p ZihhKXt2YXIgZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIp WzBdO3ZhciBkPVsicmV0dXJuPWpzb24iLCJjYj1zdEJ1dHRvbnMuc21hcnRpZnlC dXR0b25zIl07ZD1kLmpvaW4oIiYiKTt2YXIgZT0oKCJodHRwczoiPT1kb2N1bWVu dC5sb2NhdGlvbi5wcm90b2NvbCk/Imh0dHBzOi8vd3MuIjoiaHR0cDovL3dkLiIp KyJzaGFyZXRoaXMuY29tL2FwaS9nZXRSZWNlbnRTZXJ2aWNlcy5waHA/IitkO3Zh ciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2guc2V0QXR0cmli dXRlKCJ0eXBlIiwidGV4dC9qYXZhc2NyaXB0Iik7aC5zZXRBdHRyaWJ1dGUoInNy YyIsZSk7Zi5hcHBlbmRDaGlsZChoKTtzZXRUaW1lb3V0KCJzdEJ1dHRvbnMuY29t cGxldGVJbml0KCkiLDIwMDApfWVsc2V7c3RCdXR0b25zLmNvbXBsZXRlSW5pdCgp fX07c3RCdXR0b25zLmNvbXBsZXRlSW5pdD1mdW5jdGlvbigpe2lmKCFzdEJ1dHRv bnMuZ29Ub0luaXQpe3N0QnV0dG9ucy5nb1RvSW5pdD10cnVlO3N0V2lkZ2V0Lmdl dE9HVGFncygpO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3RXaWRnZXQud3Jh cHBlcik7aWYoc3dpdGNoVG81eCl7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChz dFdpZGdldC5vdmVybGF5KX1zdEJ1dHRvbnMubWFrZUJ1dHRvbnMoKTtzdFdpZGdl dC5pbml0KCl9fTtpZihkb2N1bWVudC5yZWFkeVN0YXRlPT0iY29tcGxldGUiJiZz dExpZ2h0LnJlYWR5UnVuPT1mYWxzZSl7c3RMaWdodC5vblJlYWR5KCl9c3RCdXR0 b25zLmdvVG9Jbml0PWZhbHNlO3N0QnV0dG9ucy53aWRnZXQ9ZmFsc2U7c3RCdXR0 b25zLndpZGdldEFycmF5PVtdO3N0QnV0dG9ucy5xdWV1ZT1bXTtzdEJ1dHRvbnMu Y2JRdWV1ZT1bXTtzdEJ1dHRvbnMuY2JWYWw9MDtzdEJ1dHRvbnMucXVldWVQb3M9 MDtzdEJ1dHRvbnMuY291bnRzPVtdO3N0X3Nob3dpbmc9ZmFsc2U7c3RCdXR0b25z LnVybEVsZW1lbnRzPVtdO3N0QnV0dG9ucy5wdWJsaXNoZXJUcmFja2VyPW51bGw7 aWYodHlwZW9mKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKSE9InVuZGVmaW5lZCIp e3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtzdFdp ZGdldC5jbG9zZVdpZGdldCgpfSxmYWxzZSl9ZWxzZXtpZih0eXBlb2YoZG9jdW1l bnQuYWRkRXZlbnRMaXN0ZW5lcikhPSJ1bmRlZmluZWQiKXtkb2N1bWVudC5hZGRF dmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtzdFdpZGdldC5jbG9zZVdp ZGdldCgpfSxmYWxzZSl9ZWxzZXtpZih0eXBlb2Ygd2luZG93LmF0dGFjaEV2ZW50 IT0idW5kZWZpbmVkIil7ZG9jdW1lbnQuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1 bmN0aW9uKCl7c3RXaWRnZXQuY2xvc2VXaWRnZXQoKX0pfX19cGx1c29uZUNhbGxi YWNrPWZ1bmN0aW9uKGEpe307 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=plusone.js Content-Type: text/html; charset=utf-8; name=plusone.js Content-Location: http://apis.google.com/js/plusone.js Content-Transfer-Encoding: 8bit window.___jsl=window.___jsl||{}; window.___jsl.h=window.___jsl.h||'r;gc/21773286-02b1a9f6'; window.___gpq=[]; window.gapi=window.gapi||{}; window.gapi.plusone=window.gapi.plusone||(function(){ function f(n){return function(){window.___gpq.push(n,arguments)}} return{go:f('go'),render:f('render')}})(); function __bsld(){var p=window.gapi.plusone=window.googleapisv0.plusone;var f;while(f=window.___gpq.shift()){ p[f]&&p[f].apply(p,window.___gpq.shift())} if (gadgets.config.get("gwidget")["parsetags"]!=="explicit"){gapi.plusone.go();}} window['___jsl'] = window['___jsl'] || {};window['___jsl']['u'] = 'https:\/\/apis.google.com\/js\/plusone.js';window['___jsl']['f'] = ['googleapis.client','plusone'];var jsloader=window.jsloader||{}; var gapi=window.gapi||{}; (function(){function m(){return window.___jsl=window.___jsl||{}}function n(a,e,c,d){c=p(c).join(a);d&&d.length>0&&(c+=e+p(d).join(a));return c}function s(a){for(var e={},c=0,d;d=a[c];c++)e[d]=1;return e}function p(a){var e=[],c;for(c in s(a))e.push(c);return e.sort()}function o(a){for(var e=0,c;c=a[e];e++){c=c.split("@");var d=q,b,f=c[0].split("!");b=f[0].split(":");f=f[1]&&f[1].split(":");b=n(":","!",b,f);d[b]=c[1]}}function t(a){return(a=u.match(a))&&a[2]}function v(a){h=e=0;q={};j=[];i=window.console|| window.opera&&window.opera.postError;u=a;if(a=t(x)||t(y)||m().h)a=a.split(";"),e=a[0],e==="s"?(h="https://ssl.gstatic.com/webclient/js",o(a.slice(1))):e==="i"?(h=a[1],o(a.slice(2))):e==="d"?(h=a[1],l=a[2],w=a[3]||"gcjs-3p"):e==="r"?(h="https://ssl.gstatic.com/webclient/js",l=a[1]):e==="f"&&(h=a[1],l=a[2])}var x=/\?([^&#]*&)*jsh=([^&#]*)/,y=/#([^&]*&)*jsh=([^&]*)/,z=/^https:\/\/ssl.gstatic.com\/webclient\/js(\/[a-zA-Z0-9_\-]+)*\/[a-zA-Z0-9_\-\.:!]+\.js$/,e,h,w,l,q,j,i,u;v(document.location.href);jsloader.load= function(a,o){var c;if(!a||a.length==0)i&&i.warn("Cannot load empty features.");else{var d;d=s(j);for(var b=!0,f=0,g;g=b&&a[f];f++)b=b&&d[g];(d=b)?(d="Cannot load loaded features ["+a.join(",")+"].",i&&i.warn(d)):e==="s"||e==="i"?(d=a,(c=q[n(":","!",d,j)])?c=h+"/"+c+".js":(d="Cannot find features ["+d.join(",")+"], except ["+j.join(",")+"].",i&&i.warn(d),c=void 0)):e==="d"?(d=h+"/"+n(":","!",a,j),d+=".js?container="+w+"&c=2&jsload=0",l&&(d+="&r="+l),c=d):e==="r"||e==="f"?c=h+"/"+l+"/"+n("__","--", a,j)+".js":(d="Cannot respond for features ["+a.join(",")+"].",i&&i.warn(d))}d=a;b=o;if(c){if(b){if(m().c)throw"Cannot continue until a pending callback completes.";m().c=b;m().o=1}if(e==="s"||e==="r")b=c.match(z);else a:{f=c;if(f.indexOf("http://")==0||f.indexOf("https://")==0||f.indexOf("//")==0)if(b=m().m){g=f.indexOf("//");var k=f.indexOf("/",g+2),r=f.indexOf(":",g+2);r!=-1&&r<k&&(k=r);if(g!=-1&&k!=-1){f=f.substring(g+2,k);g=f.lastIndexOf(b);b=g==0||(b.charAt(0)=="."||f.charAt(g-1)==".")&&f.length- b.length==g;break a}}b=!1}if(!b)throw"Cannot load url "+c+".";if(window.___gapisync===!0)b=!0;else{b=!1;f=document.getElementsByTagName("meta");for(g=0;k=!b&&f[g];++g)"generator"==k.getAttribute("name")&&"blogger"==k.getAttribute("content")&&(b=!0)}b?document.write('<script src="'+c+'"><\/script>'):(b=document.createElement("script"),b.setAttribute("src",c),document.getElementsByTagName("head")[0].appendChild(b));j=p(j.concat(d))}else b&&b()};jsloader.reinitialize_=function(a){v(a)}})(); gapi.load=function(a,b){jsloader.load(a.split(":"),b)}; gapi.load('googleapis.client:plusone', window['__bsld']); ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=nggallery.css Content-Type: text/css; charset=UTF-8; name=nggallery.css Content-Location: http://aquaviews.net/wp-content/plugins/nextgen-gallery/css/nggallery.css?ver=1.0.0 Content-Transfer-Encoding: 8bit /* CSS Name: Default Styles Description: NextGEN Default Gallery Stylesheet Author: Alex Rabe Version: 2.10 This is a template stylesheet that can be used with NextGEN Gallery. I tested the styles with a default theme Kubrick. Modify it when your theme struggle with it, it's only a template design */ /* ----------- Album Styles Extend -------------*/ .ngg-albumoverview { margin-top: 10px; width: 100%; clear:both; display:block !important; } .ngg-album { height: 100%; padding: 5px; margin-bottom: 5px; border: 1px solid #fff; } /* IE6 will ignore this , again I hate IE6 */ /* See also http://www.sitepoint.com/article/browser-specific-css-hacks */ html>body .ngg-album { overflow:hidden; padding: 5px; margin-bottom: 5px; border: 1px solid #cccccc; } .ngg-album { overflow: hidden; padding: 5px; margin-bottom: 5px; border: 1px solid #cccccc; } .ngg-albumtitle { text-align: left; font-weight: bold; margin:0px; padding:0px; font-size: 1.4em; margin-bottom: 10px; } .ngg-thumbnail { float: left; margin-right: 12px; } .ngg-thumbnail img { background-color:#FFFFFF; border:1px solid #A9A9A9; margin:4px 0px 4px 5px; padding:4px; position:relative; } .ngg-thumbnail img:hover { background-color: #A9A9A9; } .ngg-description { text-align: left; } /* ----------- Album Styles Compact -------------*/ .ngg-album-compact { float:left; height:180px; padding-right:6px !important; margin:0px !important; text-align:left; width:120px; } .ngg-album-compactbox { background:transparent url(albumset.gif) no-repeat scroll 0%; height:86px; margin:0pt 0pt 6px !important; padding:12px 0pt 0pt 7px !important; width:120px; } .ngg-album-compactbox .Thumb { border:1px solid #000000; margin:0px !important; padding:0px !important; width:91px; height:68px; } .ngg-album-compact h4 { font-size:15px; font-weight:bold; margin-bottom:0px; margin-top:0px; width:110px; } .ngg-album-compact p { font-size:11px; margin-top:2px; } /* ----------- Gallery style -------------*/ .ngg-galleryoverview { overflow: hidden; margin-top: 10px; width: 100%; clear:both; display:block !important; } .ngg-galleryoverview .desc { /* required for description */ margin:0px 10px 10px 0px; padding:5px; } .ngg-gallery-thumbnail-box { float: left; } .ngg-gallery-thumbnail { float: left; margin-right: 5px; text-align: center; } .ngg-gallery-thumbnail img { background-color:#FFFFFF; border:1px solid #A9A9A9; display:block; margin:4px 0px 4px 5px; padding:4px; position:relative; } .ngg-gallery-thumbnail img:hover { background-color: #A9A9A9; } .ngg-gallery-thumbnail span { /* Images description */ font-size:90%; padding-left:5px; display:block; } .ngg-clear { clear: both; } /* ----------- Gallery navigation -------------*/ .ngg-navigation { font-size:0.9em !important; clear:both !important; display:block !important; padding-top:15px; text-align:center; } .ngg-navigation span { font-weight:bold; margin:0pt 6px; } .ngg-navigation a.page-numbers, .ngg-navigation a.next, .ngg-navigation a.prev, .ngg-navigation span.page-numbers, .ngg-navigation span.next, .ngg-navigation span.prev { border:1px solid #DDDDDD; margin-right:3px; padding:3px 7px; } .ngg-navigation a.page-numbers:hover, .ngg-navigation a.next:hover, .ngg-navigation a.prev:hover, .ngg-navigation span.page-numbers:hover, .ngg-navigation span.next:hover, .ngg-navigation span.prev:hover { background-color: #0066CC; color: #FFFFFF !important; text-decoration: none !important; } /* ----------- Image browser style -------------*/ .ngg-imagebrowser { } .ngg-imagebrowser h3 { text-align:center; } .ngg-imagebrowser img { border:1px solid #A9A9A9; margin-top: 10px; margin-bottom: 10px; width: 100%; display:block !important; padding:5px; } .ngg-imagebrowser-nav { padding:5px; margin-left:10px; } .ngg-imagebrowser-nav .back { float:left; border:1px solid #DDDDDD; margin-right:3px; padding:3px 7px; } .ngg-imagebrowser-nav .next { float:right; border:1px solid #DDDDDD; margin-right:3px; padding:3px 7px; } .ngg-imagebrowser-nav .counter { text-align:center; font-size:0.9em !important; } .exif-data { margin-left: auto !important; margin-right: auto !important; } /* ----------- Slideshow -------------*/ .slideshow { margin-left: auto; margin-right: auto; text-align:center; outline: none; } .slideshowlink { } /* ----------- JS Slideshow -------------*/ .ngg-slideshow { overflow:hidden; position: relative; } .ngg-slideshow * { vertical-align:middle; } /* See also : http://www.brunildo.org/test/img_center.html */ .ngg-slideshow-loader{ display: table-cell; text-align: center; vertical-align:middle; } .ngg-slideshow-loader img{ background: none !important; border: 0 none !important; margin:auto !important; } /* ----------- Single picture -------------*/ .ngg-singlepic { background-color:#FFFFFF; display:block; padding:4px; } .ngg-left { float: left; margin-right:10px; } .ngg-right { float: right; margin-left:10px; } .ngg-center { margin-left: auto !important; margin-right: auto !important; } /* ----------- Sidebar widget -------------*/ .ngg-widget, .ngg-widget-slideshow { overflow: hidden; margin:0pt; padding:5px 0px 0px 0pt; text-align:left; } .ngg-widget img { border:2px solid #A9A9A9; margin:0pt 2px 2px 0px; padding:1px; } /* ----------- Related images -------------*/ .ngg-related-gallery { background:#F9F9F9; border:1px solid #E0E0E0; overflow:hidden; margin-bottom:1em; margin-top:1em; padding:5px; } .ngg-related-gallery img { border: 1px solid #DDDDDD; float: left; margin: 0pt 3px; padding: 2px; height: 50px; width: 50px; } .ngg-related-gallery img:hover { border: 1px solid #000000; } /* ----------- Gallery list -------------*/ .ngg-galleryoverview ul li:before { content: '' !important; } .ngg-gallery-list { list-style-type:none; padding: 0px !important; text-indent:0px !important; } .ngg-galleryoverview div.pic img{ width: 100%; } .ngg-gallery-list li { float:left; margin:0 2px 0px 2px !important; overflow:hidden; } .ngg-gallery-list li a { border:1px solid #CCCCCC; display:block; padding:2px; } .ngg-gallery-list li.selected a{ -moz-background-clip:border; -moz-background-inline-policy:continuous; -moz-background-origin:padding; background:#000000 none repeat scroll 0 0; } .ngg-gallery-list li img { height:40px; width:40px; } li.ngg-next, li.ngg-prev { height:40px; width:40px; font-size:3.5em; } li.ngg-next a, li.ngg-prev a { padding-top: 10px; border: none; text-decoration: none; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=shutter-reloaded.css Content-Type: text/css; charset=UTF-8; name=shutter-reloaded.css Content-Location: http://aquaviews.net/wp-content/plugins/nextgen-gallery/shutter/shutter-reloaded.css?ver=1.3.0 Content-Transfer-Encoding: 8bit /* Shutter */ #shDisplay div#shTitle { font: normal 12px/17px 'Lucida Grande', Verdana, sans-serif; /* caption font */ color: #ffffff; /* caption colour */ text-align: center; margin: 0 auto; } #shDisplay div#shCount { color: #999999; font: normal 10px/12px 'Lucida Grande', Verdana, sans-serif; } #shDisplay div#shTitle a { text-decoration: none; font: bold 16pt 'Courier New', Courier, fixed; letter-spacing: -2px; margin: 0 10px; width: 26px; color: #999999; } #shDisplay div#shTitle a:hover { color: #ffffff; border: none; } #shDisplay div#shNext{ float:right; } #shDisplay div#shPrev { float:left; } body { height: 100%; } #shShutter *, #shDisplay * { padding: 0; margin: 0; } div#shShutter, div#shDisplay { top: 0; left: 0; width: 100%; position: absolute; } div#shShutter { height: 100%; z-index: 1000; background-color: #000000; opacity: 0.8; filter:alpha(opacity=80); } div#shDisplay { display: block; background-color: transparent; z-index: 1002; } div#shDisplay img#shTopImg { margin: 0 auto; border: 1px solid #555; background: transparent; display: block; max-width: none; max-height: none; float: none; padding:2px; cursor: pointer; } div#shDisplay div#shWrap { visibility: hidden; } div#shWaitBar { font: bold 32px 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif; height: 36px; width: 100%; left: 0; cursor: default; opacity: 0.999; filter: alpha(opacity=100); z-index: 1001; margin-top: 160px; color: #ae0a0a; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=sociable.css Content-Type: text/css; charset=UTF-8; name=sociable.css Content-Location: http://aquaviews.net/wp-content/plugins/sociable/sociable.css?ver=3.1 Content-Transfer-Encoding: 8bit div.sociable { margin: 16px 0; } span.sociable_tagline { position: relative; } span.sociable_tagline span { display: none; width: 14em; } span.sociable_tagline:hover span { position: absolute; display: block; top: -5em; background: #ffe; border: 1px solid #ccc; color: black; line-height: 1.25em; } .sociable span { display: block; } .sociable ul { display: inline; margin: 0 !important; padding: 0 !important; } .sociable ul li { background: none; display: inline !important; list-style-type: none; margin: 0; padding: 1px; } .sociable ul li:before { content: ""; } .sociable img { float: none; width: 16px; height: 16px; border: 0; margin: 0; padding: 0; } .sociable-hovers { opacity: .4; -moz-opacity: .4; filter: alpha(opacity=40); } .sociable-hovers:hover { opacity: 1; -moz-opacity: 1; filter: alpha(opacity=100); } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=l10n.js Content-Type: application/x-javascript; charset=UTF-8; name=l10n.js Content-Location: http://aquaviews.net/wp-includes/js/l10n.js?ver=20101110 Content-Transfer-Encoding: Base64 ZnVuY3Rpb24gY29udmVydEVudGl0aWVzKGIpe3ZhciBkLGE7ZD1mdW5jdGlvbihj KXtpZigvJlteO10rOy8udGVzdChjKSl7dmFyIGY9ZG9jdW1lbnQuY3JlYXRlRWxl bWVudCgiZGl2Iik7Zi5pbm5lckhUTUw9YztyZXR1cm4gIWYuZmlyc3RDaGlsZD9j OmYuZmlyc3RDaGlsZC5ub2RlVmFsdWV9cmV0dXJuIGN9O2lmKHR5cGVvZiBiPT09 InN0cmluZyIpe3JldHVybiBkKGIpfWVsc2V7aWYodHlwZW9mIGI9PT0ib2JqZWN0 Iil7Zm9yKGEgaW4gYil7aWYodHlwZW9mIGJbYV09PT0ic3RyaW5nIil7YlthXT1k KGJbYV0pfX19fXJldHVybiBifTs= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=jquery.min.js Content-Type: text/javascript; charset=UTF-8; name=jquery.min.js Content-Location: https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js?ver=3.1 Content-Transfer-Encoding: 8bit /*! * jQuery JavaScript Library v1.6 * http://jquery.com/ * * Copyright 2011, John Resig * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * Includes Sizzle.js * http://sizzlejs.com/ * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * * Date: Mon May 2 13:50:00 2011 -0400 */ (function(a,b){function cw(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function ct(a){if(!ch[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ci||(ci=c.createElement("iframe"),ci.frameBorder=ci.width=ci.height=0),c.body.appendChild(ci);if(!cj||!ci.createElement)cj=(ci.contentWindow||ci.contentDocument).document,cj.write("<!doctype><html><body></body></html>");b=cj.createElement(a),cj.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ci)}ch[a]=d}return ch[a]}function cs(a,b){var c={};f.each(cn.concat.apply([],cn.slice(0,b)),function(){c[this]=a});return c}function cr(){co=b}function cq(){setTimeout(cr,0);return co=f.now()}function cg(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function cf(){try{return new a.XMLHttpRequest}catch(b){}}function b_(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function b$(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bZ(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):bZ(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bZ(a+"["+e+"]",b[e],c,d);else d(a,b)}function bY(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bY(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bY(a,c,d,e,"*",g));return l}function bX(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?bv:bw,e=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return e;f.each(d,function(){c||(e-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?e+=parseFloat(f.css(a,"margin"+this))||0:e-=parseFloat(f.css(a,"border"+this+"Width"))||0});return e}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval(b.text||b.textContent||b.innerHTML||""),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):a.getElementsByTagName&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bf(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){name="data-"+c.replace(j,"$1-$2").toLowerCase(),d=a.getAttribute(name);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(e){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?g=[null,a,null]:g=i.exec(a);if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:E?function(a){return a==null?"":E.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?C.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(F)return F.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=D.call(arguments,2),g=function(){return a.apply(c,f.concat(D.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(c,d){d&&d instanceof e&&!(d instanceof a)&&(d=a(d));return e.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){G["[object "+b+"]"]=b.toLowerCase()}),x=e.uaMatch(w),x.browser&&(e.browser[x.browser]=!0,e.browser.version=x.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?z=function(){c.removeEventListener("DOMContentLoaded",z,!1),e.ready()}:c.attachEvent&&(z=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",z),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b,d,e,f,g,h,i,j,k,l,m,n,o,p,q;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",b=a.getElementsByTagName("*"),d=a.getElementsByTagName("a")[0];if(!b||!b.length||!d)return{};e=c.createElement("select"),f=e.appendChild(c.createElement("option")),g=a.getElementsByTagName("input")[0],i={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.55$/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:g.value==="on",optSelected:f.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},g.checked=!0,i.noCloneChecked=g.cloneNode(!0).checked,e.disabled=!0,i.optDisabled=!f.disabled;try{delete a.test}catch(r){i.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function click(){i.noCloneEvent=!1,a.detachEvent("onclick",click)}),a.cloneNode(!0).fireEvent("onclick")),g=c.createElement("input"),g.value="t",g.setAttribute("type","radio"),i.radioValue=g.value==="t",g.setAttribute("checked","checked"),a.appendChild(g),j=c.createDocumentFragment(),j.appendChild(a.firstChild),i.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",k=c.createElement("body"),l={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(p in l)k.style[p]=l[p];k.appendChild(a),c.documentElement.appendChild(k),i.appendChecked=g.checked,i.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,i.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",i.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",m=a.getElementsByTagName("td"),q=m[0].offsetHeight===0,m[0].style.display="",m[1].style.display="none",i.reliableHiddenOffsets=q&&m[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(h=c.createElement("div"),h.style.width="0",h.style.marginRight="0",a.appendChild(h),i.reliableMarginRight=(parseInt(c.defaultView.getComputedStyle(h,null).marginRight,10)||0)===0),k.innerHTML="",c.documentElement.removeChild(k);if(a.attachEvent)for(p in{submit:1,change:1,focusin:1})o="on"+p,q=o in a,q||(a.setAttribute(o,"return;"),q=typeof a[o]=="function"),i[p+"Bubbles"]=q;return i}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[c]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function l(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark";while(g--)if(tmp=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,tmp.done(l);l();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:data-|aria-)/,u=/\:/,v;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.addClass(a.call(this,b,c.attr("class")||""))});if(a&&typeof a=="string"){var b=(a||"").split(o);for(var c=0,d=this.length;c<d;c++){var e=this[c];if(e.nodeType===1)if(!e.className)e.className=a;else{var g=" "+e.className+" ",h=e.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);e.className=f.trim(h)}}}return this},removeClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a=="string"||a===b){var c=(a||"").split(o);for(var d=0,e=this.length;d<e;d++){var g=this[d];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(n," ");for(var i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){var d=f(this);d.toggleClass(a.call(this,c,d.attr("class"),b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||"set"in c&&c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b=a.selectedIndex,c=[],d=a.options,e=a.type==="select-one";if(b<0)return null;for(var g=e?b:0,h=e?b+1:d.length;g<h;g++){var i=d[g];if(i.selected&&(f.support.optDisabled?!i.disabled:i.getAttribute("disabled")===null)&&(!i.parentNode.disabled||!f.nodeName(i.parentNode,"optgroup"))){value=f(i).val();if(e)return value;c.push(value)}}if(e&&!c.length&&d.length)return f(d[b]).val();return c},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex",readonly:"readOnly"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c]||(v&&(f.nodeName(a,"form")||u.test(c))?v:b);if(d!==b){if(d===null||d===!1&&!t.test(c)){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;d===!0&&!t.test(c)&&(d=c),a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.getAttribute("value");a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),f.support.getSetAttribute||(f.attrFix=f.extend(f.attrFix,{"for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder"}),v=f.attrHooks.name=f.attrHooks.value=f.valHooks.button={get:function(a,c){var d;if(c==="value"&&!f.nodeName(a,"button"))return a.getAttribute(c);d=a.getAttributeNode(c);return d&&d.specified?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=Object.prototype.hasOwnProperty,x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,N(a.origType,a.selector),f.extend({},a,{handler:M,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,N(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?E:D):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=E;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=E;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=E,this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var F=function(a){var b=a.relatedTarget;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&(a.type=a.data,f.event.handle.apply(this,arguments))}catch(d){}},G=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?G:F,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?G:F)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&K("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&K("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var H,I=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function J(a){var c=a.target,d,e;if(!!y.test(c.nodeName)&&!c.readOnly){d=f._data(c,"_change_data"),e=I(c),(a.type!=="focusout"||c.type!=="radio")&&f._data(c,"_change_data",e);if(d===b||e===d)return;if(d!=null||e)a.type="change",a.liveFired=b,f.event.trigger(a,arguments[1],c)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var L={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||D,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=x.exec(h),k="",j&&(k=j[0],h=h.replace(x,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,L[h]?(a.push(L[h]+k),h=h+k):h=(L[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+N(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+N(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){return a.nodeName.toLowerCase()==="input"&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(a===b){g=!0;return 0}if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=T.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/<tbody/i,ba=/<|&#?\w+;/,bb=/<(?:script|object|embed|option|style)/i,bc=/checked\s*(?:[^=]|=\s*.checked.)/i,bd=/\/(java|ecma)script/i,be={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!be[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bc.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bf(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bl)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bb.test(a[0])&&(f.support.checkClone||!bc.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[];for(var i=0,j;(j=a[i])!=null;i++){typeof j=="number"&&(j+="");if(!j)continue;if(typeof j=="string")if(!ba.test(j))j=b.createTextNode(j);else{j=j.replace(Z,"<$1></$2>");var k=($.exec(j)||["",""])[1].toLowerCase(),l=be[k]||be._default,m=l[0],n=b.createElement("div");n.innerHTML=l[1]+j+l[2];while(m--)n=n.lastChild;if(!f.support.tbody){var o=_.test(j),p=k==="table"&&!o?n.firstChild&&n.firstChild.childNodes:l[1]==="<table>"&&!o?n.childNodes:[];for(var q=p.length-1;q>=0;--q)f.nodeName(p[q],"tbody")&&!p[q].childNodes.length&&p[q].parentNode.removeChild(p[q])}!f.support.leadingWhitespace&&Y.test(j)&&n.insertBefore(b.createTextNode(Y.exec(j)[0]),n.firstChild),j=n.childNodes}var r;if(!f.support.appendChecked)if(j[0]&&typeof (r=j.length)=="number")for(i=0;i<r;i++)bk(j[i]);else bk(j);j.nodeType?h.push(j):h=f.merge(h,j)}if(d){g=function(a){return!a.type||bd.test(a.type)};for(i=0;h[i];i++)if(e&&f.nodeName(h[i],"script")&&(!h[i].type||h[i].type.toLowerCase()==="text/javascript"))e.push(h[i].parentNode?h[i].parentNode.removeChild(h[i]):h[i]);else{if(h[i].nodeType===1){var s=f.grep(h[i].getElementsByTagName("script"),g);h.splice.apply(h,[i+1,0].concat(s))}d.appendChild(h[i])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bm=/alpha\([^)]*\)/i,bn=/opacity=([^)]*)/,bo=/-([a-z])/ig,bp=/([A-Z]|^ms)/g,bq=/^-?\d+(?:px)?$/i,br=/^-?\d/,bs=/^[+\-]=/,bt=/[^+\-\.\de]+/g,bu={position:"absolute",visibility:"hidden",display:"block"},bv=["Left","Right"],bw=["Top","Bottom"],bx,by,bz,bA=function(a,b){return b.toUpperCase()};f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bx(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0,widows:!0,orphans:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bs.test(d)&&(d=+d.replace(bt,"")+parseFloat(f.css(a,c))),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bx)return bx(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bo,bA)}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){a.offsetWidth!==0?e=bB(a,b,d):f.swap(a,bu,function(){e=bB(a,b,d)});if(e<=0){e=bx(a,b,b),e==="0px"&&bz&&(e=bz(a,b,b));if(e!=null)return e===""||e==="auto"?"0px":e}if(e<0||e==null){e=a.style[b];return e===""||e==="auto"?"0px":e}return typeof e=="string"?e:e+"px"}},set:function(a,b){if(!bq.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV;try{bU=e.href}catch(bW){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bX(bS),ajaxTransport:bX(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?b$(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b_(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bY(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bY(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bZ(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var ca=f.now(),cb=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+ca++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cb.test(b.url)||e&&cb.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cb,l),b.url===j&&(e&&(k=k.replace(cb,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cc=a.ActiveXObject?function(){for(var a in ce)ce[a](0,1)}:!1,cd=0,ce;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cf()||cg()}:cf,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cc&&delete ce[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cd,cc&&(ce||(ce={},f(a).unload(cc)),ce[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ch={},ci,cj,ck=/^(?:toggle|show|hide)$/,cl=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cm,cn=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],co,cp=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cs("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",ct(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cs("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cs("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g];if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=ct(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block")),b.animatedProperties[g]=f.isArray(h)?h[1]:b.specialEasing&&b.specialEasing[g]||b.easing||"swing"}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],ck.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=cl.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[g]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cs("show",1),slideUp:cs("hide",1),slideToggle:cs("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this),f.isFunction(d.old)&&d.old.call(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=co||cq(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!cm&&(cp?(cm=1,g=function(){cm&&(cp(g),e.tick())},cp(g)):cm=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=co||cq(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a=f.timers,b=a.length;while(b--)a[b]()||a.splice(b,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cm),cm=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cu=/^t(?:able|d|h)$/i,cv=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cw(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cu.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cv.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cv.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cw(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cw(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=sharebar.js Content-Type: application/x-javascript; charset=UTF-8; name=sharebar.js Content-Location: http://aquaviews.net/wp-content/plugins/sharebar/js/sharebar.js?ver=3.1 Content-Transfer-Encoding: Base64 LyoNCiAqICBTaGFyZUJhciAtIENyZWF0ZXMgYSBkeW5hbWljLCB2ZXJ0aWNhbCBz aGFyaW5nIGJhciB0byB0aGUgbGVmdCBvZiBhIFdvcmRQcmVzcyBwb3N0IGFuZCBo aWRlcyBpdCBpZiBicm93c2VyIHdpbmRvdyBpcyB0b28gc21hbGwNCiAqICBDb3B5 cmlnaHQgMjAxMCBNb25qdXJ1bCBEb2xvbiwgaHR0cDovL21kb2xvbi5jb20vDQog KiAgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCwgQlNELCBhbmQgR1BMIExpY2Vuc2Vz Lg0KICogIE1vcmUgaW5mb3JtYXRpb246IGh0dHA6Ly9kZXZncm93LmNvbS9zaGFy ZWJhcg0KICovDQpqUXVlcnkuZm4uc2hhcmViYXIgPSBmdW5jdGlvbihvcHRpb25z KSB7DQoJdmFyIGRlZmF1bHRzID0ge2hvcml6b250YWw6IHRydWUsIHN3aWR0aDog NjUsIG1pbndpZHRoOiAxMDAwLCBwb3NpdGlvbjogJ2xlZnQnLCBsZWZ0T2Zmc2V0 OiAyMCwgcmlnaHRPZmZzZXQ6IDEwfTsNCgl2YXIgb3B0cyA9IGpRdWVyeS5leHRl bmQoZGVmYXVsdHMsIG9wdGlvbnMpOyB2YXIgbyA9IGpRdWVyeS5tZXRhID8galF1 ZXJ5LmV4dGVuZCh7fSwgb3B0cywgalF1ZXJ5alF1ZXJ5LmRhdGEoKSkgOiBvcHRz Ow0KDQoJdmFyIHcgPSBqUXVlcnkod2luZG93KS53aWR0aCgpOw0KCXZhciBzaGFy ZWJhciA9IGpRdWVyeSgnI3NoYXJlYmFyJyk7DQoJdmFyIHNoYXJlYmFyeCA9IGpR dWVyeSgnI3NoYXJlYmFyeCcpOw0KCXZhciBwYXJlbnQgPSBqUXVlcnkoc2hhcmVi YXIpLnBhcmVudCgpLndpZHRoKCk7DQoJdmFyIHN0YXJ0ID0gc2hhcmViYXJfaW5p dCgpOw0KDQoJZnVuY3Rpb24gc2hhcmViYXJfaW5pdCgpew0KCQlqUXVlcnkoc2hh cmViYXIpLmNzcygnd2lkdGgnLG8uc3dpZHRoKydweCcpOw0KCQlpZiAoby5wb3Np dGlvbiA9PSAnbGVmdCcpIGpRdWVyeShzaGFyZWJhcikuY3NzKCdtYXJnaW5MZWZ0 JywoMC1vLnN3aWR0aC1vLmxlZnRPZmZzZXQpKTsNCgkJZWxzZSB7DQoJCQlqUXVl cnkoc2hhcmViYXIpLmNzcygnbWFyZ2luTGVmdCcsKHBhcmVudCtvLnJpZ2h0T2Zm c2V0KSk7DQoJCX0NCgkJaWYodyA8IG8ubWlud2lkdGggJiYgby5ob3Jpem9udGFs KSBqUXVlcnkoc2hhcmViYXJ4KS5zbGlkZURvd24oKTsNCgkJZWxzZSBqUXVlcnko c2hhcmViYXIpLmZhZGVJbigpOw0KCQlqUXVlcnkuZXZlbnQuYWRkKHdpbmRvdywg InNjcm9sbCIsIHNoYXJlYmFyX3Njcm9sbCk7DQoJCWpRdWVyeS5ldmVudC5hZGQo d2luZG93LCAicmVzaXplIiwgc2hhcmViYXJfcmVzaXplKTsNCgkJcmV0dXJuIGpR dWVyeShzaGFyZWJhcikub2Zmc2V0KCkudG9wOw0KCX0NCglmdW5jdGlvbiBzaGFy ZWJhcl9yZXNpemUoKSB7DQoJCXZhciB3ID0galF1ZXJ5KHdpbmRvdykud2lkdGgo KTsNCgkJaWYodzxvLm1pbndpZHRoKXsNCgkJCWpRdWVyeShzaGFyZWJhcikuZmFk ZU91dCgpOw0KCQkJaWYoby5ob3Jpem9udGFsKSBqUXVlcnkoc2hhcmViYXJ4KS5z bGlkZURvd24oKTsNCgkJfWVsc2V7DQoJCQlqUXVlcnkoc2hhcmViYXIpLmZhZGVJ bigpOw0KCQkJaWYoby5ob3Jpem9udGFsKSBqUXVlcnkoc2hhcmViYXJ4KS5zbGlk ZVVwKCk7DQoJCX0NCgl9DQoJZnVuY3Rpb24gc2hhcmViYXJfc2Nyb2xsKCkgew0K CQl2YXIgcCA9IGpRdWVyeSh3aW5kb3cpLnNjcm9sbFRvcCgpOw0KCQl2YXIgdyA9 IGpRdWVyeSh3aW5kb3cpLndpZHRoKCk7DQoJCWpRdWVyeShzaGFyZWJhcikuY3Nz KCdwb3NpdGlvbicsKChwKzEwKT5zdGFydCkgPyAnZml4ZWQnIDogJ2Fic29sdXRl Jyk7DQoJCWpRdWVyeShzaGFyZWJhcikuY3NzKCd0b3AnLCgocCsxMCk+c3RhcnQp ID8gJzEwcHgnIDogJycpOw0KCX0NCg0KfTs= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=jquery.jsonp-2.1.4.min.js Content-Type: application/x-javascript; charset=UTF-8; name=jquery.jsonp-2.1.4.min.js Content-Location: http://aquaviews.net/wp-content/plugins/tweet-blender/js/jquery.jsonp-2.1.4.min.js?ver=3.1 Content-Transfer-Encoding: Base64 Ly8ganF1ZXJ5Lmpzb25wIDIuMS40IChjKTIwMTAgSnVsaWFuIEF1Ym91cmcgfCBN SVQgTGljZW5zZQovLyBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvanF1ZXJ5LWpz b25wLwooZnVuY3Rpb24oZSxiKXtmdW5jdGlvbiBkKCl7fWZ1bmN0aW9uIHQoQyl7 Yz1bQ119ZnVuY3Rpb24gbShDKXtmLmluc2VydEJlZm9yZShDLGYuZmlyc3RDaGls ZCl9ZnVuY3Rpb24gbChFLEMsRCl7cmV0dXJuIEUmJkUuYXBwbHkoQy5jb250ZXh0 fHxDLEQpfWZ1bmN0aW9uIGsoQyl7cmV0dXJuL1w/Ly50ZXN0KEMpPyImIjoiPyJ9 dmFyIG49ImFzeW5jIixzPSJjaGFyc2V0IixxPSIiLEE9ImVycm9yIixyPSJfanFq c3AiLHc9Im9uIixvPXcrImNsaWNrIixwPXcrQSxhPXcrImxvYWQiLGk9dysicmVh ZHlzdGF0ZWNoYW5nZSIsej0icmVtb3ZlQ2hpbGQiLGc9IjxzY3JpcHQvPiIsdj0i c3VjY2VzcyIseT0idGltZW91dCIseD1lLmJyb3dzZXIsZj1lKCJoZWFkIilbMF18 fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx1PXt9LGo9MCxjLGg9e2NhbGxiYWNr OnIsdXJsOmxvY2F0aW9uLmhyZWZ9O2Z1bmN0aW9uIEIoQyl7Qz1lLmV4dGVuZCh7 fSxoLEMpO3ZhciBRPUMuY29tcGxldGUsRT1DLmRhdGFGaWx0ZXIsTT1DLmNhbGxi YWNrUGFyYW1ldGVyLFI9Qy5jYWxsYmFjayxHPUMuY2FjaGUsSj1DLnBhZ2VDYWNo ZSxJPUMuY2hhcnNldCxEPUMudXJsLEw9Qy5kYXRhLFA9Qy50aW1lb3V0LE8sSz0w LEg9ZDtDLmFib3J0PWZ1bmN0aW9uKCl7IUsrKyYmSCgpfTtpZihsKEMuYmVmb3Jl U2VuZCxDLFtDXSk9PT1mYWxzZXx8Syl7cmV0dXJuIEN9RD1EfHxxO0w9TD8oKHR5 cGVvZiBMKT09InN0cmluZyI/TDplLnBhcmFtKEwsQy50cmFkaXRpb25hbCkpOnE7 RCs9TD8oayhEKStMKTpxO00mJihEKz1rKEQpK2VuY29kZVVSSUNvbXBvbmVudChN KSsiPT8iKTshRyYmIUomJihEKz1rKEQpKyJfIisobmV3IERhdGUoKSkuZ2V0VGlt ZSgpKyI9Iik7RD1ELnJlcGxhY2UoLz1cPygmfCQpLywiPSIrUisiJDEiKTtmdW5j dGlvbiBOKFMpeyFLKysmJmIoZnVuY3Rpb24oKXtIKCk7SiYmKHVbRF09e3M6W1Nd fSk7RSYmKFM9RS5hcHBseShDLFtTXSkpO2woQy5zdWNjZXNzLEMsW1Msdl0pO2wo USxDLFtDLHZdKX0sMCl9ZnVuY3Rpb24gRihTKXshSysrJiZiKGZ1bmN0aW9uKCl7 SCgpO0omJlMhPXkmJih1W0RdPVMpO2woQy5lcnJvcixDLFtDLFNdKTtsKFEsQyxb QyxTXSl9LDApfUomJihPPXVbRF0pPyhPLnM/TihPLnNbMF0pOkYoTykpOmIoZnVu Y3Rpb24oVCxTLFUpe2lmKCFLKXtVPVA+MCYmYihmdW5jdGlvbigpe0YoeSl9LFAp O0g9ZnVuY3Rpb24oKXtVJiZjbGVhclRpbWVvdXQoVSk7VFtpXT1UW29dPVRbYV09 VFtwXT1udWxsO2Zbel0oVCk7UyYmZlt6XShTKX07d2luZG93W1JdPXQ7VD1lKGcp WzBdO1QuaWQ9citqKys7aWYoSSl7VFtzXT1JfWZ1bmN0aW9uIFYoVyl7KFRbb118 fGQpKCk7Vz1jO2M9dW5kZWZpbmVkO1c/TihXWzBdKTpGKEEpfWlmKHgubXNpZSl7 VC5ldmVudD1vO1QuaHRtbEZvcj1ULmlkO1RbaV09ZnVuY3Rpb24oKXsvbG9hZGVk fGNvbXBsZXRlLy50ZXN0KFQucmVhZHlTdGF0ZSkmJlYoKX19ZWxzZXtUW3BdPVRb YV09Vjt4Lm9wZXJhPygoUz1lKGcpWzBdKS50ZXh0PSJqUXVlcnkoJyMiK1QuaWQr IicpWzBdLiIrcCsiKCkiKTpUW25dPW59VC5zcmM9RDttKFQpO1MmJm0oUyl9fSww KTtyZXR1cm4gQ31CLnNldHVwPWZ1bmN0aW9uKEMpe2UuZXh0ZW5kKGgsQyl9O2Uu anNvbnA9Qn0pKGpRdWVyeSxzZXRUaW1lb3V0KTs= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=lib.js Content-Type: application/x-javascript; charset=UTF-8; name=lib.js Content-Location: http://aquaviews.net/wp-content/plugins/tweet-blender/js/lib.js?ver=3.1 Content-Transfer-Encoding: Base64 LyoKICogTGlicmFyeSBvZiBzaGFyZWQgSlMgZnVuY3Rpb25zIGFuZCBkYXRhIHN0 cnVjdHVyZXMKICovCgovLyBGYWxsYmFjayBmb3Igc2l0ZXMgbm90IHN1cHBvcnRp bmcgd3BfbG9jYWxpemVfc2NyaXB0CmlmICh0eXBlb2YoVEJfbGFiZWxzKSA9PSAn dW5kZWZpbmVkJykgewoJdmFyIFRCX2xhYmVscyA9IHsKCQlub19jb25maWc6ICJO byBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvdW5kIiwKCQl0d2l0dGVyX2xvZ286 ICJUd2l0dGVyIExvZ28iLAoJCWtpbm86ICJEZXZlbG9wbWVudCBieSBLaXJpbGwg Tm92aXRjaGVua28iLAoJCXJlZnJlc2g6ICJSZWZyZXNoIiwKCQlub19zb3VyY2Vz OiAiVHdpdHRlciBzb3VyY2VzIHRvIGJsZW5kIGFyZSBub3QgZGVmaW5lZCIsCgkJ bm9fZ2xvYmFsX2NvbmZpZzogIkNhbm5vdCByZXRyaWV2ZSBUd2VldCBCbGVuZGVy IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyIsCgkJdmVyc2lvbl9tc2c6ICJQb3dlcmVk IGJ5IFR3ZWV0IEJsZW5kZXIgcGx1Z2luIHZ7MH0gYmxlbmRpbmcgezF9IiwKCQls aW1pdF9tc2c6ICJZb3UgcmVhY2hlZCBUd2l0dGVyIEFQSSBjb25uZWN0aW9uIGxp bWl0IiwKCQlub190d2VldHNfbXNnOiAiTm8gdHdlZXRzIGZvdW5kIGZvciB7MH0i LAoJCWxvYWRpbmdfbXNnOiAiTG9hZGluZyB0d2VldHMuLi4iLAoJCXRpbWVfcGFz dDogInswfSB7MX0gYWdvIiwKCQl0aW1lX2Z1dHVyZTogImluIHswfSB7MX0iLAoJ CXNlY29uZDogInNlY29uZCIsCgkJc2Vjb25kczogInNlY29uZHMiLAoJCW1pbnV0 ZTogIm1pbnV0ZSIsCgkJbWludXRlczogIm1pbnV0ZXMiLAoJCWhvdXI6ICJob3Vy IiwKCQlob3VyczogImhvdXJzIiwKCQlkYXk6ICJkYXkiLAoJCWRheXM6ICJkYXlz IiwKCQl3ZWVrOiAid2VlayIsCgkJd2Vla3M6ICJ3ZWVrcyIsCgkJbW9udGg6ICJt b250aCIsCgkJbW9udGhzOiAibW9udGhzIiwKCQl5ZWFyOiAieWVhciIsCgkJeWVh cnM6ICJ5ZWFycyIsCgkJY2hlY2tfZmFpbDogIkNoZWNrIGZhaWxlZCIsCgkJbGlt aXRfbnVtOiAiTWF4IGlzIHswfS9ob3VyIiwKCQlsaW1pdF9sZWZ0OiAiWW91IGhh dmUgezB9IGxlZnQiLAoJCWZyb206ICJmcm9tIiwKCQlyZXBseTogInJlcGx5IiwK CQlmb2xsb3c6ICJmb2xsb3ciLAoJCWxpbWl0X3Jlc2V0OiAiTmV4dCByZXNldCIK CX07Cn0KCnZhciBUQl9tb250aE51bWJlciA9IHsnSmFuJzoxLCdGZWInOjIsJ01h cic6MywnQXByJzo0LCdNYXknOjUsJ0p1bic6NiwnSnVsJzo3LCdBdWcnOjgsJ1Nl cCc6OSwnT2N0JzoxMCwnTm92JzoxMSwnRGVjJzoxMn0sClRCX3RpbWVQZXJpb2Rz ID0gbmV3IEFycmF5KFRCX2xhYmVscy5zZWNvbmQsIFRCX2xhYmVscy5taW51dGUs IFRCX2xhYmVscy5ob3VyLCBUQl9sYWJlbHMuZGF5LCBUQl9sYWJlbHMud2Vlaywg VEJfbGFiZWxzLm1vbnRoLCBUQl9sYWJlbHMueWVhciksClRCX3RpbWVQZXJpb2Rz UGx1cmFsID0gbmV3IEFycmF5KFRCX2xhYmVscy5zZWNvbmRzLCBUQl9sYWJlbHMu bWludXRlcywgVEJfbGFiZWxzLmhvdXJzLCBUQl9sYWJlbHMuZGF5cywgVEJfbGFi ZWxzLndlZWtzLCBUQl9sYWJlbHMubW9udGhzLCBUQl9sYWJlbHMueWVhcnMpLApU Ql90aW1lUGVyaW9kTGVuZ3RocyA9IG5ldyBBcnJheSgiNjAiLCI2MCIsIjI0Iiwi NyIsIjQuMzUiLCIxMiIpOwoKLy9zZWFyY2g6IFdlZCwgMjcgTWF5IDIwMDkgMTU6 NTI6NDAgKzAwMDAKLy91c2VyIGZlZWQ6IFRodSBNYXkgMjEgMDA6MDk6MTYgKzAw MDAgMjAwOQpmdW5jdGlvbiBUQl9zdHIyZGF0ZShkYXRlU3RyaW5nKSB7CgkKCXZh ciBkYXRlT2JqID0gbmV3IERhdGUoKSwKCWRhdGVEYXRhID0gZGF0ZVN0cmluZy5z cGxpdCgvW1xzXDpdLyk7CgkKCS8vIGlmIGl0J3MgYSBzZWFyY2ggZm9ybWF0Cglp ZiAoZGF0ZVN0cmluZy5pbmRleE9mKCcsJykgPj0gMCkgewoJCS8vICR3ZGF5LCRt ZGF5LCAkbW9uLCAkeWVhciwgJGhvdXIsJG1pbiwkc2VjLCRvZmZzZXQKCQlkYXRl T2JqLnNldFVUQ0Z1bGxZZWFyKGRhdGVEYXRhWzNdLFRCX21vbnRoTnVtYmVyWyIi K2RhdGVEYXRhWzJdXS0xLGRhdGVEYXRhWzFdKTsKCQlkYXRlT2JqLnNldFVUQ0hv dXJzKGRhdGVEYXRhWzRdLGRhdGVEYXRhWzVdLGRhdGVEYXRhWzZdLDApOwoJfQoJ Ly8gaWYgaXQncyBhIHVzZXIgZmVlZCBmb3JtYXQKCWVsc2UgewoJCS8vICR3ZGF5 LCRtb24sJG1kYXksJGhvdXIsJG1pbiwkc2VjLCRvZmZzZXQsJHllYXIKCQlkYXRl T2JqLnNldFVUQ0Z1bGxZZWFyKGRhdGVEYXRhWzddLFRCX21vbnRoTnVtYmVyWyIi K2RhdGVEYXRhWzFdXS0xLGRhdGVEYXRhWzJdKTsKCQlkYXRlT2JqLnNldFVUQ0hv dXJzKGRhdGVEYXRhWzNdLGRhdGVEYXRhWzRdLGRhdGVEYXRhWzVdLDApOwoJfQoK CXJldHVybiBkYXRlT2JqOwp9CgpmdW5jdGlvbiBUQl92ZXJiYWxUaW1lKGRhdGVP YmopIHsKCiB2YXIgaiwKCW5vdyA9IG5ldyBEYXRlKCksCglkaWZmZXJlbmNlLAoJ dmVyYmFsVGltZSwKCXRlbXBsYXRlOwoJCglpZiAobm93LmdldFRpbWUoKSA+IGRh dGVPYmouZ2V0VGltZSgpKSB7CgkJZGlmZmVyZW5jZSA9IE1hdGgucm91bmQoKG5v dy5nZXRUaW1lKCkgLSBkYXRlT2JqLmdldFRpbWUoKSkgLyAxMDAwKTsKCQl0ZW1w bGF0ZSA9IFRCX2xhYmVscy50aW1lX3Bhc3Q7Cgl9CgllbHNlIHsKCQlkaWZmZXJl bmNlID0gTWF0aC5yb3VuZCgoZGF0ZU9iai5nZXRUaW1lKCkgLSBub3cuZ2V0VGlt ZSgpKSAvIDEwMDApOwoJCXRlbXBsYXRlID0gVEJfbGFiZWxzLnRpbWVfZnV0dXJl OwoJfQoJCQoKIGZvcihqID0gMDsgZGlmZmVyZW5jZSA+PSBUQl90aW1lUGVyaW9k TGVuZ3Roc1tqXSAmJiBqIDwgVEJfdGltZVBlcmlvZExlbmd0aHMubGVuZ3RoOyBq KyspIHsKICAgICBkaWZmZXJlbmNlID0gZGlmZmVyZW5jZSAvIFRCX3RpbWVQZXJp b2RMZW5ndGhzW2pdOwogfQogZGlmZmVyZW5jZSA9IE1hdGgucm91bmQoZGlmZmVy ZW5jZSk7CgogdmVyYmFsVGltZSA9IFRCX3RpbWVQZXJpb2RzW2pdOwogaWYgKGRp ZmZlcmVuY2UgIT0gMSkgewogICAgIHZlcmJhbFRpbWUgPSBUQl90aW1lUGVyaW9k c1BsdXJhbFtqXTs7CiB9CgogcmV0dXJuIHRlbXBsYXRlLmZvcm1hdChkaWZmZXJl bmNlLHZlcmJhbFRpbWUpOwp9CgpmdW5jdGlvbiBUQl9hZGRMb2FkRXZlbnQoZnVu YykgeyAKCXZhciBvbGRvbmxvYWQgPSB3aW5kb3cub25sb2FkOyAKCWlmICh0eXBl b2Ygd2luZG93Lm9ubG9hZCAhPSAnZnVuY3Rpb24nKSB7IAoJICAgIHdpbmRvdy5v bmxvYWQgPSBmdW5jOyAKCX0gZWxzZSB7IAoJICAgIHdpbmRvdy5vbmxvYWQgPSBm dW5jdGlvbigpIHsgCgkgICAgICBvbGRvbmxvYWQoKTsgCgkgICAgICBmdW5jKCk7 IAoJICAgIH0KCX0gCn0KCi8vZnVuY3Rpb24gdG8gZ2V0IHRoZSBzaXplIG9mIGFu IG9iamVjdApmdW5jdGlvbiBUQl9nZXRPYmplY3RTaXplKG9iaikgewoJdmFyIHNp emUgPSAwLCBrZXk7Cglmb3IgKGtleSBpbiBvYmopIHsKCSAgICAgaWYgKG9iai5o YXNPd25Qcm9wZXJ0eShrZXkpKSBzaXplKys7Cgl9CglyZXR1cm4gc2l6ZTsKfQoK Ly9mdW5jdGlvbiB0byBkZWR1cGUgYXJyYXkKZnVuY3Rpb24gVEJfZ2V0VW5pcXVl RWxlbWVudHMoYXJyKSB7CgkgdmFyIHVuaXF1ZXMgPSBbXSwgaSwgdmFsOwoJIGZv cihpPWFyci5sZW5ndGg7aS0tOyl7CgkgICAgIHZhbCA9IGFycltpXTsgIAoJICAg ICBpZihqUXVlcnkuaW5BcnJheSggdmFsLCB1bmlxdWVzICk9PT0tMSl7CgkgICAg ICAgICB1bmlxdWVzLnVuc2hpZnQodmFsKTsKCSAgICAgfQoJIH0KCSByZXR1cm4g dW5pcXVlczsKfQoKLy9BZGQgZm9ybWF0IGZ1bmN0aW9uIHRvIGVuYWJsZSB0ZW1w bGF0ZXMKU3RyaW5nLnByb3RvdHlwZS5mb3JtYXQgPSBmdW5jdGlvbigpIHsKCXZh ciBzID0gdGhpcywgaSA9IGFyZ3VtZW50cy5sZW5ndGg7CgoJIHdoaWxlIChpLS0p IHsKCSAgICAgcyA9IHMucmVwbGFjZShuZXcgUmVnRXhwKCdcXHsnICsgaSArICdc XH0nLCAnZ20nKSwgYXJndW1lbnRzW2ldKTsKCSB9CgkgcmV0dXJuIHM7Cn07Cg== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=main.js Content-Type: application/x-javascript; charset=UTF-8; name=main.js Content-Location: http://aquaviews.net/wp-content/plugins/tweet-blender/js/main.js?ver=3.1 Content-Transfer-Encoding: Base64 LyoqCiAqIEBhdXRob3IgaHR0cDovL2tpcmlsbC1ub3ZpdGNoZW5rby5jb20KICov Cgp2YXIgVEJfdmVyc2lvbiA9ICczLjMuOScsCS8vIFBsdWdpbiB2ZXJzaW9uIApU Ql9yYXRlTGltaXREYXRhLApUQl90bXAsClRCX21vZGUgPSAnd2lkZ2V0JywKVEJf c3RhcnRlZCA9IGZhbHNlLApUQl90d2VldHNUb0NhY2hlID0gbmV3IE9iamVjdCgp LApUQl9hbGxTb3VyY2VzID0gbmV3IEFycmF5KCksCmpRbmMgPSBqUXVlcnksClRC X3NvdXJjZUNvdW50cyA9IG5ldyBBcnJheSgpLApUQl9zb3VyY2VOYW1lcyA9IG5l dyBBcnJheSgpLApUQl9zZWVuVHdlZXRzID0gbmV3IEFycmF5KCk7CgovLyBpbml0 aWFsaXplIGVhY2ggd2lkZ2V0CmZ1bmN0aW9uIFRCX3N0YXJ0KCkgewoKCS8vIHBy ZXZlbnQgaW5pdGlhbGl6aW5nIHR3aWNlCglpZiAoVEJfc3RhcnRlZCkgewoJCXJl dHVybjsKCX0KCWVsc2UgewoJCVRCX3N0YXJ0ZWQgPSB0cnVlOwoJfQoJCgkvLyBj aGVjayB0byBtYWtlIHN1cmUgY29uZmlnIGlzIGluY2x1ZGVkCglpZiAodHlwZW9m KFRCX2NvbmZpZykgPT0gJ3VuZGVmaW5lZCcpIHsKCQlUQl9zaG93TWVzc2FnZShu dWxsLCdub2NvbmYnLFRCX2xhYmVscy5ub19jb25maWcsdHJ1ZSk7CgkJcmV0dXJu OwoJfQoJCQoJLy8gcHJvY2VzcyB3aWRnZXQgY29uZmlndXJhdGlvbgoJVEJfY29u ZmlnLndpZGdldHMgPSBuZXcgT2JqZWN0KCk7CglqUXVlcnkuZWFjaChqUXVlcnko J2Zvcm0udGItd2lkZ2V0LWNvbmZpZ3VyYXRpb24nKSxmdW5jdGlvbihpLG9iail7 CgoJCXZhciB3aWRnZXRDb25mSWQgPSBvYmouaWQsCgkJd2lkZ2V0SWQsCgkJd2lk Z2V0SFRNTCwKCQluZWVkV2lkZ2V0SFRNTCA9IGZhbHNlOwoJCQoJCS8vIGlmIHRo ZXJlIGlzIHdpZGdldCBIVE1MIGRpdiBmb2xsb3dpbmcgdGhlIGZvcm0gd2UgZG9u J3QgbmVlZCB0byBidWlsZCBIVE1MCgkJaWYgKGpRdWVyeSgnIycrb2JqLmlkKS5u ZXh0KCkubGVuZ3RoID4gMCkgeyAKCQkJaWYgKGpRdWVyeSgnIycgKyBvYmouaWQp Lm5leHQoKS5hdHRyKCdpZCcpICE9ICcnKSB7CgkJCQlpZiAoalF1ZXJ5KCcjJyAr IG9iai5pZCkubmV4dCgpLmF0dHIoJ2lkJykuaW5kZXhPZignLW1jJykgPiAwKSB7 CgkJCQkJd2lkZ2V0SWQgPSB3aWRnZXRDb25mSWQuc3Vic3RyKDAsIHdpZGdldENv bmZJZC5sZW5ndGggLSAyKTsKCQkJCX0KCQkJCWVsc2UgewoJCQkJCW5lZWRXaWRn ZXRIVE1MID0gdHJ1ZTsKCQkJCQl3aWRnZXRJZCA9IHdpZGdldENvbmZJZDsKCQkJ CX0KCQkJfQoJCQllbHNlIHsKCQkJCW5lZWRXaWRnZXRIVE1MID0gdHJ1ZTsKCQkJ CXdpZGdldElkID0gd2lkZ2V0Q29uZklkOwoJCQl9CgkJfQoJCS8vIGlmIGl0J3Mg anVzdCBhIGZvcm0gLT4gYXNzdW1lIHRoYXQncyBwb3N0L3BhZ2UgYm9keSBjb250 ZW50CgkJZWxzZSB7CgkJCW5lZWRXaWRnZXRIVE1MID0gdHJ1ZTsKCQkJd2lkZ2V0 SWQgPSB3aWRnZXRDb25mSWQ7CgkJfQoJCQoJCVRCX2NvbmZpZy53aWRnZXRzW3dp ZGdldElkXSA9IG5ldyBPYmplY3Q7CgkJCgkJLy8gc2V0IGFsbCBwcm9wZXJ0aWVz CgkJalF1ZXJ5LmVhY2goalF1ZXJ5KCcjJyt3aWRnZXRDb25mSWQpLmZpbmQoJ2lu cHV0JyksZnVuY3Rpb24oaixwcm9wZXJ0eSkgewoJCQlUQl9jb25maWcud2lkZ2V0 c1t3aWRnZXRJZF1bcHJvcGVydHkubmFtZV0gPSBwcm9wZXJ0eS52YWx1ZTsKCQl9 KTsKCQkKCQlpZiAodHlwZW9mKFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS5z b3VyY2VzKSAhPSAndW5kZWZpbmVkJykgewoJCQlUQl9hbGxTb3VyY2VzID0gVEJf YWxsU291cmNlcy5jb25jYXQoVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnNv dXJjZXMuc3BsaXQoJywnKSk7CgkJfQoJCQoJCWlmIChuZWVkV2lkZ2V0SFRNTCkg ewoJCQkvLyBhZGQgd2lkZ2V0IEhUTUwKCQkJd2lkZ2V0SFRNTCA9ICc8ZGl2IGlk PSInICsgd2lkZ2V0SWQgKyAnLW1jIj48ZGl2IGNsYXNzPSJ0Yl9oZWFkZXIiPicg KwoJCQkJJzxpbWcgY2xhc3M9InRiX3R3aXR0ZXJsb2dvIiBzcmM9IicgKyBUQl9w bHVnaW5QYXRoICsgJy9pbWcvdHdpdHRlci1sb2dvLnBuZyIgYWx0PSInICsgVEJf bGFiZWxzLnR3aXR0ZXJfbG9nbyArICciIC8+JyArCgkJCQknPGRpdiBjbGFzcz0i dGJfdG9vbHMiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnICsgVEJfcGx1 Z2luUGF0aCArICcvaW1nL2JnX3NtLnBuZykiPicgKwoJCQkJJzxhIGNsYXNzPSJ0 Yl9pbmZvbGluayIgaHJlZj0iaHR0cDovL2tpcmlsbC1ub3ZpdGNoZW5rby5jb20i IHRpdGxlPSInICsgVEJfbGFiZWxzLmtpbm8gKyAnIiBzdHlsZT0iYmFja2dyb3Vu ZC1pbWFnZTp1cmwoJyArIFRCX3BsdWdpblBhdGggKyAnL2ltZy9pbmZvLWtpbm8u cG5nKSI+IDwvYT4nICsKCQkJCSc8YSBjbGFzcz0idGJfcmVmcmVzaGxpbmsiIGhy ZWY9ImphdmFzY3JpcHQ6VEJfYmxlbmQoXCcnICsgd2lkZ2V0SWQgKyAnXCcpOyIg dGl0bGU9IicgKyBUQl9sYWJlbHMucmVmcmVzaCArICciPjxpbWcgc3JjPSInICsg VEJfcGx1Z2luUGF0aCArICcvaW1nL2FqYXgtcmVmcmVzaC1pY29uLmdpZiIgYWx0 PSInICsgVEJfbGFiZWxzLnJlZnJlc2ggKyAnIiAvPjwvYT48L2Rpdj48L2Rpdj4n OwoJCQlpZiAoVEJfY29uZmlnLmdlbmVyYWxfc2VvX3R3ZWV0c19nb29nbGVvZmYp IHsKCQkJCXR3ZWV0SFRNTCArPSAnPCEtLWdvb2dsZW9mZjogaW5kZXgtLT48ZGl2 IGNsYXNzPSJ0Yl90d2VldGxpc3QiPjwvZGl2PjwhLS1nb29nbGVvbjogaW5kZXgt LT4nOwoJCQl9CgkJCWVsc2UgewoJCQkJd2lkZ2V0SFRNTCArPSAnPGRpdiBjbGFz cz0idGJfdHdlZXRsaXN0Ij48L2Rpdj4nOwoJCQl9CgkJCXdpZGdldEhUTUwgKz0g JzxkaXYgY2xhc3M9InRiX2Zvb3RlciI+JzsKCQkJaWYgKCFUQl9jb25maWcuYXJj aGl2ZV9pc19kaXNhYmxlZCkgewoJCQkJaWYgKFRCX2NvbmZpZy53aWRnZXRzW3dp ZGdldElkXS52aWV3TW9yZVVybCkgewoJCQkJCXdpZGdldEhUTUwgKz0gJzxhIGNs YXNzPSJ0Yl9hcmNoaXZlbGluayIgaHJlZj0iJyArIFRCX2NvbmZpZy53aWRnZXRz W3dpZGdldElkXS52aWV3TW9yZVVybCArICciPnZpZXcgbW9yZSAmcmFxdW87PC9h Pic7CgkJCQl9CgkJCQllbHNlIGlmIChUQl9jb25maWcuZGVmYXVsdF92aWV3X21v cmVfdXJsKSB7CgkJCQkJd2lkZ2V0SFRNTCArPSAnPGEgY2xhc3M9InRiX2FyY2hp dmVsaW5rIiBocmVmPSInICsgVEJfY29uZmlnLmRlZmF1bHRfdmlld19tb3JlX3Vy bCArICciPnZpZXcgbW9yZSAmcmFxdW87PC9hPic7CgkJCQl9CgkJCX0KCQkJd2lk Z2V0SFRNTCArPSAnPC9kaXY+PC9kaXY+JzsKCQkJalF1ZXJ5KCcjJytvYmouaWQp LmFmdGVyKHdpZGdldEhUTUwpOwoJCX0KCX0pOwoKCS8vIGlmIHRoZXJlIGFyZSBu byB3aWRnZXRzIG9uIHRoZSBwYWdlIC0gbm8gbmVlZCB0byBjb250aW51ZQoJaWYg KFRCX2dldE9iamVjdFNpemUoVEJfY29uZmlnLndpZGdldHMpIDwgMSkgewoJCXJl dHVybjsKCX0KCQoJLy8gZGUtZHVwZSBsaXN0IG9mIGFsbCBzb3VyY2VzCglUQl9h bGxTb3VyY2VzID0gVEJfZ2V0VW5pcXVlRWxlbWVudHMoVEJfYWxsU291cmNlcyk7 CgkKCWpRdWVyeSgnZGl2LnRiX3Rvb2xzJykuY3NzKCdiYWNrZ3JvdW5kLWltYWdl JywndXJsKCcgKyBUQl9wbHVnaW5QYXRoICsgJy9pbWcvYmcucG5nKScpLndpZHRo KDU2KTsKCWpRdWVyeSgnYS50Yl9pbmZvbGluaycpLmNzcygnZGlzcGxheScsJ2lu bGluZScpLmNzcygnbWFyZ2luLXJpZ2h0JywnMTFweCcpOwoJCgkvLyBtYWtlIHN1 cmUgcGx1Z2lucyBhcmUgYXZhaWxhYmxlCglpZiAodHlwZW9mKGpRdWVyeS50b0pT T04pID09ICd1bmRlZmluZWQnICYmIHR5cGVvZihqUW5jLnRvSlNPTikgPT0gJ2Z1 bmN0aW9uJykgewoJCWpRdWVyeS50b0pTT04gPSBqUW5jLnRvSlNPTjsKCX0KCWlm ICh0eXBlb2YoalF1ZXJ5Lmpzb25wKSA9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Yo alFuYy5qc29ucCkgPT0gJ2Z1bmN0aW9uJykgewoJCWpRdWVyeS5qc29ucCA9IGpR bmMuanNvbnA7Cgl9CgoJLy8gaWYgdGhlcmUgaXMgbm8gYXJjaGl2ZSBwYWdlLCBo aWRlIHZpZXcgbW9yZSBsaW5rcwoJaWYgKCFUQl9jb25maWcuZGVmYXVsdF92aWV3 X21vcmVfdXJsKSB7CgkJalF1ZXJ5KCdhLmRlZmF1bHRVcmwnKS5oaWRlKCk7Cgl9 CgkKCS8vIGdldCBjb25maWcgb3B0aW9ucyBhbmQgYmxlbmQKCWlmICh0eXBlb2Yo VEJfY29uZmlnKSAhPSAndW5kZWZpbmVkJykgewoJCQoJCS8vIGlmIGFkbWluIHR1 cm5lZCBvbiByZS1yb3V0ZQoJCWlmIChUQl9jb25maWdbJ2FkdmFuY2VkX3Jlcm91 dGVfb24nXSkgewoJCQlUQl9jb25maWdbJ3JhdGVfbGltaXRfdXJsJ10gPSB7CgkJ CQkndXJsJzogVEJfcGx1Z2luUGF0aCArICcvd3MucGhwP2FjdGlvbj1yYXRlX2xp bWl0X3N0YXR1cycsCgkJCQknZHR5cGUnOiAnanNvbicKCQkJfTsKCQl9CgkJLy8g ZWxzZSBjaGVjayBsaW1pdCBmb3IgdGhlIHVzZXIncyBQQwoJCWVsc2UgewoJCQlU Ql9jb25maWdbJ3JhdGVfbGltaXRfdXJsJ10gPSB7CgkJCQkndXJsJzogJ2h0dHA6 Ly90d2l0dGVyLmNvbS9hY2NvdW50L3JhdGVfbGltaXRfc3RhdHVzLmpzb24nLAoJ CQkJJ2R0eXBlJzogJ2pzb25wJwoJCQl9OwoJCX0KCQkKCQkvLyBmb3IgZWFjaCB3 aWRnZXQgb24gdGhlIHBhZ2UKCQlmb3IgKHdpZGdldElkIGluIFRCX2NvbmZpZy53 aWRnZXRzKSB7CgkJCQoJCQlpZiAodHlwZW9mKFRCX2NvbmZpZy53aWRnZXRzW3dp ZGdldElkXS5zb3VyY2VzKSA9PSAndW5kZWZpbmVkJyB8fCBUQl9jb25maWcud2lk Z2V0c1t3aWRnZXRJZF0uc291cmNlcyA9PSAnJykgewoJCQkJVEJfc2hvd01lc3Nh Z2Uod2lkZ2V0SWQsJ25vc3JjJyxUQl9sYWJlbHMubm9fc291cmNlcywgdHJ1ZSk7 CgkJCX0KCQkJZWxzZSB7CgkKCQkJCS8vIGNyZWF0ZSBpbmZvIGJveCBzaG93biB3 aGVuIFR3aXR0ZXIgbG9nbyBpcyBjbGlja2VkCgkJCQlUQl9pbml0SW5mb0JveCh3 aWRnZXRJZCk7CgkJCQkKCQkJCS8vIGNyZWF0ZSBhbGwgdGhlIHVybHMgZm9yIHJl ZnJlc2ggY2FsbHMKCQkJCVRCX21ha2VBamF4VVJMcyh3aWRnZXRJZCk7CQkJCgkK CQkJCS8vIHVwZGF0ZSB2YWx1ZXMgdG8gcmVmbGVjdCBjYWNoZSB1c2UgaWYgdGhl cmUgYXJlIGRpdnMgd2l0aCB0d2VldHMgYWxyZWFkeQoJCQkJVEJfY29uZmlnLndp ZGdldHNbd2lkZ2V0SWRdWydtaW5Ud2VldElkJ10gPSAwOwoJCQkJVEJfY29uZmln LndpZGdldHNbd2lkZ2V0SWRdWydtYXhUd2VldElkJ10gPSAwOwoJCQkJaWYgKGpR dWVyeSgnIycrd2lkZ2V0SWQgKyAnLW1jID4gZGl2LnRiX3R3ZWV0bGlzdCA+IGRp di50Yl90d2VldCcpLnNpemUoKSA+IDApIHsKCQkJCQlpZiAoVEJfdG1wID0galF1 ZXJ5KCcjJyt3aWRnZXRJZCArICctbWMgPiBkaXYudGJfdHdlZXRsaXN0ID4gZGl2 Omxhc3QnKS5hdHRyKCdpZCcpKSB7CgkJCQkJCVRCX2NvbmZpZy53aWRnZXRzW3dp ZGdldElkXVsnbWluVHdlZXRJZCddID0gVEJfdG1wOwoJCQkJCX0KCQkJCQlpZiAo VEJfdG1wID0galF1ZXJ5KCcjJyt3aWRnZXRJZCArICctbWMgPiBkaXYudGJfdHdl ZXRsaXN0ID4gZGl2OmZpcnN0JykuYXR0cignaWQnKSkgewoJCQkJCQlUQl9jb25m aWcud2lkZ2V0c1t3aWRnZXRJZF1bJ21heFR3ZWV0SWQnXSA9IFRCX3RtcDsKCQkJ CQl9CgkJCQl9CgkJCQlUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF1bJ3R3ZWV0 c1Nob3duJ10gPSBqUXVlcnkoJyMnK3dpZGdldElkICsgJy1tYyA+IGRpdi50Yl90 d2VldGxpc3QnKS5jaGlsZHJlbignZGl2Jykuc2l6ZSgpOwoJCQkJCgkJCQkvLyB3 aXJlIG1vdXNlIG92ZXJzIHRvIGV4aXN0aW5nIHR3ZWV0cwoJCQkJalF1ZXJ5LmVh Y2goalF1ZXJ5KCcjJyArIHdpZGdldElkICsgJy1tYyA+IGRpdi50Yl90d2VldGxp c3QnKS5jaGlsZHJlbignZGl2JyksZnVuY3Rpb24oaSxvYmopeyBUQl93aXJlTW91 c2VPdmVyKG9iai5pZCk7IH0pOwoKCQkJCQkvLyB3aXJlIHRhcmdldD0iX2JsYW5r IiBvbiBsaW5rcwoJCQkJCWpRdWVyeSgnYS50Yl9waG90bywgLnRiX2F1dGhvciBh LCAudGJfbXNnIGEsIC50d2VldC10b29scyBhLCAudGJfaW5mb2xpbmsnKS5jbGlj ayhmdW5jdGlvbigpewoJCQkJCQl0aGlzLnRhcmdldCA9ICJfYmxhbmsiOwoJCQkJ CX0pOwoJCQoJCQkJLy8gYWRkIGF1dG9tYXRpYyByZWZyZXNoCgkJCQlpZiAocGFy c2VJbnQoVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnJlZnJlc2hSYXRlKSA+ IDEpIHsKCQkJCQlzZXRJbnRlcnZhbCgnVEJfYmxlbmQoXCcnK3dpZGdldElkKydc Jyk7JyxwYXJzZUludChUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0ucmVmcmVz aFJhdGUpICogMTAwMCk7CgkJCQl9CgkJCQkKCQkJCS8vIGlmIHdlIG5lZWQgdG8g cmVmcmVzaCBvbmNlIG9yIAoJCQkJLy8gaWYgdGhlcmUgYXJlIG5vIHR3ZWV0cyBz aG93biBmcm9tIGNhY2hlCgkJCQkvLyBvciBpZiB0aGVyZSBhcmUgbGVzcyB0d2Vl dHMgdGhlbiBuZWVkZWQKCQkJCS8vIHRoZW4gYmxlbmQgcmlnaHQgYXdheQoJCQkJ aWYgKHBhcnNlSW50KFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS5yZWZyZXNo UmF0ZSkgPT0gMSB8fCBUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0udHdlZXRz U2hvd24gPCBUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0udHdlZXRzTnVtKSB7 CgkJCQkJVEJfYmxlbmQod2lkZ2V0SWQpOwoJCQkJfQoJCQl9CgkJfQoJfQoJZWxz ZSB7CgkJVEJfc2hvd01lc3NhZ2UobnVsbCwnbm9jb25mJyxUQl9sYWJlbHMubm9f Z2xvYmFsX2NvbmZpZyx0cnVlKTsKCQoJCS8vIGRpc2FibGUgcmVmcmVzaAoJCWpR dWVyeSgnYS50Yl9yZWZyZXNobGluaycpLnJlbW92ZSgpOwoJCWpRdWVyeSgnZGl2 LnRiX3Rvb2xzJykuY3NzKCdiYWNrZ3JvdW5kLWltYWdlJywndXJsKCcgKyBUQl9w bHVnaW5QYXRoICsgJy9pbWcvYmdfc20ucG5nKScpLndpZHRoKDI4KTsKCX0KfQoK Ly8gZm9ybSBUd2l0dGVyIEFQSSBxdWVyaWVzCmZ1bmN0aW9uIFRCX21ha2VBamF4 VVJMcyh3aWRnZXRJZCkgewoJdmFyIFRCX3NlYXJjaFRlcm1zID0gbmV3IEFycmF5 KCksCglUQl9zY3JlZW5OYW1lUXVlcmllcyA9IG5ldyBBcnJheSgpLAoJVEJfc2Ny ZWVuTmFtZXMgPSBuZXcgQXJyYXkoKSwKCXNjcmVlbk5hbWUgPSAnJywKCW1vZGlm aWVyID0gJycsCgljb2xvblBvcywKCXBpcGVQb3M7CgkKCVRCX2NvbmZpZy53aWRn ZXRzW3dpZGdldElkXVsnYWpheFVSTHMnXSA9IG5ldyBBcnJheSgpOwoKCWpRdWVy eS5lYWNoKFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS5zb3VyY2VzLnNwbGl0 KCcsJyksZnVuY3Rpb24oaSxzcmMpIHsKCgkJLy8gcmVtb3ZlIHNwYWNlcwoJCXNy YyA9IGpRdWVyeS50cmltKHNyYyk7CgkJCgkJLy8gaWYgaXQncyBhIHByaXZhdGUg c2NyZWVuIG5hbWUKCQlpZiAoc3JjLmNoYXJBdCgwKSA9PSAnIScpIHsKCgkJCS8v IGlmIHRoZXJlIGlzIGFuIGFsaWFzCgkJCWlmICgoY29sb25Qb3MgPSBzcmMuaW5k ZXhPZignOicpKSA+IDApIHsKCQkJCS8vIHNwbGl0IGludG8gc2NyZWVuIG5hbWUg YW5kIG9wdGlvbmFsIHN0cmluZyBuYW1lL3RpdGxlCgkJCQlzY3JlZW5OYW1lID0g c3JjLnN1YnN0cigyLCBjb2xvblBvcyAtIDEpOwoJCQkJVEJfc291cmNlTmFtZXNb c2NyZWVuTmFtZS50b0xvd2VyQ2FzZSgpXSA9IHNyYy5zdWJzdHIoY29sb25Qb3Mg KyAxKTsKCQkJCXNyYyA9IHNyYy5zdWJzdHIoMSwgY29sb25Qb3MgLSAxKTsKCQkJ fQoJCQllbHNlIHsKCQkJCXNjcmVlbk5hbWUgPSBzcmMuc3Vic3RyKDIpOwoJCQl9 CgoJCQkvLyBpZiB3ZSBhcmUgc2VydmluZyBvbmx5IGZhdm9yaXRlcwoJCQlpZiAo VEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLmZhdm9yaXRlc09ubHkpIHsKCQkJ CVRCX2FkZEFqYXhVcmwod2lkZ2V0SWQsJ2Zhdm9yaXRlcycseydzY3JlZW5fbmFt ZSc6c2NyZWVuTmFtZX0sc3JjLDEsbnVsbCk7CgkJCX0KCQkJLy8gaWYgd2UgYXJl IG5vdCB1c2luZyBTZWFyY2ggQVBJCgkJCWVsc2UgaWYgKFRCX2NvbmZpZy5hZHZh bmNlZF9ub19zZWFyY2hfYXBpKSB7CgkJCQlUQl9hZGRBamF4VXJsKHdpZGdldElk LCd1c2VyX3RpbWVsaW5lJyx7J3NjcmVlbl9uYW1lJzpzY3JlZW5OYW1lfSxzcmMs MSxudWxsKTsKCQkJfQoJCQllbHNlIHsKCQkJCVRCX2FkZEFqYXhVcmwod2lkZ2V0 SWQsJ3NlYXJjaCcseydmcm9tJzpzY3JlZW5OYW1lfSxzcmMsMSxudWxsKTsKCQkJ fQoJCX0KCQkvLyBpZiBpdCdzIGEgcHVibGljIHNjcmVlbiBuYW1lCgkJZWxzZSBp ZiAoc3JjLmNoYXJBdCgwKSA9PSAnQCcgJiYgc3JjLmluZGV4T2YoJy8nKSA9PSAt MSkgewoJCQkKCQkJLy8gaWYgd2UgYXJlIHNlcnZpbmcgb25seSBmYXZvcml0ZXMK CQkJaWYgKFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS5mYXZvcml0ZXNPbmx5 KSB7CgkJCQkvLyBpZiB0aGVyZSBpcyBhbiBhbGlhcwoJCQkJaWYgKChjb2xvblBv cyA9IHNyYy5pbmRleE9mKCc6JykpID4gMCkgewoJCQkJCS8vIHNwbGl0IGludG8g c2NyZWVuIG5hbWUgYW5kIG9wdGlvbmFsIHN0cmluZyBuYW1lL3RpdGxlCgkJCQkJ c2NyZWVuTmFtZSA9IHNyYy5zdWJzdHIoMSwgY29sb25Qb3MgLSAxKTsKCQkJCQlU Ql9zb3VyY2VOYW1lc1tzY3JlZW5OYW1lLnRvTG93ZXJDYXNlKCldID0gc3JjLnN1 YnN0cihjb2xvblBvcyArIDEpOwoJCQkJCXNyYyA9IHNyYy5zdWJzdHIoMCwgY29s b25Qb3MpOwoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJc2NyZWVuTmFtZSA9IHNyYy5z dWJzdHIoMSk7CgkJCQl9CgoJCQkJVEJfYWRkQWpheFVybCh3aWRnZXRJZCwnZmF2 b3JpdGVzJyx7J3NjcmVlbl9uYW1lJzpzY3JlZW5OYW1lfSxzcmMsMCxudWxsKTsK CQkJfQoJCQkvLyBpZiBpdCBpbmNsdWRlcyBtb2RpZmllcnMsIHVzZSBhIG9uZS1v ZmYgVVJMCgkJCWVsc2UgaWYgKChwaXBlUG9zID0gc3JjLmluZGV4T2YoJ3wnKSkg PiAxKSB7CgkJCQkvLyBpZiB3ZSBoYWQgYW4gYWxpYXMgZm9yIHRoYXQgbmFtZQoJ CQkJaWYgKChjb2xvblBvcyA9IHNyYy5pbmRleE9mKCc6JykpID4gMCkgewoJCQkJ CS8vIHNwbGl0IGludG8gc2NyZWVuIG5hbWUgYW5kIG9wdGlvbmFsIHN0cmluZyBu YW1lL3RpdGxlCgkJCQkJc2NyZWVuTmFtZSA9IHNyYy5zdWJzdHIoMSxwaXBlUG9z LTEpOwoJCQkJCW1vZGlmaWVyID0gc3JjLnN1YnN0cihwaXBlUG9zKzEsKGNvbG9u UG9zIC0gcGlwZVBvcyAtIDEpKTsKCQkJCQlUQl9zb3VyY2VOYW1lc1tzY3JlZW5O YW1lLnRvTG93ZXJDYXNlKCldID0gc3JjLnN1YnN0cihjb2xvblBvcyArIDEpOwoJ CQkJCXNyYyA9IHNyYy5zdWJzdHIoMCwgY29sb25Qb3MpOwoJCQkJfQoJCQkJZWxz ZSB7CgkJCQkJc2NyZWVuTmFtZSA9IHNyYy5zdWJzdHIoMSxwaXBlUG9zLTEpOwoJ CQkJCW1vZGlmaWVyID0gc3JjLnN1YnN0cihwaXBlUG9zKzEpOwoJCQkJfQoJCQkJ CgkJCQkvLyBpZiBtb2RpZmllciBpcyBhIGhhc2h0YWcKCQkJCWlmIChtb2RpZmll ci5jaGFyQXQoMCkgPT0gJyMnKSB7CgkJCQkJVEJfYWRkQWpheFVybCh3aWRnZXRJ ZCwnc2VhcmNoJyx7J2Zyb20nOnNjcmVlbk5hbWUsJ3RhZyc6bW9kaWZpZXIuc3Vi c3RyKDEpfSxzcmMsMCxtb2RpZmllcik7CgkJCQl9CgkJCQkvLyBlbHNlIG1vZGlm aWVyIGlzIGp1c3QgYSBrZXl3b3JkCgkJCQllbHNlIHsKCQkJCQlUQl9hZGRBamF4 VXJsKHdpZGdldElkLCdzZWFyY2gnLHsnZnJvbSc6c2NyZWVuTmFtZSwnb3JzJzpt b2RpZmllcn0sc3JjLDAsbW9kaWZpZXIpOwoJCQkJfQoJCQl9CgkJCWVsc2UgewoK CQkJCS8vIGlmIHdlIGhhZCBhbiBhbGlhcyBmb3IgdGhhdCBuYW1lCgkJCQlpZiAo KGNvbG9uUG9zID0gc3JjLmluZGV4T2YoJzonKSkgPiAwKSB7CgkJCQkJLy8gc3Bs aXQgaW50byBzY3JlZW4gbmFtZSBhbmQgb3B0aW9uYWwgc3RyaW5nIG5hbWUvdGl0 bGUKCQkJCQlzY3JlZW5OYW1lID0gc3JjLnN1YnN0cigxLGNvbG9uUG9zLTEpOwoJ CQkJCVRCX3NvdXJjZU5hbWVzW3NjcmVlbk5hbWUudG9Mb3dlckNhc2UoKV0gPSBz cmMuc3Vic3RyKGNvbG9uUG9zICsgMSk7CgkJCQkJc3JjID0gc3JjLnN1YnN0cigw LCBjb2xvblBvcyk7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQlzY3JlZW5OYW1lID0g c3JjLnN1YnN0cigxKTsKCQkJCX0KCQkJCQoJCQkJLy8gaWYgd2UgYXJlIG5vdCB1 c2luZyBTZWFyY2ggQVBJCgkJCQlpZiAoVEJfY29uZmlnLmFkdmFuY2VkX25vX3Nl YXJjaF9hcGkpIHsKCQkJCQlUQl9hZGRBamF4VXJsKHdpZGdldElkLCd1c2VyX3Rp bWVsaW5lJyx7J3NjcmVlbl9uYW1lJzpzY3JlZW5OYW1lfSxzcmMsMCxudWxsKTsK CQkJCX0KCQkJCS8vIGVsc2UsIGdyb3VwIHdpdGggb3RoZXIgc2NyZWVuIG5hbWVz CgkJCQllbHNlIHsKCQkJCQkvLyBjaGVjayB0byBtYWtlIHN1cmUgd2UgYXJlIG5v dCBvdmVyIHRoZSBxdWVyeSBsZW5ndGggbGltaXQKCQkJCQlpZiAoZXNjYXBlKFRC X3NjcmVlbk5hbWVRdWVyaWVzLmpvaW4oJyBPUiAnKSkubGVuZ3RoICsgc3JjLmxl bmd0aCA+IDE0MCkgewoJCQkJCQlUQl9hZGRBamF4VXJsKHdpZGdldElkLCdzZWFy Y2gnLHsncSc6VEJfc2NyZWVuTmFtZVF1ZXJpZXMuam9pbignIE9SICcpfSxlc2Nh cGUoJ0AnK1RCX3NjcmVlbk5hbWVzLmpvaW4oJyxAJykpLDAsbnVsbCk7CgkJCQkJ CVRCX3NjcmVlbk5hbWVzID0gbmV3IEFycmF5KCk7CgkJCQkJCVRCX3NjcmVlbk5h bWVRdWVyaWVzID0gbmV3IEFycmF5KCk7CgkJCQkJfQoJCQkJCVRCX3NjcmVlbk5h bWVzLnB1c2goc2NyZWVuTmFtZSk7CgkJCQkJaWYgKFRCX2NvbmZpZy5maWx0ZXJf aGlkZV9tZW50aW9ucykgewoJCQkJCQlUQl9zY3JlZW5OYW1lUXVlcmllcy5wdXNo KCdmcm9tOicgKyBzY3JlZW5OYW1lKTsKCQkJCQl9CgkJCQkJZWxzZSB7CgkJCQkJ CVRCX3NjcmVlbk5hbWVRdWVyaWVzLnB1c2goc3JjICsgJyBPUiBmcm9tOicgKyBz Y3JlZW5OYW1lKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJLy8gaWYgaXQncyBh IGxpc3QKCQllbHNlIGlmIChzcmMuY2hhckF0KDApID09ICdAJyAmJiBzcmMuaW5k ZXhPZignLycpID4gMSkgewoJCQkKCQkJLy8gaWYgd2UgaGF2ZSBhIG1vZGlmaWVy CgkJCWlmICgocGlwZVBvcyA9IHNyYy5pbmRleE9mKCd8JykpID4gMSkgewoJCQkJ CgkJCQlUQl9hZGRBamF4VXJsKHdpZGdldElkLCAnbGlzdF90aW1lbGluZScsIHsK CQkJCQkndXNlcic6IHNyYy5zdWJzdHIoMSwgc3JjLmluZGV4T2YoJy8nKSAtIDEp LAoJCQkJCSdsaXN0Jzogc3JjLnN1YnN0cihzcmMuaW5kZXhPZignLycpICsgMSwg cGlwZVBvcyAtIHNyYy5pbmRleE9mKCcvJykgLSAxKQoJCQkJfSwgc3JjLCAwLCBz cmMuc3Vic3RyKHBpcGVQb3MrMSkpOwoJCQl9CgkJCS8vIGlmIGl0J3MganVzdCBh IHJlZ3VsYXIgbGlzdAoJCQllbHNlIHsKCQkJCVRCX2FkZEFqYXhVcmwod2lkZ2V0 SWQsICdsaXN0X3RpbWVsaW5lJywgewoJCQkJCSd1c2VyJzogc3JjLnN1YnN0cigx LCBzcmMuaW5kZXhPZignLycpIC0gMSksCgkJCQkJJ2xpc3QnOiBzcmMuc3Vic3Ry KHNyYy5pbmRleE9mKCcvJykgKyAxKQoJCQkJfSwgc3JjLCAwLCBudWxsKTsKCQkJ fQoJCX0KCQkvLyBlbHNlIGl0J3MgYSBoYXNoIG9yIGtleXdvcmQgCgkJZWxzZSBp ZiAoc3JjICE9ICcnKSB7CgogCQkJLy8gaWYgaXQncyBhIG11bHRpLXdvcmQga2V5 d29yZCBnaXZlIGl0IGEgZGVkaWNhdGVkIGFqYXggY2FsbAoJCQlpZiAoc3JjLmlu ZGV4T2YoJyAnKSA+IDApIHsKCQkJCS8vIGlmIGl0J3Mgbm90IGluIHF1b3RlcyBh bHJlYWR5IHRoZW4gYWRkIHRoZW0KCQkJCWlmIChzcmMuY2hhckF0KDApICE9ICci JykgewoJCQkJCXNyYyA9ICciJyArIHNyYyArICciJzsKCQkJCX0KCQkJfQoKCQkJ Ly8gY2hlY2sgdG8gbWFrZSBzdXJlIHdlIGFyZSBub3Qgb3ZlciB0aGUgcXVlcnkg bGVuZ3RoIGxpbWl0CgkJCWlmIChUQl9zZWFyY2hUZXJtcy5qb2luKCcgT1IgJyku bGVuZ3RoICsgc3JjLmxlbmd0aCA+IDE0MCkgewoJCQkJVEJfYWRkQWpheFVybCh3 aWRnZXRJZCwnc2VhcmNoJyx7J3EnOlRCX3NlYXJjaFRlcm1zLmpvaW4oJyBPUiAn KX0sVEJfc2VhcmNoVGVybXMuam9pbignLCcpLDAsbnVsbCk7CgkJCQlUQl9zZWFy Y2hUZXJtcyA9IG5ldyBBcnJheSgpOwoJCQl9CgkJCVRCX3NlYXJjaFRlcm1zLnB1 c2goc3JjKTsKCQl9Cgl9KTsKCQoJLy8gaWYgdGhlcmUgYXJlIHRlcm1zIHRoYXQg YXJlIG5vdCBwYXJ0IG9mIGEgcXVlcnkgLSBhZGQgYW5vdGhlciBxdWVyeQoJaWYg KFRCX3NlYXJjaFRlcm1zLmxlbmd0aCA+IDApIHsKCQlUQl9hZGRBamF4VXJsKHdp ZGdldElkLCdzZWFyY2gnLHsncSc6VEJfc2VhcmNoVGVybXMuam9pbignIE9SICcp fSxUQl9zZWFyY2hUZXJtcy5qb2luKCcsJyksMCxudWxsKTsKCX0KCQoJLy8gaWYg dGhlcmUgYXJlIHNjcmVlbk5hbWVzIC0gam9pbiB0aGVtIGludG8gYSBzaW5nbGUg cXVlcnkKCWlmIChUQl9zY3JlZW5OYW1lcy5sZW5ndGggPiAwKSB7CgkJVEJfYWRk QWpheFVybCh3aWRnZXRJZCwnc2VhcmNoJyx7J3EnOlRCX3NjcmVlbk5hbWVRdWVy aWVzLmpvaW4oJyBPUiAnKX0sZW5jb2RlVVJJKCdAJytUQl9zY3JlZW5OYW1lcy5q b2luKCcsQCcpKSwwLG51bGwpOwoJfQp9CgpmdW5jdGlvbiBUQl9hZGRBamF4VXJs KHdpZGdldElkLGFjdGlvblR5cGUscXVlcnlEYXRhLHNyYyxpc1ByaXZhdGVTcmMs bW9kaWZpZXIpIHsKCQoJdmFyIHVybDsKCQoJLy8gY2hlY2sgbGFuZ3VhZ2UgZmls dGVyCQoJaWYgKHR5cGVvZihUQl9jb25maWdbJ2ZpbHRlcl9sYW5nJ10pICE9ICd1 bmRlZmluZWQnICYmIFRCX2NvbmZpZy5maWx0ZXJfbGFuZy5sZW5ndGggPT0gMikg ewoJCXF1ZXJ5RGF0YS5sYW5nID0gVEJfY29uZmlnLmZpbHRlcl9sYW5nOwoJfQoJ ZWxzZSB7CgkJcXVlcnlEYXRhLmxhbmcgPSAnYWxsJzsKCX0KCQkJCgkvLyBjaGVj ayBwcml2YXRlCglpZiAoaXNQcml2YXRlU3JjKSB7CgkJcXVlcnlEYXRhLnByaXZh dGUgPSAxOwoJfQoKCWlmIChhY3Rpb25UeXBlID09ICdzZWFyY2gnICYmIChUQl9j b25maWcuYWR2YW5jZWRfcmVyb3V0ZV9vbiB8fCBUQl9jb25maWcucmVhY2hlZF9h cGlfbGltaXQgfHwgaXNQcml2YXRlU3JjKSkgewoJCXF1ZXJ5RGF0YS5hY3Rpb24g PSBhY3Rpb25UeXBlOwoJCVRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXVsnYWph eFVSTHMnXS5wdXNoKHsKCQkJJ3VybCc6VEJfcGx1Z2luUGF0aCArICcvd3MucGhw JywKCQkJJ2RhdGEnOnF1ZXJ5RGF0YSwKCQkJJ3NvdXJjZSc6c3JjLAoJCQkncHJp dmF0ZVNyYyc6aXNQcml2YXRlU3JjLAoJCQknZHR5cGUnOidqc29uJywKCQkJJ21v ZGlmaWVyJzptb2RpZmllcgoJCX0pOwoJfQoJZWxzZSBpZiAoYWN0aW9uVHlwZSA9 PSAnc2VhcmNoJykgewoJCXF1ZXJ5RGF0YS5ycHAgPSBUQl9jb25maWcud2lkZ2V0 c1t3aWRnZXRJZF1bJ3R3ZWV0c051bSddICogMjsKCQlUQl9jb25maWcud2lkZ2V0 c1t3aWRnZXRJZF1bJ2FqYXhVUkxzJ10ucHVzaCh7CgkJCSd1cmwnOiAnaHR0cDov L3NlYXJjaC50d2l0dGVyLmNvbS9zZWFyY2guanNvbicsCgkJCSdkYXRhJzpxdWVy eURhdGEsCgkJCSdzb3VyY2UnOnNyYywKCQkJJ3ByaXZhdGVTcmMnOjAsCgkJCSdk dHlwZSc6J2pzb25wJywKCQkJJ21vZGlmaWVyJzptb2RpZmllcgoJCX0pOwoJfQoJ ZWxzZSBpZiAoYWN0aW9uVHlwZSA9PSAnbGlzdF90aW1lbGluZScgJiYgKFRCX2Nv bmZpZy5hZHZhbmNlZF9yZXJvdXRlX29uIHx8IFRCX2NvbmZpZy5yZWFjaGVkX2Fw aV9saW1pdCkpIHsKCQlxdWVyeURhdGEuYWN0aW9uID0gYWN0aW9uVHlwZTsKCgkJ Ly8gcmVtb3ZlIHVubmVlZGVkIHBhcmFtcwoJCWRlbGV0ZSBxdWVyeURhdGEudXNl cjsKCQlkZWxldGUgcXVlcnlEYXRhLmxpc3Q7CgkJZGVsZXRlIHF1ZXJ5RGF0YS5u b3RzOwoJCWRlbGV0ZSBxdWVyeURhdGEubGFuZzsKCgkJVEJfY29uZmlnLndpZGdl dHNbd2lkZ2V0SWRdWydhamF4VVJMcyddLnB1c2goewoJCQkndXJsJzpUQl9wbHVn aW5QYXRoICsgJy93cy5waHAnLAoJCQknZGF0YSc6cXVlcnlEYXRhLAoJCQknc291 cmNlJzpzcmMsCgkJCSdwcml2YXRlU3JjJzowLAoJCQknZHR5cGUnOidqc29uJywK CQkJJ21vZGlmaWVyJzptb2RpZmllcgoJCX0pOwoJfQoJZWxzZSBpZiAoYWN0aW9u VHlwZSA9PSAnbGlzdF90aW1lbGluZScpewoJCXVybCA9ICdodHRwOi8vYXBpLnR3 aXR0ZXIuY29tLzEvJyArIHF1ZXJ5RGF0YS51c2VyICsgJy9saXN0cy8nICsgcXVl cnlEYXRhLmxpc3QgKyAnL3N0YXR1c2VzLmpzb24nOwoKCQkvLyByZW1vdmUgdW5u ZWVkZWQgcGFyYW1zCgkJZGVsZXRlIHF1ZXJ5RGF0YS51c2VyOwoJCWRlbGV0ZSBx dWVyeURhdGEubGlzdDsKCQlkZWxldGUgcXVlcnlEYXRhLm5vdHM7CgkJZGVsZXRl IHF1ZXJ5RGF0YS5sYW5nOwoJCQoJCXF1ZXJ5RGF0YS5wZXJfcGFnZSA9IFRCX2Nv bmZpZy53aWRnZXRzW3dpZGdldElkXVsndHdlZXRzTnVtJ10gICogMjsKCQlUQl9j b25maWcud2lkZ2V0c1t3aWRnZXRJZF1bJ2FqYXhVUkxzJ10ucHVzaCh7CgkJCSd1 cmwnOnVybCwKCQkJJ2RhdGEnOnF1ZXJ5RGF0YSwKCQkJJ3NvdXJjZSc6c3JjLAoJ CQkncHJpdmF0ZVNyYyc6MCwKCQkJJ2R0eXBlJzonanNvbnAnLAoJCQknbW9kaWZp ZXInOm1vZGlmaWVyCgkJfSk7Cgl9CgllbHNlIGlmIChhY3Rpb25UeXBlID09ICd1 c2VyX3RpbWVsaW5lJyAmJiAoVEJfY29uZmlnLmFkdmFuY2VkX3Jlcm91dGVfb24g fHwgVEJfY29uZmlnLnJlYWNoZWRfYXBpX2xpbWl0IHx8IGlzUHJpdmF0ZVNyYykp IHsKCQlxdWVyeURhdGEuYWN0aW9uID0gYWN0aW9uVHlwZTsKCQlUQl9jb25maWcu d2lkZ2V0c1t3aWRnZXRJZF1bJ2FqYXhVUkxzJ10ucHVzaCh7CgkJCSd1cmwnOlRC X3BsdWdpblBhdGggKyAnL3dzLnBocCcsCgkJCSdkYXRhJzpxdWVyeURhdGEsCgkJ CSdzb3VyY2UnOnNyYywKCQkJJ3ByaXZhdGVTcmMnOjAsCgkJCSdkdHlwZSc6J2pz b24nLAoJCQknbW9kaWZpZXInOm1vZGlmaWVyCgkJfSk7Cgl9CgllbHNlIGlmIChh Y3Rpb25UeXBlID09ICd1c2VyX3RpbWVsaW5lJykgewoJCVRCX2NvbmZpZy53aWRn ZXRzW3dpZGdldElkXVsnYWpheFVSTHMnXS5wdXNoKHsKCQkJJ2RhdGEnOnF1ZXJ5 RGF0YSwKCQkJJ3VybCc6ICdodHRwOi8vYXBpLnR3aXR0ZXIuY29tLzEvc3RhdHVz ZXMvdXNlcl90aW1lbGluZS5qc29uJywKCQkJJ3NvdXJjZSc6c3JjLAoJCQkncHJp dmF0ZSc6MCwKCQkJJ2R0eXBlJzonanNvbnAnLAoJCQknbW9kaWZpZXInOm1vZGlm aWVyCgkJfSk7Cgl9CgllbHNlIGlmIChhY3Rpb25UeXBlID09ICdmYXZvcml0ZXMn ICYmIChUQl9jb25maWcuYWR2YW5jZWRfcmVyb3V0ZV9vbiB8fCBUQl9jb25maWcu cmVhY2hlZF9hcGlfbGltaXQgfHwgaXNQcml2YXRlU3JjKSkgewoJCXF1ZXJ5RGF0 YS5hY3Rpb24gPSBhY3Rpb25UeXBlOwoJCVRCX2NvbmZpZy53aWRnZXRzW3dpZGdl dElkXVsnYWpheFVSTHMnXS5wdXNoKHsKCQkJJ2RhdGEnOnF1ZXJ5RGF0YSwKCQkJ J3VybCc6VEJfcGx1Z2luUGF0aCArICcvd3MucGhwJywKCQkJJ3NvdXJjZSc6c3Jj LAoJCQkncHJpdmF0ZVNyYyc6MCwKCQkJJ2R0eXBlJzonanNvbicsCgkJCSdtb2Rp Zmllcic6bW9kaWZpZXIKCQl9KTsKCX0KCWVsc2UgaWYgKGFjdGlvblR5cGUgPT0g J2Zhdm9yaXRlcycpIHsKCQlUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF1bJ2Fq YXhVUkxzJ10ucHVzaCh7CgkJCSdkYXRhJzp7fSwJLy8gZmF2b3JpdGVzIGRvZXMg bm90IHN1cHBvcnQgYW55IHBhcmFtcwoJCQkndXJsJzogJ2h0dHA6Ly9hcGkudHdp dHRlci5jb20vMS9mYXZvcml0ZXMvJyArIHF1ZXJ5RGF0YS5zY3JlZW5fbmFtZSAr ICcuanNvbicsCgkJCSdzb3VyY2UnOnNyYywKCQkJJ3ByaXZhdGUnOjAsCgkJCSdk dHlwZSc6J2pzb25wJywKCQkJJ21vZGlmaWVyJzptb2RpZmllcgoJCX0pOwoJfQp9 CgpmdW5jdGlvbiBUQl9pbml0SW5mb0JveCh3aWRnZXRJZCkgewoJLy8gY3JlYXRl IEhUTUwgZm9yIHNvdXJjZXMKCVRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS5z b3VyY2VzSFRNTCA9ICcnOwoJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnNv dXJjZXNDb3VudCA9IDA7CglqUXVlcnkuZWFjaChUQl9jb25maWcud2lkZ2V0c1t3 aWRnZXRJZF0uc291cmNlcy5zcGxpdCgnLCcpLGZ1bmN0aW9uKGksc3JjKSB7CgkJ Ly8gaWYgdGhlcmUgaXMgYSBwcml2YXRlIHNvdXJjZSBtYXJrIC0gc3RyaXAgaXQK CQlpZiAoc3JjLmNoYXJBdCgwKSA9PSAnIScpIHsKCQkgCXNyYyA9IHNyYy5zdWJz dHIoMSk7CgkJfQoJCS8vIGlmIHRoZXJlIGlzIGFuIGFsaWFzIC0gc3RyaXAgaXQK CQlpZiAoKGNvbG9uUG9zID0gc3JjLmluZGV4T2YoJzonKSkgPiAwKSB7CgkJCXNy YyA9IHNyYy5zdWJzdHIoMCwgY29sb25Qb3MpOwoJCX0KCQkvLyBpZiB0aGVyZSBp cyBhIG1vZGlmaWVyIC0gc3RyaXAgaXQKCQlpZiAoKHBpcGVQb3MgPSBzcmMuaW5k ZXhPZignfCcpKSA+IDApIHsKCQkJc3JjID0gc3JjLnN1YnN0cigwLCBwaXBlUG9z KTsKCQl9CgkJCgkJCgkJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnNvdXJj ZXNIVE1MICs9ICc8YSBocmVmPSInOwoJCWlmIChzcmMuY2hhckF0KDApID09ICdA JykgewoJCSAJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnNvdXJjZXNIVE1M ICs9ICdodHRwOi8vdHdpdHRlci5jb20vJyArIHNyYy5zdWJzdHIoMSk7CgkJfQoJ CWVsc2UgewoJCSAJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnNvdXJjZXNI VE1MICs9ICdodHRwOi8vc2VhcmNoLnR3aXR0ZXIuY29tL3NlYXJjaD9xPScgKyBl c2NhcGUoc3JjKTsKCQl9CgkJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnNv dXJjZXNIVE1MICs9ICciPicgKyBzcmMgKyAnPC9hPiAnOwoJCVRCX2NvbmZpZy53 aWRnZXRzW3dpZGdldElkXS5zb3VyY2VzQ291bnQrKzsKCX0pOwkJCgkKCS8vIGFk ZCBhY3Rpb24gdG8gdHdpdHRlciBsb2dvCglqUXVlcnkoJyMnICsgd2lkZ2V0SWQg KyAnLW1jJykuY2hpbGRyZW4oJ2Rpdi50Yl9oZWFkZXInKS5jaGlsZHJlbignaW1n LnRiX3R3aXR0ZXJsb2dvJykuY2xpY2soZnVuY3Rpb24oKXsKCQlUQl9zaG93TWVz c2FnZSh3aWRnZXRJZCwnaW5mbycsVEJfbGFiZWxzLnZlcnNpb25fbXNnLmZvcm1h dChUQl92ZXJzaW9uLFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS5zb3VyY2Vz SFRNTCksZmFsc2UpOwoJfSk7CQp9CgpmdW5jdGlvbiBUQl9ibGVuZCh3aWRnZXRJ ZCkgewoKCS8vIHNob3cgbG9hZGluZyBpbmRpY2F0b3IKCVRCX3Nob3dMb2FkZXIo d2lkZ2V0SWQpOwoKCS8vIGlmIG5vdCB1c2luZyBjYWNoZS9zZXJ2ZXIgdGhlbiBj aGVjayBsaW1pdCBmb3IgdXNlciB2aXdpbmcgdGhlIHBhZ2UKCWlmICghVEJfY29u ZmlnLmFkdmFuY2VkX3Jlcm91dGVfb24gJiYgIVRCX2NvbmZpZy5yZWFjaGVkX2Fw aV9saW1pdCkgewoJCWpRdWVyeS5hamF4KHsKCQkJdXJsOiBUQl9jb25maWcucmF0 ZV9saW1pdF91cmwudXJsLAoJCQlkYXRhVHlwZTogVEJfY29uZmlnLnJhdGVfbGlt aXRfdXJsLmR0eXBlLAoJCQlzdWNjZXNzOiBmdW5jdGlvbihqc29uKXsKCQkJCS8v IGlmIGNhbid0IGdldCB0aGUgbGltaXQgb3IgcmVhY2hlZCBpdAoJCQkJaWYgKGpz b24uZXJyb3IgfHwganNvbi5yZW1haW5pbmdfaGl0cyA8IFRCX2NvbmZpZy53aWRn ZXRzW3dpZGdldElkXS5hamF4VVJMcy5sZW5ndGgpIHsKCgkJCQkJVEJfY29uZmln WydyZWFjaGVkX2FwaV9saW1pdCddID0gdHJ1ZTsKCQkJCQkKCQkJCQkvLyBpZiBj YWNoZSBpcyBub3QgZGlzYWJsZWQsIHJlcm91dGUgdHJhZmZpYyB0aHJvdWdoIHNl cnZlcgoJCQkJCWlmICghVEJfY29uZmlnLmFkdmFuY2VkX2Rpc2FibGVfY2FjaGUp IHsKCQkJCQkJLy8gc3dpdGNoIGJhY2sgdG8gbm9ybWFsIG1vZGUgb25jZSBsaW1p dCBoYXMgYmVlbiByZXNldAoJCQkJCQl2YXIgd2FpdCA9IDEwMDAgKiA2MCAqIDUs CS8vIGJ5IGRlZmF1bHQsIHRyeSBhZ2FpbiBpbiA1IG1pbnV0ZXMKCQkJCQkJbm93 ID0gbmV3IERhdGUoKSwKCQkJCQkJZGF0ZU9iajsKCQkJCQkJLy8gaWYgd2UgaGF2 ZSBhY3R1YWwgcmVzZXQgdGltZSwgdXNlIGl0CgkJCQkJCWlmIChqc29uLnJlc2V0 X3RpbWUpIHsKCQkJCQkJCWRhdGVPYmogPSBUQl9zdHIyZGF0ZShqc29uLnJlc2V0 X3RpbWUpOwoJCQkJCQkJd2FpdCA9IE1hdGgucm91bmQoZGF0ZU9iai5nZXRUaW1l KCkgLSBub3cuZ2V0VGltZSgpKTsKCQkJCQkJfQoJCQkJCQlzZXRUaW1lb3V0KCJU Ql9jb25maWcucmVhY2hlZF9hcGlfbGltaXQ9ZmFsc2U7VEJfbWFrZUFqYXhVUkxz KCciK3dpZGdldElkKyInKTtUQl9ibGVuZCgnIit3aWRnZXRJZCsiJyk7Iix3YWl0 KTsKCgkJCQkJCS8vIHJlZ2VuIFVSTHMgc28gdGhleSBnbyB0byBzZXJ2ZXIgYW5k IGdldCB0d2VldHMKCQkJCQkJVEJfbWFrZUFqYXhVUkxzKHdpZGdldElkKTsKCQkJ CQkJVEJfZ2V0VHdlZXRzKHdpZGdldElkKTsKCQkJCQl9CgkJCQkJLy8gaWYgd2Ug cmVhY2hlZCBsaW1pdCwgZG9uJ3QgaGF2ZSBjYWNoZSB0dXJuZWQgb24sIGFuZCBu ZWVkIHRvIHRlbGwgdXNlciAtIHNob3cgbWVzc2FnZQoJCQkJCWVsc2UgaWYgKFRC X2NvbmZpZy5hZHZhbmNlZF9zaG93X2xpbWl0X21zZykgewoJCQkJCQlUQl9zaG93 TWVzc2FnZSh3aWRnZXRJZCwnbGltaXQnLFRCX2xhYmVscy5saW1pdF9tc2cgKyAn LiAnICsgVEJfbGFiZWxzLmxpbWl0X3Jlc2V0LmZvcm1hdChUQl92ZXJiYWxUaW1l KFRCX3N0cjJkYXRlKGpzb24ucmVzZXRfdGltZSkpKSwgZmFsc2UpOwoJCQkJCX0K CQkJCX0KCQkJCS8vIGVsc2UsIGdldCBuZXcgZmVlZHMKCQkJCWVsc2UgewoJCQkJ CVRCX2dldFR3ZWV0cyh3aWRnZXRJZCk7CgkJCQl9CgkJCX0sCgkJCWVycm9yOiBm dW5jdGlvbigpewoJCQkJVEJfZ2V0VHdlZXRzKHdpZGdldElkKTsKCQkJfQoJCX0p OwoJfQoJZWxzZSB7CgkJVEJfZ2V0VHdlZXRzKHdpZGdldElkKTsKCX0KfQoKZnVu Y3Rpb24gVEJfY2hlY2tDb21wbGV0ZSh3aWRnZXRJZCkgewoJCglpZiAoVEJfY29u ZmlnLndpZGdldHNbd2lkZ2V0SWRdLnVybHNEb25lID09IFRCX2NvbmZpZy53aWRn ZXRzW3dpZGdldElkXS5hamF4VVJMcy5sZW5ndGgpIHsKCgkJLy8gaGlkZSBsb2Fk aW5nIG1lc3NhZ2UKCQlUQl9oaWRlTG9hZGVyKHdpZGdldElkKTsKCgkJLy8gaWYg bm90aGluZyBhZGRlZCBhZnRlciB3ZSBhcmUgdGhyb3VnaCBhbGwgc291cmNlcyBs ZXQgdXNlciBrbm93CgkJaWYoalF1ZXJ5KCcjJyArIHdpZGdldElkICsgJy1tYyA+ IGRpdi50Yl90d2VldGxpc3QnKS5jaGlsZHJlbignZGl2Jykuc2l6ZSgpID09IDAp IHsKCQkJLy8gc2hvdyBubyB0d2VldHMgbWVzc2FnZQoJCQkKCQkJLyogRlVUVVJF OiBpbmNsdWRlIGxvY2F0aW9uIGluIG1lc3NhZ2UKCQkJaWYgKHR5cGVvZihUQl9j b25maWdbJ2ZpbHRlcl9sb2NhdGlvbl9uYW1lJ10pICE9ICd1bmRlZmluZWQnICYm IFRCX2NvbmZpZy5maWx0ZXJfbG9jYXRpb25fbmFtZS5sZW5ndGggPiAwKSB7CgkJ CQlUQl9zaG93TWVzc2FnZSh3aWRnZXRJZCwgJ25vdHdlZXRzJywgJ05vIHR3ZWV0 cyBmb3VuZCBmb3IgJyArIFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS5zb3Vy Y2VzSFRNTCArICcod2l0aGluICcgKyBUQl9jb25maWcuZmlsdGVyX2xvY2F0aW9u X2Rpc3QgKyBUQl9jb25maWcuZmlsdGVyX2xvY2F0aW9uX2Rpc3RfdW5pdHMgKyAn IG9mICcgKyBUQl9jb25maWcuZmlsdGVyX2xvY2F0aW9uX25hbWUgKyAnKScsIHRy dWUpOwoJCQl9CgkJCWVsc2UgewoJCQkqLwoJCQkJVEJfc2hvd01lc3NhZ2Uod2lk Z2V0SWQsICdub3R3ZWV0cycsIFRCX2xhYmVscy5ub190d2VldHNfbXNnLmZvcm1h dChUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0uc291cmNlc0hUTUwpLCB0cnVl KTsKCQl9CgkJZWxzZSB7CgkJCVRCX2hpZGVNZXNzYWdlKHdpZGdldElkLCdub3R3 ZWV0cycpOwoJCQkKCQkJLy8gc3RvcmUgY2FjaGUKCQkJaWYoKHR5cGVvZihUQl9j b25maWcuYWR2YW5jZWRfZGlzYWJsZV9jYWNoZSkgIT0gJ3VuZGVmaW5lZCcgJiYg IVRCX2NvbmZpZy5hZHZhbmNlZF9kaXNhYmxlX2NhY2hlKSkgewoJCQkJVEJfY2Fj aGVOZXdUd2VldHMoKTsJCgkJCX0KCQl9Cgl9Cn0KCQpmdW5jdGlvbiBUQl9nZXRU d2VldHMod2lkZ2V0SWQpIHsKCQoJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRd Wyd1cmxzRG9uZSddID0gMDsKCQoJLy8gaXRlcmF0ZSBvdmVyIEFKQVggVVJMcwoJ alF1ZXJ5LmVhY2goVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLmFqYXhVUkxz LGZ1bmN0aW9uKGksdXJsSW5mbykgewoJCQoJCS8vIHNwZWNpYWwganNvbnAgdXNl IGNhc2UgdG8gZW5zdXJlIHByb3BlciBlcnJvciBoYW5kbGluZwoJCWlmICh1cmxJ bmZvLmR0eXBlID09ICdqc29ucCcgJiYgdHlwZW9mKGpRdWVyeS5qc29ucCkgIT0g J3VuZGVmaW5lZCcpIHsKCQkJalF1ZXJ5Lmpzb25wKHsKCQkJCWRhdGE6dXJsSW5m by5kYXRhLAoJCQkJY2FsbGJhY2tQYXJhbWV0ZXI6ICJjYWxsYmFjayIsCgkJCQl1 cmw6IHVybEluZm8udXJsLAoJCQkJdGltZW91dDogMjAwMCwKCQkJCXN1Y2Nlc3M6 IGZ1bmN0aW9uIChqc29uKSB7CgkJCQkJLy8gaWYgd2UgaGFkIHZhbGlkIEpTT04g YnV0IHdpdGggZXJyb3IKCQkJCQlpZiAoanNvbi5lcnJvcikgewoJCQkJCQkvLyBp ZiB3ZSByZWFjaGVkIHRoZSBBUEkgbGltaXQKCQkJCQkJaWYgKGpzb24uZXJyb3Iu aW5kZXhPZignUmF0ZSBsaW1pdCBleGNlZWRlZCcpID09IDApIHsKCQkJCQkJCVRC X2NvbmZpZ1sncmVhY2hlZF9hcGlfbGltaXQnXSA9IHRydWU7CgkJCQkJCX0KCQkJ CQkJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnVybHNEb25lKys7CgkJCQkJ CVRCX2NoZWNrQ29tcGxldGUod2lkZ2V0SWQpOwoJCQkJCX0KCQkJCQllbHNlIHsK CQkJCQkJVEJfYWRkVHdlZXRzKHdpZGdldElkLGpzb24sdXJsSW5mbyk7CgkJCQkJ fQoJCQkJfSwKCQkJCWVycm9yOiBmdW5jdGlvbihqcVhIUiwgdGV4dFN0YXR1cywg ZXJyb3JUaHJvd24pIHsKCQkJCQlUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0u dXJsc0RvbmUrKzsKCQkJCQlUQl9jaGVja0NvbXBsZXRlKHdpZGdldElkKTsKCQkJ CX0KCQkJfSk7CgkJfQoJCWVsc2UgewoJCQlqUXVlcnkuYWpheCh7CgkJCQlkYXRh OnVybEluZm8uZGF0YSwKCQkJCWRhdGFUeXBlOiB1cmxJbmZvLmR0eXBlLAoJCQkJ dXJsOiB1cmxJbmZvLnVybCwKCQkJCXRpbWVvdXQ6IDIwMDAsCgkJCQlzdWNjZXNz OiBmdW5jdGlvbiAoanNvbikgewoJCQkJCS8vIGlmIHdlIGhhZCB2YWxpZCBKU09O IGJ1dCB3aXRoIGVycm9yCgkJCQkJaWYgKGpzb24uZXJyb3IpIHsKCQkJCQkJLy8g aWYgd2UgcmVhY2hlZCB0aGUgQVBJIGxpbWl0CgkJCQkJCWlmIChqc29uLmVycm9y LmluZGV4T2YoJ1JhdGUgbGltaXQgZXhjZWVkZWQnKSA9PSAwKSB7CgkJCQkJCQlU Ql9jb25maWdbJ3JlYWNoZWRfYXBpX2xpbWl0J10gPSB0cnVlOwoJCQkJCQl9CgkJ CQkJCVRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS51cmxzRG9uZSsrOwoJCQkJ CQlUQl9jaGVja0NvbXBsZXRlKHdpZGdldElkKTsKCQkJCQl9CgkJCQkJZWxzZSB7 CgkJCQkJCVRCX2FkZFR3ZWV0cyh3aWRnZXRJZCxqc29uLHVybEluZm8pOwoJCQkJ CX0KCQkJCX0sCgkJCQllcnJvcjogZnVuY3Rpb24oanFYSFIsIHRleHRTdGF0dXMs IGVycm9yVGhyb3duKSB7CgkJCQkJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRd LnVybHNEb25lKys7CgkJCQkJVEJfY2hlY2tDb21wbGV0ZSh3aWRnZXRJZCk7CgkJ CQl9CgkJCX0pOwoJCX0KCX0pOwp9CgpmdW5jdGlvbiBUQl9jYWNoZU5ld1R3ZWV0 cygpIHsKCglpZiAoVEJfZ2V0T2JqZWN0U2l6ZShUQl90d2VldHNUb0NhY2hlKSA+ IDApIHsKCgkJaWYgKHR5cGVvZihqUXVlcnkudG9KU09OKSA9PSAndW5kZWZpbmVk JyAmJiB0eXBlb2YoalFuYy50b0pTT04pID09ICdmdW5jdGlvbicpIHsKCQkJalF1 ZXJ5LnRvSlNPTiA9IGpRbmMudG9KU09OOwoJCX0KCQkKCQlqUXVlcnkuYWpheCh7 CgkJCXVybDogCQlUQl9wbHVnaW5QYXRoICsgJy93cy5waHA/YWN0aW9uPWNhY2hl X2RhdGEnLAoJCQl0eXBlOgkJJ1BPU1QnLAoJCQlkYXRhVHlwZTogCSdqc29uJywK CQkJZGF0YTogKHsKCQkJCXR3ZWV0czogalF1ZXJ5LnRvSlNPTihUQl90d2VldHNU b0NhY2hlKQoJCQl9KSwKCQkJc3VjY2VzczogZnVuY3Rpb24oanNvbil7CgkJCQlp ZiAoIWpzb24uZXJyb3IpIHsKCQkJCQlUQl90d2VldHNUb0NhY2hlID0gbmV3IE9i amVjdCgpOwoJCQkJfQoJCQl9CgkJfSk7Cgl9Cn0KCmZ1bmN0aW9uIFRCX2FkZFR3 ZWV0cyh3aWRnZXRJZCxqc29uRGF0YSx1cmxJbmZvKSB7CgoJdmFyIGksCgl0d2Vl dHMgPSBqc29uRGF0YSwKCW9yaWdpbmFsVHdlZXQsCglpc05ld1R3ZWV0ID0gZmFs c2UsCgl0d2VldFVzZXIsCgliYWRTdHJpbmdzLAoJdGJfdHdlZXQsCgl0d2VldEV4 aXN0czsKCQoJaWYgKHR5cGVvZihqc29uRGF0YS5yZXN1bHRzKSAhPSAndW5kZWZp bmVkJykgewoJCXR3ZWV0cyA9IGpzb25EYXRhLnJlc3VsdHM7Cgl9CgoJalF1ZXJ5 LmVhY2godHdlZXRzLGZ1bmN0aW9uKGksdHdlZXRKc29uKSB7CgoJCXRiX3R3ZWV0 ID0gbmV3IFRCX3R3ZWV0KHR3ZWV0SnNvbik7CgkJdGJfdHdlZXQubW9kaWZpZXIg PSB1cmxJbmZvLm1vZGlmaWVyOwoJCQoJCS8vIG1ha2Ugc3VyZSBpdCdzIE9LIHRv IHNob3cKCQlpZiAoIXRiX3R3ZWV0LmlzT0t0b1Nob3coKSkJewoJCQlyZXR1cm4g dHJ1ZTsKCQl9CgoJCXRiX3R3ZWV0LnNlbGVjdFJlbGV2YW50U291cmNlcyh1cmxJ bmZvLnNvdXJjZSk7CgkJCQkKCQlpc05ld1R3ZWV0ID0gZmFsc2U7CgoJCS8vIGlm IHRoaXMgdHdlZXQgYWxyZWFkeSBpbiB0aGUgc2V0LCBza2lwIGl0CgkJdHdlZXRF eGlzdHMgPSBmYWxzZTsKCQlqUXVlcnkoJ2Rpdi50Yl90d2VldCcpLmVhY2goZnVu Y3Rpb24oKSB7CgkJCWlmICh0Yl90d2VldC5pc1NhbWVJZCh0aGlzLmlkKSkgewoJ CQkJdHdlZXRFeGlzdHMgPSB0cnVlOwoJCQl9CgkJfSk7CgkJaWYgKHR3ZWV0RXhp c3RzKSB7CgkJCXJldHVybiB0cnVlOwoJCX0KCQkKCQkKCQkvLyBpZiB0aGlzIGlz IHRoZSBmaXJzdCB0d2VldCwganVzdCBhZGQgaXQgYW5kIHNldCBpdCB0byBiZSBi b3RoIG1pbiBhbmQgbWF4CgkJaWYgKFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElk XS50d2VldHNTaG93biA9PSAwKSB7CgkJCVRCX2NvbmZpZy53aWRnZXRzW3dpZGdl dElkXS50d2VldHNTaG93bisrOwoJCQlUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJ ZF0ubWluVHdlZXRJZCA9IHRiX3R3ZWV0LmRpdklkOwoJCQlUQl9jb25maWcud2lk Z2V0c1t3aWRnZXRJZF0ubWF4VHdlZXRJZCA9IHRiX3R3ZWV0LmRpdklkOwkJCQoK CQkJLy8gYWRkIGF0IHRoZSBlbmQKCQkJalF1ZXJ5KCcjJyt3aWRnZXRJZCsnLW1j ID4gZGl2LnRiX3R3ZWV0bGlzdCcpLmFwcGVuZCh0Yl90d2VldC5nZXRIVE1MKCkp OwoJCQkKCQkJaXNOZXdUd2VldCA9IHRydWU7CgkJfQoJCS8vIGlmIHR3ZWV0IG9s ZGVyIHRoYW4gdGhlIG9sZGVzdAoJCWVsc2UgaWYgKHRiX3R3ZWV0LmlzT2xkZXJU aGFuKFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS5taW5Ud2VldElkKSkgewoJ CQkvLyBpZiB3ZSBhcmUgYXQgbWF4IGFscmVhZHksIG5vIG5lZWQgdG8gd29yayB0 aHJvdWdoIHRoZSByZXN0IG9mIHRoaXMgc2V0IGFzIHRoZSByZXN0IHdpbGwgYmUg b2xkZXIKCQkJaWYgKFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS50d2VldHNT aG93biA+PSBUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0udHdlZXRzTnVtKSB7 CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJZWxzZSB7CgkJCQlUQl9jb25maWcu d2lkZ2V0c1t3aWRnZXRJZF0udHdlZXRzU2hvd24rKzsKCgkJCQkvLyBhZGQgYXQg dGhlIGVuZAoJCQkJalF1ZXJ5KCcjJyt3aWRnZXRJZCsnLW1jID4gZGl2LnRiX3R3 ZWV0bGlzdCcpLmFwcGVuZCh0Yl90d2VldC5nZXRIVE1MKCkpOwoKCQkJCS8vIG1h a2UgaXQgdGhlIG9sZGVzdAoJCQkJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRd Lm1pblR3ZWV0SWQgPSB0Yl90d2VldC5kaXZJZDsKCQkJCQoJCQkJLy8gaWYgd2Ug aGF2ZSBvbmx5IG9uZSB0d2VldCB0aGVuIG1ha2UgaXQgdGhlIG5ld2VzdCBhcyB3 ZWxsCgkJCQlpZiAoVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnR3ZWV0c051 bSA9PSAxKSB7CgkJCQkJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLm1heFR3 ZWV0SWQgPSB0Yl90d2VldC5kaXZJZDsKCQkJCX0KCQkJCQoJCQkJaXNOZXdUd2Vl dCA9IHRydWU7CgkJCX0KCQl9CgkJLy8gaWYgdHdlZXQgaXMgbmV3ZXIgdGhhbiB0 aGUgbmV3ZXN0CgkJZWxzZSBpZiAodGJfdHdlZXQuaXNOZXdlclRoYW4oVEJfY29u ZmlnLndpZGdldHNbd2lkZ2V0SWRdLm1heFR3ZWV0SWQpKSB7CgkJCS8vIGlmIHdl IGFyZSBhdCBtYXggYWxyZWFkeSwgcmVtb3ZlIGJvdHRvbSB0d2VldAoJCQlUQl9l bmZvcmNlTGltaXQod2lkZ2V0SWQpOwoJCQkKCQkJLy8gYWRkIGluIHRoZSBiZWdp bm5pbmcKCQkJalF1ZXJ5KCcjJyt3aWRnZXRJZCsnLW1jID4gZGl2LnRiX3R3ZWV0 bGlzdCcpLnByZXBlbmQodGJfdHdlZXQuZ2V0SFRNTCgpKTsKCQkJVEJfY29uZmln LndpZGdldHNbd2lkZ2V0SWRdLnR3ZWV0c1Nob3duKys7CgoJCQkvLyBtYWtlIGl0 IHRoZSBuZXdlc3QKCQkJVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLm1heFR3 ZWV0SWQgPSB0Yl90d2VldC5kaXZJZDsKCQkJCgkJCS8vIGlmIHdlIGhhdmUgb25s eSBvbmUgdHdlZXQgdGhlbiBtYWtlIGl0IHRoZSBvbGRlc3QgYXMgd2VsbAoJCQlp ZiAoVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnR3ZWV0c051bSA9PSAxKSB7 CgkJCQlUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0ubWluVHdlZXRJZCA9IHRi X3R3ZWV0LmRpdklkOwoJCQl9CgoJCQlpc05ld1R3ZWV0ID0gdHJ1ZTsKCQl9CgkJ Ly8gaWYgdHdlZXQgaXMgaW4gdGhlIG1pZGRsZQoJCWVsc2UgewoJCQkvLyBpZiB3 ZSBhcmUgYXQgbWF4IGFscmVhZHksIHJlbW92ZSBib3R0b20gdHdlZXQKCQkJVEJf ZW5mb3JjZUxpbWl0KHdpZGdldElkKTsKCgkJCS8vIHRyYXZlcnNlIGN1cnJlbnRs eSBzaG93biB0d2VldHMgYW5kIGluc2VydCBpbiB0aGUgYXBwcm9wcmlhdGUgc3Bv dAoJCQl2YXIgcHJldlR3ZWV0SWQgPSBUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJ ZF0ubWF4VHdlZXRJZCwKCQkJbmV4dFR3ZWV0SWQ7CgkJCWpRdWVyeSgnIycrd2lk Z2V0SWQrJy1tYyA+IGRpdi50Yl90d2VldGxpc3QgPiBkaXYudGJfdHdlZXQnKS5l YWNoKGZ1bmN0aW9uKGksbmV4dFR3ZWV0KXsKCQkJCW5leHRUd2VldElkID0gbmV4 dFR3ZWV0LmlkOwoJCQkJaWYgKHRiX3R3ZWV0LmlzT2xkZXJUaGFuKHByZXZUd2Vl dElkKSAmJiB0Yl90d2VldC5pc05ld2VyVGhhbihuZXh0VHdlZXRJZCkpIHsKCQkJ CQlqUXVlcnkoJyMnK3ByZXZUd2VldElkKS5hZnRlcih0Yl90d2VldC5nZXRIVE1M KCkpOwoJCQkJCVRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS50d2VldHNTaG93 bisrOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJCXByZXZUd2VldElkID0g bmV4dFR3ZWV0SWQ7CgkJCX0pOwoJCQkKCQkJLy8gaWYgZ290IHRvIGhlcmUgYW5k IHR3ZWV0IHN0aWxsIG5vdCB0aGVyZSwgbWFrZSBpdCB0aGUgbGFzdAoJCQlpZiAo alF1ZXJ5KCcjJyt0Yl90d2VldC5kaXZJZCkubGVuZ3RoIDw9IDApIHsKCQkJCQlq UXVlcnkoJyMnK1RCX2NvbmZpZy53aWRnZXRzW3dpZGdldElkXS5taW5Ud2VldElk KS5hZnRlcih0Yl90d2VldC5nZXRIVE1MKCkpOwoJCQkJCVRCX2NvbmZpZy53aWRn ZXRzW3dpZGdldElkXS5taW5Ud2VldElkID0gdGJfdHdlZXQuZGl2SWQ7CgkJCQkJ Ly8gaWYgd2UgaGF2ZSBvbmx5IG9uZSB0d2VldCB0aGVuIG1ha2UgaXQgdGhlIG5l d2VzdCBhcyB3ZWxsCgkJCQkJaWYgKFRCX2NvbmZpZy53aWRnZXRzW3dpZGdldElk XS50d2VldHNOdW0gPT0gMSkgewoJCQkJCQlUQl9jb25maWcud2lkZ2V0c1t3aWRn ZXRJZF0ubWF4VHdlZXRJZCA9IHRiX3R3ZWV0LmRpdklkOwoJCQkJCX0KCQkJCQlU Ql9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0udHdlZXRzU2hvd24rKzsKCQkJfQoJ CQkKCQkJaXNOZXdUd2VldCA9IHRydWU7CgkJfQoKCQkvLyBpZiBuZXcgdHdlZXQg YW5kIGNhY2hlIGlzIG9uLCBxdWV1ZSBpdCBmb3IgY2FjaGluZwoJCWlmIChpc05l d1R3ZWV0ICYmICh0eXBlb2YoVEJfY29uZmlnLmFkdmFuY2VkX2Rpc2FibGVfY2Fj aGUpICE9ICd1bmRlZmluZWQnICYmICFUQl9jb25maWcuYWR2YW5jZWRfZGlzYWJs ZV9jYWNoZSkpIHsKCQkJVEJfdHdlZXRzVG9DYWNoZVt0Yl90d2VldC5kaXZJZF0g PSB7CgkJCQkicyIgOgl0Yl90d2VldC5zb3VyY2VzLAoJCQkJInAiIDoJdXJsSW5m by5wcml2YXRlU3JjLAoJCQkJInQiIDoJdGJfdHdlZXQuanNvbkNvZGUKCQkJfTsK CQl9CgkJCgkJLy8gd2lyZSBtb3VzZW92ZXIgYWN0aW9uIGl0ZW1zCiAgICAgICAg VEJfd2lyZU1vdXNlT3Zlcih0Yl90d2VldC5kaXZJZCk7CgkJCgkJLy8gaWYgZmls dGVyaW5nIG91dCBzYW1lIHR3ZWV0cyAtIGFkZCB0ZXh0IHRvIHNlZW4gdHdlZXRz CgkJaWYgKFRCX2NvbmZpZy5maWx0ZXJfaGlkZV9zYW1lX3RleHQpIHsKCQkJVEJf c2VlblR3ZWV0cy5wdXNoKHRiX3R3ZWV0Lmpzb25Db2RlLnRleHQpOwoJCX0KCX0p OwoJCglUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0udXJsc0RvbmUrKzsKCQoJ Ly8gd2lyZSB0YXJnZXQ9Il9ibGFuayIgb24gbGlua3MKCWpRdWVyeSgnYS50Yl9w aG90bywgLnRiX2F1dGhvciBhLCAudGJfbXNnIGEsIC50d2VldC10b29scyBhLCAu dGJfaW5mb2xpbmsnKS5jbGljayhmdW5jdGlvbigpewoJCXRoaXMudGFyZ2V0ID0g Il9ibGFuayI7Cgl9KTsKCQoJVEJfY2hlY2tDb21wbGV0ZSh3aWRnZXRJZCk7Cn0K CmZ1bmN0aW9uIFRCX3dpcmVNb3VzZU92ZXIodHdlZXRJZCkgewoJLy8gd2lyZSBt b3VzZW92ZXIgYWN0aW9uIGl0ZW1zCiAgICBpZihUQl9jb25maWdbVEJfbW9kZSAr ICdfc2hvd19yZXBseV9saW5rJ10gfHwgVEJfY29uZmlnW1RCX21vZGUgKyAnX3No b3dfZm9sbG93X2xpbmsnXSkgewoJCWpRdWVyeSgnIycrdHdlZXRJZCkuaG92ZXIo CgkJICAgICAgZnVuY3Rpb24gKCkgewoJCQkJalF1ZXJ5KHRoaXMpLmZpbmQoImRp djpsYXN0Iikuc2xpZGVEb3duKCkKCQkgICAgICB9LCAKCQkgICAgICBmdW5jdGlv biAoKSB7CgkJICAgICAgICBqUXVlcnkodGhpcykuZmluZCgiZGl2Omxhc3QiKS5z bGlkZVVwKCk7CgkJICAgICAgfQoJCSk7Cgl9CQkKfQoKZnVuY3Rpb24gVEJfZW5m b3JjZUxpbWl0KHdpZGdldElkKSB7CgkKCWlmIChUQl9jb25maWcud2lkZ2V0c1t3 aWRnZXRJZF0udHdlZXRzU2hvd24gPT0gVEJfY29uZmlnLndpZGdldHNbd2lkZ2V0 SWRdLnR3ZWV0c051bSkgewoJCXZhciBsYXN0VHdlZXQgPSBqUXVlcnkoJyMnICsg VEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLm1pblR3ZWV0SWQpLAoJCW5leHRU b0xhc3RUd2VldCA9IGxhc3RUd2VldC5wcmV2KCdkaXYudGJfdHdlZXQnKTsKCQkK CQkvLyByZW1vdmUgbGFzdCB0d2VldAoJCWxhc3RUd2VldC5yZW1vdmUoKTsKCQlU Ql9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0udHdlZXRzU2hvd24tLTsKCQkKCQkv LyByZW1vdmUgZnJvbSBjYWNoZSBxdWV1ZSBhcyB3ZWxsIGlmIHdlIHBsYW5uZWQg dG8gY2FjaGUgaXQKCQlkZWxldGUgVEJfdHdlZXRzVG9DYWNoZVtUQl9jb25maWcu d2lkZ2V0c1t3aWRnZXRJZF0ubWluVHdlZXRJZF07CgkJCgkJLy8gaWYgbm8gdHdl ZXRzIGxlZnQsIHJlc2V0IG1pbiBhbmQgbWF4IGFuZCBmaW5pc2gKCQlpZiAoVEJf Y29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLnR3ZWV0c1Nob3duID09IDApIHsKCQkJ VEJfY29uZmlnLndpZGdldHNbd2lkZ2V0SWRdLm1pblR3ZWV0SWQgPSAwOwoJCQlU Ql9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0ubWF4VHdlZXRJZCA9IDA7CgkJCXJl dHVybjsKCQl9CgkJZWxzZSB7CgkJCS8vIG1ha2UgbmV4dCB0byBsYXN0IHRvIGJl IGxhc3Qgbm93CgkJCWlmKG5leHRUb0xhc3RUd2VldC5sZW5ndGggPiAwKSB7CgkJ CQlUQl9jb25maWcud2lkZ2V0c1t3aWRnZXRJZF0ubWluVHdlZXRJZCA9IG5leHRU b0xhc3RUd2VldC5hdHRyKCdpZCcpOwoJCQl9CgkJfQoJfQp9CgpmdW5jdGlvbiBU Ql9zaG93TG9hZGVyKHdpZGdldElkKSB7CgkvLyBpZiB0aGVyZSBhcmUgbm90IHR3 ZWV0cywgc2hvdyBsb2FkaW5nIG1lc3NhZ2UKCWlmKFRCX2NvbmZpZy53aWRnZXRz W3dpZGdldElkXS50d2VldHNTaG93biA9PSAwKSB7CgkJVEJfc2hvd01lc3NhZ2Uo d2lkZ2V0SWQsJ2xvYWRpbmcnLFRCX2xhYmVscy5sb2FkaW5nX21zZyx0cnVlKTsK CX0KCS8vIHNob3cgYW5pbWF0ZWQgaWNvbgoJalF1ZXJ5KCcjJyArIHdpZGdldElk ICsgJy1tYyA+IGRpdi50Yl9oZWFkZXIgPiBkaXYudGJfdG9vbHMgPiBhLnRiX3Jl ZnJlc2hsaW5rID4gaW1nJykuYXR0cignc3JjJyxUQl9wbHVnaW5QYXRoICsgJy9p bWcvYWpheC1yZWZyZXNoLmdpZicpOwoJalF1ZXJ5KCcjJyArIHdpZGdldElkICsg Jy1tYyA+IGRpdi50Yl9oZWFkZXIgPiBkaXYudGJfdG9vbHMgPiBhLnRiX3JlZnJl c2hsaW5rJykuYWRkQ2xhc3MoJ2xvYWRpbmcnKTsKfQoKZnVuY3Rpb24gVEJfaGlk ZUxvYWRlcih3aWRnZXRJZCkgewoJLy8gaGlkZSBsb2FkaW5nIG1lc3NhZ2UKCVRC X2hpZGVNZXNzYWdlKHdpZGdldElkLCdsb2FkaW5nJyk7CgoJLy8gc2hvdyBzdGF0 aWMgaWNvbgoJalF1ZXJ5KCcjJyArIHdpZGdldElkICsgJy1tYyA+IGRpdi50Yl9o ZWFkZXIgPiBkaXYudGJfdG9vbHMgPiBhLnRiX3JlZnJlc2hsaW5rID4gaW1nJyku YXR0cignc3JjJyxUQl9wbHVnaW5QYXRoICsgJy9pbWcvYWpheC1yZWZyZXNoLWlj b24uZ2lmJyk7CglqUXVlcnkoJyMnICsgd2lkZ2V0SWQgKyAnLW1jID4gZGl2LnRi X2hlYWRlciA+IGRpdi50Yl90b29scyA+IGEudGJfcmVmcmVzaGxpbmsnKS5yZW1v dmVDbGFzcygnbG9hZGluZycpOwp9CgpmdW5jdGlvbiBUQl9zaG93TWVzc2FnZSh3 aWRnZXRJZCwgbWVzc2FnZUlkLCBtc2csIGtlZXBPblNjcmVlbil7CgoJLy8gaWYg bm8gd2lkZ2V0SWQgaXMgZ2l2ZW4gLT4gc2hvdyBtZXNzYWdlIGluIGFsbCB3aWRn ZXRzIGFuZCBpZ25vcmUga2VlcE9uU2NyZWVuCglpZighd2lkZ2V0SWQpIHsKCQlq UXVlcnkoJ2Rpdi50Yl90d2VldGxpc3QnKS5iZWZvcmUoJzxkaXYgaWQ9Im1zZ18n ICsgbWVzc2FnZUlkICsgJyIgY2xhc3M9InRiX21zZyIgc3R5bGU9ImRpc3BsYXk6 bm9uZTsiPicgKyBtc2cgKyAnPC9kaXY+Jyk7CgkJcmV0dXJuOwoJfQoJCgkvLyBp ZiBpdCBkb2Vzbid0IGV4aXN0CglpZiAoIWpRdWVyeSgnIycgKyB3aWRnZXRJZCAr ICctbWMnKS5jaGlsZHJlbignI21zZ18nICsgbWVzc2FnZUlkKS5sZW5ndGgpIHsK CQlqUXVlcnkoJyMnICsgd2lkZ2V0SWQgKyAnLW1jJykuY2hpbGRyZW4oJ2Rpdi50 Yl90d2VldGxpc3QnKS5iZWZvcmUoJzxkaXYgaWQ9Im1zZ18nICsgbWVzc2FnZUlk ICsgJyIgY2xhc3M9InRiX21zZyIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPicgKyBt c2cgKyAnPC9kaXY+Jyk7CgkJalF1ZXJ5KCcjJyArIHdpZGdldElkICsgJy1tYycp LmNoaWxkcmVuKCcjbXNnXycgKyBtZXNzYWdlSWQpLnNsaWRlRG93bigpOwoJCWlm ICgha2VlcE9uU2NyZWVuKSB7CgkJCXNldFRpbWVvdXQoJ1RCX2hpZGVNZXNzYWdl KCInICsgd2lkZ2V0SWQgKyAnIiwiJyArIG1lc3NhZ2VJZCArICciKScsIDgwMDAp OwoJCX0KCX0KCS8vIGVsc2UgaWYgaXQncyBoaWRkZW4KCWVsc2UgaWYgKGpRdWVy eSgnIycgKyB3aWRnZXRJZCArICctbWMnKS5jaGlsZHJlbignI21zZ18nICsgbWVz c2FnZUlkKS5pcygnOmhpZGRlbicpKSB7CgkJalF1ZXJ5KCcjJyArIHdpZGdldElk ICsgJy1tYycpLmNoaWxkcmVuKCcjbXNnXycgKyBtZXNzYWdlSWQpLnNsaWRlRG93 bigpOwoJfQp9CgpmdW5jdGlvbiBUQl9oaWRlQWxsTWVzc2FnZXMoKSB7CglqUXVl cnkoJ2Rpdi50Yl9tc2cnKS5zbGlkZVVwKDEwMDAsZnVuY3Rpb24oKXtqUXVlcnko J2Rpdi50Yl9tc2cnKS5yZW1vdmUoKX0pOwp9CgpmdW5jdGlvbiBUQl9oaWRlTWVz c2FnZSh3aWRnZXRJZCxtZXNzYWdlSWQpIHsKCWpRdWVyeSgnIycgKyB3aWRnZXRJ ZCArICctbWMnKS5jaGlsZHJlbignI21zZ18nICsgbWVzc2FnZUlkKS5zbGlkZVVw KDEwMDAsZnVuY3Rpb24oKXtqUXVlcnkoJyMnICsgd2lkZ2V0SWQgKyAnLW1jJyku Y2hpbGRyZW4oJyNtc2dfJyArIG1lc3NhZ2VJZCkucmVtb3ZlKCl9KTsKfQoKLy8g VEIgQ2xhc3MgZm9yIHR3ZWV0cwpmdW5jdGlvbiBUQl90d2VldCh0d2VldEpzb24p IHsKCgkvLyByYXcgSlNPTiBmb3IgdGhlIHR3ZWV0Cgl0aGlzLmpzb25Db2RlICA9 IHR3ZWV0SnNvbjsKCQkKCS8vIHR3ZWV0RGF0ZSBwcm9wZXJ0eQoJdGhpcy50d2Vl dERhdGUgPSBUQl9zdHIyZGF0ZSh0d2VldEpzb24uY3JlYXRlZF9hdCk7CgkKCS8v IGF1dGhvciBzY3JlZW4gbmFtZSBwcm9wZXJ0eQoJaWYgKHR5cGVvZih0d2VldEpz b24uZnJvbV91c2VyKSAhPSAndW5kZWZpbmVkJykgewoJCXRoaXMuc2NyZWVuTmFt ZSA9IHR3ZWV0SnNvbi5mcm9tX3VzZXI7Cgl9CgllbHNlIGlmICh0eXBlb2YodHdl ZXRKc29uLnVzZXIuc2NyZWVuX25hbWUpICE9ICd1bmRlZmluZWQnKSB7CgkJdGhp cy5zY3JlZW5OYW1lID0gdHdlZXRKc29uLnVzZXIuc2NyZWVuX25hbWU7Cgl9CgkK CS8vIGlkIG9mIHRoZSB0d2VldAoJdGhpcy5pZCA9IHR3ZWV0SnNvbi5pZF9zdHI7 CgkJCgkvLyBzb3VyY2VzIHJlbGV2YW50IHRvIHRoaXMgdHdlZXQKCXRoaXMuc291 cmNlcyA9ICcnOwoJCgkvLyBwcm9jZXNzIHNvdXJjZXMgYW5kIHNlbGVjdCB0aGUg b25lcyByZWxldmFudCB0byB0aGlzIHR3ZWV0Cgl0aGlzLnNlbGVjdFJlbGV2YW50 U291cmNlcyA9IGZ1bmN0aW9uKHVybFNvdXJjZXMpIHsKCQl2YXIgYWxsU291cmNl cyA9IG5ldyBBcnJheSgpLAoJCXNvdXJjZVNjcmVlbk5hbWUgPSAnQCcrdGhpcy5z Y3JlZW5OYW1lLAoJCWpzb25Db2RlID0gdGhpcy5qc29uQ29kZTsKCQlqUXVlcnku ZWFjaCh1cmxTb3VyY2VzLnNwbGl0KCcsJyksZnVuY3Rpb24oaSxzcmMpIHsKCQkJ aWYgKHNvdXJjZVNjcmVlbk5hbWUgPT0gc3JjIHx8IGpzb25Db2RlLnRleHQuaW5k ZXhPZihzcmMpID4gMCl7CgkJCQlhbGxTb3VyY2VzLnB1c2goc3JjKTsKCQkJfQoJ CX0pOwoJCS8vICBzZXQgcHJvcGVydHkgd2l0aCByZWxldmFudCBzb3VyY2VzCgkJ aWYgKGFsbFNvdXJjZXMubGVuZ3RoID4gMCkgewoJCQl0aGlzLnNvdXJjZXMgPSBh bGxTb3VyY2VzLmpvaW4oJywnKTsKCQl9CgkJLy8ganVzdCBpbiBjYXNlIHRvIG1h a2Ugc3VyZSB3ZSBkb24ndCBoYXZlIGVtcHR5IHNvdXJjZQoJCWVsc2UgewoJCQl0 aGlzLnNvdXJjZXMgPSB1cmxTb3VyY2VzOwoJCX0KCX0KCQoJLyogc2V0dXAgdGVt cGxhdGUKCSAqIHRoZSBmb2xsb3dpbmcgcGxhY2Vob2xkZXJzIHdpbGwgYmUgdXNl ZAoJICogezB9IC0gdHdlZXQgZGl2IGlkCgkgKiB7MX0gLSBzY3JlZW4gbmFtZQoJ ICogezJ9IC0gcHJvZmlsZSBpbWFnZSB1cmwKCSAqIHszfSAtIHR3ZWV0IG1lc3Nh Z2UKCSAqIHs0fSAtIHR3ZWV0IGlkIGFzIHN0cmluZwoJICogezV9IC0gZGF0ZQoJ ICogezZ9IC0gc291cmNlIGFzIGxpbmsKCSAqLwoJLy8gaWYgdXNlciBzdXBwbGll ZCBhIGN1c3RvbSBmb3JtYXQgLSB1c2UgaXQKCXZhciB0ZW1wbGF0ZTsKCWlmIChU Ql9jb25maWcuY3VzdG9tX3RlbXBsYXRlKSB7CgkJdGVtcGxhdGUgPSBUQl9jb25m aWcuY3VzdG9tX3RlbXBsYXRlOwoJfQoJLy8gaWYgbm90LCB1c2UgZGVmYXVsdCBm b3JtYXQKCWVsc2UgewoJCXRlbXBsYXRlID0gJzxkaXYgaWQ9InswfSIgY2xhc3M9 InRiX3R3ZWV0Ij4nOwoJCWlmIChUQl9jb25maWdbJ3dpZGdldF9zaG93X3Bob3Rv cyddKSB7CgkJCXRlbXBsYXRlICs9ICc8YSBjbGFzcz0idGJfcGhvdG8iIHJlbD0i bm9mb2xsb3ciIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS97MX0iPjxpbWcgc3Jj PSJ7Mn0iIGFsdD0iezF9Ij48L2E+JzsKCQl9CgkJaWYgKFRCX2NvbmZpZ1snd2lk Z2V0X3Nob3dfdXNlciddKSB7CgkJCXRlbXBsYXRlICs9ICc8c3BhbiBjbGFzcz0i dGJfYXV0aG9yIj48YSByZWw9Im5vZm9sbG93IiBocmVmPSJodHRwOi8vdHdpdHRl ci5jb20vezF9Ij57MX08L2E+OiA8L3NwYW4+ICc7CgkJfQoJCXRlbXBsYXRlICs9 ICc8c3BhbiBjbGFzcz0idGJfbXNnIj57M308L3NwYW4+PGJyIC8+JzsKCQkvLyBz dGFydCB0d2VldCBmb290ZXIgd2l0aCBpbmZvCgkJaWYgKCFUQl9jb25maWcuZ2Vu ZXJhbF9zZW9fdHdlZXRzX2dvb2dsZW9mZiAmJiBUQl9jb25maWcuZ2VuZXJhbF9z ZW9fZm9vdGVyX2dvb2dsZW9mZikgewoJCQl0ZW1wbGF0ZSArPSAnPCEtLWdvb2ds ZW9mZjogaW5kZXgtLT4nOwoJCX0KCQl0ZW1wbGF0ZSArPSAnIDxzcGFuIGNsYXNz PSJ0Yl90d2VldC1pbmZvIj4nOwoJCS8vIHNob3cgdGltZXN0YW1wCgkJdGVtcGxh dGUgKz0gJzxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNv bS97MX0vc3RhdHVzZXMvezR9Ij57NX08L2E+JzsJCQoJCS8vIHNob3cgc291cmNl IGlmIHJlcXVlc3RlZAoJCWlmIChUQl9jb25maWdbJ3dpZGdldF9zaG93X3NvdXJj ZSddICYmIHR3ZWV0SnNvbi5zb3VyY2UpIHsKCQkJdGVtcGxhdGUgKz0gJyAnICsg VEJfbGFiZWxzLmZyb20gKyAnIHs2fSc7CgkJfQoJCS8vIGVuZCB0d2VldCBmb290 ZXIKCQl0ZW1wbGF0ZSArPSAnPC9zcGFuPic7CgkJaWYgKCFUQl9jb25maWcuZ2Vu ZXJhbF9zZW9fdHdlZXRzX2dvb2dsZW9mZiAmJiBUQl9jb25maWcuZ2VuZXJhbF9z ZW9fZm9vdGVyX2dvb2dsZW9mZikgewoJCQl0ZW1wbGF0ZSArPSAnPCEtLWdvb2ds ZW9uOiBpbmRleC0tPic7CgkJfQoJCS8vIGFkZCB0d2VldCB0b29scwoJICAgaWYg KFRCX2NvbmZpZy53aWRnZXRfc2hvd19mb2xsb3dfbGluayB8fCBUQl9jb25maWcu d2lkZ2V0X3Nob3dfcmVwbHlfbGluaykgewoJCQl0ZW1wbGF0ZSArPSAnPGRpdiBj bGFzcz0idHdlZXQtdG9vbHMiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4nOwoJICAg ICAgICBpZiAoVEJfY29uZmlnLndpZGdldF9zaG93X3JlcGx5X2xpbmspIHsKCSAg ICAgICAgCXRlbXBsYXRlICs9ICc8YSByZWw9Im5vZm9sbG93IiBocmVmPSJodHRw Oi8vdHdpdHRlci5jb20vaG9tZT9zdGF0dXM9QHsxfSUyMCZpbl9yZXBseV90b19z dGF0dXNfaWQ9ezR9JmluX3JlcGx5X3RvPXsxfSI+JyArIFRCX2xhYmVscy5yZXBs eSArICc8L2E+JzsKCSAgICAgICAgfQoJICAgICAgICBpZiAoVEJfY29uZmlnLndp ZGdldF9zaG93X2ZvbGxvd19saW5rICYmIFRCX2NvbmZpZy53aWRnZXRfc2hvd19y ZXBseV9saW5rKSB7CgkgICAgICAgIAl0ZW1wbGF0ZSArPSAnIHwgJzsKCSAgICAg ICAgfQoJICAgICAgICBpZiAoVEJfY29uZmlnLndpZGdldF9zaG93X2ZvbGxvd19s aW5rKSB7CgkgICAgICAgIAl0ZW1wbGF0ZSArPSAnPGEgcmVsPSJub2ZvbGxvdyIg aHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3sxfSI+JyArIFRCX2xhYmVscy5mb2xs b3cgKyAnIHsxfTwvYT4nOwoJICAgICAgICB9CgkgICAgICAgIHRlbXBsYXRlICs9 ICc8L2Rpdj4nOyAKCQl9CgkJLy8gZW5kIHR3ZWV0CQoJCXRlbXBsYXRlICs9ICI8 L2Rpdj5cbiI7Cgl9CgkKCS8vIGNyZWF0ZXMgdW5pcXVlIGRpdiBJRCBmb3IgdGhp cyB0d2VldAoJZ2V0RGl2SWQgPSBmdW5jdGlvbih0d2VldERhdGUsc2NyZWVuTmFt ZSxzdHJJZCkgewoJCXJldHVybiAndC0nICsgdHdlZXREYXRlLmdldFRpbWUoKSAr ICctJyArIHNjcmVlbk5hbWUgKyAnLScgKyBzdHJJZDsJCgl9CgoJLy8gZGl2IGlk IG9mIHRoZSB0d2VldAoJdGhpcy5kaXZJZCA9IGdldERpdklkKHRoaXMudHdlZXRE YXRlLHRoaXMuc2NyZWVuTmFtZSx0aGlzLmlkKTsKCQoJLy8gbWFrZXMgSFRNTCBm b3IgZWFjaCB0d2VldAoJdGhpcy5nZXRIVE1MID0gZnVuY3Rpb24oKSB7CgkJLyog dGhlIGZvbGxvd2luZyBwbGFjZWhvbGRlcnMgd2lsbCBiZSB1c2VkIGluIHRoZSB0 ZW1wbGF0ZQoJCSAqIHswfSAtIHR3ZWV0IGRpdiBpZAoJCSAqIHsxfSAtIHNjcmVl biBuYW1lCgkJICogezJ9IC0gcHJvZmlsZSBpbWFnZSB1cmwKCQkgKiB7M30gLSB0 d2VldCBtZXNzYWdlCgkJICogezR9IC0gdHdlZXQgaWQgYXMgc3RyaW5nCgkJICog ezV9IC0gZGF0ZQoJCSAqIHs2fSAtIHNvdXJjZSBhcyBsaW5rCgkJICovCgkJdmFy IHRleHRIdG1sID0gdGhpcy5qc29uQ29kZS50ZXh0LAoJCW5hbWVIdG1sLAoJCWlt YWdlVXJsID0gJycsCgkJZGF0ZUh0bWwgPSAnJywKCQlzb3VyY2VIdG1sID0gJyc7 CgoJCWlmICh0eXBlb2YoVEJfc291cmNlTmFtZXNbdGhpcy5zY3JlZW5OYW1lLnRv TG93ZXJDYXNlKCldKSAhPSAndW5kZWZpbmVkJykgewoJCQluYW1lSHRtbCA9IFRC X3NvdXJjZU5hbWVzW3RoaXMuc2NyZWVuTmFtZS50b0xvd2VyQ2FzZSgpXTsKCQl9 CgkJZWxzZSB7CgkJCW5hbWVIdG1sID0gIHRoaXMuc2NyZWVuTmFtZTsKCQl9CgkJ CQkKCQkvLyBsaW5rIFVSTHMKCQlpZiAoVEJfY29uZmlnLmdlbmVyYWxfbGlua191 cmxzKSB7CgkJCXRleHRIdG1sID0gdGV4dEh0bWwucmVwbGFjZSgvKGh0dHBzPzpc L1wvXFMrKS9naSwgJzxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9IiQxIj4kMTwvYT4n KTsKCQl9CgkJLy8gbGluayBzY3JlZW4gbmFtZXMKCQlpZiAoVEJfY29uZmlnLmdl bmVyYWxfbGlua19zY3JlZW5fbmFtZXMpIHsKCQkJdGV4dEh0bWwgPSB0ZXh0SHRt bC5yZXBsYWNlKC9cQChbXHddKykvZ2ksJzxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9 Imh0dHA6Ly90d2l0dGVyLmNvbS8kMSI+QCQxPC9hPicpOyAKCQl9CgkJLy8gbGlu ayBoYXNoIHRhZ3MKCQlpZiAoVEJfY29uZmlnLmdlbmVyYWxfbGlua19oYXNoX3Rh Z3MpIHsKCQkJdGV4dEh0bWwgPSB0ZXh0SHRtbC5yZXBsYWNlKC9cIyhcUyspL2dp LCc8YSByZWw9Im5vZm9sbG93IiBocmVmPSJodHRwOi8vc2VhcmNoLnR3aXR0ZXIu Y29tL3NlYXJjaD9xPSUyMyQxIj4jJDE8L2E+Jyk7IAoJCX0KCQlpZiAodHdlZXRK c29uLnByb2ZpbGVfaW1hZ2VfdXJsKSB7CgkJCWltYWdlVXJsID0gdHdlZXRKc29u LnByb2ZpbGVfaW1hZ2VfdXJsOwoJCX0KCQllbHNlIHsKCQkJaW1hZ2VVcmwgPSB0 d2VldEpzb24udXNlci5wcm9maWxlX2ltYWdlX3VybDsKCQl9CgkJLy8gbWFrZSBk YXRlCgkJaWYgKFRCX2NvbmZpZy5nZW5lcmFsX3RpbWVzdGFtcF9mb3JtYXQpIHsK CQkJaWYgKHR5cGVvZihqUXVlcnkuUEhQRGF0ZSkgIT0gJ3VuZGVmaW5lZCcpIHsK CQkJCWRhdGVIdG1sICs9IGpRdWVyeS5QSFBEYXRlKFRCX2NvbmZpZy5nZW5lcmFs X3RpbWVzdGFtcF9mb3JtYXQsdGhpcy50d2VldERhdGUpOwoJCQl9CgkJCWVsc2Ug aWYgKHR5cGVvZihqUW5jLlBIUERhdGUpICE9ICd1bmRlZmluZWQnKSB7CgkJCQlk YXRlSHRtbCArPSBqUW5jLlBIUERhdGUoVEJfY29uZmlnLmdlbmVyYWxfdGltZXN0 YW1wX2Zvcm1hdCx0aGlzLnR3ZWV0RGF0ZSk7CgkJCX0KCQl9CgkJZWxzZSB7CgkJ CWRhdGVIdG1sICs9IFRCX3ZlcmJhbFRpbWUodGhpcy50d2VldERhdGUpOwoJCX0g CgkJLy8gaWYgc291cmNlIGlzIHVybCBlbmNvZGVkIC0+IGRlY29kZQoJCWlmICh0 d2VldEpzb24uc291cmNlLmluZGV4T2YoJyZsdDsnKSA+PSAwKSB7CgkJCXNvdXJj ZUh0bWwgKz0galF1ZXJ5KCc8dGV4dGFyZWEvPicpLmh0bWwodHdlZXRKc29uLnNv dXJjZSkudmFsKCk7CgkJfQoJCS8vIGVsc2UgdXNlIGFzIGlzCgkJZWxzZSB7CgkJ CXNvdXJjZUh0bWwgKz0gdHdlZXRKc29uLnNvdXJjZTsKCQl9CgoJCS8vIHJldHVy biBmb3JtYXR0ZWQgc3RyaW5nCgkJcmV0dXJuIHRlbXBsYXRlLmZvcm1hdCh0aGlz LmRpdklkLG5hbWVIdG1sLGltYWdlVXJsLHRleHRIdG1sLHR3ZWV0SnNvbi5pZF9z dHIsZGF0ZUh0bWwsc291cmNlSHRtbCk7Cgl9CgkKCXRoaXMuaXNOZXdlclRoYW4g PSBmdW5jdGlvbihUQl90d2VldElkKSB7CgkJdmFyIHR3ZWV0SWRQYXJ0cywKCQlv dXJUaW1lU3RhbXAsCgkJb3RoZXJUd2VldFRpbWVTdGFtcCwKCQlvdGhlclR3ZWV0 U2NyZWVuTmFtZTsKCQkKCQkvLyBpZiBvdGhlciB0d2VldCdzIElEIGlzIG5vdCBk ZWZpbmVkIC0gYXNzdW1lIHdlIGFyZSBuZXdlcgoJCWlmICh0eXBlb2YoVEJfdHdl ZXRJZCkgPT0gJ3VuZGVmaW5lZCcpIHsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCS8v IGlmIGl0J3Mgc29tZSB3ZWlyZCBmb3JtYXQgLSBhc3N1bWUgd2UgYXJlIG5ld2Vy CgkJZWxzZSBpZiAoVEJfdHdlZXRJZC5pbmRleE9mKCctJykgPD0gMCkgewoJCQly ZXR1cm4gdHJ1ZTsKCQl9CgkJLy8gZWxzZSwgcHJlcGFyZSBmb3IgcmVhbCBjb21w YXJpc29ucwoJCWVsc2UgewoJCQl0d2VldElkUGFydHMgPSBUQl90d2VldElkLnNw bGl0KCctJyk7CgkJCW90aGVyVHdlZXRUaW1lU3RhbXAgPSB0d2VldElkUGFydHNb MV07CgkJCW90aGVyVHdlZXRTY3JlZW5OYW1lID0gdHdlZXRJZFBhcnRzWzJdOwoJ CQlvdXJUaW1lU3RhbXAgPSB0aGlzLnR3ZWV0RGF0ZS5nZXRUaW1lKCk7CgkJfQoK CQkvLyBpZiBvdXIgdGltZXN0YW1wIGlzIGxhdGVyCgkJaWYgKG91clRpbWVTdGFt cCA+IG90aGVyVHdlZXRUaW1lU3RhbXApIHsKCQkJcmV0dXJuIHRydWU7CgkJfQoJ CS8vIGlmIHRpbWVzdGFtcCBpcyBvbGRlcgoJCWVsc2UgaWYgKG91clRpbWVTdGFt cCA8IG90aGVyVHdlZXRUaW1lU3RhbXApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0K CQkvLyBpZiB0aW1lc3RhbXBzIGFyZSBzYW1lIGJ1dCB1c2VycyBhcmUgZGlmZmVy ZW50CgkJZWxzZSBpZiAodGhpcy5zY3JlZW5OYW1lICE9IG90aGVyVHdlZXRTY3Jl ZW5OYW1lKXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCS8vIGlmIHRpbWVzdGFtcHMg YXJlIHNhbWUgYW5kIHVzZXJzIHNhbWUKCQllbHNlIHsKCQkJcmV0dXJuIGZhbHNl OwoJCX0KCX0KCQoJdGhpcy5pc09sZGVyVGhhbiA9IGZ1bmN0aW9uKFRCX3R3ZWV0 SWQpIHsKCQlyZXR1cm4gIXRoaXMuaXNOZXdlclRoYW4oVEJfdHdlZXRJZCk7Cgl9 CgkKCQoJdGhpcy5pc1NhbWVJZCA9IGZ1bmN0aW9uKFRCX3R3ZWV0SWQpIHsKCgkJ dmFyIHBhcnRzMSwgcGFydHMyOwoKCQkvLyBpZiBvdGhlciB0d2VldCdzIElEIGlz IG5vdCBkZWZpbmVkIC0gYXNzdW1lIHdlIGFyZSBub3QgdGhlIHNhbWUKCQlpZiAo dHlwZW9mKFRCX3R3ZWV0SWQpID09ICd1bmRlZmluZWQnKSB7CgkJCXJldHVybiBm YWxzZTsKCQl9CgkJLy8gaWYgaXQncyBzb21lIHdlaXJkIGZvcm1hdCAtIGFzc3Vt ZSB3ZSBhcmUgbm90IHRoZSBzYW1lCgkJZWxzZSBpZiAoVEJfdHdlZXRJZC5pbmRl eE9mKCctJykgPD0gMCkgewoJCQlyZXR1cm4gZmxhc2U7CgkJfQoJCS8vIGVsc2Us IGRvIHRoZSByZWFsIGNvbXBhcmlzb25zCgkJZWxzZSB7CgkJCQoJCQlwYXJ0czEg PSBUQl90d2VldElkLnNwbGl0KCctJyk7CgkJCXBhcnRzMiA9IHRoaXMuZGl2SWQu c3BsaXQoJy0nKTsKCQkJCgkJCS8vIGlmIG9uZSBvZiB0aGUgSURzIGlzIGluIG9s ZCBmb3JtYXQgLSBjb21wYXJlIG9ubHkgdGhlIGZpcnN0IHR3byBwYXJ0cwoJCQlp ZiAocGFydHMxLmxlbmd0aCA9PSAzIHx8IHBhcnRzMi5sZW5ndGggPT0gMykgewoJ CQkJcmV0dXJuIChwYXJ0czFbMV0gPT0gcGFydHMyWzFdICYmIHBhcnRzMVsyXSA9 PSBwYXJ0czJbMl0pOwoJCQl9CgkJCS8vIGZvciBuZXcgZm9ybWF0cyAtIGNvbXBh cmUgYWxsIDMgcGFydHMKCQkJZWxzZSB7CgkJCQlyZXR1cm4gKHBhcnRzMVsxXSA9 PSBwYXJ0czJbMV0gJiYgcGFydHMxWzJdID09IHBhcnRzMlsyXSAmJiBwYXJ0czFb M10gPT0gcGFydHMyWzNdKTsKCQkJfQoJCX0KCX0KCQoJLyogcmV0dXJucyB0cnVl IGlmIHRoaXMgdHdlZXQgZG9lc24ndCBjb250YWluIGFueSB3b3JkcyB0aGF0IGFy ZSBzdXBwb3NlZCB0byBiZSBmaWx0ZXJlZCBvdXQgCgkgKiBhbmQgaWYgaXQncyBu b3Qgc3VwcG9zZWQgdG8gYmUgaGlkZGVuIGR1ZSB0byBvdGhlciBjcml0ZXJpYQoJ ICovCgl0aGlzLmlzT0t0b1Nob3cgPSBmdW5jdGlvbigpIHsKCgkJLy8gaWYgd2Ug aGF2ZSBhIG1vZGlmaWVyIG9uIHRoYXQgc291cmNlIGFuZCB0ZXh0IGNvbnRhaW5z IGl0CgkJaWYgKHRoaXMubW9kaWZpZXIpIHsKCQkJaWYgKHRoaXMubW9kaWZpZXIu bGVuZ3RoID4gMCAmJiB0aGlzLmpzb25Db2RlLnRleHQuaW5kZXhPZih0aGlzLm1v ZGlmaWVyKSA8IDApIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQkKCQkv LyBpZiB3ZSBkb24ndCBzaG93IHR3ZWV0cyB3aXRoIHNhbWUgY29udGVudAoJCWlm IChUQl9jb25maWcuZmlsdGVyX2hpZGVfc2FtZV90ZXh0KSB7CgkJCWlmIChqUXVl cnkuaW5BcnJheSh0aGlzLmpzb25Db2RlLnRleHQsVEJfc2VlblR3ZWV0cykgPiAw KSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgoJCS8vIGlmIHRoaXMgaXMg YSByZXBseQoJCWlmICh0aGlzLmpzb25Db2RlLmluX3JlcGx5X3RvX3VzZXJfaWQg fHwgdGhpcy5qc29uQ29kZS50b191c2VyX2lkKSB7CgkJCS8vIGlmIHdlIGRvbid0 IHNob3cgcmVwbGllcwoJCQlpZiAoVEJfY29uZmlnLmZpbHRlcl9oaWRlX3JlcGxp ZXMpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQkvLyBlbHNlLCBpZiBp dCdzIG5vdCBhIHJlcGx5IGJ1dCB3ZSBhcmUgc2hvd2luZyBvbmx5IHJlcGxpZXMK CQllbHNlIGlmIChUQl9jb25maWcuZmlsdGVyX2hpZGVfbm90X3JlcGxpZXMpIHsK CQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJLy8gaWYgdGhlcmUgYXJlIGZpbHRlcmVk IHdvcmRzIGFuZCB0aGUgdHdlZXQgdGV4dCBtYXRjaGVzIGFueSBvZiB0aGVtIC0g c2tpcCB0aGlzIHR3ZWV0CgkJaWYgKHR5cGVvZihUQl9jb25maWdbJ2ZpbHRlcl9i YWRfc3RyaW5ncyddKSAhPSAndW5kZWZpbmVkJyAmJiBUQl9jb25maWcuZmlsdGVy X2JhZF9zdHJpbmdzLmxlbmd0aCA+IDApIHsKCQkJYmFkU3RyaW5ncyA9IFRCX2Nv bmZpZy5maWx0ZXJfYmFkX3N0cmluZ3Muc3BsaXQoJywnKTsKCQkJZm9yIChpID0g MDsgaSA8IGJhZFN0cmluZ3MubGVuZ3RoOyBpKyspIHsKCQkJCWlmICh0aGlzLmpz b25Db2RlLnRleHQuaW5kZXhPZihiYWRTdHJpbmdzW2ldKSA+PSAwIHx8IHRoaXMu c2NyZWVuTmFtZS5pbmRleE9mKGJhZFN0cmluZ3NbaV0pID49IDApIHsKCQkJCQly ZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0KCQl9CgkJCgkJLy8gaWYgdGhyb3R0bGlu ZyBpcyBPTiBhbmQgd2UgYXJlIGF0IG1heCBmb3IgdGhpcyB1c2VyLCBza2lwIGl0 CgkJaWYgKFRCX2NvbmZpZy5maWx0ZXJfbGltaXRfcGVyX3NvdXJjZSA+IDApIHsK CQkJaWYgKHR5cGVvZihUQl9zb3VyY2VDb3VudHNbdGhpcy5zY3JlZW5OYW1lXSkg IT0gJ3VuZGVmaW5lZCcgfHwgVEJfc291cmNlQ291bnRzW3RoaXMuc2NyZWVuTmFt ZV0gPT0gMCkgewoJCQkKCQkJCWlmIChUQl9zb3VyY2VDb3VudHNbdGhpcy5zY3Jl ZW5OYW1lXSA+PSBUQl9jb25maWcuZmlsdGVyX2xpbWl0X3Blcl9zb3VyY2UpIHsK CQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQlUQl9zb3Vy Y2VDb3VudHNbdGhpcy5zY3JlZW5OYW1lXSsrOwoJCQkJfQoJCQl9CgkJCWVsc2Ug ewoJCQkJVEJfc291cmNlQ291bnRzW3RoaXMuc2NyZWVuTmFtZV0gPSAxOwoJCQkJ aWYgKFRCX2NvbmZpZy53aWRnZXRfbGltaXRfcGVyX3NvdXJjZV90aW1lID4gMCkg ewoJCQkJCXNldFRpbWVvdXQoJ1RCX3NvdXJjZUNvdW50c1siJyArIHRoaXMuc2Ny ZWVuTmFtZSArICciXT0wJyxUQl9jb25maWcud2lkZ2V0X2xpbWl0X3Blcl9zb3Vy Y2VfdGltZSAqIDEwMDApOwoJCQkJfQoJCQl9CgkJfQoJCQoJCXJldHVybiB0cnVl OwoJfQoJCn0KCi8vIGluaXRpYWxpemUKVEJfYWRkTG9hZEV2ZW50KFRCX3N0YXJ0 KTsgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShUQl9zdGFydCk7 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=shutter-reloaded.js Content-Type: application/x-javascript; charset=UTF-8; name=shutter-reloaded.js Content-Location: http://aquaviews.net/wp-content/plugins/nextgen-gallery/shutter/shutter-reloaded.js?ver=1.3.0 Content-Transfer-Encoding: Base64 LyoNClNodXR0ZXIgUmVsb2FkZWQgZm9yIE5leHRHRU4gR2FsbGVyeQ0KaHR0cDov L3d3dy5sYXB0b3B0aXBzLmNhL2phdmFzY3JpcHRzL3NodXR0ZXItcmVsb2FkZWQv DQpWZXJzaW9uOiAxLjMuMQ0KQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggIEFuZHJl dyBPenoNClJlbGVhc2VkIHVuZGVyIHRoZSBHUEwsIGh0dHA6Ly93d3cuZ251Lm9y Zy9jb3B5bGVmdC9ncGwuaHRtbA0KDQpBY2tub3dsZWRnZW1lbnQ6IHNvbWUgaWRl YXMgYXJlIGZyb206IFNodXR0ZXIgYnkgQW5kcmV3IFN1dGhlcmxhbmQgLSBodHRw Oi8vY29kZS5qYWxlbmFjay5jb20sIFdvcmRQcmVzcyAtIGh0dHA6Ly93b3JkcHJl c3Mub3JnLCBMaWdodGJveCBieSBMb2tlc2ggRGhha2FyIC0gaHR0cDovL3d3dy5o dWRkbGV0b2dldGhlci5jb20sIHRoZSBpY29ucyBhcmUgZnJvbSBDcnlzdGFsIFBy b2plY3QgSWNvbnMsIEV2ZXJhbGRvIENvZWxobywgaHR0cDovL3d3dy5ldmVyYWxk by5jb20NCg0KKi8NCg0Kc2h1dHRlck9ubG9hZCA9IGZ1bmN0aW9uKCl7c2h1dHRl clJlbG9hZGVkLmluaXQoJ3NoJyk7fQ0KDQppZiAodHlwZW9mIHNodXR0ZXJPbmxv YWQgPT0gJ2Z1bmN0aW9uJykgew0KCWlmICgndW5kZWZpbmVkJyAhPSB0eXBlb2Yg alF1ZXJ5KSBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7c2h1dHRl ck9ubG9hZCgpO30pOw0KCWVsc2UgaWYoIHR5cGVvZiB3aW5kb3cub25sb2FkICE9 ICdmdW5jdGlvbicgKSB3aW5kb3cub25sb2FkID0gc2h1dHRlck9ubG9hZDsNCgll bHNlIHtvbGRvbmxkID0gd2luZG93Lm9ubG9hZDt3aW5kb3cub25sb2FkID0gZnVu Y3Rpb24oKXtpZihvbGRvbmxkKXtvbGRvbmxkKCk7fTtzaHV0dGVyT25sb2FkKCk7 fX07DQp9DQoNCnNodXR0ZXJSZWxvYWRlZCA9IHsNCg0KCUkgOiBmdW5jdGlvbiAo YSkgew0KCQlyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSk7DQoJfSwN Cg0KCXNldHRpbmdzIDogZnVuY3Rpb24oKSB7DQoJCXZhciB0ID0gdGhpcywgcyA9 IHNodXR0ZXJTZXR0aW5nczsNCg0KCQl0LmltYWdlQ291bnQgPSBzLmltYWdlQ291 bnQgfHwgMDsNCgkJdC5tc2dMb2FkaW5nID0gcy5tc2dMb2FkaW5nIHx8ICdMIE8g QSBEIEkgTiBHJzsNCgkJdC5tc2dDbG9zZSA9IHMubXNnQ2xvc2UgfHwgJ0NsaWNr IHRvIENsb3NlJzsNCgl9LA0KDQoJaW5pdCA6IGZ1bmN0aW9uIChhKSB7DQoJCXZh ciB0ID0gdGhpcywgTCwgVCwgZXh0LCBpLCBtLCBzZXRpZCwgaW5zZXQsIHNoZmls ZSwgc2hNZW51UHJlLCBrLCBpbWc7DQoJCXNodXR0ZXJMaW5rcyA9IHt9LCBzaHV0 dGVyU2V0cyA9IHt9Ow0KCQlpZiAoICdvYmplY3QnICE9IHR5cGVvZiBzaHV0dGVy U2V0dGluZ3MgKSBzaHV0dGVyU2V0dGluZ3MgPSB7fTsNCg0KCQlmb3IgKCBpID0g MDsgaSA8IGRvY3VtZW50LmxpbmtzLmxlbmd0aDsgaSsrICkgew0KCQkJTCA9IGRv Y3VtZW50LmxpbmtzW2ldOw0KCQkJZXh0ID0gKCBMLmhyZWYuaW5kZXhPZignPycp ID09IC0xICkgPyBMLmhyZWYuc2xpY2UoLTQpLnRvTG93ZXJDYXNlKCkgOiBMLmhy ZWYuc3Vic3RyaW5nKCAwLCBMLmhyZWYuaW5kZXhPZignPycpICkuc2xpY2UoLTQp LnRvTG93ZXJDYXNlKCk7DQoJCQlpZiAoIGV4dCAhPSAnLmpwZycgJiYgZXh0ICE9 ICcucG5nJyAmJiBleHQgIT0gJy5naWYnICYmIGV4dCAhPSAnanBlZycgKSBjb250 aW51ZTsNCgkJCWlmICggYSA9PSAnc2gnICYmIEwuY2xhc3NOYW1lLnRvTG93ZXJD YXNlKCkuaW5kZXhPZignc2h1dHRlcicpID09IC0xICkgY29udGludWU7DQoJCQlp ZiAoIGEgPT0gJ2xiJyAmJiBMLnJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2xp Z2h0Ym94JykgPT0gLTEgKSBjb250aW51ZTsNCg0KCQkJaWYgKCBMLmNsYXNzTmFt ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3NodXR0ZXJzZXQnKSAhPSAtMSApDQoJ CQlzZXRpZCA9IEwuY2xhc3NOYW1lLnJlcGxhY2UoL1xzL2csICdfJyk7CQkJDQoJ CQllbHNlIGlmICggTC5yZWwudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdsaWdodGJv eFsnKSAhPSAtMSApDQoJCQlzZXRpZCA9IEwucmVsLnJlcGxhY2UoL1xzL2csICdf Jyk7DQoJCQllbHNlIHNldGlkID0gMCwgaW5zZXQgPSAtMTsNCgkJCQ0KCQkJaWYo IHNldGlkICkgew0KCQkJCWlmICggISBzaHV0dGVyU2V0c1tzZXRpZF0gKSBzaHV0 dGVyU2V0c1tzZXRpZF0gPSBbXTsNCgkJCQkJaW5zZXQgPSBzaHV0dGVyU2V0c1tz ZXRpZF0ucHVzaChpKTsNCgkJCX0NCgkJCQ0KCQkJc2hmaWxlID0gTC5ocmVmLnNs aWNlKEwuaHJlZi5sYXN0SW5kZXhPZignLycpKzEpOw0KCQkJVCA9ICggTC50aXRs ZSAmJiBMLnRpdGxlICE9IHNoZmlsZSApID8gTC50aXRsZSA6ICcnOw0KCQkJDQoJ CQlzaHV0dGVyTGlua3NbaV0gPSB7bGluazpMLmhyZWYsbnVtOmluc2V0LHNldDpz ZXRpZCx0aXRsZTpUfQ0KCQkJTC5vbmNsaWNrID0gbmV3IEZ1bmN0aW9uKCdzaHV0 dGVyUmVsb2FkZWQubWFrZSgiJyArIGkgKyAnIik7cmV0dXJuIGZhbHNlOycpOw0K CQl9DQoNCgkJdC5zZXR0aW5ncygpOw0KDQoJfSwNCg0KCW1ha2UgOiBmdW5jdGlv bihsbixmcykgew0KCQl2YXIgdCA9IHRoaXMsIHByZXYsIG5leHQsIHByZXZsaW5r ID0gJycsIG5leHRsaW5rID0gJycsIHByZXZpbWcsIG5leHRpbWcsIEQsIFMsIFcs IGZzYXJnID0gLTEsIGltZ051bSwgTmF2QmFyOw0KDQoJCWlmICggISB0LlRvcCAp IHsNCgkJCWlmICggdHlwZW9mIHdpbmRvdy5wYWdlWU9mZnNldCAhPSAndW5kZWZp bmVkJyApIHQuVG9wID0gd2luZG93LnBhZ2VZT2Zmc2V0Ow0KCQkJZWxzZSB0LlRv cCA9IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID4gMCkgPyBk b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIDogZG9jdW1lbnQuYm9k eS5zY3JvbGxUb3A7DQoJCX0NCg0KCQlpZiAoIHR5cGVvZiB0LnBnSGVpZ2h0ID09 ICd1bmRlZmluZWQnICkNCgkJCXQucGdIZWlnaHQgPSBNYXRoLm1heChkb2N1bWVu dC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmJvZHkuc2Ny b2xsSGVpZ2h0KTsNCg0KCQlpZiAoIGZzICkgdC5GUyA9ICggZnMgPiAwICkgPyAx IDogMDsNCgkJZWxzZSB0LkZTID0gc2h1dHRlclNldHRpbmdzLkZTIHx8IDA7DQoN CgkJaWYgKCB0LnJlc2l6aW5nICkgdC5yZXNpemluZyA9IG51bGw7DQoJCXdpbmRv dy5vbnJlc2l6ZSA9IG5ldyBGdW5jdGlvbignc2h1dHRlclJlbG9hZGVkLnJlc2l6 ZSgiJytsbisnIik7Jyk7DQoNCgkJZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0 eWxlLm92ZXJmbG93WCA9ICdoaWRkZW4nOw0KCQlpZiAoICEgdC5WUCApIHsNCgkJ CXQuX3ZpZXdQb3J0KCk7DQoJCQl0LlZQID0gdHJ1ZTsNCgkJfQ0KDQoJCWlmICgg ISAoUyA9IHQuSSgnc2hTaHV0dGVyJykpICkgew0KCQkJUyA9IGRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoJ2RpdicpOw0KCQkJUy5zZXRBdHRyaWJ1dGUoJ2lkJywnc2hT aHV0dGVyJyk7DQoJCQlkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9k eScpWzBdLmFwcGVuZENoaWxkKFMpOw0KCQkJdC5oaWRlVGFncygpOw0KCQl9DQoN CgkJaWYgKCAhIChEID0gdC5JKCdzaERpc3BsYXknKSkgKSB7DQoJCQlEID0gZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7DQoJCQlELnNldEF0dHJpYnV0ZSgn aWQnLCdzaERpc3BsYXknKTsNCgkJCUQuc3R5bGUudG9wID0gdC5Ub3AgKyAncHgn Ow0KCQkJZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5h cHBlbmRDaGlsZChEKTsNCgkJfQ0KDQoJCVMuc3R5bGUuaGVpZ2h0ID0gdC5wZ0hl aWdodCArICdweCc7DQoNCgkJdmFyIGR2ID0gdC50ZXh0QnRucyA/ICcgfCAnIDog Jyc7DQoJCWlmICggc2h1dHRlckxpbmtzW2xuXS5udW0gPiAxICkgew0KCQkJcHJl diA9IHNodXR0ZXJTZXRzW3NodXR0ZXJMaW5rc1tsbl0uc2V0XVtzaHV0dGVyTGlu a3NbbG5dLm51bSAtIDJdOw0KCQkJcHJldmxpbmsgPSAnPGEgaHJlZj0iIyIgb25j bGljaz0ic2h1dHRlclJlbG9hZGVkLm1ha2UoJytwcmV2KycpO3JldHVybiBmYWxz ZSI+Jmx0OyZsdDs8L2E+JytkdjsNCgkJCXByZXZpbWcgPSBuZXcgSW1hZ2UoKTsN CgkJCXByZXZpbWcuc3JjID0gc2h1dHRlckxpbmtzW3ByZXZdLmxpbms7DQoJCX0g ZWxzZSB7DQoJCQlwcmV2bGluayA9ICcnOw0KCQl9DQoNCgkJaWYgKCBzaHV0dGVy TGlua3NbbG5dLm51bSAhPSAtMSAmJiBzaHV0dGVyTGlua3NbbG5dLm51bSA8IChz aHV0dGVyU2V0c1tzaHV0dGVyTGlua3NbbG5dLnNldF0ubGVuZ3RoKSApIHsNCgkJ CW5leHQgPSBzaHV0dGVyU2V0c1tzaHV0dGVyTGlua3NbbG5dLnNldF1bc2h1dHRl ckxpbmtzW2xuXS5udW1dOw0KCQkJbmV4dGxpbmsgPSAnPGEgaHJlZj0iIyIgb25j bGljaz0ic2h1dHRlclJlbG9hZGVkLm1ha2UoJytuZXh0KycpO3JldHVybiBmYWxz ZSI+Jmd0OyZndDs8L2E+JytkdjsNCgkJCW5leHRpbWcgPSBuZXcgSW1hZ2UoKTsN CgkJCW5leHRpbWcuc3JjID0gc2h1dHRlckxpbmtzW25leHRdLmxpbms7DQoJCX0g ZWxzZSB7DQoJCQluZXh0bGluayA9ICcnOw0KCQl9DQoNCgkJaW1nTnVtID0gKCAo c2h1dHRlckxpbmtzW2xuXS5udW0gPiAwKSAmJiB0LmltYWdlQ291bnQgKSA/ICc8 ZGl2IGlkPSJzaENvdW50Ij4mbmJzcDsoJm5ic3A7JyArIHNodXR0ZXJMaW5rc1ts bl0ubnVtICsgJyZuYnNwOy8mbmJzcDsnICsgc2h1dHRlclNldHNbc2h1dHRlckxp bmtzW2xuXS5zZXRdLmxlbmd0aCArICcmbmJzcDspJm5ic3A7PC9kaXY+JyA6ICcn Ow0KDQoJCU5hdkJhciA9ICc8ZGl2IGlkPSJzaFRpdGxlIj48ZGl2IGlkPSJzaFBy ZXYiPicgKyBwcmV2bGluayArICc8L2Rpdj48ZGl2IGlkPSJzaE5leHQiPicgKyBu ZXh0bGluayArICc8L2Rpdj48ZGl2IGlkPSJzaE5hbWUiPicgKyBzaHV0dGVyTGlu a3NbbG5dLnRpdGxlICsgJzwvZGl2PicgKyBpbWdOdW0gKyAnPC9kaXY+JzsNCg0K CQlELmlubmVySFRNTCA9ICc8ZGl2IGlkPSJzaFdyYXAiPjxpbWcgc3JjPSIiIGlk PSJzaFRvcEltZyIgdGl0bGU9IicgKyB0Lm1zZ0Nsb3NlICsgJyIgb25sb2FkPSJz aHV0dGVyUmVsb2FkZWQuc2hvd0ltZygpOyIgb25jbGljaz0ic2h1dHRlclJlbG9h ZGVkLmhpZGVTaHV0dGVyKCk7IiAvPicgKyBOYXZCYXIgKyc8L2Rpdj4nOw0KCQkN CgkJLy9Hb29nbGUgQ2hyb21lIDQuMC4yNDkuNzggYnVnIGZvciBvbmxvYWQgYXR0 cmlidXRlDQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaFRvcEltZycpLnNy YyA9IHNodXR0ZXJMaW5rc1tsbl0ubGluazsNCgkJDQoJCXdpbmRvdy5zZXRUaW1l b3V0KGZ1bmN0aW9uKCl7c2h1dHRlclJlbG9hZGVkLmxvYWRpbmcoKTt9LDIwMDAp Ow0KCX0sDQoNCglsb2FkaW5nIDogZnVuY3Rpb24oKSB7DQoJCXZhciB0ID0gdGhp cywgUywgV0IsIFc7DQoJCWlmICggKFcgPSB0LkkoJ3NoV3JhcCcpKSAmJiBXLnN0 eWxlLnZpc2liaWxpdHkgPT0gJ3Zpc2libGUnICkgcmV0dXJuOw0KCQlpZiAoICEg KFMgPSB0LkkoJ3NoU2h1dHRlcicpKSApIHJldHVybjsNCgkJaWYgKCB0LkkoJ3No V2FpdEJhcicpICkgcmV0dXJuOw0KCQlXQiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoJ2RpdicpOw0KCQlXQi5zZXRBdHRyaWJ1dGUoJ2lkJywnc2hXYWl0QmFyJyk7 DQoJCVdCLnN0eWxlLnRvcCA9IHQuVG9wICsgJ3B4JzsNCgkJV0IuaW5uZXJIVE1M ID0gdC5tc2dMb2FkaW5nOw0KCQlTLmFwcGVuZENoaWxkKFdCKTsNCgl9LA0KDQoJ aGlkZVNodXR0ZXIgOiBmdW5jdGlvbigpIHsNCgkJdmFyIHQgPSB0aGlzLCBELCBT Ow0KCQlpZiAoIEQgPSB0LkkoJ3NoRGlzcGxheScpICkgRC5wYXJlbnROb2RlLnJl bW92ZUNoaWxkKEQpOw0KCQlpZiAoIFMgPSB0LkkoJ3NoU2h1dHRlcicpICkgUy5w YXJlbnROb2RlLnJlbW92ZUNoaWxkKFMpOw0KCQl0LmhpZGVUYWdzKHRydWUpOw0K CQl3aW5kb3cuc2Nyb2xsVG8oMCx0LlRvcCk7DQoJCXdpbmRvdy5vbnJlc2l6ZSA9 IHQuRlMgPSB0LlRvcCA9IHQuVlAgPSBudWxsOw0KCQlkb2N1bWVudC5kb2N1bWVu dEVsZW1lbnQuc3R5bGUub3ZlcmZsb3dYID0gJyc7DQoJfSwNCg0KCXJlc2l6ZSA6 IGZ1bmN0aW9uKGxuKSB7DQoJCXZhciB0ID0gdGhpczsNCg0KCQlpZiAoIHQucmVz aXppbmcgKSByZXR1cm47DQoJCWlmICggISB0LkkoJ3NoU2h1dHRlcicpICkgcmV0 dXJuOw0KCQl2YXIgVyA9IHQuSSgnc2hXcmFwJyk7DQoJCWlmICggVyApIFcuc3R5 bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nOw0KDQoJCXdpbmRvdy5zZXRUaW1lb3V0 KGZ1bmN0aW9uKCl7c2h1dHRlclJlbG9hZGVkLnJlc2l6aW5nID0gbnVsbH0sNTAw KTsNCgkJd2luZG93LnNldFRpbWVvdXQobmV3IEZ1bmN0aW9uKCdzaHV0dGVyUmVs b2FkZWQuVlAgPSBudWxsO3NodXR0ZXJSZWxvYWRlZC5tYWtlKCInK2xuKyciKTsn KSwxMDApOw0KCQl0LnJlc2l6aW5nID0gdHJ1ZTsNCgl9LA0KDQoJX3ZpZXdQb3J0 IDogZnVuY3Rpb24oKSB7DQoJCXZhciB0ID0gdGhpczsNCgkJdmFyIHdpSCA9IHdp bmRvdy5pbm5lckhlaWdodCA/IHdpbmRvdy5pbm5lckhlaWdodCA6IDA7DQoJCXZh ciBkYkggPSBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCA/IGRvY3VtZW50LmJv ZHkuY2xpZW50SGVpZ2h0IDogMDsNCgkJdmFyIGRlSCA9IGRvY3VtZW50LmRvY3Vt ZW50RWxlbWVudCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWln aHQgOiAwOw0KDQoJCWlmKCB3aUggPiAwICkgew0KCQkJdC53SGVpZ2h0ID0gKCAo d2lIIC0gZGJIKSA+IDEgJiYgKHdpSCAtIGRiSCkgPCAzMCApID8gZGJIIDogd2lI Ow0KCQkJdC53SGVpZ2h0ID0gKCAodC53SGVpZ2h0IC0gZGVIKSA+IDEgJiYgKHQu d0hlaWdodCAtIGRlSCkgPCAzMCApID8gZGVIIDogdC53SGVpZ2h0Ow0KCQl9IGVs c2UgdC53SGVpZ2h0ID0gKCBkZUggPiAwICkgPyBkZUggOiBkYkg7DQoNCgkJdmFy IGRlVyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50LmRvY3Vt ZW50RWxlbWVudC5jbGllbnRXaWR0aCA6IDA7DQoJCXZhciBkYlcgPSB3aW5kb3cu aW5uZXJXaWR0aCA/IHdpbmRvdy5pbm5lcldpZHRoIDogZG9jdW1lbnQuYm9keS5j bGllbnRXaWR0aDsNCgkJdC53V2lkdGggPSAoIGRlVyA+IDEgKSA/IGRlVyA6IGRi VzsNCgl9LA0KDQoJc2hvd0ltZyA6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdCA9IHRo aXMsIFMgPSB0LkkoJ3NoU2h1dHRlcicpLCBEID0gdC5JKCdzaERpc3BsYXknKSwg VEkgPSB0LkkoJ3NoVG9wSW1nJyksIFQgPSB0LkkoJ3NoVGl0bGUnKSwgTkIgPSB0 LkkoJ3NoTmF2QmFyJyksIFcsIFdCLCB3SGVpZ2h0LCB3V2lkdGgsIHNoSGVpZ2h0 LCBtYXhIZWlnaHQsIGl0b3AsIG10b3AsIHJlc2l6ZWQgPSAwOw0KDQoJCWlmICgg ISBTICkgcmV0dXJuOw0KCQlpZiAoIChXID0gdC5JKCdzaFdyYXAnKSkgJiYgVy5z dHlsZS52aXNpYmlsaXR5ID09ICd2aXNpYmxlJyApIHJldHVybjsNCgkJaWYgKCBX QiA9IHQuSSgnc2hXYWl0QmFyJykgKSBXQi5wYXJlbnROb2RlLnJlbW92ZUNoaWxk KFdCKTsNCg0KCQlTLnN0eWxlLndpZHRoID0gRC5zdHlsZS53aWR0aCA9ICcnOw0K CQlULnN0eWxlLndpZHRoID0gKFRJLndpZHRoIC0gNCkgKyAncHgnOw0KDQoJCXNo SGVpZ2h0ID0gdC53SGVpZ2h0IC0gNTA7DQoNCgkJaWYgKCB0LkZTICkgew0KCQkJ aWYgKCBUSS53aWR0aCA+ICh0LndXaWR0aCAtIDEwKSApDQoJCQlTLnN0eWxlLndp ZHRoID0gRC5zdHlsZS53aWR0aCA9IFRJLndpZHRoICsgMTAgKyAncHgnOw0KCQkJ ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLm92ZXJmbG93WCA9ICcnOw0K CQl9IGVsc2Ugew0KCQkJd2luZG93LnNjcm9sbFRvKDAsdC5Ub3ApOw0KCQkJaWYg KCBUSS5oZWlnaHQgPiBzaEhlaWdodCApIHsNCgkJCQlUSS53aWR0aCA9IFRJLndp ZHRoICogKHNoSGVpZ2h0IC8gVEkuaGVpZ2h0KTsNCgkJCQlUSS5oZWlnaHQgPSBz aEhlaWdodDsNCgkJCQlyZXNpemVkID0gMTsNCgkJCX0NCgkJCWlmICggVEkud2lk dGggPiAodC53V2lkdGggLSAxNikgKSB7DQoJCQkJVEkuaGVpZ2h0ID0gVEkuaGVp Z2h0ICogKCh0LndXaWR0aCAtIDE2KSAvIFRJLndpZHRoKTsNCgkJCQlUSS53aWR0 aCA9IHQud1dpZHRoIC0gMTY7DQoJCQkJcmVzaXplZCA9IDE7DQoJCQl9DQoJCQlU LnN0eWxlLndpZHRoID0gKFRJLndpZHRoIC0gNCkgKyAncHgnOw0KCQl9DQoNCgkJ bWF4SGVpZ2h0ID0gdC5Ub3AgKyBUSS5oZWlnaHQgKyAxMDsNCgkJaWYgKCBtYXhI ZWlnaHQgPiB0LnBnSGVpZ2h0ICkgUy5zdHlsZS5oZWlnaHQgPSBtYXhIZWlnaHQg KyAncHgnOw0KCQl3aW5kb3cuc2Nyb2xsVG8oMCx0LlRvcCk7DQoNCgkJaXRvcCA9 IChzaEhlaWdodCAtIFRJLmhlaWdodCkgKiAwLjQ1Ow0KCQltdG9wID0gKGl0b3Ag PiAzKSA/IE1hdGguZmxvb3IoaXRvcCkgOiAzOw0KCQlELnN0eWxlLnRvcCA9IHQu VG9wICsgbXRvcCArICdweCc7DQoJCVcuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNp YmxlJzsNCgl9LA0KDQoJaGlkZVRhZ3MgOiBmdW5jdGlvbihhcmcpIHsNCgkJdmFy IHNlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsN CgkJdmFyIG9iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdvYmpl Y3QnKTsNCgkJdmFyIGVtYiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l KCdlbWJlZCcpOw0KCQl2YXIgaWZyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh Z05hbWUoJ2lmcmFtZScpOw0KDQoJCXZhciB2aXMgPSAoIGFyZyApID8gJ3Zpc2li bGUnIDogJ2hpZGRlbic7DQoNCgkJZm9yIChpID0gMDsgaSA8IHNlbC5sZW5ndGg7 IGkrKykgc2VsW2ldLnN0eWxlLnZpc2liaWxpdHkgPSB2aXM7DQoJCWZvciAoaSA9 IDA7IGkgPCBvYmoubGVuZ3RoOyBpKyspIG9ialtpXS5zdHlsZS52aXNpYmlsaXR5 ID0gdmlzOw0KCQlmb3IgKGkgPSAwOyBpIDwgZW1iLmxlbmd0aDsgaSsrKSBlbWJb aV0uc3R5bGUudmlzaWJpbGl0eSA9IHZpczsNCgkJZm9yIChpID0gMDsgaSA8IGlm ci5sZW5ndGg7IGkrKykgaWZyW2ldLnN0eWxlLnZpc2liaWxpdHkgPSB2aXM7DQoJ fQ0KfQ== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=jquery.cycle.all.min.js Content-Type: application/x-javascript; charset=UTF-8; name=jquery.cycle.all.min.js Content-Location: http://aquaviews.net/wp-content/plugins/nextgen-gallery/js/jquery.cycle.all.min.js?ver=2.88 Content-Transfer-Encoding: Base64 LyoKICogalF1ZXJ5IEN5Y2xlIFBsdWdpbiAod2l0aCBUcmFuc2l0aW9uIERlZmlu aXRpb25zKQogKiBFeGFtcGxlcyBhbmQgZG9jdW1lbnRhdGlvbiBhdDogaHR0cDov L2pxdWVyeS5tYWxzdXAuY29tL2N5Y2xlLwogKiBDb3B5cmlnaHQgKGMpIDIwMDct MjAxMCBNLiBBbHN1cAogKiBWZXJzaW9uOiAyLjg4ICgwOC1KVU4tMjAxMCkKICog RHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiAq IGh0dHA6Ly9qcXVlcnkubWFsc3VwLmNvbS9saWNlbnNlLmh0bWwKICogUmVxdWly ZXM6IGpRdWVyeSB2MS4yLjYgb3IgbGF0ZXIKICovCihmdW5jdGlvbigkKXt2YXIg dmVyPSIyLjg4IjtpZigkLnN1cHBvcnQ9PXVuZGVmaW5lZCl7JC5zdXBwb3J0PXtv cGFjaXR5OiEoJC5icm93c2VyLm1zaWUpfTt9ZnVuY3Rpb24gZGVidWcocyl7aWYo JC5mbi5jeWNsZS5kZWJ1Zyl7bG9nKHMpO319ZnVuY3Rpb24gbG9nKCl7aWYod2lu ZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLmxvZyl7d2luZG93LmNvbnNvbGUu bG9nKCJbY3ljbGVdICIrQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChhcmd1bWVu dHMsIiAiKSk7fX0kLmZuLmN5Y2xlPWZ1bmN0aW9uKG9wdGlvbnMsYXJnMil7dmFy IG89e3M6dGhpcy5zZWxlY3RvcixjOnRoaXMuY29udGV4dH07aWYodGhpcy5sZW5n dGg9PT0wJiZvcHRpb25zIT0ic3RvcCIpe2lmKCEkLmlzUmVhZHkmJm8ucyl7bG9n KCJET00gbm90IHJlYWR5LCBxdWV1aW5nIHNsaWRlc2hvdyIpOyQoZnVuY3Rpb24o KXskKG8ucyxvLmMpLmN5Y2xlKG9wdGlvbnMsYXJnMik7fSk7cmV0dXJuIHRoaXM7 fWxvZygidGVybWluYXRpbmc7IHplcm8gZWxlbWVudHMgZm91bmQgYnkgc2VsZWN0 b3IiKygkLmlzUmVhZHk/IiI6IiAoRE9NIG5vdCByZWFkeSkiKSk7cmV0dXJuIHRo aXM7fXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgb3B0cz1oYW5kbGVB cmd1bWVudHModGhpcyxvcHRpb25zLGFyZzIpO2lmKG9wdHM9PT1mYWxzZSl7cmV0 dXJuO31vcHRzLnVwZGF0ZUFjdGl2ZVBhZ2VyTGluaz1vcHRzLnVwZGF0ZUFjdGl2 ZVBhZ2VyTGlua3x8JC5mbi5jeWNsZS51cGRhdGVBY3RpdmVQYWdlckxpbms7aWYo dGhpcy5jeWNsZVRpbWVvdXQpe2NsZWFyVGltZW91dCh0aGlzLmN5Y2xlVGltZW91 dCk7fXRoaXMuY3ljbGVUaW1lb3V0PXRoaXMuY3ljbGVQYXVzZT0wO3ZhciAkY29u dD0kKHRoaXMpO3ZhciAkc2xpZGVzPW9wdHMuc2xpZGVFeHByPyQob3B0cy5zbGlk ZUV4cHIsdGhpcyk6JGNvbnQuY2hpbGRyZW4oKTt2YXIgZWxzPSRzbGlkZXMuZ2V0 KCk7aWYoZWxzLmxlbmd0aDwyKXtsb2coInRlcm1pbmF0aW5nOyB0b28gZmV3IHNs aWRlczogIitlbHMubGVuZ3RoKTtyZXR1cm47fXZhciBvcHRzMj1idWlsZE9wdGlv bnMoJGNvbnQsJHNsaWRlcyxlbHMsb3B0cyxvKTtpZihvcHRzMj09PWZhbHNlKXty ZXR1cm47fXZhciBzdGFydFRpbWU9b3B0czIuY29udGludW91cz8xMDpnZXRUaW1l b3V0KGVsc1tvcHRzMi5jdXJyU2xpZGVdLGVsc1tvcHRzMi5uZXh0U2xpZGVdLG9w dHMyLCFvcHRzMi5yZXYpO2lmKHN0YXJ0VGltZSl7c3RhcnRUaW1lKz0ob3B0czIu ZGVsYXl8fDApO2lmKHN0YXJ0VGltZTwxMCl7c3RhcnRUaW1lPTEwO31kZWJ1Zygi Zmlyc3QgdGltZW91dDogIitzdGFydFRpbWUpO3RoaXMuY3ljbGVUaW1lb3V0PXNl dFRpbWVvdXQoZnVuY3Rpb24oKXtnbyhlbHMsb3B0czIsMCwoIW9wdHMyLnJldiYm IW9wdHMuYmFja3dhcmRzKSk7fSxzdGFydFRpbWUpO319KTt9O2Z1bmN0aW9uIGhh bmRsZUFyZ3VtZW50cyhjb250LG9wdGlvbnMsYXJnMil7aWYoY29udC5jeWNsZVN0 b3A9PXVuZGVmaW5lZCl7Y29udC5jeWNsZVN0b3A9MDt9aWYob3B0aW9ucz09PXVu ZGVmaW5lZHx8b3B0aW9ucz09PW51bGwpe29wdGlvbnM9e307fWlmKG9wdGlvbnMu Y29uc3RydWN0b3I9PVN0cmluZyl7c3dpdGNoKG9wdGlvbnMpe2Nhc2UiZGVzdHJv eSI6Y2FzZSJzdG9wIjp2YXIgb3B0cz0kKGNvbnQpLmRhdGEoImN5Y2xlLm9wdHMi KTtpZighb3B0cyl7cmV0dXJuIGZhbHNlO31jb250LmN5Y2xlU3RvcCsrO2lmKGNv bnQuY3ljbGVUaW1lb3V0KXtjbGVhclRpbWVvdXQoY29udC5jeWNsZVRpbWVvdXQp O31jb250LmN5Y2xlVGltZW91dD0wOyQoY29udCkucmVtb3ZlRGF0YSgiY3ljbGUu b3B0cyIpO2lmKG9wdGlvbnM9PSJkZXN0cm95Iil7ZGVzdHJveShvcHRzKTt9cmV0 dXJuIGZhbHNlO2Nhc2UidG9nZ2xlIjpjb250LmN5Y2xlUGF1c2U9KGNvbnQuY3lj bGVQYXVzZT09PTEpPzA6MTtjaGVja0luc3RhbnRSZXN1bWUoY29udC5jeWNsZVBh dXNlLGFyZzIsY29udCk7cmV0dXJuIGZhbHNlO2Nhc2UicGF1c2UiOmNvbnQuY3lj bGVQYXVzZT0xO3JldHVybiBmYWxzZTtjYXNlInJlc3VtZSI6Y29udC5jeWNsZVBh dXNlPTA7Y2hlY2tJbnN0YW50UmVzdW1lKGZhbHNlLGFyZzIsY29udCk7cmV0dXJu IGZhbHNlO2Nhc2UicHJldiI6Y2FzZSJuZXh0Ijp2YXIgb3B0cz0kKGNvbnQpLmRh dGEoImN5Y2xlLm9wdHMiKTtpZighb3B0cyl7bG9nKCdvcHRpb25zIG5vdCBmb3Vu ZCwgInByZXYvbmV4dCIgaWdub3JlZCcpO3JldHVybiBmYWxzZTt9JC5mbi5jeWNs ZVtvcHRpb25zXShvcHRzKTtyZXR1cm4gZmFsc2U7ZGVmYXVsdDpvcHRpb25zPXtm eDpvcHRpb25zfTt9cmV0dXJuIG9wdGlvbnM7fWVsc2V7aWYob3B0aW9ucy5jb25z dHJ1Y3Rvcj09TnVtYmVyKXt2YXIgbnVtPW9wdGlvbnM7b3B0aW9ucz0kKGNvbnQp LmRhdGEoImN5Y2xlLm9wdHMiKTtpZighb3B0aW9ucyl7bG9nKCJvcHRpb25zIG5v dCBmb3VuZCwgY2FuIG5vdCBhZHZhbmNlIHNsaWRlIik7cmV0dXJuIGZhbHNlO31p ZihudW08MHx8bnVtPj1vcHRpb25zLmVsZW1lbnRzLmxlbmd0aCl7bG9nKCJpbnZh bGlkIHNsaWRlIGluZGV4OiAiK251bSk7cmV0dXJuIGZhbHNlO31vcHRpb25zLm5l eHRTbGlkZT1udW07aWYoY29udC5jeWNsZVRpbWVvdXQpe2NsZWFyVGltZW91dChj b250LmN5Y2xlVGltZW91dCk7Y29udC5jeWNsZVRpbWVvdXQ9MDt9aWYodHlwZW9m IGFyZzI9PSJzdHJpbmciKXtvcHRpb25zLm9uZVRpbWVGeD1hcmcyO31nbyhvcHRp b25zLmVsZW1lbnRzLG9wdGlvbnMsMSxudW0+PW9wdGlvbnMuY3VyclNsaWRlKTty ZXR1cm4gZmFsc2U7fX1yZXR1cm4gb3B0aW9ucztmdW5jdGlvbiBjaGVja0luc3Rh bnRSZXN1bWUoaXNQYXVzZWQsYXJnMixjb250KXtpZighaXNQYXVzZWQmJmFyZzI9 PT10cnVlKXt2YXIgb3B0aW9ucz0kKGNvbnQpLmRhdGEoImN5Y2xlLm9wdHMiKTtp Zighb3B0aW9ucyl7bG9nKCJvcHRpb25zIG5vdCBmb3VuZCwgY2FuIG5vdCByZXN1 bWUiKTtyZXR1cm4gZmFsc2U7fWlmKGNvbnQuY3ljbGVUaW1lb3V0KXtjbGVhclRp bWVvdXQoY29udC5jeWNsZVRpbWVvdXQpO2NvbnQuY3ljbGVUaW1lb3V0PTA7fWdv KG9wdGlvbnMuZWxlbWVudHMsb3B0aW9ucywxLCghb3B0cy5yZXYmJiFvcHRzLmJh Y2t3YXJkcykpO319fWZ1bmN0aW9uIHJlbW92ZUZpbHRlcihlbCxvcHRzKXtpZigh JC5zdXBwb3J0Lm9wYWNpdHkmJm9wdHMuY2xlYXJ0eXBlJiZlbC5zdHlsZS5maWx0 ZXIpe3RyeXtlbC5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpO31jYXRj aChzbW90aGVyKXt9fX1mdW5jdGlvbiBkZXN0cm95KG9wdHMpe2lmKG9wdHMubmV4 dCl7JChvcHRzLm5leHQpLnVuYmluZChvcHRzLnByZXZOZXh0RXZlbnQpO31pZihv cHRzLnByZXYpeyQob3B0cy5wcmV2KS51bmJpbmQob3B0cy5wcmV2TmV4dEV2ZW50 KTt9aWYob3B0cy5wYWdlcnx8b3B0cy5wYWdlckFuY2hvckJ1aWxkZXIpeyQuZWFj aChvcHRzLnBhZ2VyQW5jaG9yc3x8W10sZnVuY3Rpb24oKXt0aGlzLnVuYmluZCgp LnJlbW92ZSgpO30pO31vcHRzLnBhZ2VyQW5jaG9ycz1udWxsO2lmKG9wdHMuZGVz dHJveSl7b3B0cy5kZXN0cm95KG9wdHMpO319ZnVuY3Rpb24gYnVpbGRPcHRpb25z KCRjb250LCRzbGlkZXMsZWxzLG9wdGlvbnMsbyl7dmFyIG9wdHM9JC5leHRlbmQo e30sJC5mbi5jeWNsZS5kZWZhdWx0cyxvcHRpb25zfHx7fSwkLm1ldGFkYXRhPyRj b250Lm1ldGFkYXRhKCk6JC5tZXRhPyRjb250LmRhdGEoKTp7fSk7aWYob3B0cy5h dXRvc3RvcCl7b3B0cy5jb3VudGRvd249b3B0cy5hdXRvc3RvcENvdW50fHxlbHMu bGVuZ3RoO312YXIgY29udD0kY29udFswXTskY29udC5kYXRhKCJjeWNsZS5vcHRz IixvcHRzKTtvcHRzLiRjb250PSRjb250O29wdHMuc3RvcENvdW50PWNvbnQuY3lj bGVTdG9wO29wdHMuZWxlbWVudHM9ZWxzO29wdHMuYmVmb3JlPW9wdHMuYmVmb3Jl P1tvcHRzLmJlZm9yZV06W107b3B0cy5hZnRlcj1vcHRzLmFmdGVyP1tvcHRzLmFm dGVyXTpbXTtvcHRzLmFmdGVyLnVuc2hpZnQoZnVuY3Rpb24oKXtvcHRzLmJ1c3k9 MDt9KTtpZighJC5zdXBwb3J0Lm9wYWNpdHkmJm9wdHMuY2xlYXJ0eXBlKXtvcHRz LmFmdGVyLnB1c2goZnVuY3Rpb24oKXtyZW1vdmVGaWx0ZXIodGhpcyxvcHRzKTt9 KTt9aWYob3B0cy5jb250aW51b3VzKXtvcHRzLmFmdGVyLnB1c2goZnVuY3Rpb24o KXtnbyhlbHMsb3B0cywwLCghb3B0cy5yZXYmJiFvcHRzLmJhY2t3YXJkcykpO30p O31zYXZlT3JpZ2luYWxPcHRzKG9wdHMpO2lmKCEkLnN1cHBvcnQub3BhY2l0eSYm b3B0cy5jbGVhcnR5cGUmJiFvcHRzLmNsZWFydHlwZU5vQmcpe2NsZWFyVHlwZUZp eCgkc2xpZGVzKTt9aWYoJGNvbnQuY3NzKCJwb3NpdGlvbiIpPT0ic3RhdGljIil7 JGNvbnQuY3NzKCJwb3NpdGlvbiIsInJlbGF0aXZlIik7fWlmKG9wdHMud2lkdGgp eyRjb250LndpZHRoKG9wdHMud2lkdGgpO31pZihvcHRzLmhlaWdodCYmb3B0cy5o ZWlnaHQhPSJhdXRvIil7JGNvbnQuaGVpZ2h0KG9wdHMuaGVpZ2h0KTt9aWYob3B0 cy5zdGFydGluZ1NsaWRlKXtvcHRzLnN0YXJ0aW5nU2xpZGU9cGFyc2VJbnQob3B0 cy5zdGFydGluZ1NsaWRlKTt9ZWxzZXtpZihvcHRzLmJhY2t3YXJkcyl7b3B0cy5z dGFydGluZ1NsaWRlPWVscy5sZW5ndGgtMTt9fWlmKG9wdHMucmFuZG9tKXtvcHRz LnJhbmRvbU1hcD1bXTtmb3IodmFyIGk9MDtpPGVscy5sZW5ndGg7aSsrKXtvcHRz LnJhbmRvbU1hcC5wdXNoKGkpO31vcHRzLnJhbmRvbU1hcC5zb3J0KGZ1bmN0aW9u KGEsYil7cmV0dXJuIE1hdGgucmFuZG9tKCktMC41O30pO29wdHMucmFuZG9tSW5k ZXg9MTtvcHRzLnN0YXJ0aW5nU2xpZGU9b3B0cy5yYW5kb21NYXBbMV07fWVsc2V7 aWYob3B0cy5zdGFydGluZ1NsaWRlPj1lbHMubGVuZ3RoKXtvcHRzLnN0YXJ0aW5n U2xpZGU9MDt9fW9wdHMuY3VyclNsaWRlPW9wdHMuc3RhcnRpbmdTbGlkZXx8MDt2 YXIgZmlyc3Q9b3B0cy5zdGFydGluZ1NsaWRlOyRzbGlkZXMuY3NzKHtwb3NpdGlv bjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MH0pLmhpZGUoKS5lYWNoKGZ1bmN0aW9u KGkpe3ZhciB6O2lmKG9wdHMuYmFja3dhcmRzKXt6PWZpcnN0P2k8PWZpcnN0P2Vs cy5sZW5ndGgrKGktZmlyc3QpOmZpcnN0LWk6ZWxzLmxlbmd0aC1pO31lbHNle3o9 Zmlyc3Q/aT49Zmlyc3Q/ZWxzLmxlbmd0aC0oaS1maXJzdCk6Zmlyc3QtaTplbHMu bGVuZ3RoLWk7fSQodGhpcykuY3NzKCJ6LWluZGV4Iix6KTt9KTskKGVsc1tmaXJz dF0pLmNzcygib3BhY2l0eSIsMSkuc2hvdygpO3JlbW92ZUZpbHRlcihlbHNbZmly c3RdLG9wdHMpO2lmKG9wdHMuZml0JiZvcHRzLndpZHRoKXskc2xpZGVzLndpZHRo KG9wdHMud2lkdGgpO31pZihvcHRzLmZpdCYmb3B0cy5oZWlnaHQmJm9wdHMuaGVp Z2h0IT0iYXV0byIpeyRzbGlkZXMuaGVpZ2h0KG9wdHMuaGVpZ2h0KTt9dmFyIHJl c2hhcGU9b3B0cy5jb250YWluZXJSZXNpemUmJiEkY29udC5pbm5lckhlaWdodCgp O2lmKHJlc2hhcGUpe3ZhciBtYXh3PTAsbWF4aD0wO2Zvcih2YXIgaj0wO2o8ZWxz Lmxlbmd0aDtqKyspe3ZhciAkZT0kKGVsc1tqXSksZT0kZVswXSx3PSRlLm91dGVy V2lkdGgoKSxoPSRlLm91dGVySGVpZ2h0KCk7aWYoIXcpe3c9ZS5vZmZzZXRXaWR0 aHx8ZS53aWR0aHx8JGUuYXR0cigid2lkdGgiKTt9aWYoIWgpe2g9ZS5vZmZzZXRI ZWlnaHR8fGUuaGVpZ2h0fHwkZS5hdHRyKCJoZWlnaHQiKTt9bWF4dz13Pm1heHc/ dzptYXh3O21heGg9aD5tYXhoP2g6bWF4aDt9aWYobWF4dz4wJiZtYXhoPjApeyRj b250LmNzcyh7d2lkdGg6bWF4dysicHgiLGhlaWdodDptYXhoKyJweCJ9KTt9fWlm KG9wdHMucGF1c2UpeyRjb250LmhvdmVyKGZ1bmN0aW9uKCl7dGhpcy5jeWNsZVBh dXNlKys7fSxmdW5jdGlvbigpe3RoaXMuY3ljbGVQYXVzZS0tO30pO31pZihzdXBw b3J0TXVsdGlUcmFuc2l0aW9ucyhvcHRzKT09PWZhbHNlKXtyZXR1cm4gZmFsc2U7 fXZhciByZXF1ZXVlPWZhbHNlO29wdGlvbnMucmVxdWV1ZUF0dGVtcHRzPW9wdGlv bnMucmVxdWV1ZUF0dGVtcHRzfHwwOyRzbGlkZXMuZWFjaChmdW5jdGlvbigpe3Zh ciAkZWw9JCh0aGlzKTt0aGlzLmN5Y2xlSD0ob3B0cy5maXQmJm9wdHMuaGVpZ2h0 KT9vcHRzLmhlaWdodDooJGVsLmhlaWdodCgpfHx0aGlzLm9mZnNldEhlaWdodHx8 dGhpcy5oZWlnaHR8fCRlbC5hdHRyKCJoZWlnaHQiKXx8MCk7dGhpcy5jeWNsZVc9 KG9wdHMuZml0JiZvcHRzLndpZHRoKT9vcHRzLndpZHRoOigkZWwud2lkdGgoKXx8 dGhpcy5vZmZzZXRXaWR0aHx8dGhpcy53aWR0aHx8JGVsLmF0dHIoIndpZHRoIil8 fDApO2lmKCRlbC5pcygiaW1nIikpe3ZhciBsb2FkaW5nSUU9KCQuYnJvd3Nlci5t c2llJiZ0aGlzLmN5Y2xlVz09MjgmJnRoaXMuY3ljbGVIPT0zMCYmIXRoaXMuY29t cGxldGUpO3ZhciBsb2FkaW5nRkY9KCQuYnJvd3Nlci5tb3ppbGxhJiZ0aGlzLmN5 Y2xlVz09MzQmJnRoaXMuY3ljbGVIPT0xOSYmIXRoaXMuY29tcGxldGUpO3ZhciBs b2FkaW5nT3A9KCQuYnJvd3Nlci5vcGVyYSYmKCh0aGlzLmN5Y2xlVz09NDImJnRo aXMuY3ljbGVIPT0xOSl8fCh0aGlzLmN5Y2xlVz09MzcmJnRoaXMuY3ljbGVIPT0x NykpJiYhdGhpcy5jb21wbGV0ZSk7dmFyIGxvYWRpbmdPdGhlcj0odGhpcy5jeWNs ZUg9PTAmJnRoaXMuY3ljbGVXPT0wJiYhdGhpcy5jb21wbGV0ZSk7aWYobG9hZGlu Z0lFfHxsb2FkaW5nRkZ8fGxvYWRpbmdPcHx8bG9hZGluZ090aGVyKXtpZihvLnMm Jm9wdHMucmVxdWV1ZU9uSW1hZ2VOb3RMb2FkZWQmJisrb3B0aW9ucy5yZXF1ZXVl QXR0ZW1wdHM8MTAwKXtsb2cob3B0aW9ucy5yZXF1ZXVlQXR0ZW1wdHMsIiAtIGlt ZyBzbGlkZSBub3QgbG9hZGVkLCByZXF1ZXVpbmcgc2xpZGVzaG93OiAiLHRoaXMu c3JjLHRoaXMuY3ljbGVXLHRoaXMuY3ljbGVIKTtzZXRUaW1lb3V0KGZ1bmN0aW9u KCl7JChvLnMsby5jKS5jeWNsZShvcHRpb25zKTt9LG9wdHMucmVxdWV1ZVRpbWVv dXQpO3JlcXVldWU9dHJ1ZTtyZXR1cm4gZmFsc2U7fWVsc2V7bG9nKCJjb3VsZCBu b3QgZGV0ZXJtaW5lIHNpemUgb2YgaW1hZ2U6ICIrdGhpcy5zcmMsdGhpcy5jeWNs ZVcsdGhpcy5jeWNsZUgpO319fXJldHVybiB0cnVlO30pO2lmKHJlcXVldWUpe3Jl dHVybiBmYWxzZTt9b3B0cy5jc3NCZWZvcmU9b3B0cy5jc3NCZWZvcmV8fHt9O29w dHMuYW5pbUluPW9wdHMuYW5pbUlufHx7fTtvcHRzLmFuaW1PdXQ9b3B0cy5hbmlt T3V0fHx7fTskc2xpZGVzLm5vdCgiOmVxKCIrZmlyc3QrIikiKS5jc3Mob3B0cy5j c3NCZWZvcmUpO2lmKG9wdHMuY3NzRmlyc3QpeyQoJHNsaWRlc1tmaXJzdF0pLmNz cyhvcHRzLmNzc0ZpcnN0KTt9aWYob3B0cy50aW1lb3V0KXtvcHRzLnRpbWVvdXQ9 cGFyc2VJbnQob3B0cy50aW1lb3V0KTtpZihvcHRzLnNwZWVkLmNvbnN0cnVjdG9y PT1TdHJpbmcpe29wdHMuc3BlZWQ9JC5meC5zcGVlZHNbb3B0cy5zcGVlZF18fHBh cnNlSW50KG9wdHMuc3BlZWQpO31pZighb3B0cy5zeW5jKXtvcHRzLnNwZWVkPW9w dHMuc3BlZWQvMjt9dmFyIGJ1ZmZlcj1vcHRzLmZ4PT0ic2h1ZmZsZSI/NTAwOjI1 MDt3aGlsZSgob3B0cy50aW1lb3V0LW9wdHMuc3BlZWQpPGJ1ZmZlcil7b3B0cy50 aW1lb3V0Kz1vcHRzLnNwZWVkO319aWYob3B0cy5lYXNpbmcpe29wdHMuZWFzZUlu PW9wdHMuZWFzZU91dD1vcHRzLmVhc2luZzt9aWYoIW9wdHMuc3BlZWRJbil7b3B0 cy5zcGVlZEluPW9wdHMuc3BlZWQ7fWlmKCFvcHRzLnNwZWVkT3V0KXtvcHRzLnNw ZWVkT3V0PW9wdHMuc3BlZWQ7fW9wdHMuc2xpZGVDb3VudD1lbHMubGVuZ3RoO29w dHMuY3VyclNsaWRlPW9wdHMubGFzdFNsaWRlPWZpcnN0O2lmKG9wdHMucmFuZG9t KXtpZigrK29wdHMucmFuZG9tSW5kZXg9PWVscy5sZW5ndGgpe29wdHMucmFuZG9t SW5kZXg9MDt9b3B0cy5uZXh0U2xpZGU9b3B0cy5yYW5kb21NYXBbb3B0cy5yYW5k b21JbmRleF07fWVsc2V7aWYob3B0cy5iYWNrd2FyZHMpe29wdHMubmV4dFNsaWRl PW9wdHMuc3RhcnRpbmdTbGlkZT09MD8oZWxzLmxlbmd0aC0xKTpvcHRzLnN0YXJ0 aW5nU2xpZGUtMTt9ZWxzZXtvcHRzLm5leHRTbGlkZT1vcHRzLnN0YXJ0aW5nU2xp ZGU+PShlbHMubGVuZ3RoLTEpPzA6b3B0cy5zdGFydGluZ1NsaWRlKzE7fX1pZigh b3B0cy5tdWx0aUZ4KXt2YXIgaW5pdD0kLmZuLmN5Y2xlLnRyYW5zaXRpb25zW29w dHMuZnhdO2lmKCQuaXNGdW5jdGlvbihpbml0KSl7aW5pdCgkY29udCwkc2xpZGVz LG9wdHMpO31lbHNle2lmKG9wdHMuZnghPSJjdXN0b20iJiYhb3B0cy5tdWx0aUZ4 KXtsb2coInVua25vd24gdHJhbnNpdGlvbjogIitvcHRzLmZ4LCI7IHNsaWRlc2hv dyB0ZXJtaW5hdGluZyIpO3JldHVybiBmYWxzZTt9fX12YXIgZTA9JHNsaWRlc1tm aXJzdF07aWYob3B0cy5iZWZvcmUubGVuZ3RoKXtvcHRzLmJlZm9yZVswXS5hcHBs eShlMCxbZTAsZTAsb3B0cyx0cnVlXSk7fWlmKG9wdHMuYWZ0ZXIubGVuZ3RoPjEp e29wdHMuYWZ0ZXJbMV0uYXBwbHkoZTAsW2UwLGUwLG9wdHMsdHJ1ZV0pO31pZihv cHRzLm5leHQpeyQob3B0cy5uZXh0KS5iaW5kKG9wdHMucHJldk5leHRFdmVudCxm dW5jdGlvbigpe3JldHVybiBhZHZhbmNlKG9wdHMsb3B0cy5yZXY/LTE6MSk7fSk7 fWlmKG9wdHMucHJldil7JChvcHRzLnByZXYpLmJpbmQob3B0cy5wcmV2TmV4dEV2 ZW50LGZ1bmN0aW9uKCl7cmV0dXJuIGFkdmFuY2Uob3B0cyxvcHRzLnJldj8xOi0x KTt9KTt9aWYob3B0cy5wYWdlcnx8b3B0cy5wYWdlckFuY2hvckJ1aWxkZXIpe2J1 aWxkUGFnZXIoZWxzLG9wdHMpO31leHBvc2VBZGRTbGlkZShvcHRzLGVscyk7cmV0 dXJuIG9wdHM7fWZ1bmN0aW9uIHNhdmVPcmlnaW5hbE9wdHMob3B0cyl7b3B0cy5v cmlnaW5hbD17YmVmb3JlOltdLGFmdGVyOltdfTtvcHRzLm9yaWdpbmFsLmNzc0Jl Zm9yZT0kLmV4dGVuZCh7fSxvcHRzLmNzc0JlZm9yZSk7b3B0cy5vcmlnaW5hbC5j c3NBZnRlcj0kLmV4dGVuZCh7fSxvcHRzLmNzc0FmdGVyKTtvcHRzLm9yaWdpbmFs LmFuaW1Jbj0kLmV4dGVuZCh7fSxvcHRzLmFuaW1Jbik7b3B0cy5vcmlnaW5hbC5h bmltT3V0PSQuZXh0ZW5kKHt9LG9wdHMuYW5pbU91dCk7JC5lYWNoKG9wdHMuYmVm b3JlLGZ1bmN0aW9uKCl7b3B0cy5vcmlnaW5hbC5iZWZvcmUucHVzaCh0aGlzKTt9 KTskLmVhY2gob3B0cy5hZnRlcixmdW5jdGlvbigpe29wdHMub3JpZ2luYWwuYWZ0 ZXIucHVzaCh0aGlzKTt9KTt9ZnVuY3Rpb24gc3VwcG9ydE11bHRpVHJhbnNpdGlv bnMob3B0cyl7dmFyIGksdHgsdHhzPSQuZm4uY3ljbGUudHJhbnNpdGlvbnM7aWYo b3B0cy5meC5pbmRleE9mKCIsIik+MCl7b3B0cy5tdWx0aUZ4PXRydWU7b3B0cy5m eHM9b3B0cy5meC5yZXBsYWNlKC9ccyovZywiIikuc3BsaXQoIiwiKTtmb3IoaT0w O2k8b3B0cy5meHMubGVuZ3RoO2krKyl7dmFyIGZ4PW9wdHMuZnhzW2ldO3R4PXR4 c1tmeF07aWYoIXR4fHwhdHhzLmhhc093blByb3BlcnR5KGZ4KXx8ISQuaXNGdW5j dGlvbih0eCkpe2xvZygiZGlzY2FyZGluZyB1bmtub3duIHRyYW5zaXRpb246ICIs ZngpO29wdHMuZnhzLnNwbGljZShpLDEpO2ktLTt9fWlmKCFvcHRzLmZ4cy5sZW5n dGgpe2xvZygiTm8gdmFsaWQgdHJhbnNpdGlvbnMgbmFtZWQ7IHNsaWRlc2hvdyB0 ZXJtaW5hdGluZy4iKTtyZXR1cm4gZmFsc2U7fX1lbHNle2lmKG9wdHMuZng9PSJh bGwiKXtvcHRzLm11bHRpRng9dHJ1ZTtvcHRzLmZ4cz1bXTtmb3IocCBpbiB0eHMp e3R4PXR4c1twXTtpZih0eHMuaGFzT3duUHJvcGVydHkocCkmJiQuaXNGdW5jdGlv bih0eCkpe29wdHMuZnhzLnB1c2gocCk7fX19fWlmKG9wdHMubXVsdGlGeCYmb3B0 cy5yYW5kb21pemVFZmZlY3RzKXt2YXIgcjE9TWF0aC5mbG9vcihNYXRoLnJhbmRv bSgpKjIwKSszMDtmb3IoaT0wO2k8cjE7aSsrKXt2YXIgcjI9TWF0aC5mbG9vcihN YXRoLnJhbmRvbSgpKm9wdHMuZnhzLmxlbmd0aCk7b3B0cy5meHMucHVzaChvcHRz LmZ4cy5zcGxpY2UocjIsMSlbMF0pO31kZWJ1ZygicmFuZG9taXplZCBmeCBzZXF1 ZW5jZTogIixvcHRzLmZ4cyk7fXJldHVybiB0cnVlO31mdW5jdGlvbiBleHBvc2VB ZGRTbGlkZShvcHRzLGVscyl7b3B0cy5hZGRTbGlkZT1mdW5jdGlvbihuZXdTbGlk ZSxwcmVwZW5kKXt2YXIgJHM9JChuZXdTbGlkZSkscz0kc1swXTtpZighb3B0cy5h dXRvc3RvcENvdW50KXtvcHRzLmNvdW50ZG93bisrO31lbHNbcHJlcGVuZD8idW5z aGlmdCI6InB1c2giXShzKTtpZihvcHRzLmVscyl7b3B0cy5lbHNbcHJlcGVuZD8i dW5zaGlmdCI6InB1c2giXShzKTt9b3B0cy5zbGlkZUNvdW50PWVscy5sZW5ndGg7 JHMuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIik7JHNbcHJlcGVuZD8icHJlcGVu ZFRvIjoiYXBwZW5kVG8iXShvcHRzLiRjb250KTtpZihwcmVwZW5kKXtvcHRzLmN1 cnJTbGlkZSsrO29wdHMubmV4dFNsaWRlKys7fWlmKCEkLnN1cHBvcnQub3BhY2l0 eSYmb3B0cy5jbGVhcnR5cGUmJiFvcHRzLmNsZWFydHlwZU5vQmcpe2NsZWFyVHlw ZUZpeCgkcyk7fWlmKG9wdHMuZml0JiZvcHRzLndpZHRoKXskcy53aWR0aChvcHRz LndpZHRoKTt9aWYob3B0cy5maXQmJm9wdHMuaGVpZ2h0JiZvcHRzLmhlaWdodCE9 ImF1dG8iKXskc2xpZGVzLmhlaWdodChvcHRzLmhlaWdodCk7fXMuY3ljbGVIPShv cHRzLmZpdCYmb3B0cy5oZWlnaHQpP29wdHMuaGVpZ2h0OiRzLmhlaWdodCgpO3Mu Y3ljbGVXPShvcHRzLmZpdCYmb3B0cy53aWR0aCk/b3B0cy53aWR0aDokcy53aWR0 aCgpOyRzLmNzcyhvcHRzLmNzc0JlZm9yZSk7aWYob3B0cy5wYWdlcnx8b3B0cy5w YWdlckFuY2hvckJ1aWxkZXIpeyQuZm4uY3ljbGUuY3JlYXRlUGFnZXJBbmNob3Io ZWxzLmxlbmd0aC0xLHMsJChvcHRzLnBhZ2VyKSxlbHMsb3B0cyk7fWlmKCQuaXNG dW5jdGlvbihvcHRzLm9uQWRkU2xpZGUpKXtvcHRzLm9uQWRkU2xpZGUoJHMpO31l bHNleyRzLmhpZGUoKTt9fTt9JC5mbi5jeWNsZS5yZXNldFN0YXRlPWZ1bmN0aW9u KG9wdHMsZngpe2Z4PWZ4fHxvcHRzLmZ4O29wdHMuYmVmb3JlPVtdO29wdHMuYWZ0 ZXI9W107b3B0cy5jc3NCZWZvcmU9JC5leHRlbmQoe30sb3B0cy5vcmlnaW5hbC5j c3NCZWZvcmUpO29wdHMuY3NzQWZ0ZXI9JC5leHRlbmQoe30sb3B0cy5vcmlnaW5h bC5jc3NBZnRlcik7b3B0cy5hbmltSW49JC5leHRlbmQoe30sb3B0cy5vcmlnaW5h bC5hbmltSW4pO29wdHMuYW5pbU91dD0kLmV4dGVuZCh7fSxvcHRzLm9yaWdpbmFs LmFuaW1PdXQpO29wdHMuZnhGbj1udWxsOyQuZWFjaChvcHRzLm9yaWdpbmFsLmJl Zm9yZSxmdW5jdGlvbigpe29wdHMuYmVmb3JlLnB1c2godGhpcyk7fSk7JC5lYWNo KG9wdHMub3JpZ2luYWwuYWZ0ZXIsZnVuY3Rpb24oKXtvcHRzLmFmdGVyLnB1c2go dGhpcyk7fSk7dmFyIGluaXQ9JC5mbi5jeWNsZS50cmFuc2l0aW9uc1tmeF07aWYo JC5pc0Z1bmN0aW9uKGluaXQpKXtpbml0KG9wdHMuJGNvbnQsJChvcHRzLmVsZW1l bnRzKSxvcHRzKTt9fTtmdW5jdGlvbiBnbyhlbHMsb3B0cyxtYW51YWwsZndkKXtp ZihtYW51YWwmJm9wdHMuYnVzeSYmb3B0cy5tYW51YWxUcnVtcCl7ZGVidWcoIm1h bnVhbFRydW1wIGluIGdvKCksIHN0b3BwaW5nIGFjdGl2ZSB0cmFuc2l0aW9uIik7 JChlbHMpLnN0b3AodHJ1ZSx0cnVlKTtvcHRzLmJ1c3k9ZmFsc2U7fWlmKG9wdHMu YnVzeSl7ZGVidWcoInRyYW5zaXRpb24gYWN0aXZlLCBpZ25vcmluZyBuZXcgdHgg cmVxdWVzdCIpO3JldHVybjt9dmFyIHA9b3B0cy4kY29udFswXSxjdXJyPWVsc1tv cHRzLmN1cnJTbGlkZV0sbmV4dD1lbHNbb3B0cy5uZXh0U2xpZGVdO2lmKHAuY3lj bGVTdG9wIT1vcHRzLnN0b3BDb3VudHx8cC5jeWNsZVRpbWVvdXQ9PT0wJiYhbWFu dWFsKXtyZXR1cm47fWlmKCFtYW51YWwmJiFwLmN5Y2xlUGF1c2UmJiFvcHRzLmJv dW5jZSYmKChvcHRzLmF1dG9zdG9wJiYoLS1vcHRzLmNvdW50ZG93bjw9MCkpfHwo b3B0cy5ub3dyYXAmJiFvcHRzLnJhbmRvbSYmb3B0cy5uZXh0U2xpZGU8b3B0cy5j dXJyU2xpZGUpKSl7aWYob3B0cy5lbmQpe29wdHMuZW5kKG9wdHMpO31yZXR1cm47 fXZhciBjaGFuZ2VkPWZhbHNlO2lmKChtYW51YWx8fCFwLmN5Y2xlUGF1c2UpJiYo b3B0cy5uZXh0U2xpZGUhPW9wdHMuY3VyclNsaWRlKSl7Y2hhbmdlZD10cnVlO3Zh ciBmeD1vcHRzLmZ4O2N1cnIuY3ljbGVIPWN1cnIuY3ljbGVIfHwkKGN1cnIpLmhl aWdodCgpO2N1cnIuY3ljbGVXPWN1cnIuY3ljbGVXfHwkKGN1cnIpLndpZHRoKCk7 bmV4dC5jeWNsZUg9bmV4dC5jeWNsZUh8fCQobmV4dCkuaGVpZ2h0KCk7bmV4dC5j eWNsZVc9bmV4dC5jeWNsZVd8fCQobmV4dCkud2lkdGgoKTtpZihvcHRzLm11bHRp Rngpe2lmKG9wdHMubGFzdEZ4PT11bmRlZmluZWR8fCsrb3B0cy5sYXN0Rng+PW9w dHMuZnhzLmxlbmd0aCl7b3B0cy5sYXN0Rng9MDt9Zng9b3B0cy5meHNbb3B0cy5s YXN0RnhdO29wdHMuY3VyckZ4PWZ4O31pZihvcHRzLm9uZVRpbWVGeCl7Zng9b3B0 cy5vbmVUaW1lRng7b3B0cy5vbmVUaW1lRng9bnVsbDt9JC5mbi5jeWNsZS5yZXNl dFN0YXRlKG9wdHMsZngpO2lmKG9wdHMuYmVmb3JlLmxlbmd0aCl7JC5lYWNoKG9w dHMuYmVmb3JlLGZ1bmN0aW9uKGksbyl7aWYocC5jeWNsZVN0b3AhPW9wdHMuc3Rv cENvdW50KXtyZXR1cm47fW8uYXBwbHkobmV4dCxbY3VycixuZXh0LG9wdHMsZndk XSk7fSk7fXZhciBhZnRlcj1mdW5jdGlvbigpeyQuZWFjaChvcHRzLmFmdGVyLGZ1 bmN0aW9uKGksbyl7aWYocC5jeWNsZVN0b3AhPW9wdHMuc3RvcENvdW50KXtyZXR1 cm47fW8uYXBwbHkobmV4dCxbY3VycixuZXh0LG9wdHMsZndkXSk7fSk7fTtkZWJ1 ZygidHggZmlyaW5nOyBjdXJyU2xpZGU6ICIrb3B0cy5jdXJyU2xpZGUrIjsgbmV4 dFNsaWRlOiAiK29wdHMubmV4dFNsaWRlKTtvcHRzLmJ1c3k9MTtpZihvcHRzLmZ4 Rm4pe29wdHMuZnhGbihjdXJyLG5leHQsb3B0cyxhZnRlcixmd2QsbWFudWFsJiZv cHRzLmZhc3RPbkV2ZW50KTt9ZWxzZXtpZigkLmlzRnVuY3Rpb24oJC5mbi5jeWNs ZVtvcHRzLmZ4XSkpeyQuZm4uY3ljbGVbb3B0cy5meF0oY3VycixuZXh0LG9wdHMs YWZ0ZXIsZndkLG1hbnVhbCYmb3B0cy5mYXN0T25FdmVudCk7fWVsc2V7JC5mbi5j eWNsZS5jdXN0b20oY3VycixuZXh0LG9wdHMsYWZ0ZXIsZndkLG1hbnVhbCYmb3B0 cy5mYXN0T25FdmVudCk7fX19aWYoY2hhbmdlZHx8b3B0cy5uZXh0U2xpZGU9PW9w dHMuY3VyclNsaWRlKXtvcHRzLmxhc3RTbGlkZT1vcHRzLmN1cnJTbGlkZTtpZihv cHRzLnJhbmRvbSl7b3B0cy5jdXJyU2xpZGU9b3B0cy5uZXh0U2xpZGU7aWYoKytv cHRzLnJhbmRvbUluZGV4PT1lbHMubGVuZ3RoKXtvcHRzLnJhbmRvbUluZGV4PTA7 fW9wdHMubmV4dFNsaWRlPW9wdHMucmFuZG9tTWFwW29wdHMucmFuZG9tSW5kZXhd O2lmKG9wdHMubmV4dFNsaWRlPT1vcHRzLmN1cnJTbGlkZSl7b3B0cy5uZXh0U2xp ZGU9KG9wdHMuY3VyclNsaWRlPT1vcHRzLnNsaWRlQ291bnQtMSk/MDpvcHRzLmN1 cnJTbGlkZSsxO319ZWxzZXtpZihvcHRzLmJhY2t3YXJkcyl7dmFyIHJvbGw9KG9w dHMubmV4dFNsaWRlLTEpPDA7aWYocm9sbCYmb3B0cy5ib3VuY2Upe29wdHMuYmFj a3dhcmRzPSFvcHRzLmJhY2t3YXJkcztvcHRzLm5leHRTbGlkZT0xO29wdHMuY3Vy clNsaWRlPTA7fWVsc2V7b3B0cy5uZXh0U2xpZGU9cm9sbD8oZWxzLmxlbmd0aC0x KTpvcHRzLm5leHRTbGlkZS0xO29wdHMuY3VyclNsaWRlPXJvbGw/MDpvcHRzLm5l eHRTbGlkZSsxO319ZWxzZXt2YXIgcm9sbD0ob3B0cy5uZXh0U2xpZGUrMSk9PWVs cy5sZW5ndGg7aWYocm9sbCYmb3B0cy5ib3VuY2Upe29wdHMuYmFja3dhcmRzPSFv cHRzLmJhY2t3YXJkcztvcHRzLm5leHRTbGlkZT1lbHMubGVuZ3RoLTI7b3B0cy5j dXJyU2xpZGU9ZWxzLmxlbmd0aC0xO31lbHNle29wdHMubmV4dFNsaWRlPXJvbGw/ MDpvcHRzLm5leHRTbGlkZSsxO29wdHMuY3VyclNsaWRlPXJvbGw/ZWxzLmxlbmd0 aC0xOm9wdHMubmV4dFNsaWRlLTE7fX19fWlmKGNoYW5nZWQmJm9wdHMucGFnZXIp e29wdHMudXBkYXRlQWN0aXZlUGFnZXJMaW5rKG9wdHMucGFnZXIsb3B0cy5jdXJy U2xpZGUsb3B0cy5hY3RpdmVQYWdlckNsYXNzKTt9dmFyIG1zPTA7aWYob3B0cy50 aW1lb3V0JiYhb3B0cy5jb250aW51b3VzKXttcz1nZXRUaW1lb3V0KGVsc1tvcHRz LmN1cnJTbGlkZV0sZWxzW29wdHMubmV4dFNsaWRlXSxvcHRzLGZ3ZCk7fWVsc2V7 aWYob3B0cy5jb250aW51b3VzJiZwLmN5Y2xlUGF1c2Upe21zPTEwO319aWYobXM+ MCl7cC5jeWNsZVRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe2dvKGVscyxv cHRzLDAsKCFvcHRzLnJldiYmIW9wdHMuYmFja3dhcmRzKSk7fSxtcyk7fX0kLmZu LmN5Y2xlLnVwZGF0ZUFjdGl2ZVBhZ2VyTGluaz1mdW5jdGlvbihwYWdlcixjdXJy U2xpZGUsY2xzTmFtZSl7JChwYWdlcikuZWFjaChmdW5jdGlvbigpeyQodGhpcyku Y2hpbGRyZW4oKS5yZW1vdmVDbGFzcyhjbHNOYW1lKS5lcShjdXJyU2xpZGUpLmFk ZENsYXNzKGNsc05hbWUpO30pO307ZnVuY3Rpb24gZ2V0VGltZW91dChjdXJyLG5l eHQsb3B0cyxmd2Qpe2lmKG9wdHMudGltZW91dEZuKXt2YXIgdD1vcHRzLnRpbWVv dXRGbi5jYWxsKGN1cnIsY3VycixuZXh0LG9wdHMsZndkKTt3aGlsZSgodC1vcHRz LnNwZWVkKTwyNTApe3QrPW9wdHMuc3BlZWQ7fWRlYnVnKCJjYWxjdWxhdGVkIHRp bWVvdXQ6ICIrdCsiOyBzcGVlZDogIitvcHRzLnNwZWVkKTtpZih0IT09ZmFsc2Up e3JldHVybiB0O319cmV0dXJuIG9wdHMudGltZW91dDt9JC5mbi5jeWNsZS5uZXh0 PWZ1bmN0aW9uKG9wdHMpe2FkdmFuY2Uob3B0cyxvcHRzLnJldj8tMToxKTt9OyQu Zm4uY3ljbGUucHJldj1mdW5jdGlvbihvcHRzKXthZHZhbmNlKG9wdHMsb3B0cy5y ZXY/MTotMSk7fTtmdW5jdGlvbiBhZHZhbmNlKG9wdHMsdmFsKXt2YXIgZWxzPW9w dHMuZWxlbWVudHM7dmFyIHA9b3B0cy4kY29udFswXSx0aW1lb3V0PXAuY3ljbGVU aW1lb3V0O2lmKHRpbWVvdXQpe2NsZWFyVGltZW91dCh0aW1lb3V0KTtwLmN5Y2xl VGltZW91dD0wO31pZihvcHRzLnJhbmRvbSYmdmFsPDApe29wdHMucmFuZG9tSW5k ZXgtLTtpZigtLW9wdHMucmFuZG9tSW5kZXg9PS0yKXtvcHRzLnJhbmRvbUluZGV4 PWVscy5sZW5ndGgtMjt9ZWxzZXtpZihvcHRzLnJhbmRvbUluZGV4PT0tMSl7b3B0 cy5yYW5kb21JbmRleD1lbHMubGVuZ3RoLTE7fX1vcHRzLm5leHRTbGlkZT1vcHRz LnJhbmRvbU1hcFtvcHRzLnJhbmRvbUluZGV4XTt9ZWxzZXtpZihvcHRzLnJhbmRv bSl7b3B0cy5uZXh0U2xpZGU9b3B0cy5yYW5kb21NYXBbb3B0cy5yYW5kb21JbmRl eF07fWVsc2V7b3B0cy5uZXh0U2xpZGU9b3B0cy5jdXJyU2xpZGUrdmFsO2lmKG9w dHMubmV4dFNsaWRlPDApe2lmKG9wdHMubm93cmFwKXtyZXR1cm4gZmFsc2U7fW9w dHMubmV4dFNsaWRlPWVscy5sZW5ndGgtMTt9ZWxzZXtpZihvcHRzLm5leHRTbGlk ZT49ZWxzLmxlbmd0aCl7aWYob3B0cy5ub3dyYXApe3JldHVybiBmYWxzZTt9b3B0 cy5uZXh0U2xpZGU9MDt9fX19dmFyIGNiPW9wdHMub25QcmV2TmV4dEV2ZW50fHxv cHRzLnByZXZOZXh0Q2xpY2s7aWYoJC5pc0Z1bmN0aW9uKGNiKSl7Y2IodmFsPjAs b3B0cy5uZXh0U2xpZGUsZWxzW29wdHMubmV4dFNsaWRlXSk7fWdvKGVscyxvcHRz LDEsdmFsPj0wKTtyZXR1cm4gZmFsc2U7fWZ1bmN0aW9uIGJ1aWxkUGFnZXIoZWxz LG9wdHMpe3ZhciAkcD0kKG9wdHMucGFnZXIpOyQuZWFjaChlbHMsZnVuY3Rpb24o aSxvKXskLmZuLmN5Y2xlLmNyZWF0ZVBhZ2VyQW5jaG9yKGksbywkcCxlbHMsb3B0 cyk7fSk7b3B0cy51cGRhdGVBY3RpdmVQYWdlckxpbmsob3B0cy5wYWdlcixvcHRz LnN0YXJ0aW5nU2xpZGUsb3B0cy5hY3RpdmVQYWdlckNsYXNzKTt9JC5mbi5jeWNs ZS5jcmVhdGVQYWdlckFuY2hvcj1mdW5jdGlvbihpLGVsLCRwLGVscyxvcHRzKXt2 YXIgYTtpZigkLmlzRnVuY3Rpb24ob3B0cy5wYWdlckFuY2hvckJ1aWxkZXIpKXth PW9wdHMucGFnZXJBbmNob3JCdWlsZGVyKGksZWwpO2RlYnVnKCJwYWdlckFuY2hv ckJ1aWxkZXIoIitpKyIsIGVsKSByZXR1cm5lZDogIithKTt9ZWxzZXthPSc8YSBo cmVmPSIjIj4nKyhpKzEpKyI8L2E+Ijt9aWYoIWEpe3JldHVybjt9dmFyICRhPSQo YSk7aWYoJGEucGFyZW50cygiYm9keSIpLmxlbmd0aD09PTApe3ZhciBhcnI9W107 aWYoJHAubGVuZ3RoPjEpeyRwLmVhY2goZnVuY3Rpb24oKXt2YXIgJGNsb25lPSRh LmNsb25lKHRydWUpOyQodGhpcykuYXBwZW5kKCRjbG9uZSk7YXJyLnB1c2goJGNs b25lWzBdKTt9KTskYT0kKGFycik7fWVsc2V7JGEuYXBwZW5kVG8oJHApO319b3B0 cy5wYWdlckFuY2hvcnM9b3B0cy5wYWdlckFuY2hvcnN8fFtdO29wdHMucGFnZXJB bmNob3JzLnB1c2goJGEpOyRhLmJpbmQob3B0cy5wYWdlckV2ZW50LGZ1bmN0aW9u KGUpe2UucHJldmVudERlZmF1bHQoKTtvcHRzLm5leHRTbGlkZT1pO3ZhciBwPW9w dHMuJGNvbnRbMF0sdGltZW91dD1wLmN5Y2xlVGltZW91dDtpZih0aW1lb3V0KXtj bGVhclRpbWVvdXQodGltZW91dCk7cC5jeWNsZVRpbWVvdXQ9MDt9dmFyIGNiPW9w dHMub25QYWdlckV2ZW50fHxvcHRzLnBhZ2VyQ2xpY2s7aWYoJC5pc0Z1bmN0aW9u KGNiKSl7Y2Iob3B0cy5uZXh0U2xpZGUsZWxzW29wdHMubmV4dFNsaWRlXSk7fWdv KGVscyxvcHRzLDEsb3B0cy5jdXJyU2xpZGU8aSk7fSk7aWYoIS9eY2xpY2svLnRl c3Qob3B0cy5wYWdlckV2ZW50KSYmIW9wdHMuYWxsb3dQYWdlckNsaWNrQnViYmxl KXskYS5iaW5kKCJjbGljay5jeWNsZSIsZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7 fSk7fWlmKG9wdHMucGF1c2VPblBhZ2VySG92ZXIpeyRhLmhvdmVyKGZ1bmN0aW9u KCl7b3B0cy4kY29udFswXS5jeWNsZVBhdXNlKys7fSxmdW5jdGlvbigpe29wdHMu JGNvbnRbMF0uY3ljbGVQYXVzZS0tO30pO319OyQuZm4uY3ljbGUuaG9wc0Zyb21M YXN0PWZ1bmN0aW9uKG9wdHMsZndkKXt2YXIgaG9wcyxsPW9wdHMubGFzdFNsaWRl LGM9b3B0cy5jdXJyU2xpZGU7aWYoZndkKXtob3BzPWM+bD9jLWw6b3B0cy5zbGlk ZUNvdW50LWw7fWVsc2V7aG9wcz1jPGw/bC1jOmwrb3B0cy5zbGlkZUNvdW50LWM7 fXJldHVybiBob3BzO307ZnVuY3Rpb24gY2xlYXJUeXBlRml4KCRzbGlkZXMpe2Rl YnVnKCJhcHBseWluZyBjbGVhclR5cGUgYmFja2dyb3VuZC1jb2xvciBoYWNrIik7 ZnVuY3Rpb24gaGV4KHMpe3M9cGFyc2VJbnQocykudG9TdHJpbmcoMTYpO3JldHVy biBzLmxlbmd0aDwyPyIwIitzOnM7fWZ1bmN0aW9uIGdldEJnKGUpe2Zvcig7ZSYm ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT0iaHRtbCI7ZT1lLnBhcmVudE5vZGUp e3ZhciB2PSQuY3NzKGUsImJhY2tncm91bmQtY29sb3IiKTtpZih2LmluZGV4T2Yo InJnYiIpPj0wKXt2YXIgcmdiPXYubWF0Y2goL1xkKy9nKTtyZXR1cm4iIyIraGV4 KHJnYlswXSkraGV4KHJnYlsxXSkraGV4KHJnYlsyXSk7fWlmKHYmJnYhPSJ0cmFu c3BhcmVudCIpe3JldHVybiB2O319cmV0dXJuIiNmZmZmZmYiO30kc2xpZGVzLmVh Y2goZnVuY3Rpb24oKXskKHRoaXMpLmNzcygiYmFja2dyb3VuZC1jb2xvciIsZ2V0 QmcodGhpcykpO30pO30kLmZuLmN5Y2xlLmNvbW1vblJlc2V0PWZ1bmN0aW9uKGN1 cnIsbmV4dCxvcHRzLHcsaCxyZXYpeyQob3B0cy5lbGVtZW50cykubm90KGN1cnIp LmhpZGUoKTtvcHRzLmNzc0JlZm9yZS5vcGFjaXR5PTE7b3B0cy5jc3NCZWZvcmUu ZGlzcGxheT0iYmxvY2siO2lmKHchPT1mYWxzZSYmbmV4dC5jeWNsZVc+MCl7b3B0 cy5jc3NCZWZvcmUud2lkdGg9bmV4dC5jeWNsZVc7fWlmKGghPT1mYWxzZSYmbmV4 dC5jeWNsZUg+MCl7b3B0cy5jc3NCZWZvcmUuaGVpZ2h0PW5leHQuY3ljbGVIO31v cHRzLmNzc0FmdGVyPW9wdHMuY3NzQWZ0ZXJ8fHt9O29wdHMuY3NzQWZ0ZXIuZGlz cGxheT0ibm9uZSI7JChjdXJyKS5jc3MoInpJbmRleCIsb3B0cy5zbGlkZUNvdW50 KyhyZXY9PT10cnVlPzE6MCkpOyQobmV4dCkuY3NzKCJ6SW5kZXgiLG9wdHMuc2xp ZGVDb3VudCsocmV2PT09dHJ1ZT8wOjEpKTt9OyQuZm4uY3ljbGUuY3VzdG9tPWZ1 bmN0aW9uKGN1cnIsbmV4dCxvcHRzLGNiLGZ3ZCxzcGVlZE92ZXJyaWRlKXt2YXIg JGw9JChjdXJyKSwkbj0kKG5leHQpO3ZhciBzcGVlZEluPW9wdHMuc3BlZWRJbixz cGVlZE91dD1vcHRzLnNwZWVkT3V0LGVhc2VJbj1vcHRzLmVhc2VJbixlYXNlT3V0 PW9wdHMuZWFzZU91dDskbi5jc3Mob3B0cy5jc3NCZWZvcmUpO2lmKHNwZWVkT3Zl cnJpZGUpe2lmKHR5cGVvZiBzcGVlZE92ZXJyaWRlPT0ibnVtYmVyIil7c3BlZWRJ bj1zcGVlZE91dD1zcGVlZE92ZXJyaWRlO31lbHNle3NwZWVkSW49c3BlZWRPdXQ9 MTt9ZWFzZUluPWVhc2VPdXQ9bnVsbDt9dmFyIGZuPWZ1bmN0aW9uKCl7JG4uYW5p bWF0ZShvcHRzLmFuaW1JbixzcGVlZEluLGVhc2VJbixjYik7fTskbC5hbmltYXRl KG9wdHMuYW5pbU91dCxzcGVlZE91dCxlYXNlT3V0LGZ1bmN0aW9uKCl7aWYob3B0 cy5jc3NBZnRlcil7JGwuY3NzKG9wdHMuY3NzQWZ0ZXIpO31pZighb3B0cy5zeW5j KXtmbigpO319KTtpZihvcHRzLnN5bmMpe2ZuKCk7fX07JC5mbi5jeWNsZS50cmFu c2l0aW9ucz17ZmFkZTpmdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpeyRzbGlk ZXMubm90KCI6ZXEoIitvcHRzLmN1cnJTbGlkZSsiKSIpLmNzcygib3BhY2l0eSIs MCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5m bi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7b3B0cy5jc3NCZWZv cmUub3BhY2l0eT0wO30pO29wdHMuYW5pbUluPXtvcGFjaXR5OjF9O29wdHMuYW5p bU91dD17b3BhY2l0eTowfTtvcHRzLmNzc0JlZm9yZT17dG9wOjAsbGVmdDowfTt9 fTskLmZuLmN5Y2xlLnZlcj1mdW5jdGlvbigpe3JldHVybiB2ZXI7fTskLmZuLmN5 Y2xlLmRlZmF1bHRzPXtmeDoiZmFkZSIsdGltZW91dDo0MDAwLHRpbWVvdXRGbjpu dWxsLGNvbnRpbnVvdXM6MCxzcGVlZDoxMDAwLHNwZWVkSW46bnVsbCxzcGVlZE91 dDpudWxsLG5leHQ6bnVsbCxwcmV2Om51bGwsb25QcmV2TmV4dEV2ZW50Om51bGws cHJldk5leHRFdmVudDoiY2xpY2suY3ljbGUiLHBhZ2VyOm51bGwsb25QYWdlckV2 ZW50Om51bGwscGFnZXJFdmVudDoiY2xpY2suY3ljbGUiLGFsbG93UGFnZXJDbGlj a0J1YmJsZTpmYWxzZSxwYWdlckFuY2hvckJ1aWxkZXI6bnVsbCxiZWZvcmU6bnVs bCxhZnRlcjpudWxsLGVuZDpudWxsLGVhc2luZzpudWxsLGVhc2VJbjpudWxsLGVh c2VPdXQ6bnVsbCxzaHVmZmxlOm51bGwsYW5pbUluOm51bGwsYW5pbU91dDpudWxs LGNzc0JlZm9yZTpudWxsLGNzc0FmdGVyOm51bGwsZnhGbjpudWxsLGhlaWdodDoi YXV0byIsc3RhcnRpbmdTbGlkZTowLHN5bmM6MSxyYW5kb206MCxmaXQ6MCxjb250 YWluZXJSZXNpemU6MSxwYXVzZTowLHBhdXNlT25QYWdlckhvdmVyOjAsYXV0b3N0 b3A6MCxhdXRvc3RvcENvdW50OjAsZGVsYXk6MCxzbGlkZUV4cHI6bnVsbCxjbGVh cnR5cGU6ISQuc3VwcG9ydC5vcGFjaXR5LGNsZWFydHlwZU5vQmc6ZmFsc2Usbm93 cmFwOjAsZmFzdE9uRXZlbnQ6MCxyYW5kb21pemVFZmZlY3RzOjEscmV2OjAsbWFu dWFsVHJ1bXA6dHJ1ZSxyZXF1ZXVlT25JbWFnZU5vdExvYWRlZDp0cnVlLHJlcXVl dWVUaW1lb3V0OjI1MCxhY3RpdmVQYWdlckNsYXNzOiJhY3RpdmVTbGlkZSIsdXBk YXRlQWN0aXZlUGFnZXJMaW5rOm51bGwsYmFja3dhcmRzOmZhbHNlfTt9KShqUXVl cnkpOwovKgogKiBqUXVlcnkgQ3ljbGUgUGx1Z2luIFRyYW5zaXRpb24gRGVmaW5p dGlvbnMKICogVGhpcyBzY3JpcHQgaXMgYSBwbHVnaW4gZm9yIHRoZSBqUXVlcnkg Q3ljbGUgUGx1Z2luCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBo dHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvY3ljbGUvCiAqIENvcHlyaWdodCAoYykg MjAwNy0yMDEwIE0uIEFsc3VwCiAqIFZlcnNpb246CSAyLjcyCiAqIER1YWwgbGlj ZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiBodHRwOi8v d3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKiBo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwKICovCihmdW5jdGlv bigkKXskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLm5vbmU9ZnVuY3Rpb24oJGNvbnQs JHNsaWRlcyxvcHRzKXtvcHRzLmZ4Rm49ZnVuY3Rpb24oY3VycixuZXh0LG9wdHMs YWZ0ZXIpeyQobmV4dCkuc2hvdygpOyQoY3VycikuaGlkZSgpO2FmdGVyKCk7fTt9 OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuc2Nyb2xsVXA9ZnVuY3Rpb24oJGNvbnQs JHNsaWRlcyxvcHRzKXskY29udC5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIik7b3B0 cy5iZWZvcmUucHVzaCgkLmZuLmN5Y2xlLmNvbW1vblJlc2V0KTt2YXIgaD0kY29u dC5oZWlnaHQoKTtvcHRzLmNzc0JlZm9yZT17dG9wOmgsbGVmdDowfTtvcHRzLmNz c0ZpcnN0PXt0b3A6MH07b3B0cy5hbmltSW49e3RvcDowfTtvcHRzLmFuaW1PdXQ9 e3RvcDotaH07fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNjcm9sbERvd249ZnVu Y3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXskY29udC5jc3MoIm92ZXJmbG93Iiwi aGlkZGVuIik7b3B0cy5iZWZvcmUucHVzaCgkLmZuLmN5Y2xlLmNvbW1vblJlc2V0 KTt2YXIgaD0kY29udC5oZWlnaHQoKTtvcHRzLmNzc0ZpcnN0PXt0b3A6MH07b3B0 cy5jc3NCZWZvcmU9e3RvcDotaCxsZWZ0OjB9O29wdHMuYW5pbUluPXt0b3A6MH07 b3B0cy5hbmltT3V0PXt0b3A6aH07fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNj cm9sbExlZnQ9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXskY29udC5jc3Mo Im92ZXJmbG93IiwiaGlkZGVuIik7b3B0cy5iZWZvcmUucHVzaCgkLmZuLmN5Y2xl LmNvbW1vblJlc2V0KTt2YXIgdz0kY29udC53aWR0aCgpO29wdHMuY3NzRmlyc3Q9 e2xlZnQ6MH07b3B0cy5jc3NCZWZvcmU9e2xlZnQ6dyx0b3A6MH07b3B0cy5hbmlt SW49e2xlZnQ6MH07b3B0cy5hbmltT3V0PXtsZWZ0OjAtd307fTskLmZuLmN5Y2xl LnRyYW5zaXRpb25zLnNjcm9sbFJpZ2h0PWZ1bmN0aW9uKCRjb250LCRzbGlkZXMs b3B0cyl7JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpO29wdHMuYmVmb3Jl LnB1c2goJC5mbi5jeWNsZS5jb21tb25SZXNldCk7dmFyIHc9JGNvbnQud2lkdGgo KTtvcHRzLmNzc0ZpcnN0PXtsZWZ0OjB9O29wdHMuY3NzQmVmb3JlPXtsZWZ0Oi13 LHRvcDowfTtvcHRzLmFuaW1Jbj17bGVmdDowfTtvcHRzLmFuaW1PdXQ9e2xlZnQ6 d307fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNjcm9sbEhvcno9ZnVuY3Rpb24o JGNvbnQsJHNsaWRlcyxvcHRzKXskY29udC5jc3MoIm92ZXJmbG93IiwiaGlkZGVu Iikud2lkdGgoKTtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxv cHRzLGZ3ZCl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7 b3B0cy5jc3NCZWZvcmUubGVmdD1md2Q/KG5leHQuY3ljbGVXLTEpOigxLW5leHQu Y3ljbGVXKTtvcHRzLmFuaW1PdXQubGVmdD1md2Q/LWN1cnIuY3ljbGVXOmN1cnIu Y3ljbGVXO30pO29wdHMuY3NzRmlyc3Q9e2xlZnQ6MH07b3B0cy5jc3NCZWZvcmU9 e3RvcDowfTtvcHRzLmFuaW1Jbj17bGVmdDowfTtvcHRzLmFuaW1PdXQ9e3RvcDow fTt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuc2Nyb2xsVmVydD1mdW5jdGlvbigk Y29udCwkc2xpZGVzLG9wdHMpeyRjb250LmNzcygib3ZlcmZsb3ciLCJoaWRkZW4i KTtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzLGZ3ZCl7 JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7b3B0cy5jc3NC ZWZvcmUudG9wPWZ3ZD8oMS1uZXh0LmN5Y2xlSCk6KG5leHQuY3ljbGVILTEpO29w dHMuYW5pbU91dC50b3A9ZndkP2N1cnIuY3ljbGVIOi1jdXJyLmN5Y2xlSDt9KTtv cHRzLmNzc0ZpcnN0PXt0b3A6MH07b3B0cy5jc3NCZWZvcmU9e2xlZnQ6MH07b3B0 cy5hbmltSW49e3RvcDowfTtvcHRzLmFuaW1PdXQ9e2xlZnQ6MH07fTskLmZuLmN5 Y2xlLnRyYW5zaXRpb25zLnNsaWRlWD1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9w dHMpe29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQo b3B0cy5lbGVtZW50cykubm90KGN1cnIpLmhpZGUoKTskLmZuLmN5Y2xlLmNvbW1v blJlc2V0KGN1cnIsbmV4dCxvcHRzLGZhbHNlLHRydWUpO29wdHMuYW5pbUluLndp ZHRoPW5leHQuY3ljbGVXO30pO29wdHMuY3NzQmVmb3JlPXtsZWZ0OjAsdG9wOjAs d2lkdGg6MH07b3B0cy5hbmltSW49e3dpZHRoOiJzaG93In07b3B0cy5hbmltT3V0 PXt3aWR0aDowfTt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuc2xpZGVZPWZ1bmN0 aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlv bihjdXJyLG5leHQsb3B0cyl7JChvcHRzLmVsZW1lbnRzKS5ub3QoY3VycikuaGlk ZSgpOyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMsdHJ1ZSxm YWxzZSk7b3B0cy5hbmltSW4uaGVpZ2h0PW5leHQuY3ljbGVIO30pO29wdHMuY3Nz QmVmb3JlPXtsZWZ0OjAsdG9wOjAsaGVpZ2h0OjB9O29wdHMuYW5pbUluPXtoZWln aHQ6InNob3cifTtvcHRzLmFuaW1PdXQ9e2hlaWdodDowfTt9OyQuZm4uY3ljbGUu dHJhbnNpdGlvbnMuc2h1ZmZsZT1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMp e3ZhciBpLHc9JGNvbnQuY3NzKCJvdmVyZmxvdyIsInZpc2libGUiKS53aWR0aCgp OyRzbGlkZXMuY3NzKHtsZWZ0OjAsdG9wOjB9KTtvcHRzLmJlZm9yZS5wdXNoKGZ1 bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1 cnIsbmV4dCxvcHRzLHRydWUsdHJ1ZSx0cnVlKTt9KTtpZighb3B0cy5zcGVlZEFk anVzdGVkKXtvcHRzLnNwZWVkPW9wdHMuc3BlZWQvMjtvcHRzLnNwZWVkQWRqdXN0 ZWQ9dHJ1ZTt9b3B0cy5yYW5kb209MDtvcHRzLnNodWZmbGU9b3B0cy5zaHVmZmxl fHx7bGVmdDotdyx0b3A6MTV9O29wdHMuZWxzPVtdO2ZvcihpPTA7aTwkc2xpZGVz Lmxlbmd0aDtpKyspe29wdHMuZWxzLnB1c2goJHNsaWRlc1tpXSk7fWZvcihpPTA7 aTxvcHRzLmN1cnJTbGlkZTtpKyspe29wdHMuZWxzLnB1c2gob3B0cy5lbHMuc2hp ZnQoKSk7fW9wdHMuZnhGbj1mdW5jdGlvbihjdXJyLG5leHQsb3B0cyxjYixmd2Qp e3ZhciAkZWw9ZndkPyQoY3Vycik6JChuZXh0KTskKG5leHQpLmNzcyhvcHRzLmNz c0JlZm9yZSk7dmFyIGNvdW50PW9wdHMuc2xpZGVDb3VudDskZWwuYW5pbWF0ZShv cHRzLnNodWZmbGUsb3B0cy5zcGVlZEluLG9wdHMuZWFzZUluLGZ1bmN0aW9uKCl7 dmFyIGhvcHM9JC5mbi5jeWNsZS5ob3BzRnJvbUxhc3Qob3B0cyxmd2QpO2Zvcih2 YXIgaz0wO2s8aG9wcztrKyspe2Z3ZD9vcHRzLmVscy5wdXNoKG9wdHMuZWxzLnNo aWZ0KCkpOm9wdHMuZWxzLnVuc2hpZnQob3B0cy5lbHMucG9wKCkpO31pZihmd2Qp e2Zvcih2YXIgaT0wLGxlbj1vcHRzLmVscy5sZW5ndGg7aTxsZW47aSsrKXskKG9w dHMuZWxzW2ldKS5jc3MoInotaW5kZXgiLGxlbi1pK2NvdW50KTt9fWVsc2V7dmFy IHo9JChjdXJyKS5jc3MoInotaW5kZXgiKTskZWwuY3NzKCJ6LWluZGV4IixwYXJz ZUludCh6KSsxK2NvdW50KTt9JGVsLmFuaW1hdGUoe2xlZnQ6MCx0b3A6MH0sb3B0 cy5zcGVlZE91dCxvcHRzLmVhc2VPdXQsZnVuY3Rpb24oKXskKGZ3ZD90aGlzOmN1 cnIpLmhpZGUoKTtpZihjYil7Y2IoKTt9fSk7fSk7fTtvcHRzLmNzc0JlZm9yZT17 ZGlzcGxheToiYmxvY2siLG9wYWNpdHk6MSx0b3A6MCxsZWZ0OjB9O307JC5mbi5j eWNsZS50cmFuc2l0aW9ucy50dXJuVXA9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxv cHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXsk LmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLHRydWUsZmFsc2Up O29wdHMuY3NzQmVmb3JlLnRvcD1uZXh0LmN5Y2xlSDtvcHRzLmFuaW1Jbi5oZWln aHQ9bmV4dC5jeWNsZUg7fSk7b3B0cy5jc3NGaXJzdD17dG9wOjB9O29wdHMuY3Nz QmVmb3JlPXtsZWZ0OjAsaGVpZ2h0OjB9O29wdHMuYW5pbUluPXt0b3A6MH07b3B0 cy5hbmltT3V0PXtoZWlnaHQ6MH07fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnR1 cm5Eb3duPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUu cHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25S ZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLGZhbHNlKTtvcHRzLmFuaW1Jbi5oZWln aHQ9bmV4dC5jeWNsZUg7b3B0cy5hbmltT3V0LnRvcD1jdXJyLmN5Y2xlSDt9KTtv cHRzLmNzc0ZpcnN0PXt0b3A6MH07b3B0cy5jc3NCZWZvcmU9e2xlZnQ6MCx0b3A6 MCxoZWlnaHQ6MH07b3B0cy5hbmltT3V0PXtoZWlnaHQ6MH07fTskLmZuLmN5Y2xl LnRyYW5zaXRpb25zLnR1cm5MZWZ0PWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0 cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5m bi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyxmYWxzZSx0cnVlKTtv cHRzLmNzc0JlZm9yZS5sZWZ0PW5leHQuY3ljbGVXO29wdHMuYW5pbUluLndpZHRo PW5leHQuY3ljbGVXO30pO29wdHMuY3NzQmVmb3JlPXt0b3A6MCx3aWR0aDowfTtv cHRzLmFuaW1Jbj17bGVmdDowfTtvcHRzLmFuaW1PdXQ9e3dpZHRoOjB9O307JC5m bi5jeWNsZS50cmFuc2l0aW9ucy50dXJuUmlnaHQ9ZnVuY3Rpb24oJGNvbnQsJHNs aWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxv cHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLGZhbHNl LHRydWUpO29wdHMuYW5pbUluLndpZHRoPW5leHQuY3ljbGVXO29wdHMuYW5pbU91 dC5sZWZ0PWN1cnIuY3ljbGVXO30pO29wdHMuY3NzQmVmb3JlPXt0b3A6MCxsZWZ0 OjAsd2lkdGg6MH07b3B0cy5hbmltSW49e2xlZnQ6MH07b3B0cy5hbmltT3V0PXt3 aWR0aDowfTt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuem9vbT1mdW5jdGlvbigk Y29udCwkc2xpZGVzLG9wdHMpe29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3Vy cixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9w dHMsZmFsc2UsZmFsc2UsdHJ1ZSk7b3B0cy5jc3NCZWZvcmUudG9wPW5leHQuY3lj bGVILzI7b3B0cy5jc3NCZWZvcmUubGVmdD1uZXh0LmN5Y2xlVy8yO29wdHMuYW5p bUluPXt0b3A6MCxsZWZ0OjAsd2lkdGg6bmV4dC5jeWNsZVcsaGVpZ2h0Om5leHQu Y3ljbGVIfTtvcHRzLmFuaW1PdXQ9e3dpZHRoOjAsaGVpZ2h0OjAsdG9wOmN1cnIu Y3ljbGVILzIsbGVmdDpjdXJyLmN5Y2xlVy8yfTt9KTtvcHRzLmNzc0ZpcnN0PXt0 b3A6MCxsZWZ0OjB9O29wdHMuY3NzQmVmb3JlPXt3aWR0aDowLGhlaWdodDowfTt9 OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuZmFkZVpvb209ZnVuY3Rpb24oJGNvbnQs JHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4 dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLGZh bHNlLGZhbHNlKTtvcHRzLmNzc0JlZm9yZS5sZWZ0PW5leHQuY3ljbGVXLzI7b3B0 cy5jc3NCZWZvcmUudG9wPW5leHQuY3ljbGVILzI7b3B0cy5hbmltSW49e3RvcDow LGxlZnQ6MCx3aWR0aDpuZXh0LmN5Y2xlVyxoZWlnaHQ6bmV4dC5jeWNsZUh9O30p O29wdHMuY3NzQmVmb3JlPXt3aWR0aDowLGhlaWdodDowfTtvcHRzLmFuaW1PdXQ9 e29wYWNpdHk6MH07fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLmJsaW5kWD1mdW5j dGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciB3PSRjb250LmNzcygib3ZlcmZs b3ciLCJoaWRkZW4iKS53aWR0aCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24o Y3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0 LG9wdHMpO29wdHMuYW5pbUluLndpZHRoPW5leHQuY3ljbGVXO29wdHMuYW5pbU91 dC5sZWZ0PWN1cnIuY3ljbGVXO30pO29wdHMuY3NzQmVmb3JlPXtsZWZ0OncsdG9w OjB9O29wdHMuYW5pbUluPXtsZWZ0OjB9O29wdHMuYW5pbU91dD17bGVmdDp3fTt9 OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuYmxpbmRZPWZ1bmN0aW9uKCRjb250LCRz bGlkZXMsb3B0cyl7dmFyIGg9JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIp LmhlaWdodCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9w dHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMpO29wdHMu YW5pbUluLmhlaWdodD1uZXh0LmN5Y2xlSDtvcHRzLmFuaW1PdXQudG9wPWN1cnIu Y3ljbGVIO30pO29wdHMuY3NzQmVmb3JlPXt0b3A6aCxsZWZ0OjB9O29wdHMuYW5p bUluPXt0b3A6MH07b3B0cy5hbmltT3V0PXt0b3A6aH07fTskLmZuLmN5Y2xlLnRy YW5zaXRpb25zLmJsaW5kWj1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3Zh ciBoPSRjb250LmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKS5oZWlnaHQoKTt2YXIg dz0kY29udC53aWR0aCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3Vycixu ZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMp O29wdHMuYW5pbUluLmhlaWdodD1uZXh0LmN5Y2xlSDtvcHRzLmFuaW1PdXQudG9w PWN1cnIuY3ljbGVIO30pO29wdHMuY3NzQmVmb3JlPXt0b3A6aCxsZWZ0Ond9O29w dHMuYW5pbUluPXt0b3A6MCxsZWZ0OjB9O29wdHMuYW5pbU91dD17dG9wOmgsbGVm dDp3fTt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuZ3Jvd1g9ZnVuY3Rpb24oJGNv bnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIs bmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRz LGZhbHNlLHRydWUpO29wdHMuY3NzQmVmb3JlLmxlZnQ9dGhpcy5jeWNsZVcvMjtv cHRzLmFuaW1Jbj17bGVmdDowLHdpZHRoOnRoaXMuY3ljbGVXfTtvcHRzLmFuaW1P dXQ9e2xlZnQ6MH07fSk7b3B0cy5jc3NCZWZvcmU9e3dpZHRoOjAsdG9wOjB9O307 JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5ncm93WT1mdW5jdGlvbigkY29udCwkc2xp ZGVzLG9wdHMpe29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9w dHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMsdHJ1ZSxm YWxzZSk7b3B0cy5jc3NCZWZvcmUudG9wPXRoaXMuY3ljbGVILzI7b3B0cy5hbmlt SW49e3RvcDowLGhlaWdodDp0aGlzLmN5Y2xlSH07b3B0cy5hbmltT3V0PXt0b3A6 MH07fSk7b3B0cy5jc3NCZWZvcmU9e2hlaWdodDowLGxlZnQ6MH07fTskLmZuLmN5 Y2xlLnRyYW5zaXRpb25zLmN1cnRhaW5YPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMs b3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7 JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyxmYWxzZSx0cnVl LHRydWUpO29wdHMuY3NzQmVmb3JlLmxlZnQ9bmV4dC5jeWNsZVcvMjtvcHRzLmFu aW1Jbj17bGVmdDowLHdpZHRoOnRoaXMuY3ljbGVXfTtvcHRzLmFuaW1PdXQ9e2xl ZnQ6Y3Vyci5jeWNsZVcvMix3aWR0aDowfTt9KTtvcHRzLmNzc0JlZm9yZT17dG9w OjAsd2lkdGg6MH07fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLmN1cnRhaW5ZPWZ1 bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5j dGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJy LG5leHQsb3B0cyx0cnVlLGZhbHNlLHRydWUpO29wdHMuY3NzQmVmb3JlLnRvcD1u ZXh0LmN5Y2xlSC8yO29wdHMuYW5pbUluPXt0b3A6MCxoZWlnaHQ6bmV4dC5jeWNs ZUh9O29wdHMuYW5pbU91dD17dG9wOmN1cnIuY3ljbGVILzIsaGVpZ2h0OjB9O30p O29wdHMuY3NzQmVmb3JlPXtsZWZ0OjAsaGVpZ2h0OjB9O307JC5mbi5jeWNsZS50 cmFuc2l0aW9ucy5jb3Zlcj1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3Zh ciBkPW9wdHMuZGlyZWN0aW9ufHwibGVmdCI7dmFyIHc9JGNvbnQuY3NzKCJvdmVy ZmxvdyIsImhpZGRlbiIpLndpZHRoKCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0 cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNs ZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7aWYoZD09InJpZ2h0Iil7b3B0 cy5jc3NCZWZvcmUubGVmdD0tdzt9ZWxzZXtpZihkPT0idXAiKXtvcHRzLmNzc0Jl Zm9yZS50b3A9aDt9ZWxzZXtpZihkPT0iZG93biIpe29wdHMuY3NzQmVmb3JlLnRv cD0taDt9ZWxzZXtvcHRzLmNzc0JlZm9yZS5sZWZ0PXc7fX19fSk7b3B0cy5hbmlt SW49e2xlZnQ6MCx0b3A6MH07b3B0cy5hbmltT3V0PXtvcGFjaXR5OjF9O29wdHMu Y3NzQmVmb3JlPXt0b3A6MCxsZWZ0OjB9O307JC5mbi5jeWNsZS50cmFuc2l0aW9u cy51bmNvdmVyPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7dmFyIGQ9b3B0 cy5kaXJlY3Rpb258fCJsZWZ0Ijt2YXIgdz0kY29udC5jc3MoIm92ZXJmbG93Iiwi aGlkZGVuIikud2lkdGgoKTt2YXIgaD0kY29udC5oZWlnaHQoKTtvcHRzLmJlZm9y ZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1v blJlc2V0KGN1cnIsbmV4dCxvcHRzLHRydWUsdHJ1ZSx0cnVlKTtpZihkPT0icmln aHQiKXtvcHRzLmFuaW1PdXQubGVmdD13O31lbHNle2lmKGQ9PSJ1cCIpe29wdHMu YW5pbU91dC50b3A9LWg7fWVsc2V7aWYoZD09ImRvd24iKXtvcHRzLmFuaW1PdXQu dG9wPWg7fWVsc2V7b3B0cy5hbmltT3V0LmxlZnQ9LXc7fX19fSk7b3B0cy5hbmlt SW49e2xlZnQ6MCx0b3A6MH07b3B0cy5hbmltT3V0PXtvcGFjaXR5OjF9O29wdHMu Y3NzQmVmb3JlPXt0b3A6MCxsZWZ0OjB9O307JC5mbi5jeWNsZS50cmFuc2l0aW9u cy50b3NzPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7dmFyIHc9JGNvbnQu Y3NzKCJvdmVyZmxvdyIsInZpc2libGUiKS53aWR0aCgpO3ZhciBoPSRjb250Lmhl aWdodCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMp eyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMsdHJ1ZSx0cnVl LHRydWUpO2lmKCFvcHRzLmFuaW1PdXQubGVmdCYmIW9wdHMuYW5pbU91dC50b3Ap e29wdHMuYW5pbU91dD17bGVmdDp3KjIsdG9wOi1oLzIsb3BhY2l0eTowfTt9ZWxz ZXtvcHRzLmFuaW1PdXQub3BhY2l0eT0wO319KTtvcHRzLmNzc0JlZm9yZT17bGVm dDowLHRvcDowfTtvcHRzLmFuaW1Jbj17bGVmdDowfTt9OyQuZm4uY3ljbGUudHJh bnNpdGlvbnMud2lwZT1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciB3 PSRjb250LmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKS53aWR0aCgpO3ZhciBoPSRj b250LmhlaWdodCgpO29wdHMuY3NzQmVmb3JlPW9wdHMuY3NzQmVmb3JlfHx7fTt2 YXIgY2xpcDtpZihvcHRzLmNsaXApe2lmKC9sMnIvLnRlc3Qob3B0cy5jbGlwKSl7 Y2xpcD0icmVjdCgwcHggMHB4ICIraCsicHggMHB4KSI7fWVsc2V7aWYoL3IybC8u dGVzdChvcHRzLmNsaXApKXtjbGlwPSJyZWN0KDBweCAiK3crInB4ICIraCsicHgg Iit3KyJweCkiO31lbHNle2lmKC90MmIvLnRlc3Qob3B0cy5jbGlwKSl7Y2xpcD0i cmVjdCgwcHggIit3KyJweCAwcHggMHB4KSI7fWVsc2V7aWYoL2IydC8udGVzdChv cHRzLmNsaXApKXtjbGlwPSJyZWN0KCIraCsicHggIit3KyJweCAiK2grInB4IDBw eCkiO31lbHNle2lmKC96b29tLy50ZXN0KG9wdHMuY2xpcCkpe3ZhciB0b3A9cGFy c2VJbnQoaC8yKTt2YXIgbGVmdD1wYXJzZUludCh3LzIpO2NsaXA9InJlY3QoIit0 b3ArInB4ICIrbGVmdCsicHggIit0b3ArInB4ICIrbGVmdCsicHgpIjt9fX19fX1v cHRzLmNzc0JlZm9yZS5jbGlwPW9wdHMuY3NzQmVmb3JlLmNsaXB8fGNsaXB8fCJy ZWN0KDBweCAwcHggMHB4IDBweCkiO3ZhciBkPW9wdHMuY3NzQmVmb3JlLmNsaXAu bWF0Y2goLyhcZCspL2cpO3ZhciB0PXBhcnNlSW50KGRbMF0pLHI9cGFyc2VJbnQo ZFsxXSksYj1wYXJzZUludChkWzJdKSxsPXBhcnNlSW50KGRbM10pO29wdHMuYmVm b3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpe2lmKGN1cnI9PW5leHQp e3JldHVybjt9dmFyICRjdXJyPSQoY3VyciksJG5leHQ9JChuZXh0KTskLmZuLmN5 Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLHRydWUsdHJ1ZSxmYWxzZSk7 b3B0cy5jc3NBZnRlci5kaXNwbGF5PSJibG9jayI7dmFyIHN0ZXA9MSxjb3VudD1w YXJzZUludCgob3B0cy5zcGVlZEluLzEzKSktMTsoZnVuY3Rpb24gZigpe3ZhciB0 dD10P3QtcGFyc2VJbnQoc3RlcCoodC9jb3VudCkpOjA7dmFyIGxsPWw/bC1wYXJz ZUludChzdGVwKihsL2NvdW50KSk6MDt2YXIgYmI9YjxoP2IrcGFyc2VJbnQoc3Rl cCooKGgtYikvY291bnR8fDEpKTpoO3ZhciBycj1yPHc/citwYXJzZUludChzdGVw Kigody1yKS9jb3VudHx8MSkpOnc7JG5leHQuY3NzKHtjbGlwOiJyZWN0KCIrdHQr InB4ICIrcnIrInB4ICIrYmIrInB4ICIrbGwrInB4KSJ9KTsoc3RlcCsrPD1jb3Vu dCk/c2V0VGltZW91dChmLDEzKTokY3Vyci5jc3MoImRpc3BsYXkiLCJub25lIik7 fSkoKTt9KTtvcHRzLmNzc0JlZm9yZT17ZGlzcGxheToiYmxvY2siLG9wYWNpdHk6 MSx0b3A6MCxsZWZ0OjB9O29wdHMuYW5pbUluPXtsZWZ0OjB9O29wdHMuYW5pbU91 dD17bGVmdDowfTt9O30pKGpRdWVyeSk7 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=ngg.slideshow.min.js Content-Type: application/x-javascript; charset=UTF-8; name=ngg.slideshow.min.js Content-Location: http://aquaviews.net/wp-content/plugins/nextgen-gallery/js/ngg.slideshow.min.js?ver=1.05 Content-Transfer-Encoding: Base64 alF1ZXJ5LmZuLm5nZ1NsaWRlc2hvdz1mdW5jdGlvbihhcmdzKXt2YXIgZGVmYXVs dHM9e2lkOjEsd2lkdGg6MzIwLGhlaWdodDoyNDAsZng6J2ZhZGUnLGRvbWFpbjon Jyx0aW1lb3V0OjUwMDB9O3ZhciBzPWpRdWVyeS5leHRlbmQoe30sZGVmYXVsdHMs YXJncyk7dmFyIG9iaj10aGlzLnNlbGVjdG9yO3ZhciBzdGFjaz1bXTt2YXIgdXJs PXMuZG9tYWluKydpbmRleC5waHA/Y2FsbGJhY2s9anNvbiZhcGlfa2V5PXRydWUm Zm9ybWF0PWpzb24mbWV0aG9kPWdhbGxlcnkmaWQ9JytzLmlkO3ZhciBzdGFja0xl bmd0aD0wO2pRdWVyeS5nZXRKU09OKHVybCxmdW5jdGlvbihyKXtpZihyLnN0YXQ9 PSJvayIpe2ZvcihpbWcgaW4gci5pbWFnZXMpe3ZhciBwaG90bz1yLmltYWdlc1tp bWddO3N0YWNrLnB1c2goZGVjb2RlVVJJKHBob3RvWydpbWFnZVVSTCddKSk7fQpz dGFja0xlbmd0aD1zdGFjay5sZW5ndGg7bG9hZEltYWdlKDEpO319KTtmdW5jdGlv biBsb2FkSW1hZ2UobnVtKXtpZihzdGFja0xlbmd0aD4wJiZudW08PTMpe3ZhciBp bWc9bmV3IEltYWdlKCk7aW1nLnNyYz1zdGFjay5zaGlmdCgpO3N0YWNrTGVuZ3Ro LS07alF1ZXJ5KGltZykuYmluZCgnbG9hZCcsZnVuY3Rpb24oKXthcHBlbmRJbWFn ZShpbWcsbnVtKTt9KTt9fQpmdW5jdGlvbiBhcHBlbmRJbWFnZShpbWcsbnVtKXtq UXVlcnkoaW1nKS5oaWRlKCk7alF1ZXJ5KG9iaikuYXBwZW5kKGltYWdlUmVzaXpl KGltZyxzLndpZHRoLHMuaGVpZ2h0KSk7aWYobnVtPT0zfHxzdGFja0xlbmd0aD09 MCl7c3RhcnRTbGlkZXNob3coKTt9ZWxzZXtsb2FkSW1hZ2UoKytudW0pO319CmZ1 bmN0aW9uIHN0YXJ0U2xpZGVzaG93KCl7alF1ZXJ5KG9iaisnLWxvYWRlcicpLmVt cHR5KCkucmVtb3ZlKCk7alF1ZXJ5KG9iaisnIGltZzpmaXJzdCcpLmZhZGVJbigx MDAwLGZ1bmN0aW9uKCl7alF1ZXJ5KG9iaikuY3ljbGUoe2Z4OnMuZngsY29udGFp bmVyUmVzaXplOjEsZml0OjEsdGltZW91dDpzLnRpbWVvdXQsbmV4dDpvYmosYmVm b3JlOmpDeWNsZV9vbkJlZm9yZX0pO30pO30KZnVuY3Rpb24gaW1hZ2VSZXNpemUo aW1nLG1heFdpZHRoLG1heEhlaWdodCl7aWYoIWltZy5jb21wbGV0ZSkKalF1ZXJ5 KGltZykuYmluZCgnbG9hZCcsZnVuY3Rpb24oKXtpbWFnZVJlc2l6ZShpbWcsbWF4 V2lkdGgsbWF4SGVpZ2h0KX0pO2lmKGltZy5oZWlnaHQ9PTB8fGltZy53aWR0aD09 MCkKcmV0dXJuIGltZzt2YXIgd2lkdGgsaGVpZ2h0O2lmKGltZy53aWR0aCptYXhI ZWlnaHQ+aW1nLmhlaWdodCptYXhXaWR0aCl7aWYoaW1nLndpZHRoPm1heFdpZHRo KXt3aWR0aD1tYXhXaWR0aDtoZWlnaHQ9TWF0aC5yb3VuZChpbWcuaGVpZ2h0L2lt Zy53aWR0aCptYXhXaWR0aCk7fX1lbHNle2lmKGltZy5oZWlnaHQ+bWF4SGVpZ2h0 KXtoZWlnaHQ9bWF4SGVpZ2h0O3dpZHRoPU1hdGgucm91bmQoaW1nLndpZHRoL2lt Zy5oZWlnaHQqbWF4SGVpZ2h0KTt9fQpqUXVlcnkoaW1nKS5jc3MoeydoZWlnaHQn OmhlaWdodCwnd2lkdGgnOndpZHRofSk7cmV0dXJuIGltZzt9O2Z1bmN0aW9uIGpD eWNsZV9vbkJlZm9yZShjdXJyLG5leHQsb3B0cyl7aWYob3B0cy5hZGRTbGlkZSkK aWYoc3RhY2tMZW5ndGg+MCl7dmFyIGltZz1uZXcgSW1hZ2UoKTtpbWcuc3JjPXN0 YWNrLnNoaWZ0KCk7c3RhY2tMZW5ndGgtLTtqUXVlcnkoaW1nKS5iaW5kKCdsb2Fk JyxmdW5jdGlvbigpe29wdHMuYWRkU2xpZGUoaW1hZ2VSZXNpemUodGhpcyxzLndp ZHRoLHMuaGVpZ2h0KSk7fSk7fX07fQ== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=comment-reply.js Content-Type: application/x-javascript; charset=UTF-8; name=comment-reply.js Content-Location: http://aquaviews.net/wp-includes/js/comment-reply.js?ver=20090102 Content-Transfer-Encoding: Base64 YWRkQ29tbWVudD17bW92ZUZvcm06ZnVuY3Rpb24oZCxmLGksYyl7dmFyIG09dGhp cyxhLGg9bS5JKGQpLGI9bS5JKGkpLGw9bS5JKCJjYW5jZWwtY29tbWVudC1yZXBs eS1saW5rIiksaj1tLkkoImNvbW1lbnRfcGFyZW50Iiksaz1tLkkoImNvbW1lbnRf cG9zdF9JRCIpO2lmKCFofHwhYnx8IWx8fCFqKXtyZXR1cm59bS5yZXNwb25kSWQ9 aTtjPWN8fGZhbHNlO2lmKCFtLkkoIndwLXRlbXAtZm9ybS1kaXYiKSl7YT1kb2N1 bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmlkPSJ3cC10ZW1wLWZvcm0tZGl2 IjthLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZv cmUoYSxiKX1oLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsaC5uZXh0U2libGlu Zyk7aWYoayYmYyl7ay52YWx1ZT1jfWoudmFsdWU9ZjtsLnN0eWxlLmRpc3BsYXk9 IiI7bC5vbmNsaWNrPWZ1bmN0aW9uKCl7dmFyIG49YWRkQ29tbWVudCxlPW4uSSgi d3AtdGVtcC1mb3JtLWRpdiIpLG89bi5JKG4ucmVzcG9uZElkKTtpZighZXx8IW8p e3JldHVybn1uLkkoImNvbW1lbnRfcGFyZW50IikudmFsdWU9IjAiO2UucGFyZW50 Tm9kZS5pbnNlcnRCZWZvcmUobyxlKTtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo ZSk7dGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIjt0aGlzLm9uY2xpY2s9bnVsbDty ZXR1cm4gZmFsc2V9O3RyeXttLkkoImNvbW1lbnQiKS5mb2N1cygpfWNhdGNoKGcp e31yZXR1cm4gZmFsc2V9LEk6ZnVuY3Rpb24oYSl7cmV0dXJuIGRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKGEpfX07 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=external-tracking.min.js Content-Type: application/x-javascript; charset=UTF-8; name=external-tracking.min.js Content-Location: http://aquaviews.net/wp-content/plugins/google-analyticator/external-tracking.min.js?ver=6.1.3 Content-Transfer-Encoding: Base64 alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2pRdWVyeSgnYScpLmVh Y2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7dmFyIGhyZWY9YS5hdHRy KCdocmVmJyk7aWYoaHJlZj09dW5kZWZpbmVkKQpyZXR1cm47dmFyIHVybD1ocmVm LnJlcGxhY2UoJ2h0dHA6Ly8nLCcnKS5yZXBsYWNlKCdodHRwczovLycsJycpO3Zh ciBocmVmQXJyYXk9aHJlZi5zcGxpdCgnLicpLnJldmVyc2UoKTt2YXIgZXh0ZW5z aW9uPWhyZWZBcnJheVswXS50b0xvd2VyQ2FzZSgpO3ZhciBocmVmQXJyYXk9aHJl Zi5zcGxpdCgnLycpLnJldmVyc2UoKTt2YXIgZG9tYWluPWhyZWZBcnJheVsyXTt2 YXIgZG93bmxvYWRUcmFja2VkPWZhbHNlO2lmKGpRdWVyeS5pbkFycmF5KGV4dGVu c2lvbixhbmFseXRpY3NGaWxlVHlwZXMpIT0tMSl7ZG93bmxvYWRUcmFja2VkPXRy dWU7YS5jbGljayhmdW5jdGlvbigpe2lmKGFuYWx5dGljc0V2ZW50VHJhY2tpbmc9 PSdlbmFibGVkJyl7X2dhcS5wdXNoKFsnX3RyYWNrRXZlbnQnLCdEb3dubG9hZHMn LGV4dGVuc2lvbi50b1VwcGVyQ2FzZSgpLGhyZWZdKTt9ZWxzZQpfZ2FxLnB1c2go WydfdHJhY2tQYWdldmlldycsYW5hbHl0aWNzRG93bmxvYWRzUHJlZml4K3VybF0p O30pO30KaWYoKGhyZWYubWF0Y2goL15odHRwLykpJiYoIWhyZWYubWF0Y2goZG9j dW1lbnQuZG9tYWluKSkmJihkb3dubG9hZFRyYWNrZWQ9PWZhbHNlKSl7YS5jbGlj ayhmdW5jdGlvbigpe2lmKGFuYWx5dGljc0V2ZW50VHJhY2tpbmc9PSdlbmFibGVk Jyl7X2dhcS5wdXNoKFsnX3RyYWNrRXZlbnQnLCdPdXRib3VuZCBUcmFmZmljJyxo cmVmLm1hdGNoKC86XC9cLyguW14vXSspLylbMV0saHJlZl0pO31lbHNlCl9nYXEu cHVzaChbJ190cmFja1BhZ2V2aWV3JyxhbmFseXRpY3NPdXRib3VuZFByZWZpeCt1 cmxdKTt9KTt9fSk7fSk7 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=16favicon.png Content-Type: image/png; name=16favicon.png Content-Location: http://aquaviews.net/wp-content/uploads/2010/06/16favicon.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAMFBMVEUPDw+fn5+/ v78/Pz9fX19PT09vb2+Pj4/f398fHx8vLy/v7+/Pz89/f38AAAD///9uQZ67AAAA X0lEQVQY013PSxaAIAgFUPBfwXP/u03qpCQDBldAoD5DjjIyLVDEHzAhewgY4SHv QAbBATawjno6iPae2gSGbdHmUEYR8Dv8WZpESa8FMQnq970VoFDqDhTK3YPoOrnf Eh8NNYOvNZ4AAAAASUVORK5CYII= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=diggdigg-style.css Content-Type: text/css; charset=UTF-8; name=diggdigg-style.css Content-Location: http://aquaviews.net/wp-content/plugins/digg-digg/css/diggdigg-style.css?ver=4.5.3.1 Content-Transfer-Encoding: 8bit .FBConnectButton_Small, .FBConnectButton_RTL_Small { background-position:-5px -232px !important; border-left:1px solid #1a356e; width:54px; } .FBConnectButton_Small .FBConnectButton_Text { margin-left:12px!important; } .dd-digg-ajax-load,.dd-reddit-ajax-load,.dd-dzone-ajax-load,.dd-ybuzz-ajax-load, .dd-twitter-ajax-load,.dd-fbshare-ajax-load,.dd-fblike-ajax-load,.dd-delicious-ajax-load, .dd-sphinn-ajax-load,.dd-gbuzz-ajax-load,.dd-fbshareme-ajax-load,.dd-tweetmeme-ajax-load, .dd-linkedin-ajax-load, .dd-google1-ajax-load{ background-image:url(../image/ajax-loader.gif); background-repeat: no-repeat; background-position: center ; width:50px; height:22px; } .dd_delicious{ display:block; color:#000; font:normal 16px arial; text-decoration:none; width:50px; height:60px; text-align:center; } .dd_delicious a:link, .dd_delicious a:visited, .dd_delicious a:active, .dd_delicious a:hover{ text-decoration:none; color:#000; } .dd_delicious_normal_image{ background-image:url(../image/delicious.png); background-repeat: no-repeat; text-align:center; height:60px; margin-top:3px; padding:0; text-align:center; width:50px; display:block; } .dd_delicious_compact_image{ background-image:url(../image/delicious-compact.png); background-repeat: no-repeat; text-align:center; height:22px; /*margin-top:3px;*/ padding:0; text-align:center; width:50px; display:block; } .dd_delicious_compact_image span{ font-size:10px; } .dd_comments { background-image:url(../image/comments-link.png); background-repeat: no-repeat; text-align:center; height:16px; margin-top:3px; padding:0; text-align:center; width:50px; display:block; } .dd_button a:link, .dd_button a:visited, .dd_button a:active{ text-decoration:none; color:#000000; } #dd_ajax_float{ padding:2px 0px; text-align:center; line-height:16px; font-size:10px; font-family:Arial; display:none; } .dd_post_share{ padding:0px; margin-bottom:6px; display:block; } .dd_post_share_left{ float:left; } .dd_post_share_right{ float:right; } .dd_buttons img{ border:none; border-width:0px; border-color:#000000; border-style:none; } #dd_name{ color:#A9A9A9; font-size:0.5em; text-align:center; margin:6px 0 4px 0; padding:0; line-height:0px; } #dd_name a:link, #dd_name a:visited, #dd_name a:active { text-decoration:none; color:#A9A9A9; border:0; } #dd_name a:hover { text-decoration:underline; color:#A9A9A9; border:0; } .dd_button{ float:left; padding:4px; } .dd_button_v{ padding:2px 4px; } .dd_button_spacer{ padding-top:8px; } #dd_comments{ clear:both !important; width:50px; height:60px; font-family:arial; } #dd_comments a:link, #dd_comments a:visited, #dd_comments a:active, #dd_comments a:hover { text-decoration:none; } #dd_comments .clcount{ background-image:url(../image/comments-count.png); background-repeat: no-repeat; background-position: left top; text-align:center; color:#444444; display:block; font-size:20px; height:34px; padding:4px 0; position:relative; text-align:center; width:50px; line-height:24px; } #dd_comments .ccount{ color:#444444; font-size:17px; text-align:center; text-decoration:none; } #dd_comments .clink{ background-image:url(../image/comments-link.png); background-repeat: no-repeat; text-align:center; height:16px; margin-top:3px; padding:0; text-align:center; width:50px; display:block; } /******************Extra Services*****************/ .dd_button_extra_v{ padding:1px 4px; } .st_email_custom{ background-image:url(../image/email.png); background-repeat: no-repeat; background-position: 3px 4px; padding: 2px 4px 3px; border: 1px solid #DDDDDD; -moz-border-radius: 2px; cursor:pointer; margin-bottom:2px; } #dd_print_button{ background-image:url(../image/print.png); background-repeat: no-repeat; background-position: 3px 2px; padding: 1px 4px 3px; border: 1px solid #DDDDDD; -moz-border-radius: 2px; cursor:pointer; margin-bottom:2px; } #dd_email_text{ padding:0 0 0 18px; font-size:10px; } #dd_print_text{ padding:0 0 0 14px; font-size:10px; } #dd_print_text a:link, #dd_print_text a:visited, #dd_print_text a:active { color:#000; text-decoration:none; } #dd_print_text a:hover{ color:#0000FF; text-decoration:underline; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=sharebar.css Content-Type: text/css; charset=UTF-8; name=sharebar.css Content-Location: http://aquaviews.net/wp-content/plugins/sharebar/css/sharebar.css Content-Transfer-Encoding: 8bit body ul#sharebar { display: none; position: absolute; width: 65px; float: left; background: #fff; padding: 0; text-align: center; border: 1px solid #ccc; list-style: none; margin: 0; z-index: 99; } body ul#sharebar li { display: block; margin: 5px; padding: 0; overflow: hidden; text-align: center; } body ul#sharebarx { display: none; list-style: none; width: 100%; float: left; margin: 0 0 10px; padding: 0; } body ul#sharebarx a { line-height: 14px; text-decoration: none; } body ul#sharebarx li { float: left; margin-right: 20px; line-height: 18px; } body ul#sharebarx li .st_email { margin: 0 15px !important; } .sharebar-button { font-size: 11px; font-family: Verdana, Arial; padding: 2px 4px; background: #f7f7f7; color: #444; border: 1px solid #ddd; display: block;margin: 0 0 5px; } .sharebar-button:hover { border-color: #aaa; } .credit { margin: 0; padding: 0; line-height: 9px; } .credit a { font-size: 8px; color: #ccc; text-transform: uppercase; text-decoration: none; font-family: Verdana; line-height: 9px; } .FBConnectButton_Small{background-position:-5px -232px !important;border-left:1px solid #1A356E;} .FBConnectButton_Text{margin-left:12px !important ;padding:2px 5px 3px !important;} .stButton{margin:0 0 6px !important;} .stButton:last-child{margin:0 !important;} .stButton .stFb_vbubble { width:53px !important; } .stButton .stFb_text { padding: 2px 5px 3px !important; margin: 1px 1px 0 14px !important; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: text/css; charset=UTF-8 Content-Location: http://aquaviews.net/wp-content/plugins/wp-table-reloaded/css/plugin.css?ver=1.9.1 Content-Transfer-Encoding: 8bit /************************************************* * This CSS file belongs to WP-Table Reloaded! * * DO NOT make any changes here, add them to the * * "Custom CSS" textarea in the "Plugin Options"! * *************************************************/ .wp-table-reloaded { border-collapse: separate; border-spacing: 1px; background-color: #CDCDCD; margin: 10px 0px 15px 0px; font-size: 8pt; width: 100%; text-align: left; } .wp-table-reloaded th { background-color: #E6EEEE; border: 1px solid #FFFFFF; padding: 4px; color: #3D3D3D!important; } .wp-table-reloaded td { color: #3D3D3D; padding: 4px; background-color: #FFFFFF; vertical-align: top; } .wp-table-reloaded .even td { background-color: #FFFFFF; } .wp-table-reloaded .odd td { background-color: #F0F0F6; } .wp-table-reloaded .row-hover tr:hover td { background-color: #D0D0D6!important; } .wp-table-reloaded-table-description { clear: both; display: block; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: text/css; charset=UTF-8 Content-Location: http://aquaviews.net/wp-content/plugins/wp-table-reloaded/css/datatables.css?ver=1.9.1 Content-Transfer-Encoding: 8bit /************************************************* * This CSS file belongs to WP-Table Reloaded! * * DO NOT make any changes here, but in the * * "Custom CSS" textarea in the "Plugin Options"! * *************************************************/ .wp-table-reloaded .sorting { background: #E6EEEE url(../img/bg.gif) no-repeat center right; cursor: pointer; } .wp-table-reloaded .sorting_asc { background: #8DBDD8 url(../img/asc.gif) no-repeat center right; } .wp-table-reloaded .sorting_desc { background: #8DBDD8 url(../img/desc.gif) no-repeat center right; } .dataTables_wrapper { position: relative; zoom: 1; min-height: 302px; _height: 302px; clear: both; } .dataTables_wrapper .wp-table-reloaded { clear: both; } .dataTables_processing { position: absolute; top: 0px; left: 50%; width: 250px; margin-left: -125px; border: 1px solid #ddd; text-align: center; color: #999; font-size: 11px; padding: 2px 0; } .dataTables_length { width: 50%; float: left; } .dataTables_filter { width: 48%; float: right; text-align: right; } .dataTables_info { width: 60%; float: left; } .dataTables_paginate { width: 44px; * width: 50px; float: right; text-align: right; } .paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next { height: 19px; width: 19px; margin-left: 3px; float: left; } .paginate_disabled_previous { background-image: url(../img/back_disabled.jpg); } .paginate_enabled_previous { background-image: url(../img/back_enabled.jpg); } .paginate_disabled_next { background-image: url(../img/forward_disabled.jpg); } .paginate_enabled_next { background-image: url(../img/forward_enabled.jpg); } .paging_full_numbers { width: 400px; height: 22px; line-height: 22px; } .paging_full_numbers span.paginate_button, .paging_full_numbers span.paginate_active { border: 1px solid #aaa; -webkit-border-radius: 5px; -moz-border-radius: 5px; padding: 2px 5px; margin: 0 3px; cursor: pointer; *cursor: hand; } .paging_full_numbers span.paginate_button { background-color: #ddd; } .paging_full_numbers span.paginate_button:hover { background-color: #ccc; } .paging_full_numbers span.paginate_active { background-color: #99B3FF; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=piclens_optimized.js Content-Type: application/x-javascript; charset=UTF-8; name=piclens_optimized.js Content-Location: http://lite.piclens.com/current/piclens_optimized.js Content-Transfer-Encoding: Base64 LyogUGljTGVucyBMaXRlOiB2ZXJzaW9uIDEuMy4xICgxNDIyMSkKICogQ29weXJp Z2h0IChjKSAyMDA4IENvb2xpcmlzLCBJbmMuICBBbGwgUmlnaHRzIFJlc2VydmVk LgogKiAKICogVGhlIEphdmFTY3JpcHQgcGFydCBvZiBQaWNMZW5zIExpdGUgKGku ZS4sIHRoaXMgZmlsZSkgaXMgQlNEIGxpY2Vuc2VkIChzZWU6IGh0dHA6Ly9saXRl LnBpY2xlbnMuY29tL2JzZGxpY2Vuc2UpCiAqIFRoaXMgbGF1bmNoZXIgaW5jbHVk ZXMgYW5kIGludGVyYWN0cyB3aXRoIFNXRk9iamVjdCAoTUlUKSwgQnJvd3NlckRl dGVjdCAoQlNEIENvbXBhdGlibGUpLCBhbmQgTHl0ZWJveCAoQ0MgQXR0cmlidXRp b24gMy4wKS4KICogCiAqIFRoZXJlIGFyZSB0d28gdmVyc2lvbnMgb2YgdGhpcyBK UzogCiAqIGh0dHA6Ly9saXRlLnBpY2xlbnMuY29tL2N1cnJlbnQvcGljbGVucy5q cyAgICAgICAgICAgICAgIGZ1bGwgY29tbWVudGVkIGZpbGUgICAgICAgICAofjM5 S0IpCiAqIGh0dHA6Ly9saXRlLnBpY2xlbnMuY29tL2N1cnJlbnQvcGljbGVuc19v cHRpbWl6ZWQuanMgICAgIGxpZ2h0ZXIgZGVwbG95bWVudCBmaWxlICAgICAofjIx S0IpCiAqLwp2YXIgUGljTGVuc0xpdGU9e3N0YXJ0OmZ1bmN0aW9uKEIpe3RoaXMu ZGV0ZXJtaW5lQnJvd3NlclBhcmFtcygpO2NsZWFyVGltZW91dCh0aGlzLlJFTU9W RV9USU1FUl9JRCk7Y2xlYXJUaW1lb3V0KHRoaXMuQVVUT19DTE9TRV9USU1FUl9J RCk7dGhpcy5BUkdTPXt9O2lmKHR5cGVvZiBCIT09InVuZGVmaW5lZCImJkIhPT1u dWxsKXt0aGlzLkFSR1M9QjtpZihCLmZlZWRVcmwpe3RoaXMuVEhFX0ZFRURfVVJM PUIuZmVlZFVybDtpZih0aGlzLmNoZWNrRm9yUGx1Z2luQW5kTGF1bmNoSWZQb3Nz aWJsZShCLmZlZWRVcmwsQi5ndWlkKSl7cmV0dXJuIH1pZihCLmxvYWRGZWVkSW5G bGFzaCl7dGhpcy5zaG93Rmxhc2hVSSgiIil9ZWxzZXt0aGlzLmxvYWRWaWFYSFIo Qi5mZWVkVXJsKX19aWYodHlwZW9mIEIuZmVlZERhdGEhPT0idW5kZWZpbmVkIil7 dGhpcy5zaG93Rmxhc2hVSShCLmZlZWREYXRhKX19ZWxzZXt2YXIgQT10aGlzLmlu ZGV4RmVlZHMoKTtpZihBLmxlbmd0aCE9PTApe3ZhciBDPUFbMF07dGhpcy5USEVf RkVFRF9VUkw9Qy51cmw7aWYodGhpcy5jaGVja0ZvclBsdWdpbkFuZExhdW5jaElm UG9zc2libGUoQy51cmwpKXtyZXR1cm4gfXRoaXMubG9hZFZpYVhIUihDLnVybCl9 fX0saXNSdW5uaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTElURV9JU19SVU5O SU5HfSxoYXNDbGllbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oYXNDb29saXJp cygpfSxhZGRDdXN0b21CdXR0b246ZnVuY3Rpb24oQyxCLEEpe3RoaXMuQ1VTVE9N X0JVVFRPTj17dGFyZ2V0VVJMOkMsbGFiZWxUZXh0OkIsaWNvbkltYWdlOkF9fSxz ZXRDYWxsYmFja3M6ZnVuY3Rpb24oQSl7aWYoQS5vbk5vUGx1Z2lucyl7dGhpcy5P Tl9OT19QTFVHSU5TPUEub25Ob1BsdWdpbnN9aWYoQS5vbkV4aXQpe3RoaXMuT05f RVhJVD1BLm9uRXhpdH19LHNldExpdGVVUkxzOmZ1bmN0aW9uKEEpe2lmKCF0aGlz LkxJVEVfVVJMKXtpZihBLnN3Zil7dGhpcy5MSVRFX1VSTD1BLnN3Zn1lbHNle2lm KEEubGl0ZSl7dGhpcy5MSVRFX1VSTD1BLmxpdGUrIlBpY0xlbnNMaXRlLnN3ZiJ9 fX1pZighdGhpcy5CVVRUT05fVVJMKXtpZihBLmJ1dHRvbil7dGhpcy5CVVRUT05f VVJMPUEuYnV0dG9ufWVsc2V7aWYoQS5saXRlKXt0aGlzLkJVVFRPTl9VUkw9QS5s aXRlKyJOb0ZsYXNoLmpwZyJ9fX12YXIgQj0iIjtpZihBLmxib3gpe0I9QS5sYm94 fWVsc2V7aWYoQS5saXRlKXtCPUEubGl0ZSsiLi4vbHl0ZWJveC8ifX1pZighdGhp cy5MQk9YX0NTU19VUkwpe2lmKEEubGJveGNzcyl7dGhpcy5MQk9YX0NTU19VUkw9 QS5sYm94Y3NzfWVsc2V7aWYoQiE9IiIpe3RoaXMuTEJPWF9DU1NfVVJMPUIrImx5 dGVib3guY3NzIn19fWlmKCF0aGlzLkxCT1hfSlNfVVJMKXtpZihBLmxib3hqcyl7 dGhpcy5MQk9YX0pTX1VSTD1BLmxib3hqc31lbHNle2lmKEIhPSIiKXt0aGlzLkxC T1hfSlNfVVJMPUIrImx5dGVib3guanMifX19fSxBUkdTOnt9LERFQlVHX05PQ0xJ RU5UOmZhbHNlLERFQlVHX05PRkxBU0g6ZmFsc2UsSFBBRDo2MCxWUEFEOjIwLExJ VEVfQkdfRElWOm51bGwsTElURV9GR19ESVY6bnVsbCxMSVRFX1VSTDpudWxsLEJV VFRPTl9VUkw6bnVsbCxMQk9YX0NTU19VUkw6bnVsbCxMQk9YX0pTX1VSTDpudWxs LExCT1hfQ09VTlQ6MCxTSE9XX0xCT1g6ZmFsc2UsT1NfV0lOOmZhbHNlLE9TX01B QzpmYWxzZSxCUk9XU0VSX0ZGWDpmYWxzZSxCUk9XU0VSX1NBRjpmYWxzZSxCUk9X U0VSX0lFOmZhbHNlLEJST1dTRVJfSUU2OmZhbHNlLE9MRF9CX01BUkdJTjpudWxs LE9MRF9CX09WRVJGTE9XOm51bGwsT0xEX0JfSEVJR0hUOm51bGwsT0xEX0hfT1ZF UkZMT1c6bnVsbCxPTERfSF9IRUlHSFQ6bnVsbCxUSEVfRkVFRDoiIixUSEVfRkVF RF9VUkw6IiIsTElURV9JU19SVU5OSU5HOmZhbHNlLHBpY2xlbnNJc1J1bm5pbmdf OmZhbHNlLEZMQVNIX0lEXzE6InBsbGZsYXNoMSIsRkxBU0hfSURfMjoicGxsZmxh c2gyIixGTEFTSF9WRVI6bnVsbCxGTEFTSF9VUkw6Imh0dHA6Ly93d3cuYWRvYmUu Y29tL2dvL2dldGZsYXNocGxheWVyIixQTF9VUkw6Imh0dHA6Ly9kb3dubG9hZC5w aWNsZW5zLmNvbS9wYXJ0bmVyLyIsUExDOm51bGwsTEVBUk5fUExfVVJMOiJodHRw Oi8vYWZmaWxpYXRlLnBpY2xlbnMuY29tL3BhcnRuZXIvIixGT05UOiJmb250LWZh bWlseTogTHVjaWRhIEdyYW5kZSwgTXlyaWFkIFBybywgVmVyZGFuYSwgSGVsdmV0 aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsiLEtFWV9IQU5ETEVSUzoiIixPTl9OT19Q TFVHSU5TOm51bGwsT05fRVhJVDpudWxsLEFVVE9fQ0xPU0VfVElNRVJfSUQ6MCxS RU1PVkVfVElNRVJfSUQ6MCxSRVNJWkVfVElNRVJfSUU2Om51bGwsUkVTSVpFX0hB TkRMRVJfRVhJU1RTOmZhbHNlLENVU1RPTV9CVVRUT046bnVsbCxhZGRLZXlIYW5k bGVyczpmdW5jdGlvbigpe3ZhciBBPXRoaXM7aWYodHlwZW9mIGRvY3VtZW50Lm9u a2V5ZG93biE9PSJ1bmRlZmluZWQiKXt0aGlzLktFWV9IQU5ETEVSUz1kb2N1bWVu dC5vbmtleWRvd259ZG9jdW1lbnQub25rZXlkb3duPWZ1bmN0aW9uKEMpe3ZhciBC O2lmKHR5cGVvZiBDPT09InVuZGVmaW5lZCJ8fEM9PT1udWxsKXtCPXdpbmRvdy5l dmVudC5rZXlDb2RlfWVsc2V7Qj1DLndoaWNofXZhciBEPUEuaGFuZGxlS2V5UHJl c3MoQik7aWYodHlwZW9mIEMhPSJ1bmRlZmluZWQiJiZDIT1udWxsKXtDLnJldHVy blZhbHVlPUR9cmV0dXJuIER9fSxhZGRNb3VzZUhhbmRsZXJzOmZ1bmN0aW9uKCl7 aWYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIpe3dpbmRvdy5hZGRFdmVudExpc3Rl bmVyKCJET01Nb3VzZVNjcm9sbCIsdGhpcy5oYW5kbGVNb3VzZVdoZWVsLGZhbHNl KX1lbHNle2lmKGRvY3VtZW50LmF0dGFjaEV2ZW50KXtkb2N1bWVudC5hdHRhY2hF dmVudCgib25tb3VzZXdoZWVsIix0aGlzLmhhbmRsZU1vdXNlV2hlZWwpfX13aW5k b3cub25tb3VzZXdoZWVsPWRvY3VtZW50Lm9ubW91c2V3aGVlbD10aGlzLmhhbmRs ZU1vdXNlV2hlZWx9LGFwcGVuZEVsZW1lbnRzVG9Eb2N1bWVudDpmdW5jdGlvbigp e2lmKHRoaXMuQlJPV1NFUl9GRlgmJnRoaXMuT1NfTUFDKXt0aGlzLkxJVEVfQkdf RElWLnN0eWxlLmRpc3BsYXk9Im5vbmUifWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp bGQodGhpcy5MSVRFX0JHX0RJVik7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0 aGlzLkxJVEVfRkdfRElWKX0sYXV0b1Jlc2l6ZTpmdW5jdGlvbigpe2lmKCF0aGlz LmlzUnVubmluZygpKXtjbGVhckludGVydmFsKHRoaXMuUkVTSVpFX1RJTUVSX0lF Nik7cmV0dXJuIH12YXIgQz10aGlzLmdldFBhZ2VTaXplKCk7dmFyIEI9dGhpcy5M SVRFX0JHX0RJVjtpZihCKXtCLnN0eWxlLmhlaWdodD1DLmgrInB4IjtCLnN0eWxl LndpZHRoPUMudysicHgifWlmKHRoaXMuTElURV9GR19ESVYpe3ZhciBBPXRoaXMu TElURV9GR19ESVYuc3R5bGU7dGhpcy5yZXNpemVUb1BhZGRlZEJveChBKTt0aGlz LnJlc2l6ZVRvRml0UGFkZGVkQm94KEEsQyk7dGhpcy5yZXNpemVGbGFzaFRvRml0 UGFkZGVkQm94KCl9fSxjaGVja0ZvclBsdWdpbkFuZExhdW5jaElmUG9zc2libGU6 ZnVuY3Rpb24oQixBKXtpZih0aGlzLmhhc0Nvb2xpcmlzKCkpe2lmKHR5cGVvZiAo QSkhPSJ1bmRlZmluZWQiKXt0aGlzLlBMQy5sYXVuY2goQiwidWlkIixBKX1lbHNl e3RoaXMuUExDLmxhdW5jaChCLCIiLCIiKX1yZXR1cm4gdHJ1ZX1yZXR1cm4gZmFs c2V9LGNyZWF0ZUJhY2tncm91bmRPdmVybGF5OmZ1bmN0aW9uKCl7dmFyIEQ9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5MSVRFX0JHX0RJVj1EO0Qu aWQ9ImxpdGVfYmdfZGl2Ijt2YXIgRT1ELnN0eWxlO0UucG9zaXRpb249ImZpeGVk IjtFLndpZHRoPUUuaGVpZ2h0PSIxMDAlIjtpZih0aGlzLkJST1dTRVJfSUU2KXt2 YXIgQT1kb2N1bWVudC5ib2R5O3ZhciBDPUEuY3VycmVudFN0eWxlO3ZhciBIPWRv Y3VtZW50LmRvY3VtZW50RWxlbWVudDt2YXIgRz1ILmN1cnJlbnRTdHlsZTt0aGlz Lk9MRF9CX01BUkdJTj1DLm1hcmdpbjt0aGlzLk9MRF9CX09WRVJGTE9XPUMub3Zl cmZsb3c7dGhpcy5PTERfQl9IRUlHSFQ9Qy5oZWlnaHQ7dGhpcy5PTERfSF9PVkVS RkxPVz1HLm92ZXJmbG93O3RoaXMuT0xEX0hfSEVJR0hUPUcuaGVpZ2h0O3RoaXMu T0xEX1NDUk9MTF9ZPUguc2Nyb2xsVG9wO0Euc3R5bGUubWFyZ2luPSIwIjtBLnN0 eWxlLm92ZXJmbG93PSJhdXRvIjtBLnN0eWxlLmhlaWdodD0iMTAwJSI7SC5zdHls ZS5vdmVyZmxvdz0iYXV0byI7SC5zdHlsZS5oZWlnaHQ9IjEwMCUiO0UucG9zaXRp b249ImFic29sdXRlIjt2YXIgRj10aGlzLmdldFBhZ2VTaXplKCk7RS5oZWlnaHQ9 Ri5oKyJweCI7RS53aWR0aD1GLncrInB4In1FLmxlZnQ9RS5yaWdodD1FLnRvcD1F LmJvdHRvbT0iMCI7RS5iYWNrZ3JvdW5kQ29sb3I9IiMwMDAiO0UuekluZGV4PTEw MDA7RS5vcGFjaXR5PSIwLjUiO0UuZmlsdGVyPSJhbHBoYShvcGFjaXR5PTUwKSI7 dmFyIEI9dGhpcztELm9uY2xpY2s9ZnVuY3Rpb24oKXtCLmV4aXRQaWNMZW5zTGl0 ZSgpfX0sY3JlYXRlRm9yZWdyb3VuZEZsYXNoQ29tcG9uZW50OmZ1bmN0aW9uKCl7 dmFyIEI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5MSVRFX0ZH X0RJVj1CO0IuaWQ9ImxpdGVfZmdfZGl2Ijt2YXIgQT1CLnN0eWxlO0EuYmFja2dy b3VuZENvbG9yPSIjMDAwIjtBLnBvc2l0aW9uPSJmaXhlZCI7QS5ib3JkZXI9IjJw eCBzb2xpZCAjNTU1IjtBLnpJbmRleD0xMDAxO3RoaXMucmVzaXplVG9QYWRkZWRC b3goQSk7aWYodGhpcy5CUk9XU0VSX0lFNil7QS5wb3NpdGlvbj0iYWJzb2x1dGUi O3RoaXMucmVzaXplVG9GaXRQYWRkZWRCb3goQSl9fSxjbG9zZUZsYXNoVUk6ZnVu Y3Rpb24oQyl7dmFyIEI9ZG9jdW1lbnQ7Qi5vbmtleWRvd249dGhpcy5LRVlfSEFO RExFUlM7d2luZG93Lm9ubW91c2V3aGVlbD1CLm9ubW91c2V3aGVlbD0iIjtpZih3 aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcil7d2luZG93LnJlbW92ZUV2ZW50TGlz dGVuZXIoIkRPTU1vdXNlU2Nyb2xsIix0aGlzLmhhbmRsZU1vdXNlV2hlZWwsZmFs c2UpfWlmKEIuZGV0YWNoRXZlbnQpe0IuZGV0YWNoRXZlbnQoIm9ubW91c2V3aGVl bCIsdGhpcy5oYW5kbGVNb3VzZVdoZWVsKX10aGlzLkxJVEVfQkdfRElWLnN0eWxl LmRpc3BsYXk9dGhpcy5MSVRFX0ZHX0RJVi5zdHlsZS5kaXNwbGF5PSJub25lIjt0 aGlzLlJFTU9WRV9USU1FUl9JRD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7UGljTGVu c0xpdGUucmVtb3ZlQ2hpbGRyZW4oKX0sMTUwKTtpZih0aGlzLkJST1dTRVJfSUU2 KXt2YXIgQT1kb2N1bWVudC5ib2R5O3ZhciBEPWRvY3VtZW50LmRvY3VtZW50RWxl bWVudDtBLnN0eWxlLm1hcmdpbj10aGlzLk9MRF9CX01BUkdJTjtBLnN0eWxlLm92 ZXJmbG93PXRoaXMuT0xEX0JfT1ZFUkZMT1c7QS5zdHlsZS5oZWlnaHQ9dGhpcy5P TERfQl9IRUlHSFQ7RC5zdHlsZS5vdmVyZmxvdz10aGlzLk9MRF9IX09WRVJGTE9X O0Quc3R5bGUuaGVpZ2h0PXRoaXMuT0xEX0hfSEVJR0hUO3dpbmRvdy5zY3JvbGxU bygwLHRoaXMuT0xEX1NDUk9MTF9ZKX1pZih0aGlzLk9OX0VYSVQhPT1udWxsKXt0 aGlzLk9OX0VYSVQoQyl9dGhpcy5zZXRSdW5uaW5nRmxhZyhmYWxzZSl9LGRldGVy bWluZUJyb3dzZXJQYXJhbXM6ZnVuY3Rpb24oKXt2YXIgQj1Ccm93c2VyRGV0ZWN0 Lk9TO3ZhciBBPUJyb3dzZXJEZXRlY3QuYnJvd3Nlcjt0aGlzLk9TX01BQz0oQj09 Ik1hYyIpO3RoaXMuT1NfV0lOPShCPT0iV2luZG93cyIpO3RoaXMuQlJPV1NFUl9G Rlg9KEE9PSJGaXJlZm94Iik7dGhpcy5CUk9XU0VSX1NBRj0oQT09IlNhZmFyaSIp O3RoaXMuQlJPV1NFUl9JRT0oQT09IkV4cGxvcmVyIik7dGhpcy5CUk9XU0VSX0lF Nj0odGhpcy5CUk9XU0VSX0lFJiZCcm93c2VyRGV0ZWN0LnZlcnNpb249PSI2Iik7 dGhpcy5GTEFTSF9WRVI9c3dmb2JqbGl0ZS5nZXRGbGFzaFBsYXllclZlcnNpb24o KX0sZXhpdFBpY0xlbnNMaXRlOmZ1bmN0aW9uKCl7dmFyIEE9dGhpcy5nZXRGbGFz aCgpO2lmKEEhPT1udWxsJiZBLmZsX2V4aXRQaWNMZW5zTGl0ZSl7QS5mbF9leGl0 UGljTGVuc0xpdGUoKTt0aGlzLkFVVE9fQ0xPU0VfVElNRVJfSUQ9c2V0VGltZW91 dChmdW5jdGlvbigpe2lmKFBpY0xlbnNMaXRlLmlzUnVubmluZygpKXtQaWNMZW5z TGl0ZS5jbG9zZUZsYXNoVUkoKX19LDUwMCl9ZWxzZXt0aGlzLmNsb3NlRmxhc2hV SSgpfX0sZmluZFNjcmlwdExvY2F0aW9uOmZ1bmN0aW9uKCl7dmFyIEU9ZG9jdW1l bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO2Zvcih2YXIgQz0wO0Mh PUUubGVuZ3RoOysrQyl7dmFyIEE9RVtDXTt2YXIgRD1BLmdldEF0dHJpYnV0ZSgi dHlwZSIpO2lmKEQ9PSJ0ZXh0L2phdmFzY3JpcHQiKXt2YXIgRj1BLmdldEF0dHJp YnV0ZSgic3JjIik7aWYoRj09PW51bGwpe2NvbnRpbnVlfXZhciBCPUYuaW5kZXhP ZigicGljbGVucy5qcyIpO2lmKEIhPS0xKXt0aGlzLnNldExpdGVVUkxzKHtsaXRl OkYuc3Vic3RyaW5nKDAsQil9KTtyZXR1cm4gfWVsc2V7Qj1GLmluZGV4T2YoInBp Y2xlbnNfb3B0aW1pemVkLmpzIik7aWYoQiE9LTEpe3RoaXMuc2V0TGl0ZVVSTHMo e2xpdGU6Ri5zdWJzdHJpbmcoMCxCKX0pO3JldHVybiB9fX19fSxnZXRQYWdlU2l6 ZTpmdW5jdGlvbigpe3ZhciBKLEYsRyxDO3ZhciBJPWRvY3VtZW50O3ZhciBFPUku Ym9keTt2YXIgRDtpZih3aW5kb3cuaW5uZXJIZWlnaHQmJndpbmRvdy5zY3JvbGxN YXhZKXtKPUkuc2Nyb2xsV2lkdGg7Rj0odGhpcy5pc0ZyYW1lP3BhcmVudC5pbm5l ckhlaWdodDpzZWxmLmlubmVySGVpZ2h0KSsodGhpcy5pc0ZyYW1lP3BhcmVudC5z Y3JvbGxNYXhZOnNlbGYuc2Nyb2xsTWF4WSl9ZWxzZXtpZihFLnNjcm9sbEhlaWdo dD5FLm9mZnNldEhlaWdodCl7Sj1FLnNjcm9sbFdpZHRoO0Y9RS5zY3JvbGxIZWln aHR9ZWxzZXtEPUkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImh0bWwiKS5pdGVtKDAp O0o9RC5vZmZzZXRXaWR0aDtGPUQub2Zmc2V0SGVpZ2h0O0o9KEo8RS5vZmZzZXRX aWR0aCk/RS5vZmZzZXRXaWR0aDpKO0Y9KEY8RS5vZmZzZXRIZWlnaHQpP0Uub2Zm c2V0SGVpZ2h0OkZ9fXZhciBBPUkuZG9jdW1lbnRFbGVtZW50O2lmKHNlbGYuaW5u ZXJIZWlnaHQpe0c9KHRoaXMuaXNGcmFtZSk/cGFyZW50LmlubmVyV2lkdGg6c2Vs Zi5pbm5lcldpZHRoO0M9KHRoaXMuaXNGcmFtZSk/cGFyZW50LmlubmVySGVpZ2h0 OnNlbGYuaW5uZXJIZWlnaHR9ZWxzZXtpZihBJiZBLmNsaWVudEhlaWdodCl7Rz1B LmNsaWVudFdpZHRoO0M9QS5jbGllbnRIZWlnaHR9ZWxzZXtpZihFKXtEPUkuZ2V0 RWxlbWVudHNCeVRhZ05hbWUoImh0bWwiKS5pdGVtKDApO0c9RC5jbGllbnRXaWR0 aDtDPUQuY2xpZW50SGVpZ2h0O0c9KEc9PTApP0UuY2xpZW50V2lkdGg6RztDPShD PT0wKT9FLmNsaWVudEhlaWdodDpDfX19dmFyIEI9KEY8Qyk/QzpGO3ZhciBIPShK PEcpP0c6SjtyZXR1cm57cHc6SCxwaDpCLHc6RyxoOkN9fSxnZXRFbGVtZW50c0Zy b21YTUxGZWVkOmZ1bmN0aW9uKCl7dmFyIEI7aWYod2luZG93LkFjdGl2ZVhPYmpl Y3Qpe0I9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKTtCLmFz eW5jPWZhbHNlO0IubG9hZFhNTChQaWNMZW5zTGl0ZS5USEVfRkVFRCl9ZWxzZXt2 YXIgQz1uZXcgRE9NUGFyc2VyKCk7Qj1DLnBhcnNlRnJvbVN0cmluZyhQaWNMZW5z TGl0ZS5USEVfRkVFRCwidGV4dC94bWwiKX12YXIgQT1CLmdldEVsZW1lbnRzQnlU YWdOYW1lKCIqIik7cmV0dXJuIEF9LGdldEJhc2ljU2xpZGVTaG93SFRNTDpmdW5j dGlvbigpe2lmKCF0aGlzLkxCT1hfSlNfVVJMfHwhdGhpcy5MQk9YX0NTU19VUkwp e3JldHVybiIifXZhciBEPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJo ZWFkIikuaXRlbSgwKTt2YXIgQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3Jp cHQiKTtBLnNyYz10aGlzLkxCT1hfSlNfVVJMO0EudHlwZT0idGV4dC9qYXZhc2Ny aXB0IjtELmFwcGVuZENoaWxkKEEpO3ZhciBHPWRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoImxpbmsiKTtHLnJlbD0ic3R5bGVzaGVldCI7Ry5ocmVmPXRoaXMuTEJPWF9D U1NfVVJMO0cudHlwZT0idGV4dC9jc3MiO0cubWVkaWE9InNjcmVlbiI7RC5hcHBl bmRDaGlsZChHKTt2YXIgRj10aGlzLmdldEVsZW1lbnRzRnJvbVhNTEZlZWQoKTt2 YXIgQzt2YXIgSD0iIjtmb3IoQz0wO0M8Ri5sZW5ndGg7QysrKXtpZihGW0NdLm5v ZGVOYW1lPT0ibWVkaWE6Y29udGVudCIpe3ZhciBCPUZbQ10uZ2V0QXR0cmlidXRl KCJ1cmwiKTtpZihCLmluZGV4T2YoIi5mbHYiKT09LTEpe0grPSc8YSBpZD0ibGJv eEltYWdlIiBocmVmPSInK0IrJyIgcmVsPSJseXRlYm94W2xpdGVdIj48L2E+ICd9 fX12YXIgRT0iPGRpdiBpZD0nbGlnaHRib3hfaW1hZ2VzJyBhbGlnbj0nY2VudGVy JyBzdHlsZT0nZGlzcGxheTogbm9uZTsgcGFkZGluZy10b3A6MTBweDsgY29sb3I6 I0ZGRkZGRjsgZm9udC1zaXplOi44ZW07ICIrdGhpcy5GT05UKyIgY29sb3I6Izk5 OTk5OTsnPiI7RSs9JyggQWx0ZXJuYXRpdmVseSwgPGEgb25jbGljaz0iamF2YXNj cmlwdDpQaWNMZW5zTGl0ZS5pbnZva2VMeXRlYm94KCk7cmV0dXJuIGZhbHNlOyIg aHJlZj0iIyIgc3R5bGU9ImNvbG9yOiM2NTY1ODgiPmNsaWNrIGhlcmUgZm9yIGEg YmFzaWMgc2xpZGVzaG93PC9hPi4gKSc7RSs9SDtFKz0iPC9kaXY+PGJyLz4iO3Jl dHVybiBFfSxnZW5lcmF0ZUFsdGVybmF0aXZlQ29udGVudDpmdW5jdGlvbigpe3Zh ciBKPSc8ZGl2IGlkPSJhbHRDb250ZW50IiBzdHlsZT0idGV4dC1hbGlnbjpjZW50 ZXI7IG1hcmdpbjogMCAwIDAgMDsgcGFkZGluZzogMCAwIDAgMDsgYmFja2dyb3Vu ZC1jb2xvcjogIzAwMDsgbWluLXdpZHRoOjg2MHB4OyI+JztKKz0nPGRpdiBhbGln bj0iY2VudGVyIiBzdHlsZT0id2lkdGg6IDEwMCU7IHBhZGRpbmctdG9wOjYwcHg7 ICcrdGhpcy5GT05UKyciPic7dmFyIEk9dGhpcy5GTEFTSF9WRVI7dmFyIEc7aWYo SS5tYWpvcj4wKXtHPSJ1cGRhdGUgeW91ciBGbGFzaCBQbGF5ZXIgZnJvbSB2ZXJz aW9uICIrSS5tYWpvcisiLiIrSS5taW5vcisiLiIrSS5yZWxlYXNlKyIgdG8gdmVy c2lvbiA5LjAuMjggb3IgbmV3ZXIifWVsc2V7Rz0iaW5zdGFsbCB0aGUgbW9zdCBy ZWNlbnQgRmxhc2ggUGxheWVyIn12YXIgRD0iIjtpZih0aGlzLlRIRV9GRUVEIT09 IiIpe0Q9dGhpcy5nZXRCYXNpY1NsaWRlU2hvd0hUTUwoKX12YXIgQT10aGlzLlBM X1VSTDt2YXIgRT10aGlzLkxFQVJOX1BMX1VSTDt2YXIgRj10aGlzLkFSR1MucGlk O2lmKEYpe0ErPUYrIi8iO0UrPUYrIi8ifWVsc2V7dmFyIEg9IjAwMDAwMDAwMDAw MS8iO0ErPUg7RSs9SH1pZih0aGlzLlNIT1dfTEJPWCl7fWVsc2V7dmFyIEM9Ijxz cGFuIHN0eWxlPSdwYWRkaW5nLWxlZnQ6MjVweDsgY29sb3I6I0M2QzZDNjsgZm9u dC1zaXplOiI7Sis9IjxkaXYgc3R5bGU9J3BhZGRpbmc6MTBweDsnPiIrQysiMS41 ZW07IGZvbnQtd2VpZ2h0OiBib2xkOyAiK3RoaXMuRk9OVCsiJz5Zb3UncmUgY2xp Y2tzIGF3YXkgZnJvbSBnb2luZyBmdWxsIHNjcmVlbiE8L3NwYW4+PGJyLz4iK0Mr Ii45ZW07IHBhZGRpbmctYm90dG9tOiAxNXB4OyAiK3RoaXMuRk9OVCsiJz5Zb3Ug bXVzdCBnZXQgdGhlIDxhIGhyZWY9JyIrQSsiJyBzdHlsZT0nY29sb3I6IzY1NjU4 OCc+Q29vbGlyaXM8L2E+IGJyb3dzZXIgcGx1Z2luLCBvciAiK0crIi48L3NwYW4+ PC9kaXY+IjtpZighdGhpcy5CVVRUT05fVVJMKXtKKz0nPGEgaHJlZj0iJytBKyci IHN0eWxlPSJjb2xvcjojQUNEIj5HZXQgQ29vbGlyaXMgTm93ITwvYT4nfWVsc2V7 dmFyIEI9JzxhcmVhIHNoYXBlPSJyZWN0IiBjb29yZHM9JztKKz0nPGltZyBzcmM9 IicrdGhpcy5CVVRUT05fVVJMKyciIGFsdD0iIiBib3JkZXI9IjAiIHVzZW1hcD0i I01hcCI+PG1hcCBuYW1lPSJNYXAiIGlkPSJNYXAiPicrQisnIjAsMCwzMywzMyIg aHJlZj0iIyIgb25jbGljaz0iamF2YXNjcmlwdDpQaWNMZW5zTGl0ZS5jbG9zZUZs YXNoVUkoKTsiIC8+JytCKyciMzUsMzUsMzI1LDMyNSIgaHJlZj0iJytBKyciIC8+ JytCKyciNTkzLDIwOSw4MjUsMzAxIiBocmVmPSInK3RoaXMuRkxBU0hfVVJMKyci IC8+JytCKyciMzI3LDE0OCw0NDgsMTc4IiBocmVmPSInK0UrJyIgLz48L21hcD4n fX1KKz0iPC9kaXY+IjtKKz1EO0orPSc8ZGl2IGFsaWduPSJjZW50ZXIiIHN0eWxl PSJjb2xvcjojNjY2NjY2OyBmb250LXNpemU6MTFweDsgJyt0aGlzLkZPTlQrJyI+ JmNvcHk7IDIwMDggQ29vbGlyaXMsIEluYy4gQWxsIHRyYWRlbWFya3MgYXJlIHBy b3BlcnR5IG9mIHRoZWlyIHJlc3BlY3RpdmUgaG9sZGVycy48YnIvPjxici8+PGJy Lz48L2Rpdj4nO0orPSI8L2Rpdj4iO3JldHVybiBKfSxnZW5lcmF0ZUZsYXNoVmFy czpmdW5jdGlvbigpe3ZhciBDPSIiO3ZhciBCPXRoaXMuQVJHUztpZih0eXBlb2Yg Qi5ndWlkIT09InVuZGVmaW5lZCIpe0MrPSImc3RhcnRJdGVtR1VJRD0iK0IuZ3Vp ZH1pZihCLmxvYWRGZWVkSW5GbGFzaCl7Qys9IiZmZWVkVVJMPSIrZW5jb2RlVVJJ Q29tcG9uZW50KHRoaXMuVEhFX0ZFRURfVVJMKX1pZihCLnBhdXNlZCl7Qys9IiZw YXVzZWQ9IitCLnBhdXNlZH1pZihCLmxvb3Ape0MrPSImbG9vcD0iK0IubG9vcH1p ZihCLmRlbGF5KXtDKz0iJmRlbGF5PSIrQi5kZWxheX1pZihCLnBpZCl7Qys9IiZw aWQ9IitCLnBpZH1pZih0eXBlb2YgQi5tYXhTY2FsZSE9InVuZGVmaW5lZCIpe0Mr PSImbWF4U2NhbGU9IitCLm1heFNjYWxlfWlmKHR5cGVvZiBCLm92ZXJsYXlUb29s YmFycyE9InVuZGVmaW5lZCIpe0MrPSImb3ZlcmxheVRvb2xiYXJzPSIrQi5vdmVy bGF5VG9vbGJhcnN9dmFyIEE9dGhpcy5DVVNUT01fQlVUVE9OO2lmKEEhPW51bGwp e0MrPSImY0J1dHRvblVSTD0iK2VuY29kZVVSSUNvbXBvbmVudChBLnRhcmdldFVS TCk7aWYoQS5sYWJlbFRleHQhPW51bGwpe0MrPSImY0J1dHRvbkxhYmVsPSIrZW5j b2RlVVJJQ29tcG9uZW50KEEubGFiZWxUZXh0KX1pZihBLmljb25JbWFnZSE9bnVs bCl7Qys9IiZjQnV0dG9uSWNvbj0iK2VuY29kZVVSSUNvbXBvbmVudChBLmljb25J bWFnZSl9fUMrPSImc3dmVVJMPSIrZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuTElU RV9VUkwpO0M9Qy5zdWJzdHJpbmcoMSk7cmV0dXJuIEN9LGdldEZsYXNoOmZ1bmN0 aW9uKCl7aWYodGhpcy5CUk9XU0VSX1NBRnx8dGhpcy5CUk9XU0VSX0lFKXtyZXR1 cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5GTEFTSF9JRF8xKX1lbHNl e3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLkZMQVNIX0lEXzIp fX0sZ2V0V2luZG93U2l6ZTpmdW5jdGlvbigpe3ZhciBCPWRvY3VtZW50LmRvY3Vt ZW50RWxlbWVudDt2YXIgRD1kb2N1bWVudC5ib2R5O3ZhciBBPTAsQz0wO2lmKHR5 cGVvZiAod2luZG93LmlubmVyV2lkdGgpPT0ibnVtYmVyIil7QT13aW5kb3cuaW5u ZXJXaWR0aDtDPXdpbmRvdy5pbm5lckhlaWdodH1lbHNle2lmKEImJihCLmNsaWVu dFdpZHRofHxCLmNsaWVudEhlaWdodCkpe0E9Qi5jbGllbnRXaWR0aDtDPUIuY2xp ZW50SGVpZ2h0fWVsc2V7aWYoRCYmKEQuY2xpZW50V2lkdGh8fEQuY2xpZW50SGVp Z2h0KSl7QT1ELmNsaWVudFdpZHRoO0M9RC5jbGllbnRIZWlnaHR9fX1yZXR1cm57 dzpBLGg6Q319LGhhbmRsZUtleVByZXNzOmZ1bmN0aW9uKEEpe2lmKCF0aGlzLmlz UnVubmluZygpKXtyZXR1cm4gdHJ1ZX12YXIgQj10aGlzLmdldEZsYXNoKCk7aWYo QiE9bnVsbCYmQi5mbF9rZXlQcmVzc2VkKXtCLmZsX2tleVByZXNzZWQoQSl9ZWxz ZXtpZihBPT0yNyl7dGhpcy5jbG9zZUZsYXNoVUkoKTtyZXR1cm4gZmFsc2V9fWlm KEE9PTl8fEE9PTEzKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9LGhhbmRsZU1v dXNlV2hlZWw6ZnVuY3Rpb24oQSl7dmFyIEM9MDtpZighQSl7QT13aW5kb3cuZXZl bnR9aWYoQS53aGVlbERlbHRhKXtDPUEud2hlZWxEZWx0YS8xMjA7aWYod2luZG93 Lm9wZXJhKXtDPS1DfX1lbHNle2lmKEEuZGV0YWlsKXt2YXIgQj1BLmRldGFpbDtp ZihNYXRoLmFicyhCKTwzKXtDPS1CfWVsc2V7Qz0tQi8zfX19aWYoQyl7UGljTGVu c0xpdGUuc2VuZE1vdXNlU2Nyb2xsVG9GbGFzaChDKX1pZihBLnByZXZlbnREZWZh dWx0KXtBLnByZXZlbnREZWZhdWx0KCl9QS5yZXR1cm5WYWx1ZT1mYWxzZTtyZXR1 cm4gZmFsc2V9LGhhc1BpY0xlbnNDbGllbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp cy5oYXNDb29saXJpcygpfSxoYXNDb29saXJpczpmdW5jdGlvbigpe2lmKHRoaXMu REVCVUdfTk9DTElFTlQpe3JldHVybiBmYWxzZX12YXIgRT1mYWxzZTtpZih0aGlz LlBMQyl7RT10cnVlfWVsc2V7aWYod2luZG93LnBpY2xlbnMmJndpbmRvdy5waWNs ZW5zLmxhdW5jaCl7dGhpcy5QTEM9d2luZG93LnBpY2xlbnM7RT10cnVlfWVsc2V7 dmFyIEI9bnVsbDtpZih0eXBlb2YgUGljTGVuc0NvbnRleHQhPSJ1bmRlZmluZWQi KXtCPW5ldyBQaWNMZW5zQ29udGV4dCgpfWVsc2V7dHJ5e0I9bmV3IEFjdGl2ZVhP YmplY3QoIlBpY0xlbnMuQ29udGV4dCIpfWNhdGNoKEQpe2lmKG5hdmlnYXRvci5t aW1lVHlwZXNbImFwcGxpY2F0aW9uL3gtY29vbGlyaXMiXSl7Qj1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCJvYmplY3QiKTtCLnN0eWxlLmhlaWdodD0iMHB4IjtCLnN0 eWxlLndpZHRoPSIwcHgiO0IudHlwZT0iYXBwbGljYXRpb24veC1jb29saXJpcyI7 ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKEIpfWVsc2V7Qj1u dWxsfX19dGhpcy5QTEM9QjtpZih0aGlzLlBMQyl7RT10cnVlfX19aWYoRSl7aWYo dGhpcy5CUk9XU0VSX1NBRil7cmV0dXJuIHRydWV9dmFyIEE7dHJ5e0E9dGhpcy5Q TEMudmVyc2lvbn1jYXRjaChEKXtyZXR1cm4gZmFsc2V9dmFyIEM9QS5zcGxpdCgi LiIpO2lmKENbMF0+MSl7cmV0dXJuIHRydWV9ZWxzZXtpZihDWzBdPT0xKXtpZihD WzFdPjYpe3JldHVybiB0cnVlfWVsc2V7aWYoQ1sxXT09Nil7aWYoQ1syXT4wKXty ZXR1cm4gdHJ1ZX1lbHNle2lmKENbMl09PTApe2lmKENbM10+PTgyNCl7cmV0dXJu IHRydWV9fX19fX19cmV0dXJuIGZhbHNlfWVsc2V7cmV0dXJuIGZhbHNlfX0saW52 b2tlTHl0ZWJveDpmdW5jdGlvbigpe3RoaXMuU0hPV19MQk9YPXRydWU7bXlMeXRl Ym94LnN0YXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYm94SW1hZ2UiKSxm YWxzZSxmYWxzZSk7dGhpcy5jbG9zZUZsYXNoVUkoKX0sc2hvd0x5dGVib3hMaW5r OmZ1bmN0aW9uKCl7bXlMeXRlYm94LnVwZGF0ZUx5dGVib3hJdGVtcygpO215THl0 ZWJveC5kb0FuaW1hdGlvbnM9ZmFsc2U7dmFyIEE9ZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoImxpZ2h0Ym94X2ltYWdlcyIpO2lmKEEhPW51bGwpe0Euc3R5bGUuZGlz cGxheT0iYmxvY2siO2lmKHRoaXMuU0hPV19MQk9YJiZ0aGlzLmdldEZsYXNoKCk9 PW51bGwpe3RoaXMuaW52b2tlTHl0ZWJveCgpfX19LHN0YXJ0THl0ZWJveDpmdW5j dGlvbigpe2lmKHR5cGVvZiBteUx5dGVib3ghPSJ1bmRlZmluZWQiKXt0aGlzLnNo b3dMeXRlYm94TGluaygpfWVsc2V7aWYodHlwZW9mIGluaXRMeXRlYm94IT0idW5k ZWZpbmVkIil7aW5pdEx5dGVib3goKTt0aGlzLnNob3dMeXRlYm94TGluaygpfWVs c2V7aWYodGhpcy5MQk9YX0NPVU5UPj00KXtyZXR1cm4gfXNldFRpbWVvdXQoZnVu Y3Rpb24oKXtQaWNMZW5zTGl0ZS5zdGFydEx5dGVib3goKX0sMTUwKTt0aGlzLkxC T1hfQ09VTlQrK319fSxpbmplY3RGbGFzaFBsYXllcjpmdW5jdGlvbigpe3ZhciBB PXRoaXMuTElURV9GR19ESVY7dmFyIEQ7dmFyIEY7RD1GPSIxMDAlIjtpZih0aGlz LkJST1dTRVJfSUU2KXtEPUY9IjAifXZhciBFPXRoaXMuZ2VuZXJhdGVGbGFzaFZh cnMoKTt2YXIgQj10aGlzLmdlbmVyYXRlQWx0ZXJuYXRpdmVDb250ZW50KCk7aWYo dGhpcy5tZWV0c1JlcXMoKSl7dmFyIEM9IjxwYXJhbSBuYW1lPSI7QS5pbm5lckhU TUw9JzxvYmplY3QgaWQ9IicrdGhpcy5GTEFTSF9JRF8xKyciIGNsYXNzaWQ9ImNs c2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIgd2lkdGg9 IjEwMCUiIGhlaWdodD0iMTAwJSI+JytDKycibW92aWUiIHZhbHVlPSInK3RoaXMu TElURV9VUkwrJyIgLz4nK0MrJyJxdWFsaXR5IiB2YWx1ZT0iaGlnaCIvPiAnK0Mr JyJiZ2NvbG9yIiB2YWx1ZT0iIzAwMDAwMCIvPiAnK0MrJyJhbGxvd1NjcmlwdEFj Y2VzcyIgdmFsdWU9ImFsd2F5cyIvPiAnK0MrJyJGbGFzaFZhcnMiIHZhbHVlPSIn K0UrJyIvPiAnK0MrJyJhbGxvd0Z1bGxTY3JlZW4iIHZhbHVlPSJ0cnVlIi8+ICcr QysnIndtb2RlIiB2YWx1ZT0id2luZG93Ii8+ICcrQysnInNjYWxlIiB2YWx1ZT0i bm9zY2FsZSIvPiA8b2JqZWN0IHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZl LWZsYXNoIiBkYXRhPSInK3RoaXMuTElURV9VUkwrJyIgd2lkdGg9IicrRCsnIiBo ZWlnaHQ9IicrRisnIiBxdWFsaXR5PSJoaWdoIiBiZ2NvbG9yPSIjMDAwMDAwIiBp ZD0iJyt0aGlzLkZMQVNIX0lEXzIrJyIgcXVhbGl0eT0iaGlnaCIgRmxhc2hWYXJz PSInK0UrJyIgYWxsb3dGdWxsU2NyZWVuPSJ0cnVlIiBzY2FsZT0ibm9zY2FsZSIg d21vZGU9IndpbmRvdyIgYWxsb3dTY3JpcHRBY2Nlc3M9ImFsd2F5cyI+JytCKyI8 L29iamVjdD48L29iamVjdD4ifWVsc2V7aWYodGhpcy5PTl9OT19QTFVHSU5TKXt0 aGlzLk9OX05PX1BMVUdJTlMoKX1lbHNle0EuaW5uZXJIVE1MPUI7QS5zdHlsZS5t aW5XaWR0aD0iODYwcHgiO0Euc3R5bGUubWluSGVpZ2h0PSI1NTBweCJ9fWlmKHRo aXMuQlJPV1NFUl9TQUYpe3RoaXMucmVzaXplVUkoKX19LGluZGV4RmVlZHM6ZnVu Y3Rpb24oKXt2YXIgRT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGlu ayIpO3ZhciBBPVtdO2Zvcih2YXIgQj0wO0IhPUUubGVuZ3RoOysrQil7dmFyIEQ9 RVtCXSxDPUQuZ2V0QXR0cmlidXRlKCJ0eXBlIik7aWYoQz09ImFwcGxpY2F0aW9u L3Jzcyt4bWwifHxDPT0idGV4dC94bWwiKXtBLnB1c2goe3RpdGxlOkQuZ2V0QXR0 cmlidXRlKCJ0aXRsZSIpLHVybDpELmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl9fXJl dHVybiBBfSxsb2FkVmlhWEhSOmZ1bmN0aW9uKEIpe3ZhciBBPXRoaXM7dmFyIEQ9 d2luZG93LlhNTEh0dHBSZXF1ZXN0P25ldyBYTUxIdHRwUmVxdWVzdCgpOm5ldyBB Y3RpdmVYT2JqZWN0KCJNU1hNTDIuWE1MSFRUUC4zLjAiKTt0cnl7RC5vcGVuKCJH RVQiLEIsdHJ1ZSk7RC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZihE LnJlYWR5U3RhdGU9PTQpe2lmKChELnN0YXR1cz09MjAwfHxELnN0YXR1cz09MCkp e2lmKEQucmVzcG9uc2VUZXh0KXtBLnNob3dGbGFzaFVJKEQucmVzcG9uc2VUZXh0 KX19ZWxzZXtpZihjb25zb2xlKXtjb25zb2xlLmxvZygiUGljTGVucyBMaXRlIGNv dWxkIG5vdCBsb2FkIHRoZSBSU1MgRmVlZDogIitCKX19fX07RC5zZW5kKCIiKX1j YXRjaChDKXt0aGlzLkFSR1MubG9hZEZlZWRJbkZsYXNoPXRydWU7dGhpcy5zaG93 Rmxhc2hVSSgiIil9fSxtZWV0c1JlcXM6ZnVuY3Rpb24oKXtpZih0aGlzLkRFQlVH X05PRkxBU0gpe3JldHVybiBmYWxzZX12YXIgQj0odGhpcy5GTEFTSF9WRVIubWFq b3I9PTApJiZ0aGlzLkJST1dTRVJfSUU7dmFyIEE9c3dmb2JqbGl0ZS5oYXNGbGFz aFBsYXllclZlcnNpb24oIjkuMC4yOCIpO3JldHVybiBBfHxCfSxyZW1vdmVDaGls ZHJlbjpmdW5jdGlvbigpe3RoaXMuUkVNT1ZFX1RJTUVSX0lEPTA7aWYodGhpcy5M SVRFX0JHX0RJViE9PW51bGwpe2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhp cy5MSVRFX0JHX0RJVik7dGhpcy5MSVRFX0JHX0RJVj1udWxsfWlmKHRoaXMuTElU RV9GR19ESVYhPT1udWxsKXtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMu TElURV9GR19ESVYpO3RoaXMuTElURV9GR19ESVY9bnVsbH19LHJlc2l6ZUZsYXNo VG9GaXRQYWRkZWRCb3g6ZnVuY3Rpb24oKXt2YXIgQj10aGlzLmdldEZsYXNoKCk7 aWYoQil7dmFyIEM9dGhpcy5nZXRQYWdlU2l6ZSgpO3ZhciBBPUMudy10aGlzLkhQ QUQqMjt2YXIgRD1DLmgtdGhpcy5WUEFEKjI7Qi5zdHlsZS53aWR0aD1BO0Iuc3R5 bGUuaGVpZ2h0PUQ7Qi53aWR0aD1BO0IuaGVpZ2h0PUR9fSxyZXNpemVUb0ZpdFBh ZGRlZEJveDpmdW5jdGlvbihCLEEpe2lmKHR5cGVvZiBBPT0idW5kZWZpbmVkIil7 QT10aGlzLmdldFBhZ2VTaXplKCl9Qi53aWR0aD0oQS53LXRoaXMuSFBBRCoyKSsi cHgiO0IuaGVpZ2h0PShBLmgtdGhpcy5WUEFEKjIpKyJweCJ9LHJlc2l6ZVRvUGFk ZGVkQm94OmZ1bmN0aW9uKEEpe0EubGVmdD1BLnJpZ2h0PXRoaXMuSFBBRCsicHgi O0EudG9wPUEuYm90dG9tPXRoaXMuVlBBRCsicHgifSxyZXNpemVVSTpmdW5jdGlv bigpe2lmKHRoaXMuTElURV9GR19ESVYpe3ZhciBBPXRoaXMuTElURV9GR19ESVYu c3R5bGU7dGhpcy5yZXNpemVUb1BhZGRlZEJveChBKTt0aGlzLnJlc2l6ZVRvRml0 UGFkZGVkQm94KEEpO3RoaXMucmVzaXplRmxhc2hUb0ZpdFBhZGRlZEJveCgpfX0s c2V0UnVubmluZ0ZsYWc6ZnVuY3Rpb24oQSl7dGhpcy5MSVRFX0lTX1JVTk5JTkc9 QTt0aGlzLnBpY2xlbnNJc1J1bm5pbmdfPUF9LHNldFJlc2l6ZUhhbmRsZXI6ZnVu Y3Rpb24oKXtpZighdGhpcy5SRVNJWkVfSEFORExFUl9FWElTVFMmJnRoaXMuQlJP V1NFUl9TQUYpe3ZhciBBPXRoaXM7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJl c2l6ZSIsZnVuY3Rpb24oKXtBLnJlc2l6ZVVJKCl9LGZhbHNlKTt0aGlzLlJFU0la RV9IQU5ETEVSX0VYSVNUUz10cnVlfX0sc2V0UmVzaXplVGltZXI6ZnVuY3Rpb24o KXtpZih0aGlzLkJST1dTRVJfSUU2KXt0aGlzLlJFU0laRV9USU1FUl9JRTY9c2V0 SW50ZXJ2YWwoZnVuY3Rpb24oKXtQaWNMZW5zTGl0ZS5hdXRvUmVzaXplKCl9LDEw MDApfX0sc2hvd0ZsYXNoVUk6ZnVuY3Rpb24oQSl7dGhpcy5USEVfRkVFRD1BO3Ro aXMuZmluZFNjcmlwdExvY2F0aW9uKCk7dGhpcy5jcmVhdGVCYWNrZ3JvdW5kT3Zl cmxheSgpO3RoaXMuY3JlYXRlRm9yZWdyb3VuZEZsYXNoQ29tcG9uZW50KCk7aWYo dGhpcy5CUk9XU0VSX0lFKXt0aGlzLmFwcGVuZEVsZW1lbnRzVG9Eb2N1bWVudCgp fXRoaXMuaW5qZWN0Rmxhc2hQbGF5ZXIoKTtpZighdGhpcy5CUk9XU0VSX0lFKXt0 aGlzLmFwcGVuZEVsZW1lbnRzVG9Eb2N1bWVudCgpfXRoaXMuYWRkS2V5SGFuZGxl cnMoKTt0aGlzLmFkZE1vdXNlSGFuZGxlcnMoKTt0aGlzLnNldFJ1bm5pbmdGbGFn KHRydWUpO3RoaXMuc2V0UmVzaXplVGltZXIoKTt0aGlzLnNldFJlc2l6ZUhhbmRs ZXIoKTt0aGlzLnN0YXJ0THl0ZWJveCgpfSxzZW5kTW91c2VTY3JvbGxUb0ZsYXNo OmZ1bmN0aW9uKEIpe2lmKCF0aGlzLmlzUnVubmluZygpKXtyZXR1cm4gfXZhciBB PXRoaXMuZ2V0Rmxhc2goKTtpZihBIT1udWxsJiZBLmZsX21vdXNlTW92ZWQpe0Eu ZmxfbW91c2VNb3ZlZChCKX19fTt2YXIgc3dmb2JqbGl0ZT1mdW5jdGlvbigpe3Zh ciBVTkRFRj0idW5kZWZpbmVkIixPQkpFQ1Q9Im9iamVjdCIsU0hPQ0tXQVZFX0ZM QVNIPSJTaG9ja3dhdmUgRmxhc2giLFNIT0NLV0FWRV9GTEFTSF9BWD0iU2hvY2t3 YXZlRmxhc2guU2hvY2t3YXZlRmxhc2giLHdpbj13aW5kb3csZG9jPWRvY3VtZW50 LG5hdj1uYXZpZ2F0b3I7dmFyIHVhPWZ1bmN0aW9uKCl7dmFyIHczY2RvbT10eXBl b2YgZG9jLmdldEVsZW1lbnRCeUlkIT1VTkRFRiYmdHlwZW9mIGRvYy5nZXRFbGVt ZW50c0J5VGFnTmFtZSE9VU5ERUYmJnR5cGVvZiBkb2MuY3JlYXRlRWxlbWVudCE9 VU5ERUYmJnR5cGVvZiBkb2MuYXBwZW5kQ2hpbGQhPVVOREVGJiZ0eXBlb2YgZG9j LnJlcGxhY2VDaGlsZCE9VU5ERUYmJnR5cGVvZiBkb2MucmVtb3ZlQ2hpbGQhPVVO REVGJiZ0eXBlb2YgZG9jLmNsb25lTm9kZSE9VU5ERUYscGxheWVyVmVyc2lvbj1b MCwwLDBdLGQ9bnVsbDtpZih0eXBlb2YgbmF2LnBsdWdpbnMhPVVOREVGJiZ0eXBl b2YgbmF2LnBsdWdpbnNbU0hPQ0tXQVZFX0ZMQVNIXT09T0JKRUNUKXtkPW5hdi5w bHVnaW5zW1NIT0NLV0FWRV9GTEFTSF0uZGVzY3JpcHRpb247aWYoZCl7ZD1kLnJl cGxhY2UoL14uKlxzKyhcUytccytcUyskKS8sIiQxIik7cGxheWVyVmVyc2lvblsw XT1wYXJzZUludChkLnJlcGxhY2UoL14oLiopXC4uKiQvLCIkMSIpLDEwKTtwbGF5 ZXJWZXJzaW9uWzFdPXBhcnNlSW50KGQucmVwbGFjZSgvXi4qXC4oLiopXHMuKiQv LCIkMSIpLDEwKTtwbGF5ZXJWZXJzaW9uWzJdPS9yLy50ZXN0KGQpP3BhcnNlSW50 KGQucmVwbGFjZSgvXi4qciguKikkLywiJDEiKSwxMCk6MH19ZWxzZXtpZih0eXBl b2Ygd2luLkFjdGl2ZVhPYmplY3QhPVVOREVGKXt2YXIgYT1udWxsLGZwNkNyYXNo PWZhbHNlO3RyeXthPW5ldyBBY3RpdmVYT2JqZWN0KFNIT0NLV0FWRV9GTEFTSF9B WCsiLjciKX1jYXRjaChlKXt0cnl7YT1uZXcgQWN0aXZlWE9iamVjdChTSE9DS1dB VkVfRkxBU0hfQVgrIi42Iik7cGxheWVyVmVyc2lvbj1bNiwwLDIxXTthLkFsbG93 U2NyaXB0QWNjZXNzPSJhbHdheXMifWNhdGNoKGUpe2lmKHBsYXllclZlcnNpb25b MF09PTYpe2ZwNkNyYXNoPXRydWV9fWlmKCFmcDZDcmFzaCl7dHJ5e2E9bmV3IEFj dGl2ZVhPYmplY3QoU0hPQ0tXQVZFX0ZMQVNIX0FYKX1jYXRjaChlKXt9fX1pZigh ZnA2Q3Jhc2gmJmEpe3RyeXtkPWEuR2V0VmFyaWFibGUoIiR2ZXJzaW9uIik7aWYo ZCl7ZD1kLnNwbGl0KCIgIilbMV0uc3BsaXQoIiwiKTtwbGF5ZXJWZXJzaW9uPVtw YXJzZUludChkWzBdLDEwKSxwYXJzZUludChkWzFdLDEwKSxwYXJzZUludChkWzJd LDEwKV19fWNhdGNoKGUpe319fX12YXIgdT1uYXYudXNlckFnZW50LnRvTG93ZXJD YXNlKCkscD1uYXYucGxhdGZvcm0udG9Mb3dlckNhc2UoKSx3ZWJraXQ9L3dlYmtp dC8udGVzdCh1KT9wYXJzZUZsb2F0KHUucmVwbGFjZSgvXi4qd2Via2l0XC8oXGQr KFwuXGQrKT8pLiokLywiJDEiKSk6ZmFsc2UsaWU9ZmFsc2Usd2luZG93cz1wPy93 aW4vLnRlc3QocCk6L3dpbi8udGVzdCh1KSxtYWM9cD8vbWFjLy50ZXN0KHApOi9t YWMvLnRlc3QodSk7Ci8qQGNjX29uCgkJCWllID0gdHJ1ZTsKCQkJQGlmIChAX3dp bjMyKQoJCQkJd2luZG93cyA9IHRydWU7CgkJCUBlbGlmIChAX21hYykKCQkJCW1h YyA9IHRydWU7CgkJCUBlbmQKCQlAKi8KcmV0dXJue3czY2RvbTp3M2Nkb20scHY6 cGxheWVyVmVyc2lvbix3ZWJraXQ6d2Via2l0LGllOmllLHdpbjp3aW5kb3dzLG1h YzptYWN9fSgpO3JldHVybntoYXNGbGFzaFBsYXllclZlcnNpb246ZnVuY3Rpb24o cnYpe3ZhciBwdj11YS5wdix2PXJ2LnNwbGl0KCIuIik7dlswXT1wYXJzZUludCh2 WzBdLDEwKTt2WzFdPXBhcnNlSW50KHZbMV0sMTApO3ZbMl09cGFyc2VJbnQodlsy XSwxMCk7cmV0dXJuKHB2WzBdPnZbMF18fChwdlswXT09dlswXSYmcHZbMV0+dlsx XSl8fChwdlswXT09dlswXSYmcHZbMV09PXZbMV0mJnB2WzJdPj12WzJdKSk/dHJ1 ZTpmYWxzZX0sZ2V0Rmxhc2hQbGF5ZXJWZXJzaW9uOmZ1bmN0aW9uKCl7cmV0dXJu e21ham9yOnVhLnB2WzBdLG1pbm9yOnVhLnB2WzFdLHJlbGVhc2U6dWEucHZbMl19 fX19KCk7dmFyIEJyb3dzZXJEZXRlY3Q9e2luaXQ6ZnVuY3Rpb24oKXt0aGlzLmJy b3dzZXI9dGhpcy5zZWFyY2hTdHJpbmcodGhpcy5kYXRhQnJvd3Nlcil8fCJVbmtu b3duIEJyb3dzZXIiO3RoaXMudmVyc2lvbj10aGlzLnNlYXJjaFZlcnNpb24obmF2 aWdhdG9yLnVzZXJBZ2VudCl8fHRoaXMuc2VhcmNoVmVyc2lvbihuYXZpZ2F0b3Iu YXBwVmVyc2lvbil8fCJVbmtub3duIFZlcnNpb24iO3RoaXMuT1M9dGhpcy5zZWFy Y2hTdHJpbmcodGhpcy5kYXRhT1MpfHwiVW5rbm93biBPUyJ9LHNlYXJjaFN0cmlu ZzpmdW5jdGlvbihEKXtmb3IodmFyIEE9MDtBPEQubGVuZ3RoO0ErKyl7dmFyIEI9 RFtBXS5zdHJpbmc7dmFyIEM9RFtBXS5wcm9wO3RoaXMudmVyc2lvblNlYXJjaFN0 cmluZz1EW0FdLnZlcnNpb25TZWFyY2h8fERbQV0uaWRlbnRpdHk7aWYoQil7aWYo Qi5pbmRleE9mKERbQV0uc3ViU3RyaW5nKSE9LTEpe3JldHVybiBEW0FdLmlkZW50 aXR5fX1lbHNle2lmKEMpe3JldHVybiBEW0FdLmlkZW50aXR5fX19fSxzZWFyY2hW ZXJzaW9uOmZ1bmN0aW9uKEIpe3ZhciBBPUIuaW5kZXhPZih0aGlzLnZlcnNpb25T ZWFyY2hTdHJpbmcpO2lmKEE9PS0xKXtyZXR1cm4gfXJldHVybiBwYXJzZUZsb2F0 KEIuc3Vic3RyaW5nKEErdGhpcy52ZXJzaW9uU2VhcmNoU3RyaW5nLmxlbmd0aCsx KSl9LGRhdGFCcm93c2VyOlt7c3RyaW5nOm5hdmlnYXRvci51c2VyQWdlbnQsc3Vi U3RyaW5nOiJPbW5pV2ViIix2ZXJzaW9uU2VhcmNoOiJPbW5pV2ViLyIsaWRlbnRp dHk6Ik9tbmlXZWIifSx7c3RyaW5nOm5hdmlnYXRvci52ZW5kb3Isc3ViU3RyaW5n OiJBcHBsZSIsaWRlbnRpdHk6IlNhZmFyaSJ9LHtwcm9wOndpbmRvdy5vcGVyYSxp ZGVudGl0eToiT3BlcmEifSx7c3RyaW5nOm5hdmlnYXRvci52ZW5kb3Isc3ViU3Ry aW5nOiJpQ2FiIixpZGVudGl0eToiaUNhYiJ9LHtzdHJpbmc6bmF2aWdhdG9yLnZl bmRvcixzdWJTdHJpbmc6IktERSIsaWRlbnRpdHk6IktvbnF1ZXJvciJ9LHtzdHJp bmc6bmF2aWdhdG9yLnVzZXJBZ2VudCxzdWJTdHJpbmc6IkZpcmVmb3giLGlkZW50 aXR5OiJGaXJlZm94In0se3N0cmluZzpuYXZpZ2F0b3IudmVuZG9yLHN1YlN0cmlu ZzoiQ2FtaW5vIixpZGVudGl0eToiQ2FtaW5vIn0se3N0cmluZzpuYXZpZ2F0b3Iu dXNlckFnZW50LHN1YlN0cmluZzoiTmV0c2NhcGUiLGlkZW50aXR5OiJOZXRzY2Fw ZSJ9LHtzdHJpbmc6bmF2aWdhdG9yLnVzZXJBZ2VudCxzdWJTdHJpbmc6Ik1TSUUi LGlkZW50aXR5OiJFeHBsb3JlciIsdmVyc2lvblNlYXJjaDoiTVNJRSJ9LHtzdHJp bmc6bmF2aWdhdG9yLnVzZXJBZ2VudCxzdWJTdHJpbmc6IkdlY2tvIixpZGVudGl0 eToiTW96aWxsYSIsdmVyc2lvblNlYXJjaDoicnYifSx7c3RyaW5nOm5hdmlnYXRv ci51c2VyQWdlbnQsc3ViU3RyaW5nOiJNb3ppbGxhIixpZGVudGl0eToiTmV0c2Nh cGUiLHZlcnNpb25TZWFyY2g6Ik1vemlsbGEifV0sZGF0YU9TOlt7c3RyaW5nOm5h dmlnYXRvci5wbGF0Zm9ybSxzdWJTdHJpbmc6IldpbiIsaWRlbnRpdHk6IldpbmRv d3MifSx7c3RyaW5nOm5hdmlnYXRvci5wbGF0Zm9ybSxzdWJTdHJpbmc6Ik1hYyIs aWRlbnRpdHk6Ik1hYyJ9LHtzdHJpbmc6bmF2aWdhdG9yLnBsYXRmb3JtLHN1YlN0 cmluZzoiTGludXgiLGlkZW50aXR5OiJMaW51eCJ9XX07QnJvd3NlckRldGVjdC5p bml0KCk7 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/png Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/images/default/aquaviews/bg-main.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAUAAAEiCAIAAAC+04+IAAAAA3NCSVQICAjb4U/g AAAACXBIWXMAAAsSAAALEgHS3X78AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJl d29ya3MgQ1M0BrLToAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNS8xMi8xMMKXGL0A AACjSURBVFiF7dc9DsAgCAbQoqh38P5XMXH0EN1dutu1MGiI9icNbC/ox1YpxBi3 S5mNFjcCgOT8rGfnSe+vnjfKk/Zn/fj8Wmsvnxv2o0nOq9Vq9VfNC0opV2NKiXj0 PTXGdPvWWtH9Ud7X5t2dN/vesbzV7+nT+8bb+9vb+Wq1Wq3+h6E18n+JOWdivg+E EIi9990+IhI757p9br5Pjbx6f2E+ARaVFFom/c80AAAAAElFTkSuQmCC ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/png Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/images/default/menu-rss.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAeVJREFUeNocks9rE0EYhp+dmZ0mm1ik RA8q0dooLURKQbx58CKCIEJRD4q3elT8GwQFLz0KKngTLxZyETwoqOCh9SIBoakp tIVYsbE1aZP9MbPrbAa+YWaY5/2+eb/xdh4fnpa+WpJaTwqlGIWU5CO1ltSYUdg4 3rKJmfe6TyZ+jB8/NqNUBmEfpA/ChdTgCcjcuRMxYUSv86utLOKsEgZ0DaoX4F8b ui2yvxsjwBPKCQjU+DgpYkqZJE3soCepnESevw82gqhH1nxF2mq4rF0H+og4JklS q9xEKkuY1Qbe5hcIKsj6HeTsApSrJMuLZIMuflDEJDYHLcm+Uzl1BX39NZy4SPjt OdHKM7zTl6F2jTgK80fnGRAmychSQbjdJNr8ij93j8KlR4TrH0nW3qPnFkgPVbHh vgMyRE7ZFOK9Dv3PT9l9cwNRmUbVrtJfeYmnyzAx41xygKtmBCT9HfTsXY4+XCPu dRg031Ko33TrbWdpAe9I3QHhqCTnkvWlDhisvsPaxKnE7C2/QHe+O7N+86fxALv7 k8DdscZI79Nt2Zqqlc8E/pD4IEYUC2QOzIxLXyyRDg/wCz6hLbHe7m94H25551xf loJATWotGBuTrrHe6GsYk5G7GEUpw6Hdcvv5/wIMAOKw8V9Nlp2AAAAAAElFTkSu QmCC ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/gif Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/images/default/drop_sep.gif Content-Transfer-Encoding: Base64 R0lGODlhAgACAIAAADQ0NBQUFCH5BAAAAAAALAAAAAACAAIAAAIDTAAFADs= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/gif Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/images/default/content_box.gif Content-Transfer-Encoding: Base64 R0lGODlh6AMFAIAAAMnJyefn5yH5BAAAAAAALAAAAADoAwUAAAJURI6py+0Po5y0 2ouz3rz7D4biSJbmiabqyrbuC8eOIdf2jef6zvf+DwwKh8QiimZMKpfMpvMJjUqn 1GoHac1qt9yu9wsOi8cLLPmMTqvX7Lb7PSwAADs= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/gif Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/images/default/grayShadow.gif Content-Transfer-Encoding: Base64 R0lGODlhBAAeAMQAAPT09MnJyeDg4OPj4/Pz8/r6+vHx8ejp6d7e3uvr6/j4+Pz9 /ezt7e/v7/b39/n5+fb29ubm5vv7+/39/f7+/v///wAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAEAB4AAAU+YCAGVVkhKCKswuAOURwd 9JHcCaMzTd8YQANhSAAYAZAkxMF0KJ6Kh/RRqBYk2Cx2wV1MvuDwl0Ium8/ocggA Ow== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/gif Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/images/default/dkGrayGrad.gif Content-Transfer-Encoding: Base64 R0lGODlhAgAqAMQAAM3NzdPT08/Pz9zc3OPj49nZ2eDg4MzMzN/f393d3dfX19DQ 0NLS0uTk5NTU1OHh4dHR0d7e3s7Oztvb28vLy9jY2OXl5dXV1eLi4ubm5srKysnJ yefn5wAAAAAAAAAAACH5BAAAAAAALAAAAAACACoAAAU4IMdtZKmdGkUdBwBIkiAs CwQxTBA4znUpikqlUJhMBoNEIhJBIAyGxwODIRAaDYslw82IvuAwOAQAOw== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/gif Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/images/default/footer.gif Content-Transfer-Encoding: Base64 R0lGODlhBAAWAKIAADMyMzIyMTIyMjY2NjQ0NDU1NTMzMzExMSH5BAAAAAAALAAA AAAEABYAAAMYeLrcHSLKKYwFNutMuv9dIY5kWQxoqqIJADs= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=aquaviews.css Content-Type: text/css; charset=UTF-8; name=aquaviews.css Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/css/aquaviews.css Content-Transfer-Encoding: 8bit /* File: aquaviews.css Description: Theme for the Thesis Framework */ body.custom { background: #fff url(../images/default/aquaviews/bg-main.png) repeat-x; } .custom a { outline: 0; } .custom a:hover { color: #a8a8a8; } .custom .page { background: none; } /*---:[ HEADER ELEMENTS ]:---*/ .custom #header_area { height: 270px; } .custom #header_area .page { padding-top: 0.6em; } .custom #header { border: 0; height: 75px; padding: 0; } .custom #logo { padding-top: 0.1em; } .custom #logo a { display: block; letter-spacing: -2px; text-indent: -9999px; text-shadow: 1px 1px #e3e3e3; } .custom #logo a:hover { color: #FFF; } .custom #tagline { color: #FFF; } /*---:[ TOP LEFT NAVIGATION ]:---*/ .custom .menu { border: 0; float: left; height: 33px; margin-top: 2px; padding: 0; width: 83%; *width: 81%; } .custom .menu .tab a, .custom .menu .cat-item a, .custom .menu a { background: none; border: 0; color: #F0F0F0; letter-spacing: normal; margin-right: 1em; padding: 0.4em 0.5em; } .custom .menu .current a, .custom .menu .tab a:hover, .custom .menu .cat-item a:hover, .custom .menu .current-cat a { background: #414141; -moz-border-radius: 5px; -webkit-border-radius: 5px; } .custom .menu .rss a { background: url(../images/default/menu-rss.png) no-repeat right; padding-right: 1.5em; } .custom .submenu, .custom .menu.children { background: #000; border: 0; padding: 5px; } .custom .current .submenu a, .custom .current-cat .children a { background: #000; color: #D0D0D0; } /* search bar */ #search_bar { float: right; margin-top: 0.2em; } #search_bar #stop { background: #474646; border: 1px solid #595858; } #search_bar #topsubmit { background: #BBB; border: 1px solid #d4d4d4; cursor: pointer; margin-left: 0.4em; padding: 0.3em !important; } #search_bar #stop, #search_bar #topsubmit { color: #F1F0F0; font-size: 1em; padding: 0.4em; text-transform: uppercase; -moz-border-radius: 4px; -webkit-border-radius: 4px; } /*---:[ SECONDARY NAVIGATION ]:---*/ #second_nav { float: right; display: block; } #second_nav ul { list-style: none; margin-top: 1em; } #second_nav li { display: inline; float: left; margin-left: 4em; } #second_nav li a { color: #FFF; font: bold 3em "Myriad Pro", Helvetica, Arial, sans-serif; padding-bottom: 10px; } #second_nav li a:hover { color: #000; text-shadow:1px 1px #e3e3e3; } #second_nav li a span { color: #000; display: block; font-size: 0.5em; font-weight: 600; line-height: 0.5em; text-shadow: 1px 1px #e3e3e3; } #second_nav_menu a { display: block; } #second_nav_menu ul { background: #242424; border: 1px solid #4F4F4F; font-size: 0.5em; margin-top: 0; padding-left: 15px; position: absolute; visibility: hidden; width: 230px; z-index: 110; } #second_nav_menu li { display: list-item; position: relative; } #second_nav_menu ul li { margin-left: 0; } #second_nav_menu ul li a { background: url(../images/default/drop_sep.gif) top repeat-x; font-weight: normal; padding: 10px 0px; width: 215px; } #second_nav_menu ul li a:hover { color: #a8a8a8; text-shadow: none; } #second_nav_menu li.first a { background: none; } #second_nav_menu li:hover ul, #second_nav_menu a:hover ul, #second_nav_menu :hover ul :hover ul, #second_nav_menu :hover ul :hover ul :hover ul { visibility: visible; } /*---:[ FEATURED & ADS AREA ]:---*/ #header_addon { clear: both; } /* ad styles */ #header_ads { float: right; width: 50%; } #ad_list { margin-top: 1.5em; text-align: right; } #ad_list img { margin-left: 2.5em; } #ad_list .first img { margin: 0; } #ad_list li { display: inline; list-style-type: none; } /* featured styles */ #header_featured { float: left; width: 50%; } #header_featured .sidebar_list { padding-top: 1.5em; } #header_featured li { margin-bottom: 0; } /* default / gray widget */ #header_featured .widget_box { background: #E4E4E4; border: 1px solid #F0F0F0; height: 125px; padding: 0; -moz-border-radius: 5px; -webkit-border-radius: 5px; } .featured_default { padding: 15px; } .featured_default p { color: #8C8C8C; font-size: 1.1em; line-height: 1.4em; } .featured_default h3 { color: #575757; font-size: 1.2em; } /* featured articles widget */ .widget_bu_featured { background: #E7E7E7 url(../images/default/bg-featured.png) repeat-x; border: 1px solid #D7D7D7; height: 123px; overflow: hidden; padding: 0; -moz-border-radius: 5px; -webkit-border-radius: 5px; } #sidebars .widget_bu_featured { border-bottom: 0; border-left: 0; border-right: 0; height: auto !important; padding-top: 1em; -moz-border-radius: 0; -webkit-border-radius: 0; } #sidebars .widget_bu_featured h2 { padding: 0.5em 0 0.3em 0; } .featured_articles { padding: 15px; } .featured_articles p { color: #777; font-size: 0.75em; text-transform: uppercase; } .featured_articles .image_link { border: 1px solid #000; float: left; height: 90px; margin-right: 20px; width: 210px; } #sidebars .featured_articles .image_link { border: 0; float: none; margin-left: 3em; } .featured_articles .title_link { font-size: 1.3em; line-height: 1.3em; margin-bottom: 5px; } /* subscribe box widget */ .widget_bu_subscribe { background: #F6630E url(../images/default/bg_social.png) repeat-x !important; border: 1px solid #F98913 !important; height: 125px; overflow: hidden; padding: 0; -moz-border-radius: 5px; -webkit-border-radius: 5px; } #sidebars .widget_bu_subscribe { border-left: 0 !important; border-right: 0 !important; height: auto !important; margin: 0; -moz-border-radius: 0; -webkit-border-radius: 0; } .featured_subscribe { padding: 15px 10px; } .featured_subscribe h3 { font-size: 1.8em; font-weight: 600; letter-spacing: -0.4px; text-shadow: #FCb96A 1px 1px 1px; } #sidebars .featured_subscribe h3 { color: #111; margin: 0; padding: 0.6em 0 0 0 !important; } .featured_subscribe h4 { color: #FFF; font-size: 0.85em; font-weight: normal; padding-top: 0.3em; text-shadow: #F6640E 1px 1px 1px; text-transform: uppercase; } #sidebars .featured_subscribe h4 { padding: 0; } .subscribe_icons { list-style: none; margin-top: 1.5em; } .subscribe_icons li { float: left; margin-right: 1.8em; text-align: left; } .subscribe_icons li a { color: #000; display: block; font-size: 1em; height: 32px; padding-left: 3.3em; } .subscribe_icons li a:hover { color: #FFF; } .subscribe_icons li a span { color: #FFF; display: block; line-height: 0.8em; } .subscribe_icons .email { margin-right: 1em; } .subscribe_icons .email a {background: url(../images/default/icon_mail.png) left no-repeat;} .subscribe_icons .twitter { margin-right: 0; } .subscribe_icons .twitter a { background: url(../images/default/icon_twitter.png) left no-repeat; padding-left: 60px; } .subscribe_icons .rss a { background: url(../images/default/icon_rss.png) left no-repeat; } /*---:[ CONTENT ELEMENTS ]:---*/ #breadcrumb { color: #F0F0F0; font-size: 1.1em; position: absolute; text-transform: uppercase; top: 283px; } #breadcrumb a { border-bottom: 1px solid #747474; color: #B5B5B5; } #breadcrumb a:hover { border: 0; } .custom #content_box { background: #FFF url(../images/default/content_box.gif) repeat-y 63.4em 0; border: 1px solid #000; margin-top: 4em; } .custom #content { background: #FFF url(../images/default/grayShadow.gif) repeat-x; } .custom .prev_next { background: #E7E7E7 url(../images/default/dkGrayGrad.gif) repeat-x; border-top: 1px solid #B9B6B6; } .custom .prev_next a { color: #555; letter-spacing: 0.3px; } /* headlines */ .custom h1, .custom h2, .custom h3, .custom h4, .custom h5 { font-family: Helvetica, Arial, sans-serif; font-weight: bold; } .custom .headline_area h1, .custom .headline_area h2, .custom .headline_area h2 a { letter-spacing: -0.8px; line-height: 1.2em; } .custom #content h3 { color: #a8a8a8; font-size: 1.6em; letter-spacing: -0.5px; } .custom #content h4 { color: #AAA; font-size: 1.3em; } .custom .teaser h2 { font-size: 1.8em; letter-spacing: -0.5px; line-height: 1.3em; } /* post elements */ .custom a.more-link { background: #A8A8A8; color: #FFF; padding: 4px 8px 5px 5px; text-decoration: none; -moz-border-radius: 5px; -webkit-border-radius: 5px; } .custom a:hover.more-link { background: #414141; } /* teasers */ .custom .teaser img.frame { padding: 0.3em; -moz-border-radius: 3px; -webkit-border-radius: 3px; } .custom .teasers_box { background:#FFF url(../images/default/grayShadow.gif) repeat-x; margin: 0; width:100%; } .custom .teasers_box .post { padding: 0 1em; } /*---:[ SIDEBAR ELEMENTS ]:---*/ .custom #sidebars .sidebar_list { border-left: 1px solid #C9C9C9; color: #545454; padding: 0; } .custom #sidebars ul, #sidebars li div, #sidebars p { padding: 0 1em; } /* headlines */ #sidebars h2, .custom #sidebars h3, #sidebars h4 { padding: 1em 1em 0.2em 0.7em; } .custom #sidebars h3 { font-family: "Myriad Pro", Helvetica, Arial, sans-serif; font-variant: normal; letter-spacing: normal; text-transform: uppercase; } /* widgets */ .custom #sidebars .widget { background: #E7E7E7 url(../images/default/dkGrayGrad.gif) repeat-x; border-top: 1px solid #C9C9C9; } .custom #sidebars .widget:first-child { border: 0; } /*---:[ FOOTER ELEMENTS ]:---*/ .custom #footer_area, .rsswidget img { display: none; } #foot { background: #363636 url(../images/default/footer.gif) repeat-x; color: #EEE; margin-top: 3em; overflow: hidden; } #foot a, #copyright a { color: #F6F6F6; text-decoration: none; } #foot a:hover, #copyright a:hover { text-decoration: underline; } #foot ul.sidebar_list { padding: 2em 1em; } #foot .widget { margin: 0; } #foot .col { float: left; width: 33.3%; } #copyright { border-top: 1px dashed #4D4D4D; clear: both; padding: 1.3em 0; } #copyright ul.sidebar_list { padding: 0 1em; } #copyright p { margin-bottom: 0.1em; } /* headings */ #foot h3 { color: #DDD; font-family: "Myriad Pro", Helvetica, Arial, sans-serif; font-size: 1.6em; margin-bottom: 0.6em; } #foot h3 a { color: #DDD; } /*---:[ COMMENTS ELEMENTS ]:---*/ .custom #comments { margin: 0; } .custom #comments dt { background: url(../images/default/grayShadow.gif) repeat-x; } .custom #comments dl.children dt { background: none; border: 0; } .custom dl#comment_list .bypostauthor { background: #FFF; } .custom dl#comment_list dt.bypostauthor { background: #FFF url(../images/default/grayShadow.gif) repeat-x; } .custom dl#comment_list, .custom dl#comment_list dd { border: 0; } .custom dl#comment_list dl dt.bypostauthor { padding-top: 1.8em; } .custom dl#comment_list dl dd.bypostauthor { padding-top: 1em; } .custom dl#comment_list dl dt.bypostauthor, .custom dl#comment_list dl dd.bypostauthor > .format_text { border-left: 0; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/png Content-Location: http://aquaviews.net/wp-content/uploads/2011/03/aquaviewswebsitelogo11.png Content-Transfer-Encoding: Base64 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 gg== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=custom_header.css Content-Type: text/css; charset=UTF-8; name=custom_header.css Content-Location: http://aquaviews.net/wp-content/themes/thesis_17/custom/custom_header.css Content-Transfer-Encoding: 8bit /* Dynamic Header Image CSS (See Admin Options) */ .custom #logo a { background: url(http://aquaviews.net/wp-content/uploads/2011/03/aquaviewswebsitelogo11.png) no-repeat; text-indent: -9999px; display: block; width: 312px; height: 70px; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=wpp.css Content-Type: text/css; charset=UTF-8; name=wpp.css Content-Location: http://aquaviews.net/wp-content/plugins/wordpress-popular-posts/style/wpp.css Content-Transfer-Encoding: 8bit /* Wordpress Popular Posts plugin stylesheet Developed by Hector Cabrera Use the following classes to style your popular posts list as you like. */ /* title styles */ .wpp-post-title { } /* thumbnail styles */ img.wpp-thumbnail { border:none; } /* excerpt styles */ .wpp-excerpt { } /* Stats tag styles */ .post-stats { font-size:9px; font-weight:bold; } .wpp-comments { } .wpp-views { } .wpp-author { font-style:italic; } .wpp-date { } /* WP-PostRatings styles */ .wpp-rating { } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=tweets.css Content-Type: text/css; charset=UTF-8; name=tweets.css Content-Location: http://aquaviews.net/wp-content/plugins/tweet-blender/css/tweets.css Content-Transfer-Encoding: 8bit /* Tweet Blender CSS */ /* general container */ #tweetblender { padding:5px 0; margin-bottom:12px; } /* header */ div.tb_header { height: 25px; width:100%; } img.tb_twitterlogo { width: 86px; height: 20px; margin-bottom: 5px; float:left; border:none; } div.tb_tools { float:right; height:22px; width:28px; background-repeat:no-repeat; } a.tb_refreshlink { display:inline; float:right; height:16px; width:16px; -moz-opacity:.30; filter:alpha(opacity=30); opacity:.30; margin-right: 5px; margin-top:3px; margin-right:7px; } a.tb_refreshlink:hover, a.tb_refreshlink.loading { -moz-opacity:1; filter:alpha(opacity=100); opacity:1; } a.tb_refreshlink img { border:none; } a.tb_infolink { display:none; float:right; height:16px; width:16px; -moz-opacity:.30; filter:alpha(opacity=30); opacity:.30; margin-bottom:10px; margin-right: 7px; margin-top:3px; } a.tb_infolink:hover { -moz-opacity:1; filter:alpha(opacity=100); opacity:1; } /* messages below header and above list */ #tb_loading { text-align:center; clear:right; } /* tweets list */ div.tb_tweetlist { margin:0; padding:0; border-bottom: dotted 1px #ccc; } div.tb_tweet { border-top: dotted 1px #ccc; padding: 2px; min-height: 60px; list-style:none; background:none; overflow:hidden; } div.tb_tweet-tools { text-align:right; clear:both; } a.tb_photo { display:block; float:left; border:none; } a.tb_photo img { margin-right: 4px; width: 48px; padding: 3px; border: 1px solid #ddd; } .tb_author { font-weight:normal; } div.tb_msg { min-height: 40px; clear:right; padding:5px; background-color:#FFFFCC; border:1px solid #FFFF66; } .tb_tweet-info { color: #ccc; font-style:italic; } .tb_tweet-info a { color: #ccc; text-decoration:none; } .tb_tweet-info a:hover { text-decoration:underline; } .tooltip { position: absolute; top: 0; left: 0; z-index: 300; display: none; background-color:#FFFFCC; padding: 2px 8px; } /* footer */ div.tb_footer { margin-bottom:8px; } a.tb_archivelink { margin-left: 5px; float:right; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=125x125_LeisurePro.png Content-Type: image/png; name=125x125_LeisurePro.png Content-Location: http://aquaviews.net/wp-content/uploads/2011/03/125x125_LeisurePro.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9CAMAAAC4XpwXAAADAFBMVEX09PT7qmn0 VSP4hiD6mB7/uRZTUE2qWBgwh+Juqeb/xBPLy8zLbhu8vb33vMPb29uyaBf9xofU 1NTKUxzCw8Tn7fOsyef1aG/+9fQRduCtZ2H4jB/95Maji2i60OiFhoZKleT98+z/ tCiam5v5rKr4+Pj6nij35NX6yJjIdTEvJSKio6PQuKz3clGzs7P9qRvxTVJ4RhRv ZlXuOCTsRSL5mEP+mzj9oh33tY35pl7J2Oj+okupZzeCsuWrq6ydVhJqRSXMhBOt fWr7jDb41sFJNi77yKf4nVJJRDz729btJCObwuuzppb4uXz93rf39vZnZWV4eXn8 7eLouIfdyMnvmGmMShLRjFb7x7VYNRPmixttUz/3PiT0ayH87OrJFTT+8NTexa2K ueuUlZasWzKvr7H1eyD9fiHg4OBsOhP3TCSzzur++fbyZCPDqorOmnL9sWvieh72 JCiRuuTBc1ClLEXjmBZZnOP+9OOxcEP7bCOIdXDJ3fLV3+ry7OLm3db4jVRnKTjs hijfZx/2GS/++vnky8T/wCX7XyPtGBhqNEX+/v7/+Orr8PT90pnX5PL8rIb82aye jo3Sgi7e5+zxTmn85+b07+2opab4h0zk5OT9sBj/57H/cSPs7Oz08fHiTSD//Pzx 8fH//fiMiosgfuH1dzG40/Cfn5/0dyHb5Or8/Pzn5+f6+vr7+/vz8/P9/f3q6uru 7u7r6+vy8vLv7+/m5ua/wMDm5+eHt+i4ubnt7e7q6+vPz8/29PTr7Oz5+vv5+fnn 6Oj6+/vo6enu7e52cGvt6ujn5OLnqA/coF2Bf4LYo3XHyMjPyr7/wHzX19a2trfm omv+sFmvra/5q3X///5aWVfxXSKfajXqIDD39PL4ITVlo+T9zo7r6efrMlft0cjw ytD9/Pzs5dWmpqbl5eXcRh/c4+phX1rt7u7p6urq6OiBTBGdRxX5fivjZXpvHTWD QhX3laVubnH/bSqxWWqPkJD0di6WkI3u7u/oupv4vpP2ZybaOCH////fDorfAAAA CXZwQWcAAAB9AAAAfQA4/6StAAAH2UlEQVRo3u2WD1RT1x3HX8JLwISUAOHP2+sk mAYlICkGiOASUEQiWAJSWUGiHTQQQarIZtDqdHVOFLF1pa2KblREiPxdgQTQVOm/ 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 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=125x125_Twitter.png Content-Type: image/png; name=125x125_Twitter.png Content-Location: http://aquaviews.net/wp-content/uploads/2011/03/125x125_Twitter.png Content-Transfer-Encoding: Base64 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 /wAAAABJRU5ErkJggg== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=125x125_Facebook.png Content-Type: image/png; name=125x125_Facebook.png Content-Location: http://aquaviews.net/wp-content/uploads/2011/03/125x125_Facebook.png Content-Transfer-Encoding: Base64 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 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=125x125_YouTube.png Content-Type: image/png; name=125x125_YouTube.png Content-Location: http://aquaviews.net/wp-content/uploads/2011/03/125x125_YouTube.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9CAMAAAC4XpwXAAADAFBMVEXoeXT88rj5 +fmYmJiyi07rS0Py+vrKysvItGzx1nrUbmn31tT2hnoWFhf89fXcQjrUpFLrureg oKDk5OTUz671W1LVNCv0Vk7tUUr0qab87qcnJyfxTET++NH5wbjhRDtYWFjrq6fr gnzGsoD99sn43FmcXSPq6+v3lYdGRkf0uLWpbCp2dnbkW1T55X3y1IbmiYTnaWP9 9MD0ioXb4uL44GbnYlv5qJP54m3iPDL2bFzHt7bGm5n78K/RyorGqKf543Xp14P1 YVTPNTG0tLToRDv7uqj29vb2cWGneEr8/PyypofzxMGlf1vvoZ3aY11paWrQ0NDx 8fHd29uxonn+/v62o2TV3t7vymns8vKgb1T654XWOTH9+vqnXiX50Mr025GFhYXY PzbULyfVPDTbS0P67Ovwz3bcWlPlc23m6ur55eTpykrmSkL1mpX43l/1Zln87Z/6 6Y0HBwfHjIrWp6XslZHnkY3Hxsb3fmvzzMs0NDS8vLz1UUnPMi376pbq2tmcXkzq 5eXvVU7py8rr67mni3fPSEH133n9+NH4kHzhlJDRNzGcXjbpzlKmkGqvmYKynWzi xnXqnZnIhjPlyYfm4IfdOTDaUEnw553M0NHp46PTOTLwzmz8///tmJWnhmf2/v73 g27Ynpufc2b1dGrexsXggnzYOC/8yrzMWVT68fDzWU/UOjTkQDf5oIzhtFvxU03l u2u/uIvdiYTwRDzve3XzUUn5w8K7nnDknpv1VUz34N7dPDL2d2Xako64gj3tSEDv aGHjRz/GwcD22lfFkpD0T0bqT0b5y8n+/Pzw+PjXOzPtz036sJ7Zwl3NUEvgPjTv 12YeHh/nmJP0VEvQLyoPDxD++dL++NL33FjoyUnoyUr43V+6sqfpSD+haDn54Y39 /f2/tJyuoIixrafdu7n0UUxOTk7345f266P65ZbT19fZvHfY0dLCuaDbr63us7Ht 34/76IWgemnjTkf7+/v3emn99/fvwL3e3Kj06ejk4pTi03/KkED///8jrkJ6AAAA CXZwQWcAAAB9AAAAfQA4/6StAAANMElEQVRo3u2YfVxUVRrHYxBJcERlgdGZCXDh EgqJYBiaa5LTKJHA6JgKkYAmjmDqlBIvmZIp+fZRtzA/iuHLgopj2ir5ggWog0kl jTgzQEtOUdRqu/YyvrR593mee2cYXGdyPrK7/8wz3HvPec655/v8nnPuncM8wP4/ 7QEX3UV30V10F91Fd9FddBfdRXfRXfT/Nb2s3/yT3s+fe+iDoUMHDVqwYEFMzMMx MX2P9u1LB9YWoA0aNHToQx+c8z45/0ZZz9G9F8T7BTQXFWkl3Eei1VIBDLwnTlRV xcfHLxw9evTE0RP37Lm+Z0/dwsn7y3qGXja0SlLUHNAccFfz8/MD8sLREye+snPn mwcPjvr0qb179x6sWniyrCfoZeeqiwIcmR8GgPxTyH+T+N57F/r92hN0RZ0VXnVX +gk/nj8R+W9y/OefKoopv3962TVJQJVI0mXabuhDklrJIT/Sz6Uf+A8fHDXqqb0x za+V2aNPKSws/AELgrzC04UJ9umCo9UB1XuOTwbbjKfJS4pt4M2x4BnR7MfNvzX9 wP/006Lj5fboE8RiXRBCU6CQrLRPX+HXHCBZYON4oepE1yxod4JnqQTrQCf+qVM7 kT9q1MIh5+3RfQvAfKGQoSsQD3SQ+NdhrXejz7fVXnQUPDHau62+UdfrVHboSkEE UDugkCwWF3g6oA+AoSU7bOmcdk5+NdKjtDYPHz73xH/4lUjbie++6gaKxeIIllWF i8VBcvuZLw+GoZtHw5ttEL524L0WY6tdS9ollnBw+RH/1PWdO19p/sEufUqBWNwp Z0/DtGc4WPK9N6Owb7XaI8i5eQReb34BnHg8V3OZP3GiuevZr+LTf735G7t0OaRc nALTLhYXch7TXemWtGqHQC2xAZC/iESi4oBiOIss2hsiYz2If0L7S3xsZAOlf2LR N+V2n3d3nVjnzgbpdOErIPEpGUGdyR00A+4Rye6w1pOTI/JYdsYQiQ39HFRES7yf z49tLk709t6sJfrREYn7fx0gwlw0ROW/0O9kcGxVPOC1L9unX4GcR6gK4HkzKdkO sVCn0wmT5bAOO/X6TiXrqdPpYVUq5nXTDnQJLICP64oiX2DZhyRIV17bj+Nt9gB4 MDf2yRGYfslx+3RFJ8geCAkAhqcYrjqdWAhLwJws1AWZ0aUbiPQ7tFch/UZdUfF8 pFfvsY53UhQgibJUEoth9UnW2KezGUKxOFysK5jCshFQzBgYrtMVhLFmmIwgAZsC sQA9bIS2OOAQ0CUW7bVA71dXHQn0oRIJZt77aF+oyGO/FeWz7P6+e85BPuqaq+Il Ub3t0/NQrk4IJAFwg8IEA4ViXSHQhegD7UhfEesRcAiNo0NFMhnoC0Ui1N6uxUGH HImDiJ6r00bCFFw7IpkHyydKUlVVu/S8XboSU68T62GFhYULhREmE071QNbcydGp wvrGSgh+qJbo7VCgzEtQ+4BaCQ4aVVu7BOm1dTdg+msleNlRe6i4tsKBdtZdD9Lh qWNVoBPePClQdee0m5GO2l+L9BCJquHh8jhKdJGIMh8racDMyzxIO0cfURsL2CVx msjnIAiZSHSk4rwDegomPlyBL32hnqOD3IROvbDTzGsvW4F0UYOooR1vT8QxIfM3 Yj1+IXrtPKS3y3ZY6YlRS48DfYdMpJU5pCsg4Xp80fmKeboQ5sGMTxzShXrS3t5A JsPM35Q1NGhIey3Sr8nacc0PkclQe6wM6bzt0MAtDjOvTNYLhRM4uhrpQp3aHbUT XYihlK3IJrpHg4y0w5ga0k70oZr2OqJrOHqSDR3jdEhnI/RCvS2dtCM9nOhq1J5d n5vrkevhQfSbmoZcpPeLlCF9gEZGmdfw9Eig5w8imyfLbYj7q0N6stpC13PahaRd jdrzhHp8HFSRmlwyDUfPtdDnYOabZCOI3oT0JA1qX1qqiQPDuzSO6UFqvbrQlq5H erheTdr1qD0sKbC9vj63vp7oiTW5uTWY+ezA+pOQ+RoNaW+KI+1NqP1iU3t9dlLS lsD6+rgPy3+HzmnX2dI71UTXY4Wd4dVUT6bxQu1QiTuO2jWBqL2UvA801SxF7XFE L4UUfJywNK6+vnRX73uig/ZkoOs57Wo9r53oNcgOrG9ClTdL6wNRe78tmkyik7ei BumC7KYtQF9TqokswwmAnrvuSbuiQK8OYtkOvR6+1kg7fAuoKfPnK0oDA30CAwNr aN4rAwNLQfuNfVkV8FBfq6zBea/IygrG2WiaA997A7KyMKKoRugZXH4v826CgjCj sECt1z1Lq048IULPZb73h6U+Pogv9bLQL0Ih+CLuRYCOXsWaNfDNrJjTVHMTvnyD K2BFsEmNgT6Z3/wuHbWTaj0kQg0veLYTC2oht+rKd1X6kDWiogFQqayge/f3gxj8 S0G78mNyvJ7mUzriOX7km41wS+brZY7panUHapdnEFtdMMVMOderC9yhCtrL/1mZ SfRKmneoNGYjYr4Xvm38S5OgfNEbB6uAtsqKfjRw/pwa6LhliskB3ZQR3hmeh7sp gaKjE3bWGb5yE2vyDdKJk1NSOjvDJyjZ8r/MziRrzA4ODo5a65OZubYi3zt4i//x a8EVaWngvZbtE+ydH5WWCW2V2cH53okVsxvxjn2+jv6PEyhUviqFibb3CtUVT1+F Av67UcrDUlIUirAw3zCIpWzKljQe7w9Gpcq0xsrKTP8srII3q7HRf3YalDHOSv80 cCF8tr/XDEd0pVkgl5u5vXyCXC6QC6hsAq/ABA5sU6q8/GejNcInE0/4Z/Xw1Uar Y3ZmWhoUM+HI2nX+vv+HPf/ykwcOzD5w72bp63/hB/N9083PJmVtO7AN/7albePs AJQsZWo4wH2wWxrn2ZaW9ZLKdN905YzTq/zXOm9ZSVfO98BvF2bVuAuXsi69SvYk bzA8nvmPjVGvS5ey/L08Z5h64lcj+ci8s/v2XbiwatWqJw8Ayx+Hv9NefXWtP8UE vS7s2+c1bmuYuWd+MROEjdy61dMzbwzYOLDHwc6efclqZ8+i5/Fx48aMG3N6zOk8 T8+tV0YqEnrq9zqlQA7Pf5hK5TtSNXLkyGfx6G68V+Xrq1KFhc1QWB7knvqlFB59 pcmUkJBgFpgFYPIb+IKAK50FZrNZAI0JJqXS9Suxi+6iu+h3t/Hrc9pa29rgyMmB Az6tOfhpoxKcW1tzqLGtFUrYp41awYOVVuqWw13Xj3eSPv7zaIPRAH9Gg9RolBoM JQaDQSpFDxlepIYSqZSajCXYDUpG6miUlhiN1LGE7ov+fLxz9PXRBkQBGMwIY8BZ ilEYCAPFkhJ0SpFMYGBi2ViCHaQlRr4nKYhe7xw9x4jRG3FMKVfEsQiPFIzHSK2g n4LB4IwlUvDxHUssyUB+q5N01CUFDZACPtkGTiFiMbPULKVYSC04oVRilPIdS4xc rBRDm3P0thJuBvkESrlp5EMx0pIwWtYFMTDjBgqIunKTBLHiwjBIndTeitJDaGYh iJCVNDQd4AgpsdQMIZxLyi1J7hLCpc3SgqccJzMfEhISHcLZWwzD7L7FV0JmMX/r aupme5kOarzToLOz9GirfcfM3NiLWb6Srw5nOqLvbrMm/WM483R3Xwh3OLvq3CwW PZd5Y6Xb1WNTZg37ym3Wl18NZ2ZO+vLrlWP7M+veveXmNmvSumf+4DZr5rFhbxB9 5kdfHlvp9takdRtWWkYY6+bm7LyPtdrf0xlm+R9Xjp3LfI3HXIZ5Zhjz9WFmQ39m +feXocYwt/rA5LjPZZ7mG4czy3sxu7uGGOvkmm8d3GWzPoKxl9+CwQcT4I3Bl9N3 92d+vnr1ncH9mfcHHz4GbT+P/R5C62NpfH/RbeZW1xBOznvrIostu/zWO99tGsa8 P5eZumg7M3UujLw4fd1vkBHm3e/fY/6EnbYzTy9aBHS8Lk5fjuEy2LKMH8TZzC+z Wn9mKp02MRuXTWc2bmc2LPspffePm67CzP8LVC473OtP25mNi6BxKjamps+8zUxd ffjBH7vGcFJ722KrbWeYXr1ASR9mXf90Zup0qN5mNvyZmbYpfd3b25l109KZ36Yz 0xYvhtCgcdpHzIY2pteD0MjdfxkOJ7W3pXbZe5jkB1NTbwOXmTad6ZXOTHr7iWGc 8z24TEsF8OJUokPjzLdT+4P3Kt67mP5SnV11j9han9V0Wb2ar4+3qVmdvD3R55Gf 4Dyer/5EZ2cz/8Q92CMOq7bm7LvusXuwR/nDQTNfcPaJe9Rij1lOjz16h/2Hw745 +w37xYtk/IUvfYHnL7p8nKvL262Jv4F8TtJzWkJbyEJDQ6GIZ86DVa4cSo5QrimU r/L1lhbuJq53aKiz9DPc2DyGGybUCrNGwAfTVbdEaD1h9YyT877+kzO8mBe7JFiB LS0tVv2hL/KRWZDWdj6k0JYznzi5q2Q/y+E35tw2HrbrtIGHEu3uuSLu5akD7eBp Zw8HbvnbaJ9PW3oof+b6T8pFd9FddBfdRXfRXXQX3UV30f8b9m9jGtIzQtVESwAA AABJRU5ErkJggg== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=Agnes-Milowka.jpg Content-Type: image/jpeg; name=Agnes-Milowka.jpg Content-Location: http://aquaviews.net/wp-content/uploads/2011/04/Agnes-Milowka.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYE BAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQIC AgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAz/wgARCAHUAXIDASIAAhEBAxEB/8QAHQAAAQQDAQEAAAAA AAAAAAAABQMEBgcAAggBCf/EABwBAAIDAQEBAQAAAAAAAAAAAAECAAMEBQYHCP/a AAwDAQACEAMQAAABupgRH35HS7ZUxZZupA62b7GO9m3sDtwPdmO9vFmnnm2smiTj yRp44SgR8W8kR8UTk0028ER0X8ES9U2kR1dYYP0f+CDvXicjfVzoSzakWYjPRX2R um9Tcjm7lrIyxXJJwyIs87Zvv6RrvurAjuruYkqu7IZOHHjT1fVUxPRdGTzE/IF9 kNzFEvUZNE/dVnvvnpimu3piWq2gmmeZJma6yeN1mwmnqGCO9NNiUUnPkjFkVZyA mB5nILwhkk8aEUqrG+rxIjRb3UTfdB3As4TVaZnm5Hu6WxiuvuGJaqZInirARfyJ kxaa9V2elsk7bgJZpqIr6krJ76psY10coSJaKKCNEinhI3QkhILQftljZFZtJons nD5ieAThF+1S7XbVwRq1LNoGT9BwI4V0XeeYthDX3bSTbZPaBGq4BReT0Nq61PZ+ L0cXA7goer7p+ddlbvNXhHuS7M3cPpQzz5YlWu0ytKRWL08pRi4F0o0S+sx3JtVh MCyNa60JsRJi9CtEl0BE2jtvC2TW8ka4tkk7HSwdVpBOHmoGqThuYl4k3QP3gV2Q c3GK2K70bZIvAZty0mqgHMZIYfVlrOiPWFWrlKO9ocvK8JJM9LqGMg8iGzz9wbUp JdvKtDWtBoe6LLqOyOV9OVgU2A5fSw5ErB+v8sUFoNNHmph0Zxrus+kDWrrcFAxu QaiMk3TcDTE8kuxsBIcrtPvUlrU2SMe2pG20q1KxPaVaukSQl6RSIN5siVhHzr7I +f8An6TxyMklfQ6K6jra5MvTMcpXBXYTj1y2EaqpSI9XECrI6dbye8tg9tZfS224 GtfO/o5nXoSpb/DXqAr2R9X5u8YuivQ8XKK0tFqB0NbIxdaVE0thNklEDE8SySvz 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 Oh1brB5sdqXoijhcYoZGPG3uMVUejgPKdcBv7VvIURCZBOEVM44yq2aLF11wuxpy uVVU44yq+ta57sZttuBKY4UhRM4TNx4TdvQgtvMjzTXrtBLg2Ld23XWInl3BqoYW W7MQBl728OH5Jsla/rmxmCBzJD1m+4xIli29JbETk1R/Esno44AI0jzvYf2pHnZO uts1VOv+5bQalLUVLFb4xQwV6Gq40/0ID6ucfS52yK96pC/gqu5wrmekyz1C3nyU UqbW0g0NzoiSWpevS6km55jjUj345E5T4+b7PQN1atOquCsk2qZHErWVqHYE5u2j Xr6tT3zywaBiPDrylIFQjZNj0AK/3K5qEdw9zqv2ln2l3ddV2JEc9rbocZ/0HKP2 01A12tdp+rRcX7xUwkz7RCVcT7WKfdPX9k19tDxLKQsd39wDCseEKS49nXK1Ok5I iSYjDKok6Aw+mwaGLwrWP1z783gPm55EY7bxFjc5Fr1xpnjPj844+VflteFYvfvD hK44b79SwqiAjiKKKbX4uOqmS2fltXVLKSezJk0wV81Dxxewl9427zHoA9dtsf52 aBhYS505xUxzK2kSTr0deC78YR840nMgnF578507YjXGfiiNuLmpzVPXDfEW3Wic e+OroFrgSj2TxerqHqE8S3eIR7vFjIOMMpwrKduvGXPCCrHJJG6oxH+xf9YMPKuB yme9EE3PyKQmRuDHbteC4rID/wAd5h/uKBypj1z3LEsbgvbMP8R/znXFThHXM/zl brqwvFLCZ/74+68v7smk5JlMNPY2offTE+s1OWrVGygTG3B9Bg6ig5K6ZHlIokTf O6Rx/qtG05a/DPXyKtcrbD/K0xjreO8NgDw8sOJyyvZt9zorjv0sjIUvrjkhXE2+ q+LMrJarjA9xdHHmubO14OaYdl9fCF+OOn3Us0nXlv7e+ZQtUaTj9F/wyvWYpcmh YS84udfxAfy1a5hz6twCaMHk9j7raK5OR3FNxtz5JZvE7jcP3X1rBnfMfQOBJPW3 L/leRPtmN7FsGu5xwVCBzgGZnDcmQhmnBY/9pGLpiy0yyNuZEEVhy4z6i265+Jr3 n2LnSX8nPZyjq5xhf58QtcPSC7xH2fXI64qcY1/911tEdIeP0FMVc6/yxHnYRUe+ GwUafHtks5bMJx/ZGRx/bTFP6ikZvLy/10f5ZqNdwiDlrNEGRHtijyUx9IUZybwJ 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 7LQgUr+/7FA8TRybRtS1pxZ4p3Z/Yg3i5TSOFBZInye/dHxVAj2bWzlM8frKjgCE ZLPunojDaKjqrzMVQ1XGivPxV2gW1hJorku67qqsKtkVK34XD7FYG+qy79qxKwzU 9nPCoVqi9WQ647RZ3ujmiNWuHBTRSta230uOHPqNUc0L3RyxG81zTi0ra6YsFpht h79psD2t23VzHCleoorn8H9HWvauwdbrc4OMQ+iBgFI6MXpyDV7sXOKN7PXKX/lU 9qbXZiAPMV2vP2ITQQTWIxQ0ja5grKa9MqdmN5ikayWpY4igf4Inii443RVRyNwa /wCwq1zMb/KJWR/6W4n7SEHNqU48Th2beRiPKZPvFDnqcbovq5I0uh+CD2luKwWS xGrzZulAS1ez4LgbwVpshGNjtMjPZWoWGWqZ7+6KVPsT5R3Jj9oXTVcgjc7rwC/L JpGk+rktpYHvmIxuniiyRpY8cCrNDaHBsL3b1VHY7NETyuDAKnFPtMGLXbzmcuqo fYdTZIXFj25EK9PI57upXda4dUaNC5J+kNJVmgh+as4w8pfyPJvNCa1y3qikbBgy Eeq0cAnAZJzK0RbexG8oLC8XmxRDafWdiUHRnaQO4eqh6p7NuLuNok+8dWJWYRDr pqjPZCXRZlquOwkbmCsG1VCKKjFVxV1+8i+Aq0slaY/KmB3tGCBzBVVNXC9ifYpQ RvVLmnkVdOBbgmtzbx6prIWtb8U6O4HA4VUcFuszvJjlKtvZonSV/pGM/amiJ7RG XUq/Nq3nlxYN6R2LnFPtGz2cFd2ubk9mFBgTyW1Y9mzlODa4rLX4BHFYLYs+bhF1 qNu0s7ZWi0fyKx/0jv8AmO5N+Krim1Qv/Nx77+tOHtKdMcZXmruqzoFQmtOzanM7 4ld8UKt3UHNK75W84lXHioRtNj83KOSFl0g24/Kp4oPjoVVZa7NbgKeTztEn1HYF bzS+DmqNcMU+InEgjU50g83aPOMd+xXe7I37UI5KNf6LuavCkjSnwTsaa4Fj1LYy x09hLy9gGbK8PBbLR+j9nGTW/McfYoYZ2GNl8XqZJ5sRDnXbrbuN3qmbGkkruB4n jVPmlqHeOGsChxRWYC7/ANi2sLYXTDuvkjDi33p888jpppMXPeakriU0k0Tq4Nrj 48vkNIY1b5TJ94rgqcCqgqj1XUcKScCE2K23pbGThJy8U3ZyNNVUDVirVZHZWiJz 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 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=CKuUM8Z9MDg.swf Content-Type: application/x-shockwave-flash; name=CKuUM8Z9MDg.swf Content-Location: http://www.youtube.com/v/CKuUM8Z9MDg?fs=1&hl=en_GB Content-Transfer-Encoding: Base64 Q1dTCGMIAAB42n1WW3PaRhQ+CGHkaxJyoW6xg9smnXYKwnZw7EybxoXEQ2owwW3T +kWzSIu8sS5YWmHzC5qZzviRmT60v6VP+Vvu2ZUwJGnCw2rP/dvznZU4h5knALl/ Ae6moH4D8PdD+k8FYLQNwKLAATjmvP9I19mD8pAz1y6bvqsPmF77KfqluX2006zb +vGpRXskcnj5Vd+GldESAMVI6napZVELNQWAHj3vA+xUdqobm9/urG9uVCr4qGxU ttA+j3VEhGfs/YhiHqAf+F3SdYaG49s2tQzmAayj6SbAgNEzw/QjjwNsPKzuVFGN 0MnANgLCmWcDVMsVVN4H4Iw7FGDX9mhYbDLHPzshReIVmccD34pMznwPPW8DONSz +bERUtP3rBAAAaLhOuZ1MMqQh4khVAHCs95VZ8Kpxgy5jqYu83SzH5YGPeeofvRy MCgL/5XRVxh4AlB/0N2Iftuk9FnrZG/9+fpDe99xX7xwnw9Pz7bYS1ZD1yw2LIzL 5cYQ4sMlWg0gEE1ej9s1YBb1DYYIp4hBUxM76ZChw0JuuHhg0YyP4n7HW5yhE/6+ fcCSMyANdHouyGlEBCFh2aOYxIy6pGSxAQIthdwPGA1LHlr1kHgmj1xUIm/Cgwa4 ojWgxCk5rEdLJhnQcSwPiEXtoQ4rUFMuLy/fzEI7hdN5ZwnXtmG0iXlCbBqWTXsY HbbhcimbQXP79a+p+5DoDNvBGXLEKHGfD/sUXIJj5PjEqjmsD6ZcsD6nT90+HzZ9 PIi0XO320ZcGQCyrhhx0sSjOKI4lfRWSPsPm9xwSHgM95zTwsNTTZNPw8NkjJsWp JMwREUACO3Kpx0PoeWDREAdwCJEn4Mh6yKfrD+gEhaCCBhKCBSxsT4uCDB3CvsN4 zIRcw0cwxSoI8oB5Fj0/6IHkD9HyRqLACYUw6iIOcWUMQaquw3gOYPfwkPJ24Pef OQSHbqSABoVc7m8F/kkLIVWQqgtNvDTSy7j8gdQcjFRQQVNaKKTysZC+wBdCChbW IG55I43XSlOzgk98KOKRkdlmOt/h5GdFRi37BFMoeaGOjdrFgkiTxjTYwDcwscy2 xDrX2BfolkHGzEvLgrQsynWpJcwXCWJlDQ5kimuFUQayaVS1JqLytph6WwQpIlB1 Av16ofM4BpwFVZEutVgvHEX6/4GkdfIHk2PcSJB9DVtw1QY1NnXy72hy72luTpJh 029lYCr17avUi1N9u9V6POVzR3CWzo9mQcvH3Iz1Yv2kg1ZVnk6NG4ByRjKc0ZYb Odn7OUgUnzZysSxCl2NPGakkkTPScUb7LHYspkTZwvtlV0TZrAS1+gGr9iHIdztj 7vbQbVaORRF3cxJLNouvlUtbVL8H+AFSs+rs9CzGOdY6MuAvBe+6iNImUUUZpX0k agpXTNHnSSuvRgzd5pOWfbGHNnVerNqXcj8n96t7MS2KTIIV0zJUVTRVEH4tPqGi puIhu/d9Hj/hddy+XsXL1/x597BmNHcbLeDHLBy/GuWLUN5fcWnzyX3Oxrk0RYJN d/JQFVcVvon1cDgMOXWhMJrDDxk1o4DxIV6ExeQDVfdlWgzD/xTwH6cE54E= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=lpbanner.jpg Content-Type: image/jpeg; name=lpbanner.jpg Content-Location: http://aquaviews.net/wp-content/uploads/2011/03/lpbanner.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwK CgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHCAgICAgICAgICD/2wBDAQcH Bw0MDRgQEBgaFREVGiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICD/wgARCAA6AdQDAREAAhEBAxEB/8QAGwAAAQUBAQAAAAAA AAAAAAAAAAECAwQFBgf/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAQIDBAUG/9oADAMB AAIQAxAAAAH0iauBJBUgAAAAAAIQJAsESoAAIJIhJgGyRAACSzNcbtZmrfg+3jdW 1ytt/OYJUb12cd82Y5Xq5sXfCOYhiWF6aw2z1ct+kx05fo52yYn2HxPaeAkqGmb6 zFaLFLMmJ62BsxXtULNb0tM9THZsxHDELJGWCqXCjJyLU1rJdEg2YjmNS+aTUOc6 effx1gmOX6MIUvR02G/L9XJcy3wNKUNsbCqABZranaAkGgA1PsXie06YWJVNe1I5 hkpqzVvSSLLCxW0UxFar4mOY0M9GjU0yyQCIjJLVhHFiJlmHAJMMQlqtmMXfn43q 59erJ1ylrbOadBnZqMa8U70mmoIAAAsCSAADU+yeJ7dS9MHXOeJYXa2zr0uVtVmO qw25TowdE3KzUtFqs1bR1GG0U1jmI62lTGiQgJpiNLUSk0whBarJqTFPTLkOnnuV vpUtxvZx1IvTlrVs+JZ4XvM6uZL5yY7Q65STVc9m11fpz17UueX6sSze7judXFm4 +u/1vlGRb0ry/U0s9PP+zm2c7zROZeiClaY7zk6eN6cKN6bGelS0Vprr56dpzbwz XK1xpfIe/JpUgtgNpL9KpWWZ2QImX7T5yvplSlyPTz0NsOiw1dMZW3PLTVtdIZP5 d5/E9Wbg7IvQ46+1LPJvPybx75uraK1ano8ljInXz2fG9TL9Dt1tebL9r5ZqdHLb sePs6rm6GTVlqrEql0CJUUAAEgEU1oUnE+R92324S65spZlLOmHXh961OLdbRDhp F938vynVzZ2mbhBkhAPiZECSQgAmraSJZMT1sDJhiJ62USTSas5mubUx1ttVdByd nV8/RapaO1WzDol0SsSSIACiglENicfk1fFp6yCAAks69MPfCrpniez5kUwIRIAA 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 Wy2W9ZbLZbLZbLZbLZbLZbLZbLZbLZb9P//Z ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=scuba-diving-468x60.gif Content-Type: image/gif; name=scuba-diving-468x60.gif Content-Location: https://images.essentialtravel.co.uk/banners/scuba-diving-468x60.gif Content-Transfer-Encoding: Base64 R0lGODlh1AE8APcAAE4mg2OU64iUqFomg05jy4iqun99lmMmg04mlm2q64i+y1p9 23Zjg9PJ4KaSwW1Ig4i+23pcok5IuqDL704mqHa+63++6/Tx9+nk757K797W6OTf 7Im/65HD7XqY0V1MnZrI7o7B7Gtyt5F4sp3J7lk0i4zA7JLE7YS05G9PmpyFuVY5 kGhpsXaOylMwioGr3lo0i5fG7YZqqryt0GRBk3OFxKeSwcm+2si72HBPmntcolpD l66eyPiYKfj3+mRfqlpjqKGOvmVBk5TF7WFWpIvA7JqGumNjqH2h17GgyZvJ7tbO 4297vevn8ZjH7qeWw7KgyZXF7ce72P7y5I/C7MK31v7s13+UqP/58lpjy/ieNvHv 9pN+tU4ml72t0NDG3n++23JJg/mlRE5jqGyd705IqIuVqfvFh7yv0fqyX47B3Pu/ evzSoX++y6DLzoR/l2NIlm1jg04mqt3X6G1Nmlsmg/mrUf7+//n8/nZ9lnKv7WOU 2/r8/lt/3HpLg6DL3/q4bP3fvPzYrl4mg5qbqpa/54C/64HG7WBNnom/y2NIg3Ku 7bW423qZ0X+quoTB7Gpiq3dKg3mBv2JPnnrB7Idpg12C3n9mg7WmzFkzi6ujzWSV 7IJ+l5qyvG+q7GaX7Xe/63q07219qJTL71uA3HaUqISt31yC3LGfyV5MnWJWpK2d yFxmqWqb7mWW7F6F332KxmRXpGsmg05Ku2wmg/j7/k5ozpXFzGiZ7WQmg3d9lk5n zGuc7nax7k5pzo/CzPz9/l8+kvvLlIvAzE5LvJSFl47BzGYmg53JzWeZ7fv9/k4m qZjH3s/G35SZqb293E5KvJWJvm2q24+tu+Lo9FpIlvL4/XaqusLA3ZOHvfH4/YKc 0pGXqYLH7k5mzJTFzLrZ84Fvr2N9uv3lyXBWoF6E32OUy4yqu05jul1El3B8vU9P T08mg////4i+6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAADUATwAAAj/ANcJHEiwoMGDCBMqXMiw ocOHECNKnEixosWLGDNq3Mixo0eC7kKKHEmypMmTKFOqXMmypcuXMGPKnEmzps2b OGOiaMHiA7ufQIOygwGlndGjSJMqXcq0qdOnUKNKbScwp9WrWLNqZckBxIQJIDhc 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 YA0v7lof0eRO/uRQHuVSPuVUXuVWfuUfERAAOw== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=blank.gif Content-Type: text/html; name=blank.gif Content-Location: http://0.gravatar.com/avatar/65bb992f7898131a3547f719149830b2?s=44&d=http%3A%2F%2Faquaviews.net%2Fwp-includes%2Fimages%2Fblank.gif&r=PG Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=blank.gif Content-Type: text/html; name=blank.gif Content-Location: http://1.gravatar.com/avatar/51ce146ecb547ba1f8f77124352c45c2?s=44&d=http%3A%2F%2Faquaviews.net%2Fwp-includes%2Fimages%2Fblank.gif&r=PG Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=blank.gif Content-Type: text/html; name=blank.gif Content-Location: http://0.gravatar.com/avatar/2fce9bb7a45db063fb44cd0e18532149?s=44&d=http%3A%2F%2Faquaviews.net%2Fwp-includes%2Fimages%2Fblank.gif&r=PG Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=Week_Special_SQTKBST.gif Content-Type: image/gif; name=Week_Special_SQTKBST.gif Content-Location: http://www.lpimgui.info/image/ui/Week_Special_SQTKBST.gif Content-Transfer-Encoding: Base64 R0lGODlhGAHIAPcAAFBdEcvg69/y/M7m9FlcXVNUVHyHjqi5xWJiYvkBKo2ao9Do +MXSMN+iunV5c5qqs1KXz8Xb6Xt7eW+q2Xl5ddLr+tDo9uKNqM3r+4eIhGxydtnw /Dw8PLzU4UlJSc3WbHR1cYG236O0vuP0/WpqaoKDf+L0/HJza8je7PEwVHyAecbo +tHq+9Pt+rTDCVZVbMrq+oeUnKm4BMHW4snURNTu+83l8rzJLU9SUtjia7rO3L3F ZUZGRqmxjnV1dNHq+nh5cpWkreDz/LHCzuX1/WJmUqnM3l1iY5eZl8PY5oa54eZz kaPO68HPE5irAsrh7219Edrq86y3J5bE5ltgXK2zdrvFiLTI1TpGNXV+g62/y6rQ 7DMzM8Pi84GOlnp7dbLG0uxQcb3R3cnXqUBAQM7s+9HbW8zWVNDn9U5OTnFycGJm aYWYBkpIXUtRT2twa7XY8FJXR9Do+szj8VVcWtTl7HJ1cNDt++Hw+NfhW2Joc/// /3J6e2lpZbvL0TpCP9vu95GSkHd3c5qmMaOmpIqbJrK4RlVYVsDLQkRJSaq1qllb Vnt+eNDbSNLs+Mnb42RnZHJ2ep6wu4qShazD0NHq95yjj2dpaJ+utikpKW9uakA+ Kl5dXUNJRN3x/Do4U0NDTMbNXT89QEhKQZmhc3J2dDs+B9Pq97O+qlVWXc7m9lNP TUhOSWZlZLfM19/u9llYWc3o98jm9ldWVnx6dlBQUUpOTUhFSXNzcWBfYOTy+efx 9Xh7ckhFRH2HRDyJyEpKS4yMinJzc0xKSkBEQTc5OE5OSn9/fENDQ8no+HV0djk4 OUNBQqHC0k5LThcXF92xyDI4NS00M29vb9vx/ENFRePuVzg7J0RDRDg3OGdnZ8vj 8kRERJGfp3d3eMXl93p6c+Xz+i0uLqy3uTU1NdHp+KjJ2tDf5i8rI77f8n1/dTc3 N8rp+TExMSJ3v8jp+uf1/ej2/cnq+tPu+9fv+9Xd8C5/w9nH3M/n99Lr/NPs/tPs /NPs+tPs/dTt+tPs+yH5BAAAAAAALAAAAAAYAcgAAAj/APfsedXBiMGDCBMqXMiw ocOHECNKnEixosWLGDNWNMexo8dmICXF6MPpyBoECHLBgqQyTaI9ATqgERKvps2b OHPq3Mmzp8+fQIMKHUq0qNGjSHnCW7o0nFNdUKPieRWlzjk/GSAtQqANpddcacjg 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 EQN+hvi/Ch+ZXxgYhen17Nu7f+++ThSZewICADs= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=Month_Special_AERMC.gif Content-Type: image/gif; name=Month_Special_AERMC.gif Content-Location: http://www.lpimgui.info/image/ui/Month_Special_AERMC.gif Content-Transfer-Encoding: Base64 R0lGODlhGAHIAPcAAF1ydYeeofX29pyho7S6u3SLjN7m6dLa3FNUVPM1VrzBwykz M4aJiuTq7cvS04GUlXN1dlJiZOisua2ys0taXIGWmGdpaVlrbba9v8PKzOLq7GyD hu7x8ouhpNjY2ERSVOXM1Oju7/FQbKSqrHaOkX6VmdXd4CAqKT1KSzE7PGBzdVtu cB4nJn6Uln2SlPDy82B1eMHExoGZnU5eX3mSlaCjpMfO0CQuLXmQkuHk5dnh5FZo a32SkVNlaDZBQt/o6mR5fEhKSoSYmoSanZOprY2kqIKYmnWQlG5wcZqcnJyxteqT pHOChGh9gdLU1JassM3V2I2RkThERejt715gYS45OZSam+zw8ZCTk2t7fXCGidzk 5pGmqU9gYneNjeXs7j9NTnN7e7LCxamvsKesrX6Cg+Pm55GjpbrJzcPHyNng4snL zKGmqKG1upyrrb7Fx8PQ05OXmNbf4tnc3UhVVtzi5c/Y26u6vbXFyebs6icwMNzh 4u7y8yIrKqa6vqOytOLp7N3l6IqcnuXp6fb390ZVV4Wbnu1yiJimqX6XnIegpO3t 7dnj5klXWOa9xkFPUHp8fHqTljpHSOHr7eDq7CYvLmuHj6y/w6+1t9rm6NHX2CMt LNPY1yw2N+Pa3+js7aWwrzM+P3uQkObq6EhYWuLo6uju7IuWl+nr6vcTOb/N0OTs 6+bt7OPs6uPq6OyDltfc293m6GNwcGh2d8bU14SXlszP0H+TkldmZ4eOkOru7uPr 6j9OUOvs7Lm+wCUvLnGIiB8oJ+bu7ujt6+nr7FpoaO7v8Obu7Gx4d5CnrHeVnXJ/ gC03NyMsK15vcOHp6+3x8uft7+nu8Orv8Ovv8fL09fH09PP19fkAKevw8ezw8uru 8O3w8uXr7fT19uDo6uft7ufs7uHo6+rv8UZGRv///97l6Obt79zd3OHo6vP09PX1 9dja2+Hp7IOcoOzv8JGen+3w7UJQUebq6xoiIXuHiN/n6t3m6eDo6+Pq7PHz9Obs 7uTr7fDz9O/y897n6iH5BAAAAAAALAAAAAAYAcgAAAj/AMuVW4TOg8GDCBMqXMiw ocOHECNKnEixosWLGDNqvIhukcByOfb0UkeopMmTKFOqXMmypcuXMGPKnEmzps2b OHPSVNdrT46BHvQJGEq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrVvV5MMauF9avYMOK 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 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=en_US.js Content-Type: application/x-javascript; charset=utf-8; name=en_US.js Content-Location: http://static.ak.connect.facebook.com/connect.php/en_US Content-Transfer-Encoding: Base64 LyoxMzA4MDk2ODMzLDE2OTU1NTgxNCxKSVQgQ29uc3RydWN0aW9uOiB2MzkyMzQz LGVuX1VTKi8KCmlmICghd2luZG93LkZCKSB7RkIgPSB7fTt9IGlmKCFGQi5keW5E YXRhKSB7IEZCLmR5bkRhdGEgPSB7InNpdGVfdmFycyI6eyJjYW52YXNfY2xpZW50 X2NvbXB1dGVfY29udGVudF9zaXplX21ldGhvZCI6MSwidXNlX3Bvc3RNZXNzYWdl IjowLCJ1c2VfeGRQcm94eSI6MCwidXNlX3VpX3NlcnZlciI6MSwibW9uaXRvcl91 c2FnZV9yZWdleCI6InNvbWV0aGluZ3RvcHV0aGVyZS5jb218aHVmZmluZ3RvbnBv c3QuY29tfGxhbGEuY29tIiwibW9uaXRvcl91c2FnZV9yYXRlIjowLjA1LCJlbmFi bGVfY3VzdG9tX2hyZWYiOjF9LCJ1aV9zZXJ2ZXJfZGlhbG9ncyI6eyJib29rbWFy ay5hZGQiOjEsImZyaWVuZHMuYWRkIjoxfSwicmVzb3VyY2VzIjp7ImJhc2VfdXJs X2Zvcm1hdCI6Imh0dHA6XC9cL3swfS5jb25uZWN0LmZhY2Vib29rLmNvbVwvIiwi YmFzZV9jZG5fdXJsIjoiaHR0cDpcL1wvc3RhdGljLmFrLmZiY2RuLm5ldFwvIiwi YXBpX2NoYW5uZWwiOjEzMDc5ODkyNDQsImFwaV9zZXJ2ZXIiOjEzMDc5ODkyNDQs Ind3d19jaGFubmVsIjoxMzA3OTg5MTUyLCJ4ZF9wcm94eSI6MTMwNzk4OTA5MSwi eGRfY29tbV9zd2ZfdXJsIjoiaHR0cDpcL1wvc3RhdGljLmFrLmZiY2RuLm5ldFwv cnNyYy5waHBcL3YxXC95eFwvclwvV0ZnNTZqMjhYRnMuc3dmIiwic2hhcmVfYnV0 dG9uIjoiaHR0cDpcL1wvc3RhdGljLmFrLmZiY2RuLm5ldFwvcnNyYy5waHBcL3Yx XC95Z1wvclwveVppRExoU3ZBRTkuZ2lmIiwibG9naW5faW1nX2Rhcmtfc21hbGxf c2hvcnQiOiJodHRwOlwvXC9zdGF0aWMuYWsuZmJjZG4ubmV0XC9yc3JjLnBocFwv djFcL3kyXC9yXC9FQ1NwdFhSSmlYdS5naWYiLCJsb2dpbl9pbWdfZGFya19tZWRp dW1fc2hvcnQiOiJodHRwOlwvXC9zdGF0aWMuYWsuZmJjZG4ubmV0XC9yc3JjLnBo cFwvdjFcL3lOXC9yXC9XTUFHVmxsaW5HUy5naWYiLCJsb2dpbl9pbWdfZGFya19t ZWRpdW1fbG9uZyI6Imh0dHA6XC9cL3N0YXRpYy5hay5mYmNkbi5uZXRcL3JzcmMu cGhwXC92MVwveXFcL3JcL0N0WFRzRDlnd1R5LmdpZiIsImxvZ2luX2ltZ19kYXJr X2xhcmdlX3Nob3J0IjoiaHR0cDpcL1wvc3RhdGljLmFrLmZiY2RuLm5ldFwvcnNy Yy5waHBcL3YxXC95Z1wvclwvZGk4R1E0eVdZbUYuZ2lmIiwibG9naW5faW1nX2Rh cmtfbGFyZ2VfbG9uZyI6Imh0dHA6XC9cL3N0YXRpYy5hay5mYmNkbi5uZXRcL3Jz cmMucGhwXC92MVwveXpcL3JcL1d1aFVBTnlzQmpnLmdpZiIsImxvZ2luX2ltZ19s aWdodF9zbWFsbF9zaG9ydCI6Imh0dHA6XC9cL3N0YXRpYy5hay5mYmNkbi5uZXRc L3JzcmMucGhwXC92MVwveUdcL3JcL0hQcGxfUTlpcjAzLmdpZiIsImxvZ2luX2lt Z19saWdodF9tZWRpdW1fc2hvcnQiOiJodHRwOlwvXC9zdGF0aWMuYWsuZmJjZG4u bmV0XC9yc3JjLnBocFwvdjFcL3lHXC9yXC9RVkFLWndvMm1OdS5naWYiLCJsb2dp bl9pbWdfbGlnaHRfbWVkaXVtX2xvbmciOiJodHRwOlwvXC9zdGF0aWMuYWsuZmJj ZG4ubmV0XC9yc3JjLnBocFwvdjFcL3lBXC9yXC8xMWhKc3ZRRU11cC5naWYiLCJs b2dpbl9pbWdfbGlnaHRfbGFyZ2Vfc2hvcnQiOiJodHRwOlwvXC9zdGF0aWMuYWsu ZmJjZG4ubmV0XC9yc3JjLnBocFwvdjFcL3lxXC9yXC9Sd2FaUUlQMEFMbi5naWYi LCJsb2dpbl9pbWdfbGlnaHRfbGFyZ2VfbG9uZyI6Imh0dHA6XC9cL3N0YXRpYy5h ay5mYmNkbi5uZXRcL3JzcmMucGhwXC92MVwveTZcL3JcL2tHQ3hrWngtdVphLmdp ZiIsImxvZ2luX2ltZ193aGl0ZV9zbWFsbF9zaG9ydCI6Imh0dHA6XC9cL3N0YXRp Yy5hay5mYmNkbi5uZXRcL3JzcmMucGhwXC92MVwveXVcL3JcL0hTR2dBUXpnbTZm LmdpZiIsImxvZ2luX2ltZ193aGl0ZV9tZWRpdW1fc2hvcnQiOiJodHRwOlwvXC9z dGF0aWMuYWsuZmJjZG4ubmV0XC9yc3JjLnBocFwvdjFcL3lKXC9yXC9hM0g4em9h MVltai5naWYiLCJsb2dpbl9pbWdfd2hpdGVfbWVkaXVtX2xvbmciOiJodHRwOlwv XC9zdGF0aWMuYWsuZmJjZG4ubmV0XC9yc3JjLnBocFwvdjFcL3lLXC9yXC9NY05o VHdvNmlMcC5naWYiLCJsb2dpbl9pbWdfd2hpdGVfbGFyZ2Vfc2hvcnQiOiJodHRw OlwvXC9zdGF0aWMuYWsuZmJjZG4ubmV0XC9yc3JjLnBocFwvdjFcL3lfXC9yXC92 RV9vaDB6cVAxWi5naWYiLCJsb2dpbl9pbWdfd2hpdGVfbGFyZ2VfbG9uZyI6Imh0 dHA6XC9cL3N0YXRpYy5hay5mYmNkbi5uZXRcL3JzcmMucGhwXC92MVwveWNcL3Jc L2JHeEYyNUN4QnNRLmdpZiIsImxvZ291dF9pbWdfc21hbGwiOiJodHRwOlwvXC9z dGF0aWMuYWsuZmJjZG4ubmV0XC9yc3JjLnBocFwvdjFcL3lMXC9yXC9fZ3NQMDFT M213US5naWYiLCJsb2dvdXRfaW1nX21lZGl1bSI6Imh0dHA6XC9cL3N0YXRpYy5h ay5mYmNkbi5uZXRcL3JzcmMucGhwXC92MVwveTJcL3JcL05oWi1SeU1iT1VyLmdp ZiIsImxvZ291dF9pbWdfbGFyZ2UiOiJodHRwOlwvXC9zdGF0aWMuYWsuZmJjZG4u bmV0XC9yc3JjLnBocFwvdjFcL3lmXC9yXC9DOWxNSHBDNWlrOC5naWYifX07fSBp ZiAoIUZCLmxvY2FsZSkge0ZCLmxvY2FsZSA9ICJlbl9VUyI7fSBpZiAoIUZCLmxv Y2FsZUlzUlRMKSB7RkIubG9jYWxlSXNSVEwgPSBmYWxzZTt9CgoKaWYoIXdpbmRv dy5GQilGQj17fTtpZighRkIuTW9uaXRvcilGQi5Nb25pdG9yPXt3cmFwT2JqZWN0 OmZ1bmN0aW9uKGEsYixmKXtpZih0eXBlb2YoYSkhPSJvYmplY3QiKXJldHVybiBh O2lmKCFGQi5Nb25pdG9yLmxvZ2dpbmdFbmFibGVkKCkpcmV0dXJuIGE7aWYoYj09 J0ZCLkRlYnVnJ3x8Yj09J0ZCLkhpZGRlbkNvbnRhaW5lcid8fGI9PSdGQi5YZENv bW0uU2VydmVyJ3x8Yi5pbmRleE9mKCdGQkludGVybicpPT0wKXJldHVybiBhO2Zv cih2YXIgZCBpbiBhKXt2YXIgYz1hW2RdO2lmKCFhLmhhc093blByb3BlcnR5KGQp fHx0eXBlb2YoYykhPSdmdW5jdGlvbid8fGMud3JhcHBlZCljb250aW51ZTt2YXIg ZT17Y29udGFpbmVyTmFtZTpiLGZ1bmN0aW9uTmFtZTpkfTthW2RdPUZCLk1vbml0 b3IuX21vbml0b3JXcmFwcGVyKGMsYSxmLGUpO2FbZF0ud3JhcHBlZD10cnVlO31y ZXR1cm4gYTt9LGRpc2FibGVMb2dnaW5nOmZ1bmN0aW9uKCl7RkIuTW9uaXRvci5s b2dnaW5nRW5hYmxlZENhY2hlPWZhbHNlO30sbG9nZ2luZ0VuYWJsZWQ6ZnVuY3Rp b24oKXtpZihGQi5Nb25pdG9yLmxvZ2dpbmdFbmFibGVkQ2FjaGU9PT1udWxsKXt2 YXIgYz1GQi5keW5EYXRhJiZGQi5keW5EYXRhLnNpdGVfdmFycyYmRkIuZHluRGF0 YS5zaXRlX3ZhcnMubW9uaXRvcl91c2FnZV9yZWdleDtpZighYyl7RkIuTW9uaXRv ci5sb2dnaW5nRW5hYmxlZENhY2hlPWZhbHNlO31lbHNle3ZhciBhPW5ldyBSZWdF eHAoYyk7dmFyIGI9RkIuZHluRGF0YS5zaXRlX3ZhcnMubW9uaXRvcl91c2FnZV9y YXRlO0ZCLk1vbml0b3IubG9nZ2luZ0VuYWJsZWRDYWNoZT1hLnRlc3QoZG9jdW1l bnQuZG9tYWluKT8oTWF0aC5yYW5kb20oKS9iKTwxOmZhbHNlO319cmV0dXJuIEZC Lk1vbml0b3IubG9nZ2luZ0VuYWJsZWRDYWNoZTt9LGV4dGVybmFsQ2FsbGJhY2s6 ZnVuY3Rpb24oYSl7aWYodHlwZW9mKGEpIT0nZnVuY3Rpb24nKXJldHVybiBhO3Jl dHVybiBmdW5jdGlvbigpe3ZhciBkPUZCLk1vbml0b3IuaW50ZXJuYWxDYWxsU3Rh Y2tEZXB0aDtGQi5Nb25pdG9yLmludGVybmFsQ2FsbFN0YWNrRGVwdGg9MDt2YXIg Yj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3ZhciBjPWEu YXBwbHkodGhpcyxiKTtGQi5Nb25pdG9yLmludGVybmFsQ2FsbFN0YWNrRGVwdGg9 ZDtyZXR1cm4gYzt9O30sX21vbml0b3JXcmFwcGVyOmZ1bmN0aW9uKGIsYSxkLGMp e3JldHVybiBmdW5jdGlvbigpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5j YWxsKGFyZ3VtZW50cyk7Y29udGV4dD1kP3RoaXM6KGF8fHdpbmRvdyk7Yz1jfHx7 Y29udGFpbmVyTmFtZTondW5rbm93bicsZnVuY3Rpb25OYW1lOid1bmtub3duJ307 aWYoRkIuTW9uaXRvci5pbnRlcm5hbENhbGxTdGFja0RlcHRoPT0wKWlmKGMuZnVu Y3Rpb25OYW1lLnN1YnN0cigwLDEpIT0nXycpRkIuTW9uaXRvci5sb2dGdW5jdGlv bihjLGUpOysrRkIuTW9uaXRvci5pbnRlcm5hbENhbGxTdGFja0RlcHRoO3ZhciBm PW5ldyBEYXRlKCk7dHJ5e3ZhciByZXR1cm5WYWx1ZT1iLmFwcGx5KGNvbnRleHQs ZSk7fWZpbmFsbHl7dmFyIGVuZD1uZXcgRGF0ZSgpOy0tRkIuTW9uaXRvci5pbnRl cm5hbENhbGxTdGFja0RlcHRoO3ZhciBlbGFwc2VkPWVuZC5nZXRUaW1lKCktZi5n ZXRUaW1lKCk7aWYoZWxhcHNlZClGQi5Nb25pdG9yLmxvZ0Z1bmN0aW9uKGMsW10s ZWxhcHNlZCk7fXJldHVybiByZXR1cm5WYWx1ZTt9O30sbG9nRnVuY3Rpb246ZnVu Y3Rpb24oZixjLGQpe3ZhciBiPVtdO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsr KXt2YXIgYT1jW2VdO2JbZV09YT9hLnRvU3RyaW5nKCk6YTt9RkIuTW9uaXRvci5s b2coImZ1bmN0aW9ucyIsZi5jb250YWluZXJOYW1lKyIuIitmLmZ1bmN0aW9uTmFt ZSx7ZWxhcHNlZDpkfSk7fSxsb2dYRkJNTDpmdW5jdGlvbihjKXt2YXIgYj17fTtm b3IodmFyIGQ9MDtkPGMuYXR0cmlidXRlcy5sZW5ndGg7KytkKXt2YXIgYT1jLmF0 dHJpYnV0ZXNbZF07aWYoYS5zcGVjaWZpZWQhPT1mYWxzZSYmYS5ub2RlTmFtZSYm YS5ub2RlVmFsdWUmJmEubm9kZU5hbWUhPSJjbGFzcyIpYlthLm5vZGVOYW1lXT1h Lm5vZGVWYWx1ZS50b1N0cmluZygpO312YXIgZT1jLm5vZGVOYW1lLnRvTG93ZXJD YXNlKCk7RkIuTW9uaXRvci5sb2coInRhZ3MiLGUse2FyZ3M6Yn0pO30sbG9nOmZ1 bmN0aW9uKGEsZCxjKXtpZighRkIuTW9uaXRvci5sb2dnaW5nRW5hYmxlZCgpKXJl dHVybjt2YXIgYj17ZnVuY3Rpb25zOjEwMSx0YWdzOjEwMn07Yy5saWQ9YlthXTtj Lm5hbWU9ZDtGQi5Nb25pdG9yLmxvZ2dpbmdRdWV1ZS5wdXNoKGMpO0ZCLk1vbml0 b3Iuc2NoZWR1bGVTZW5kKCk7fSxzY2hlZHVsZVNlbmQ6ZnVuY3Rpb24oKXtpZigh RkIuTW9uaXRvci5wZW5kaW5nVGltZXIpRkIuTW9uaXRvci5wZW5kaW5nVGltZXI9 c2V0VGltZW91dChGQi5Nb25pdG9yLnNlbmQsRkIuTW9uaXRvci50aW1lckludGVy dmFsKTt9LHNlbmQ6ZnVuY3Rpb24oKXtGQi5Nb25pdG9yLnBlbmRpbmdUaW1lcj1m YWxzZTt2YXIgYT1GQi5Nb25pdG9yLmxvZ2dpbmdFbmFibGVkKCk7RkIuTW9uaXRv ci5sb2dnaW5nRW5hYmxlZENhY2hlPWZhbHNlO3RyeXtpZihGQi5Nb25pdG9yU2Vu ZGVyKXt3aGlsZShGQi5Nb25pdG9yLmxvZ2dpbmdRdWV1ZS5sZW5ndGg+MClpZigh RkIuTW9uaXRvclNlbmRlci5zZW5kKCkpYnJlYWs7fWVsc2UgRkIuTW9uaXRvci50 aW1lckludGVydmFsKj0xLjI7fWZpbmFsbHl7aWYoRkIuTW9uaXRvci5sb2dnaW5n UXVldWUubGVuZ3RoIT09MClGQi5Nb25pdG9yLnNjaGVkdWxlU2VuZCgpO0ZCLk1v bml0b3IubG9nZ2luZ0VuYWJsZWRDYWNoZT1hO319LHRpbWVySW50ZXJ2YWw6Niox MDAwLGludGVybmFsQ2FsbFN0YWNrRGVwdGg6MCxsb2dnaW5nUXVldWU6W10scGVu ZGluZ1RpbWVyOmZhbHNlLGxvZ2dpbmdFbmFibGVkQ2FjaGU6bnVsbH07CmlmKCF3 aW5kb3cuRkIpRkI9e307RkIuZm9yRWFjaD1mdW5jdGlvbihjLGEsZil7aWYoT2Jq ZWN0LnByb3RvdHlwZS50b1N0cmluZy5hcHBseShjKT09PSdbb2JqZWN0IEFycmF5 XScpe2lmKGMuZm9yRWFjaCl7Yy5mb3JFYWNoKGEpO31lbHNlIGZvcih2YXIgYj0w LGU9Yy5sZW5ndGg7YjxlO2IrKylhKGNbYl0sYixjKTt9ZWxzZSBmb3IodmFyIGQg aW4gYylpZihmfHxjLmhhc093blByb3BlcnR5KGQpKWEoY1tkXSxkLGMpO307RkIu Y29weT1mdW5jdGlvbihjLGIsYSl7RkIuZm9yRWFjaChiLGZ1bmN0aW9uKGUsZCl7 aWYoYXx8dHlwZW9mIGNbZF09PT0ndW5kZWZpbmVkJyljW2RdPWU7fSk7fTtGQi5j b3B5KEZCLHskOmZ1bmN0aW9uKGEpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50 QnlJZChhKTt9LFR5cGVMb2FkZXI6e05PVElGWTp7fSxMT0FERURfTU9EVUxFUzp7 fSxMT0FERURfQ0xBU1NFUzp7fSxyZXNvbHZlOmZ1bmN0aW9uKGYsZSxhKXtmb3Io dmFyIGI9MCxjPWUubGVuZ3RoO2I8YztiKyspe3ZhciBkPWVbYl07aWYoZD09PScn KWNvbnRpbnVlO2lmKHR5cGVvZiBmW2RdPT09J3VuZGVmaW5lZCcpaWYoYSl7Zltk XT17fTt9ZWxzZSByZXR1cm4gZmFsc2U7Zj1mW2RdO31yZXR1cm4gZjt9LHByb3Zp ZGU6ZnVuY3Rpb24oYyxiLGEpe0ZCLk1vbml0b3Iud3JhcE9iamVjdChiLGMsZmFs c2UpO3ZhciBkPXRoaXMucmVzb2x2ZSh3aW5kb3csYy5zcGxpdCgnLicpLHRydWUp O2lmKGF8fCF0aGlzLkxPQURFRF9NT0RVTEVTW2NdKXtGQi5jb3B5KGQsYix0cnVl KTtpZihiLl9vbkxvYWQpZC5fb25Mb2FkKCk7fXRoaXMuTE9BREVEX01PRFVMRVNb Y109dHJ1ZTt9LHN1YmNsYXNzOmZ1bmN0aW9uKGUsYSxpKXtpZih0aGlzLkxPQURF RF9DTEFTU0VTW2VdKXJldHVybjtpZihhIT09J0ZCLkNsYXNzJyYmIXRoaXMuTE9B REVEX0NMQVNTRVNbYV0pe0ZCLkxvZy5kZWJ1ZygnIicrZSsnIiBuZWVkcyB0byB3 YWl0IGZvciAiJythKyciJyk7dmFyIGo9RkIucmVkbyhhcmd1bWVudHMsdGhpcyk7 dGhpcy5OT1RJRllbYV0/dGhpcy5OT1RJRllbYV0ucHVzaChqKTp0aGlzLk5PVElG WVthXT1bal07cmV0dXJuO312YXIgYj10aGlzLnJlc29sdmUod2luZG93LGEuc3Bs aXQoJy4nKSksZj1iLmV4dGVuZChpKSxnPXRoaXMuTk9USUZZW2VdLGg9ZS5zcGxp dCgnLicpLGQ9dGhpcy5yZXNvbHZlKHdpbmRvdyxoLHRydWUpLGM9aC5wb3AoKTtG Qi5Nb25pdG9yLndyYXBPYmplY3QoZi5wcm90b3R5cGUsZSx0cnVlKTtGQi5Nb25p dG9yLndyYXBPYmplY3QoZixlLGZhbHNlKTtGQi5jb3B5KGYsZCk7dGhpcy5yZXNv bHZlKHdpbmRvdyxoKVtjXT1mO3RoaXMuTE9BREVEX0NMQVNTRVNbZV09dHJ1ZTtp ZihnKXtGQi5mb3JFYWNoKGcsZnVuY3Rpb24oayl7aygpO30pO2RlbGV0ZSB0aGlz Lk5PVElGWVtlXTt9fX0sYmluZDpmdW5jdGlvbigpe3ZhciBhPUFycmF5LnByb3Rv dHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyksYz1hLnNoaWZ0KCksYj1hLnNoaWZ0 KCk7dmFyIGQ9ZnVuY3Rpb24oKXsrK0ZCLk1vbml0b3IuaW50ZXJuYWxDYWxsU3Rh Y2tEZXB0aDt2YXIgZT1jLmFwcGx5KGIsYS5jb25jYXQoQXJyYXkucHJvdG90eXBl LnNsaWNlLmNhbGwoYXJndW1lbnRzKSkpOy0tRkIuTW9uaXRvci5pbnRlcm5hbENh bGxTdGFja0RlcHRoO3JldHVybiBlO307ZC5fdGFyZ2V0cz1bYixjXTtyZXR1cm4g ZDt9LHJlZG86ZnVuY3Rpb24oYSxjKXt2YXIgYj1BcnJheS5wcm90b3R5cGUuc2xp Y2UuY2FsbChhKTtiLnVuc2hpZnQoYyk7Yi51bnNoaWZ0KGEuY2FsbGVlKTtyZXR1 cm4gRkIuYmluZC5hcHBseShGQixiKTt9LF9zZWN1cmU6KHdpbmRvdy5sb2NhdGlv bi5ocmVmLmluZGV4T2YoJ2h0dHBzJyk9PT0wKXx8KHdpbmRvdy5uYW1lLmluZGV4 T2YoJ19mYl9odHRwcycpPi0xKSxpc1NlY3VyZTpmdW5jdGlvbigpe3JldHVybiBG Qi5fc2VjdXJlO319KTtGQi5wcm92aWRlPUZCLmJpbmQoRkIuVHlwZUxvYWRlci5w cm92aWRlLEZCLlR5cGVMb2FkZXIpO0ZCLnN1YmNsYXNzPUZCLmJpbmQoRkIuVHlw ZUxvYWRlci5zdWJjbGFzcyxGQi5UeXBlTG9hZGVyKTsKKGZ1bmN0aW9uKCl7dmFy IGI9ZmFsc2UsYT0veHl6Ly50ZXN0KGZ1bmN0aW9uKCl7eHl6O30pPy9cYl9zdXBl clxiLzovLiovO0ZCLkNsYXNzPWZ1bmN0aW9uKCl7fTtGQi5DbGFzcy5leHRlbmQ9 ZnVuY3Rpb24oZSl7dmFyIGQ9dGhpcy5wcm90b3R5cGU7Yj10cnVlO3ZhciBmPW5l dyB0aGlzKCk7Yj1mYWxzZTtGQi5mb3JFYWNoKGUsZnVuY3Rpb24oaCxnKXtmW2dd PXR5cGVvZiBoPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGRbZ109PT0iZnVuY3Rpb24i JiZhLnRlc3QoaCk/KGZ1bmN0aW9uKGosaSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFy IGw9dGhpcy5fc3VwZXI7dGhpcy5fc3VwZXI9ZFtqXTt2YXIgaz1pLmFwcGx5KHRo aXMsYXJndW1lbnRzKTt0aGlzLl9zdXBlcj1sO3JldHVybiBrO307fSkoZyxoKTpo O30pO3ZhciBjPWZ1bmN0aW9uKCl7aWYoIWIpe3ZhciBnO2lmKHRoaXMgaW5zdGFu Y2VvZiBjKXtnPXRoaXM7fWVsc2V7Yj10cnVlO2c9bmV3IGMoKTtiPWZhbHNlO31p ZihnLmluaXQpZy5pbml0LmFwcGx5KGcsYXJndW1lbnRzKTtyZXR1cm4gZzt9fTtj LnByb3RvdHlwZT1mO2MuY29uc3RydWN0b3I9YztjLmV4dGVuZD1GQi5DbGFzcy5l eHRlbmQ7cmV0dXJuIGM7fTt9KSgpOwpGQi5wcm92aWRlKCdGQi5Mb2cnLHtsZXZl bDotMSxMZXZlbDp7REVCVUc6MyxJTkZPOjIsV0FSTklORzoxLEVSUk9SOjB9LF9o ZWxwZXI6ZnVuY3Rpb24oKXt2YXIgYT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2Fs bChhcmd1bWVudHMpLGM9YS5zaGlmdCgpLGI9YS5zaGlmdCgpO2lmKHRoaXMubGV2 ZWw+PWImJndpbmRvdy5jb25zb2xlKShjb25zb2xlW2NdfHxjb25zb2xlLmxvZyku YXBwbHkoY29uc29sZSxhKTt9fSk7RkIucHJvdmlkZSgnRkIuTG9nJyx7ZGVidWc6 RkIuYmluZChGQi5Mb2cuX2hlbHBlcixGQi5Mb2csJ2RlYnVnJyxGQi5Mb2cuTGV2 ZWwuREVCVUcpLGluZm86RkIuYmluZChGQi5Mb2cuX2hlbHBlcixGQi5Mb2csJ2lu Zm8nLEZCLkxvZy5MZXZlbC5JTkZPKSx3YXJuOkZCLmJpbmQoRkIuTG9nLl9oZWxw ZXIsRkIuTG9nLCd3YXJuJyxGQi5Mb2cuTGV2ZWwuV0FSTklORyksZXJyb3I6RkIu YmluZChGQi5Mb2cuX2hlbHBlcixGQi5Mb2csJ2Vycm9yJyxGQi5Mb2cuTGV2ZWwu RVJST1IpfSx0cnVlKTsKaWYoIXdpbmRvdy5GQilGQj17fTtpZighRkIuVHlwZSl7 RkIuVHlwZT17Y3JlYXRlTmFtZXNwYWNlOmZ1bmN0aW9uKGIpe3ZhciBkPXdpbmRv dzt2YXIgYz1iLnNwbGl0KCcuJyk7Zm9yKHZhciBhPTA7YTxjLmxlbmd0aDthKysp e3ZhciBmPWNbYV07dmFyIGU9ZFtmXTtpZighZSlkW2ZdPWU9e307ZD1lO31yZXR1 cm4gZDt9LGNyZWF0ZUVudW06ZnVuY3Rpb24oZSxjLGQpe2lmKHRoaXMuZ2V0T2Jq KGUpKXJldHVybjt2YXIgYT1mdW5jdGlvbigpe307YS5wcm90b3R5cGU9Yztmb3Io dmFyIGIgaW4gYylhW2JdPWNbYl07aWYoZClhLl9fZmxhZ3M9dHJ1ZTt0aGlzLnNl dE9iaihlLGEpO30sY3JlYXRlQ2xhc3MyOmZ1bmN0aW9uKGNscyxiYXNlVHlwZSl7 aWYoYmFzZVR5cGUmJnR5cGVvZihiYXNlVHlwZSk9PSJzdHJpbmciKWJhc2VUeXBl PWV2YWwoYmFzZVR5cGUpO2Nscy5wcm90b3R5cGUuY29uc3RydWN0b3I9Y2xzO3Ro aXMuZXh0ZW5kKGNscyxGQi5UeXBlLk1ldGhvZHMpO2Nscy5fX2Jhc2VUeXBlPWJh c2VUeXBlfHxPYmplY3Q7aWYoYmFzZVR5cGUpY2xzLl9fYmFzZVByb3RvdHlwZVBl bmRpbmc9dHJ1ZTt9LHNldE9iajpmdW5jdGlvbihmdWxsTmFtZSx2YWx1ZSl7dmFy IGk9ZnVsbE5hbWUubGFzdEluZGV4T2YoJy4nKTt2YXIgb2JqTmFtZTt2YXIgc2Nv cGU9d2luZG93O2lmKGk+MCl7dmFyIG5zPWZ1bGxOYW1lLnN1YnN0cmluZygwLGkp O3RoaXMuY3JlYXRlTmFtZXNwYWNlKG5zKTtvYmpOYW1lPWZ1bGxOYW1lLnN1YnN0 cmluZyhpKzEpO3Njb3BlPWV2YWwobnMpO31lbHNlIG9iak5hbWU9ZnVsbE5hbWU7 c2NvcGVbb2JqTmFtZV09dmFsdWU7fSxnZXRPYmo6ZnVuY3Rpb24oYil7dmFyIGQ9 d2luZG93O3ZhciBjPWIuc3BsaXQoJy4nKTtmb3IodmFyIGE9MDthPGMubGVuZ3Ro O2ErKyl7dmFyIGU9Y1thXTtkPWRbZV07aWYoIWQpYnJlYWs7fXJldHVybiBkO30s Y3JlYXRlQ2xhc3M6ZnVuY3Rpb24oYSxiKXtpZih0aGlzLmdldE9iaihhKSlyZXR1 cm47aWYoYXJndW1lbnRzLmxlbmd0aD09MSYmdHlwZW9mKGEpIT0ic3RyaW5nIil7 cmV0dXJuIHRoaXMuX2NyZWF0ZUNsYXNzKGEpO31lbHNlIHRoaXMuc2V0T2JqKGEs dGhpcy5fY3JlYXRlQ2xhc3MoYikpO30sX2NyZWF0ZUNsYXNzOmZ1bmN0aW9uKGIp e3ZhciBhPWIuY3Rvcnx8ZnVuY3Rpb24oKXt9O2lmKGIuc3RhdGljX2N0b3IpdGhp cy5hZGRTdGF0aWNJbml0KGIuc3RhdGljX2N0b3IpO2lmKGIuaW5zdGFuY2UpYS5w cm90b3R5cGU9Yi5pbnN0YW5jZTtpZihiWydzdGF0aWMnXSl0aGlzLmV4dGVuZChh LGJbJ3N0YXRpYyddKTt0aGlzLmNyZWF0ZUNsYXNzMihhLGIuYmFzZSk7cmV0dXJu IGE7fSxhZGRTdGF0aWNJbml0OmZ1bmN0aW9uKGEpe2lmKCFGQi5UeXBlLl9wZW5k aW5nSW5pdHMpRkIuVHlwZS5fcGVuZGluZ0luaXRzPVtdO0ZCLlR5cGUuX3BlbmRp bmdJbml0c1tGQi5UeXBlLl9wZW5kaW5nSW5pdHMubGVuZ3RoXT1hO3dpbmRvdy5z ZXRUaW1lb3V0KEZCLlR5cGUucnVuUGVuZGluZ0luaXRzLDApO30scnVuUGVuZGlu Z0luaXRzOmZ1bmN0aW9uKCl7aWYoRkIuVHlwZS5fcGVuZGluZ0luaXRzKXt2YXIg Yj1GQi5UeXBlLl9wZW5kaW5nSW5pdHM7RkIuVHlwZS5fcGVuZGluZ0luaXRzPW51 bGw7dmFyIGE9Yi5sZW5ndGg7Zm9yKHZhciBjPTA7YzxhO2MrKyliW2NdKCk7fX0s ZXh0ZW5kOmZ1bmN0aW9uKGEsYyl7Zm9yKHZhciBiIGluIGMpYVtiXT1jW2JdO3Jl dHVybiBhO30sZ2V0SW5zdGFuY2VUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNv bnN0cnVjdG9yO319O0ZCLlR5cGUuTWV0aG9kcz17c2V0dXBCYXNlOmZ1bmN0aW9u KCl7aWYodGhpcy5fX2Jhc2VQcm90b3R5cGVQZW5kaW5nKXt2YXIgYT10aGlzLl9f YmFzZVR5cGU7aWYoYS5fX2Jhc2VQcm90b3R5cGVQZW5kaW5nKWEuc2V0dXBCYXNl KCk7Zm9yKHZhciBiIGluIGEucHJvdG90eXBlKXt2YXIgYz1hLnByb3RvdHlwZVti XTtpZighdGhpcy5wcm90b3R5cGVbYl0pdGhpcy5wcm90b3R5cGVbYl09Yzt9ZGVs ZXRlIHRoaXMuX19iYXNlUHJvdG90eXBlUGVuZGluZzt9fSxjb25zdHJ1Y3RCYXNl OmZ1bmN0aW9uKGIsYSl7aWYodGhpcy5fX2Jhc2VQcm90b3R5cGVQZW5kaW5nKXRo aXMuc2V0dXBCYXNlKCk7aWYoIWEpe3RoaXMuX19iYXNlVHlwZS5hcHBseShiKTt9 ZWxzZSB0aGlzLl9fYmFzZVR5cGUuYXBwbHkoYixhKTt9LGNhbGxCYXNlOmZ1bmN0 aW9uKGMsZCxhKXt2YXIgYj10aGlzLl9fYmFzZVR5cGUucHJvdG90eXBlW2RdO2lm KCFhKXtyZXR1cm4gYi5hcHBseShjKTt9ZWxzZSByZXR1cm4gYi5hcHBseShjLGEp O30sZ2V0X2Jhc2VUeXBlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX19iYXNlVHlw ZXx8bnVsbDt9fTt9CkZCLnByb3ZpZGUoJ0ZCLkhpZGRlbkNvbnRhaW5lcicse19v bkxvYWQ6ZnVuY3Rpb24oKXtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnRkJf SGlkZGVuQ29udGFpbmVyJyk9PW51bGwpe3ZhciBiO3RyeXt2YXIgaXNJRT13aW5k b3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ21z aWUnKT49MCYmd2luZG93LmF0dGFjaEV2ZW50O2lmKCghaXNJRXx8ZG9jdW1lbnQu cmVhZHlTdGF0ZT09J2NvbXBsZXRlZCcpJiZkb2N1bWVudC5ib2R5KXtiPWRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2IuaWQ9IkZCX0hpZGRlbkNvbnRhaW5l ciI7Yi5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO2Iuc3R5bGUudG9wPSItMTAw MDBweCI7Yi5zdHlsZS53aWR0aD0iMHB4IjtiLnN0eWxlLmhlaWdodD0iMHB4Ijtk b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGIpO319Y2F0Y2goYSl7Yj1udWxsO31p ZighYilkb2N1bWVudC53cml0ZSgnPGRpdiBpZD0iRkJfSGlkZGVuQ29udGFpbmVy IiAnKydzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDotMTAwMDBweDsgbGVm dDotMTAwMDBweDsgd2lkdGg6MHB4OyBoZWlnaHQ6MHB4OyIgPicrJzwvZGl2Picp O319LGdldDpmdW5jdGlvbigpe3JldHVybiBGQi4kKCdGQl9IaWRkZW5Db250YWlu ZXInKTt9fSk7CkZCLnByb3ZpZGUoJ0ZCLkhpZGRlbkNvbnRhaW5lckxvYWRlcics e19vbkxvYWQ6ZnVuY3Rpb24oKXtGQi5IaWRkZW5Db250YWluZXIuZ2V0KCk7fX0p OwpGQi5zdWJjbGFzcygnRkIuRGVsZWdhdGUnLCdGQi5DbGFzcycse30pO0ZCLnBy b3ZpZGUoJ0ZCLkRlbGVnYXRlJyx7TnVsbDpmdW5jdGlvbigpe30sX2NyZWF0ZTpm dW5jdGlvbihiKXt2YXIgYT1mdW5jdGlvbigpe2lmKGIubGVuZ3RoPT0yKXtyZXR1 cm4gYlsxXS5hcHBseShiWzBdLGFyZ3VtZW50cyk7fWVsc2V7dmFyIGQ9Yi5zbGlj ZSgpO2Zvcih2YXIgYz0wO2M8ZC5sZW5ndGg7Yys9MilkW2MrMV0uYXBwbHkoZFtj XSxhcmd1bWVudHMpO3JldHVybiBudWxsO319O2EuX3RhcmdldHM9YjtyZXR1cm4g YTt9LGNyZWF0ZTpmdW5jdGlvbihiLGEpe2lmKCFiKXJldHVybiBhO3JldHVybiBG Qi5EZWxlZ2F0ZS5fY3JlYXRlKFtiLGFdKTt9LGNvbWJpbmU6ZnVuY3Rpb24oYSxi KXtpZighYSl7aWYoIWIuX3RhcmdldHMpcmV0dXJuIEZCLkRlbGVnYXRlLmNyZWF0 ZShudWxsLGIpO3JldHVybiBiO31pZighYil7aWYoIWEuX3RhcmdldHMpcmV0dXJu IEZCLkRlbGVnYXRlLmNyZWF0ZShudWxsLGEpO3JldHVybiBhO312YXIgYz1hLl90 YXJnZXRzP2EuX3RhcmdldHM6W251bGwsYV07dmFyIGQ9Yi5fdGFyZ2V0cz9iLl90 YXJnZXRzOltudWxsLGJdO3JldHVybiBGQi5EZWxlZ2F0ZS5fY3JlYXRlKGMuY29u Y2F0KGQpKTt9LHJlbW92ZTpmdW5jdGlvbihhLGIpe2lmKCFhfHwoYT09PWIpKXJl dHVybiBudWxsO2lmKCFiKXJldHVybiBhO3ZhciBmPWEuX3RhcmdldHM7dmFyIGU9 bnVsbDt2YXIgZDtpZihiLl90YXJnZXRzKXtlPWIuX3RhcmdldHNbMF07ZD1iLl90 YXJnZXRzWzFdO31lbHNlIGQ9Yjtmb3IodmFyIGM9MDtjPGYubGVuZ3RoO2MrPTIp aWYoKGZbY109PT1lKSYmKGZbYysxXT09PWQpKXtpZihmLmxlbmd0aD09MilyZXR1 cm4gbnVsbDtmLnNwbGljZShjLDIpO3JldHVybiBGQi5EZWxlZ2F0ZS5fY3JlYXRl KGYpO31yZXR1cm4gYTt9fSk7aWYoIXdpbmRvdy5EZWxlZ2F0ZSl3aW5kb3cuRGVs ZWdhdGU9RkIuRGVsZWdhdGU7CmlmKCF3aW5kb3cuRkIpRkI9e307aWYoIUZCLkxv YWRlcilGQi5Mb2FkZXI9e2xvYWRlZDp7fSxsb2FkaW5nOnt9LGxvYWRlZENzczp7 fSxsb2FkZWRDYWxsYmFjazpudWxsLG9uU2NyaXB0TG9hZGVkOmZ1bmN0aW9uKGIp e3ZhciBhPWIubGVuZ3RoO2Zvcih2YXIgYz0wO2M8YTtjKyspe3ZhciBkPWJbY107 RkIuTG9hZGVyLmxvYWRlZFtkXT10cnVlO31pZihGQi5Mb2FkZXIubG9hZGVkQ2Fs bGJhY2spd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtGQi5Mb2FkZXIubG9h ZGVkQ2FsbGJhY2soYik7fSwwKTt9LGxvYWRDc3NDb21wczpmdW5jdGlvbihhKXt2 YXIgYj1GQi5Mb2FkZXIuZ2V0U3RhdGljUmVzb3VyY2VVcmwoJ2Nvbm5lY3QucGhw LycrRkIubG9jYWxlKycvY3NzLycrYS5qb2luKCcvJykpO2lmKCF0aGlzLmxvYWRl ZENzc1tiXSl7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO2Mu c2V0QXR0cmlidXRlKCdyZWwnLCdzdHlsZXNoZWV0Jyk7Yy5zZXRBdHRyaWJ1dGUo J3R5cGUnLCd0ZXh0L2NzcycpO2Muc2V0QXR0cmlidXRlKCdocmVmJyxiKTtkb2N1 bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxk KGMpO3RoaXMubG9hZGVkQ3NzW2JdPXRydWU7fX0sZ2V0U3RhdGljUmVzb3VyY2VV cmw6ZnVuY3Rpb24oYil7dmFyIGE9RkIuZHluRGF0YS5yZXNvdXJjZXMuYmFzZV91 cmxfZm9ybWF0O3ZhciBjPShhLmluZGV4T2YoJ2h0dHBzJyk9PT0wKT8nd3d3Jzon c3RhdGljLmFrJztyZXR1cm4gYS5yZXBsYWNlKCd7MH0nLGMpK2I7fX07CmlmKCFG Qi5Cb290c3RyYXApe0ZCLkJvb3RzdHJhcD17cmVxdWlyZUZlYXR1cmVzOmZ1bmN0 aW9uKGUsYyl7aWYoRkIuQm9vdHN0cmFwLmlzWGRDaGFubmVsKXJldHVybjt2YXIg aT17ZmVhdHVyZXM6ZSxjYWxsYmFjazpGQi5Nb25pdG9yLmV4dGVybmFsQ2FsbGJh Y2soYyksY29tcGxldGVkOmZhbHNlfTtpZihGQi5Cb290c3RyYXAuX2NoZWNrUmVx dWVzdChpKSlyZXR1cm47RkIuQm9vdHN0cmFwLl9mZWF0dXJlUmVxUXVldWUucHVz aChpKTtGQi5Mb2FkZXIubG9hZGVkQ2FsbGJhY2s9RkIuRGVsZWdhdGUuY29tYmlu ZShGQi5Mb2FkZXIubG9hZGVkQ2FsbGJhY2ssRkIuQm9vdHN0cmFwLl9vbkNvbXBM b2FkZWQpO0ZCLkJvb3RzdHJhcC5fdHJhbnNmb3JtRmVhdHVyZUxpc3QoZSk7dmFy IGg9e307dmFyIGE9W107dmFyIGY7dmFyIGI9ZS5sZW5ndGg7dmFyIGc9MDtmb3Io Zj0wO2Y8YjtmKyspe3ZhciBkPWVbZl07aWYoIShGQi5Mb2FkZXIubG9hZGVkW2Rd KSlpZighKEZCLkxvYWRlci5sb2FkZWRbZF18fEZCLkxvYWRlci5sb2FkaW5nW2Rd KSl7aFtkXT10cnVlO2FbYS5sZW5ndGhdPWQ7fX1hLnNvcnQoKTt2YXIgaj1GQi5M b2FkZXIuZ2V0U3RhdGljUmVzb3VyY2VVcmwoJ2Nvbm5lY3QucGhwLycrRkIubG9j YWxlKycvanMvJythLmpvaW4oJy8nKSk7RkIuQm9vdHN0cmFwLmFkZFNjcmlwdChq KTt9LF9yZXF1aXJlRmVhdHVyZXM6ZnVuY3Rpb24oYixhKXt0aGlzLnJlcXVpcmVG ZWF0dXJlcyhiLEZCLmJpbmQoYSkpO30sX2NoZWNrUmVxdWVzdDpmdW5jdGlvbihk KXtpZighZC5jb21wbGV0ZWQpe3ZhciBiPTA7dmFyIGU9ZC5mZWF0dXJlcy5sZW5n dGg7dmFyIGM9MDtmb3IoYj0wO2I8ZTtiKyspe3ZhciBhPWQuZmVhdHVyZXNbYl07 aWYoRkIuTG9hZGVyLmxvYWRlZFthXSljKys7fWlmKGM9PWUpe2QuY29tcGxldGVk PXRydWU7aWYoZC5jYWxsYmFjaylkLmNhbGxiYWNrKHRydWUpO319cmV0dXJuIGQu Y29tcGxldGVkO30sX3RyYW5zZm9ybUZlYXR1cmVMaXN0OmZ1bmN0aW9uKGIpe3Zh ciBjPXtBcGk6dHJ1ZSxDYW52YXNVdGlsOnRydWUsQ29ubmVjdDp0cnVlLFhGQk1M OnRydWV9O3ZhciBhPWIubGVuZ3RoO3ZhciBnPWZhbHNlO3ZhciBmPXt9O2Zvcih2 YXIgZD0wO2Q8YTtkKyspe2ZbYltkXV09dHJ1ZTtpZihjW2JbZF1dKWc9dHJ1ZTt9 aWYoZylmb3IodmFyIGUgaW4gYylpZighZltlXSliW2IubGVuZ3RoXT1lO30sZW5z dXJlSW5pdDpmdW5jdGlvbihhKXtpZighYSl0aHJvdyAoIkZCLmVuc3VyZUluaXQg Y2FsbGVkIHdpdGhvdXQgYSB2YWxpZCBjYWxsYmFjayIpO2E9RkIuTW9uaXRvci5l eHRlcm5hbENhbGxiYWNrKGEpO2lmKEZCLkZhY2Vib29rJiZGQi5GYWNlYm9vay5n ZXRfaW5pdGlhbGl6ZWQmJkZCLkZhY2Vib29rLmdldF9pbml0aWFsaXplZCgpLmdl dF9pc1JlYWR5KCkmJkZCLkZhY2Vib29rLmdldF9pbml0aWFsaXplZCgpLnJlc3Vs dClyZXR1cm4gYSgpO0ZCLkJvb3RzdHJhcC5fcmVxdWlyZUZlYXR1cmVzKEZCLkJv b3RzdHJhcC5mZWF0dXJlcyxmdW5jdGlvbigpe0ZCLkZhY2Vib29rLmdldF9pbml0 aWFsaXplZCgpLndhaXRGb3JWYWx1ZSh0cnVlLGEpO30pO30saW5pdDpmdW5jdGlv bihhLGMsYil7RkIuQm9vdHN0cmFwLl9yZXF1aXJlRmVhdHVyZXMoRkIuQm9vdHN0 cmFwLmZlYXR1cmVzLGZ1bmN0aW9uKCl7aWYoRkIuRmFjZWJvb2spRkIuRmFjZWJv b2suaW5pdChhLGMsYik7fSk7fSxhZGRTY3JpcHQ6ZnVuY3Rpb24oZil7dmFyIGQ7 dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpO2lm KGUpe3ZhciBhPWUubGVuZ3RoO2Zvcih2YXIgYj0wO2I8YTtiKyspe2Q9ZVtiXTtp ZihkLnNyYz09ZilyZXR1cm47fX1kPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNj cmlwdCIpO2QudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtkLnNyYz1mO3ZhciBjPWRv Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdIRUFEJylbMF18fGRvY3VtZW50 LmJvZHk7Yy5hcHBlbmRDaGlsZChkKTt9LHNldExvY2FsZTpmdW5jdGlvbihiLGEp e3dpbmRvdy5GQi5sb2NhbGU9Yjt3aW5kb3cuRkIubG9jYWxlSXNSVEw9YTt9LF9p bml0aWFsaXplWGRDaGFubmVsOmZ1bmN0aW9uKCl7RkIuQm9vdHN0cmFwLmlzWGRD aGFubmVsPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZihGQi5Cb290c3Ry YXAuZmJjX2NoYW5uZWxfdG9rZW4pPj0wO30sX2RldGVjdERvY3VtZW50TmFtZXNw YWNlczpmdW5jdGlvbigpe2lmKGRvY3VtZW50Lm5hbWVzcGFjZXMmJiFkb2N1bWVu dC5uYW1lc3BhY2VzLml0ZW1bJ2ZiJ10pZG9jdW1lbnQubmFtZXNwYWNlcy5hZGQo J2ZiJyk7fSxjcmVhdGVEZWZhdWx0WGRDaGFubmVsVXJsOmZ1bmN0aW9uKCl7dmFy IGE9bG9jYXRpb24ucHJvdG9jb2wrJy8vJytsb2NhdGlvbi5ob3N0bmFtZStsb2Nh dGlvbi5wYXRobmFtZStsb2NhdGlvbi5zZWFyY2g7aWYobG9jYXRpb24uc2VhcmNo fHxsb2NhdGlvbi5zZWFyY2gubGVuZ3RoPjApe2ErPScmJzt9ZWxzZSBhKz0nPyc7 YSs9J2ZiY19jaGFubmVsPTEnO3JldHVybiBhO30sX29uQ29tcExvYWRlZDpmdW5j dGlvbigpe3ZhciBiPTA7dmFyIGE9RkIuQm9vdHN0cmFwLl9mZWF0dXJlUmVxUXVl dWUubGVuZ3RoO2ZvcihiPTA7YjxhO2IrKylGQi5Cb290c3RyYXAuX2NoZWNrUmVx dWVzdChGQi5Cb290c3RyYXAuX2ZlYXR1cmVSZXFRdWV1ZVtiXSk7fSxfb25Mb2Fk OmZ1bmN0aW9uKCl7dGhpcy5faW5pdGlhbGl6ZVhkQ2hhbm5lbCgpO3RoaXMuX2Rl dGVjdERvY3VtZW50TmFtZXNwYWNlcygpO30sZmVhdHVyZXM6WyJYRkJNTCIsIkNh bnZhc1V0aWwiXSxmYmNfY2hhbm5lbF90b2tlbjonZmJjX2NoYW5uZWw9MScsX2Zl YXR1cmVSZXFRdWV1ZTpbXX07RkIuTW9uaXRvci53cmFwT2JqZWN0KEZCLkJvb3Rz dHJhcCwnRkIuQm9vdHN0cmFwJyk7d2luZG93LkZCX1JlcXVpcmVGZWF0dXJlcz1G Qi5Cb290c3RyYXAucmVxdWlyZUZlYXR1cmVzO3dpbmRvdy5GQi5pbml0PUZCLkJv b3RzdHJhcC5pbml0O3dpbmRvdy5GQi5lbnN1cmVJbml0PUZCLkJvb3RzdHJhcC5l bnN1cmVJbml0O0ZCLkJvb3RzdHJhcC5fb25Mb2FkKCk7fQppZighd2luZG93LkZC SW50ZXJuKUZCSW50ZXJuPXt9O2lmKCFGQkludGVybi5YZFJlY2VpdmVyKXtGQklu dGVybi5YZFJlY2VpdmVyPXtkZWxheToxMDAsdGltZXJJZDotMSxkaXNwYXRjaE1l c3NhZ2U6ZnVuY3Rpb24oKXt2YXIgaD1kb2N1bWVudC5VUkw7dmFyIGY9aC5pbmRl eE9mKCcjJyk7dmFyIGQ7aWYoZj4wKXtkPWguc3Vic3RyaW5nKGYrMSk7fWVsc2V7 Zj1oLmluZGV4T2YoJ2ZiX2xvZ2luJicpO2lmKGY+MCl7ZD1oLnN1YnN0cmluZyhm KzkpO31lbHNlIHJldHVybjt9dmFyIGE9J2RlYnVnPTEmJztpZihkLmluZGV4T2Yo YSk9PTApZD1kLnN1YnN0cmluZyhhLmxlbmd0aCk7dmFyIGc7dmFyIGM9bnVsbDt0 cnl7dmFyIGhvc3RXaW5kb3c9d2luZG93LnBhcmVudDtpZihkLmluZGV4T2YoJ2Zu YW1lPScpPT0wKXt2YXIgcGFja2V0U3RhcnQ9ZC5pbmRleE9mKCcmJyk7dmFyIGZy YW1lX25hbWU9ZC5zdWJzdHIoNixwYWNrZXRTdGFydC02KTtpZihmcmFtZV9uYW1l PT0iX29wZW5lciIpe2hvc3RXaW5kb3c9aG9zdFdpbmRvdy5vcGVuZXI7fWVsc2Ug aWYoZnJhbWVfbmFtZT09Il9vcGFyZW4iKXtob3N0V2luZG93PWhvc3RXaW5kb3cu b3BlbmVyLnBhcmVudDt9ZWxzZSBpZihmcmFtZV9uYW1lIT0iX3BhcmVudCIpaG9z dFdpbmRvdz1ob3N0V2luZG93LmZyYW1lc1tmcmFtZV9uYW1lXTtnPWQuc3Vic3Ry KHBhY2tldFN0YXJ0KzEpO31lbHNle2hvc3RXaW5kb3c9aG9zdFdpbmRvdy5wYXJl bnQ7Zz1kO31jPWhvc3RXaW5kb3cuRkIuWGRDb21tLlNlcnZlci5zaW5nbGV0b24u b25SZWNlaXZlckxvYWRlZDt9Y2F0Y2goYil7aWYoYi5udW1iZXI9PS0yMTQ2ODI4 MjE4KXJldHVybjt9aWYoYyl7aG9zdFdpbmRvdy5GQi5YZENvbW0uU2VydmVyLnNp bmdsZXRvbi5vblJlY2VpdmVyTG9hZGVkKGcpO2lmKEZCSW50ZXJuLlhkUmVjZWl2 ZXIudGltZXJJZCE9LTEpe3dpbmRvdy5jbGVhckludGVydmFsKEZCSW50ZXJuLlhk UmVjZWl2ZXIudGltZXJJZCk7RkJJbnRlcm4uWGRSZWNlaXZlci50aW1lcklkPS0x O319ZWxzZSBpZihGQkludGVybi5YZFJlY2VpdmVyLnRpbWVySWQ9PS0xKXRyeXtG QkludGVybi5YZFJlY2VpdmVyLnRpbWVySWQ9d2luZG93LnNldEludGVydmFsKEZC SW50ZXJuLlhkUmVjZWl2ZXIuZGlzcGF0Y2hNZXNzYWdlLEZCSW50ZXJuLlhkUmVj ZWl2ZXIuZGVsYXkpO31jYXRjaChiKXt9fX07aWYoISh3aW5kb3cuRkImJkZCLkJv b3RzdHJhcCYmIUZCLkJvb3RzdHJhcC5pc1hkQ2hhbm5lbCkpdHJ5e0ZCSW50ZXJu LlhkUmVjZWl2ZXIuZGlzcGF0Y2hNZXNzYWdlKCk7fWNhdGNoKGUpe319KGZ1bmN0 aW9uKCl7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3Njcmlw dCcpO3ZhciBkPWNbYy5sZW5ndGgtMV07aWYoZCE9dW5kZWZpbmVkKXt2YXIgYT1k LmdldEF0dHJpYnV0ZSgnZmItYXBpLWtleScpO3ZhciBiPWQuZ2V0QXR0cmlidXRl KCdmYi14ZC1yZWNlaXZlcicpO2lmKGEhPW51bGwpd2luZG93LnNldFRpbWVvdXQo ZnVuY3Rpb24oKXtGQi5pbml0KGEsYik7fSwwKTt9fSkoKTsKCgppZiAoRkIgJiYg RkIuTG9hZGVyKSB7IEZCLkxvYWRlci5vblNjcmlwdExvYWRlZChbIkZCLm1vbml0 b3Itd3JhcHBlciIsIkZCLlByZWx1ZGUiLCJGQi5DbGFzcyIsIkZCLkxvZyIsIkZC LlR5cGUiLCJGQi5IaWRkZW5Db250YWluZXIiLCJGQi5IaWRkZW5Db250YWluZXJM b2FkZXIiLCJGQi5EZWxlZ2F0ZSIsIkZCLkxvYWRlciIsIkZCLkJvb3RzdHJhcCIs IlhkQ29tbVJlY2VpdmVyIl0pOyB9 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=buttons.js Content-Type: application/javascript; charset=UTF-8; name=buttons.js Content-Location: http://w.sharethis.com/button/buttons.js?ver=3.1 Content-Transfer-Encoding: Base64 dmFyIGNvb2tpZT1uZXcgZnVuY3Rpb24oKXtyZXR1cm57c2V0Q29va2llOmZ1bmN0 aW9uKGQsZixoKXtpZihoKXt2YXIgYz1uZXcgRGF0ZSgpO2Muc2V0VGltZShjLmdl dFRpbWUoKSsoaCoyNCo2MCo2MCoxMDAwKSk7dmFyIGE9IjsgZXhwaXJlcz0iK2Mu dG9HTVRTdHJpbmcoKX1lbHNle3ZhciBhPSIifXZhciBiPWQrIj0iK2VzY2FwZShm KSthO3ZhciBnPWRvY3VtZW50LmRvbWFpbi5zcGxpdCgvXC4vKTt2YXIgZT0iIjtp ZihnLmxlbmd0aD4xKXtlPSIuIitnW2cubGVuZ3RoLTJdKyIuIitnW2cubGVuZ3Ro LTFdfWIrPSI7IGRvbWFpbj0iK2VzY2FwZShlKSsiO3BhdGg9LyI7ZG9jdW1lbnQu Y29va2llPWJ9LGdldENvb2tpZTpmdW5jdGlvbihiKXt2YXIgYT1kb2N1bWVudC5j b29raWUubWF0Y2goIihefDspID8iK2IrIj0oW147XSopKDt8JCkiKTtpZihhKXty ZXR1cm4odW5lc2NhcGUoYVsyXSkpfWVsc2V7cmV0dXJuIGZhbHNlfX0sZGVsZXRl Q29va2llOmZ1bmN0aW9uKGEpe3ZhciBjPSIvIjt2YXIgZD1kb2N1bWVudC5kb21h aW4uc3BsaXQoL1wuLyk7dmFyIGI9IiI7aWYoZC5sZW5ndGg+MSl7Yj0iLiIrZFtk Lmxlbmd0aC0yXSsiLiIrZFtkLmxlbmd0aC0xXX1kb2N1bWVudC5jb29raWU9YSsi PSIrKChjKT8iO3BhdGg9IitjOiIiKSsoKGIpPyI7ZG9tYWluPSIrYjoiIikrIjtl eHBpcmVzPVRodSwgMDEtSmFuLTE5NzAgMDA6MDA6MDEgR01UIn19fSgpO2lmKHR5 cGVvZihfZ2FxKSE9PSJ1bmRlZmluZWQiKXtfZ2FxLnB1c2goZnVuY3Rpb24oKXt2 YXIgYT1fZ2F0Ll9nZXRUcmFja2VyQnlOYW1lKCk7X19zdFB1YkdBPWEuX2dldEFj Y291bnQoKX0pfWlmKHR5cGVvZihzdExpZ2h0KT09InVuZGVmaW5lZCImJnR5cGVv ZihTSEFSRVRISVMpPT0idW5kZWZpbmVkIil7dmFyIHN0UmVjZW50U2VydmljZXM9 ZmFsc2U7dmFyIGJldGFCbGFja2xpc3Q9WyJjb21wdXRlcndvcmxkLmNvbSIsIm5l dHdvcmt3b3JsZC5jb20iLCJjaW8uY29tIiwiaW5mb3dvcmxkLmNvbSIsImZvcmJl cy5jb20iLCJwZXJlemhpbHRvbi5jb20iLCJwZ2VzdG9yZS5jb20iLCJ0aGVwb3N0 Z2FtZS5jb20iXTtpZih0eXBlb2Yoc3dpdGNoVG81eCk9PSJ1bmRlZmluZWQiKXtz d2l0Y2hUbzV4PWZhbHNlO3ZhciByTnVtRm9yNXg9Y29va2llLmdldENvb2tpZSgi X19zd2l0Y2hUbzV4Iik7aWYock51bUZvcjV4PT1mYWxzZSl7dmFyIHJOdW1Gb3I1 eD0xK01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxMDApO2Nvb2tpZS5zZXRDb29r aWUoIl9fc3dpdGNoVG81eCIsck51bUZvcjV4LCIzMDAiKX12YXIgdGVzdExpbWl0 Rm9yNXg9MDtpZihyTnVtRm9yNXg8PXRlc3RMaW1pdEZvcjV4KXtzd2l0Y2hUbzV4 PXRydWV9Zm9yKHZhciBpPTA7aTxiZXRhQmxhY2tsaXN0Lmxlbmd0aDtpKyspe2lm KGRvY3VtZW50LmRvbWFpbi5zZWFyY2goYmV0YUJsYWNrbGlzdFtpXSkhPSItMSIp e3N3aXRjaFRvNXg9ZmFsc2U7YnJlYWt9fX1zdExpZ2h0PW5ldyBmdW5jdGlvbigp e3RoaXMucHVibGlzaGVyPW51bGw7dGhpcy5zZXNzaW9uSURfdGltZT0obmV3IERh dGUoKSkuZ2V0VGltZSgpLnRvU3RyaW5nKCk7dGhpcy5zZXNzaW9uSURfcmFuZD1O dW1iZXIoTWF0aC5yYW5kb20oKS50b1ByZWNpc2lvbig1KS50b1N0cmluZygpLnN1 YnN0cigyKSkudG9TdHJpbmcoKTt0aGlzLnNlc3Npb25JRD10aGlzLnNlc3Npb25J RF90aW1lKyIuIit0aGlzLnNlc3Npb25JRF9yYW5kO3RoaXMuZnBjPW51bGw7dGhp cy5jb3VudGVyPTA7dGhpcy5yZWFkeVJ1bj1mYWxzZTt0aGlzLm1ldGE9e2hvc3Ru YW1lOmRvY3VtZW50LmxvY2F0aW9uLmhvc3QsbG9jYXRpb246ZG9jdW1lbnQubG9j YXRpb24ucGF0aG5hbWV9O3RoaXMubG9hZGVkRnJvbUJhcj1mYWxzZTt0aGlzLmNs aWNrQ2FsbEJhY2s9ZmFsc2V9O3N0TGlnaHQub25SZWFkeT1mdW5jdGlvbigpe3N0 TGlnaHQucmVhZHlSdW49dHJ1ZTtpZihzdExpZ2h0LnB1Ymxpc2hlcj09bnVsbCl7 aWYodHlwZW9mKHdpbmRvdy5jb25zb2xlKSE9PSJ1bmRlZmluZWQiKXt0cnl7Y29u c29sZS5sb2coIlBsZWFzZSBzcGVjaWZ5IGEgU2hhcmVUaGlzIFB1Ymxpc2hlciBL ZXkgXG5Gb3IgaGVscCwgY29udGFjdCBzdXBwb3J0QHNoYXJldGhpcy5jb20iKX1j YXRjaChhKXt9fX12YXIgYj0ic2hhcmU0eCI7aWYoc3dpdGNoVG81eCl7Yj0ic2hh cmU1eCJ9aWYoc3RMaWdodC5oYXNCdXR0b25PblBhZ2UoKSl7aWYoc3RMaWdodC5s b2FkZWRGcm9tQmFyKXtpZihzd2l0Y2hUbzV4KXtiPSJiYXJfc2hhcmU1eCJ9ZWxz ZXtiPSJiYXJfc2hhcmU0eCJ9fX1lbHNle2lmKHN0TGlnaHQubG9hZGVkRnJvbUJh cil7Yj0iYmFyIn19c3RMaWdodC5sb2coInB2aWV3IixiLCIiKTtzdFdpZGdldC5v cHRpb25zLnNlc3Npb25JRD1zdExpZ2h0LnNlc3Npb25JRDtzdFdpZGdldC5vcHRp b25zLmZwYz1zdExpZ2h0LmZwYztzdEJ1dHRvbnMub25SZWFkeSgpfTtzdExpZ2h0 LmxvZz1mdW5jdGlvbihkLGUsYyl7dmFyIGY9KCgiaHR0cHM6Ij09ZG9jdW1lbnQu bG9jYXRpb24ucHJvdG9jb2wpPyJodHRwczovL2wuIjoiaHR0cDovL2wuIikrInNo YXJldGhpcy5jb20vbG9nP2V2ZW50PSI7aWYoZD09InB2aWV3Iil7Zj0oKCJodHRw czoiPT1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk/Imh0dHBzOi8vbC4iOiJo dHRwOi8vbC4iKSsic2hhcmV0aGlzLmNvbS9wdmlldz9ldmVudD0ifXZhciBhPXN0 TGlnaHQuZGJySW5mbygpO2lmKGE9PWZhbHNlKXthPSIifWYrPWQ7Zis9IiZzb3Vy Y2U9IitlO2lmKGMhPSIiKXtmKz0iJnR5cGU9IitjfWYrPSImcHVibGlzaGVyPSIr ZW5jb2RlVVJJQ29tcG9uZW50KHN0TGlnaHQucHVibGlzaGVyKSsiJmhvc3RuYW1l PSIrZW5jb2RlVVJJQ29tcG9uZW50KHN0TGlnaHQubWV0YS5ob3N0bmFtZSkrIiZs b2NhdGlvbj0iK2VuY29kZVVSSUNvbXBvbmVudChzdExpZ2h0Lm1ldGEubG9jYXRp b24pKyImdXJsPSIrZW5jb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LmxvY2F0aW9u LmhyZWYpKyImc2Vzc2lvbklEPSIrc3RMaWdodC5zZXNzaW9uSUQrIiZmcGM9Iitz dExpZ2h0LmZwYysiJnRzIisobmV3IERhdGUoKSkuZ2V0VGltZSgpKyIuIitzdExp Z2h0LmNvdW50ZXIrKythO3ZhciBiPW5ldyBJbWFnZSgxLDEpO2Iuc3JjPWY7Yi5v bmxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm59O2lmKGQ9PSJwdmlldyIpe3N0TGlnaHQu Y3JlYXRlU2VnbWVudEZyYW1lKCl9fTtzdExpZ2h0Ll9zdEZwYz1mdW5jdGlvbigp e2lmKCFkb2N1bWVudC5kb21haW58fGRvY3VtZW50LmRvbWFpbi5zZWFyY2goL1wu Z292Lyk+MCl7cmV0dXJuIGZhbHNlfXZhciBnPXN0TGlnaHQuX3N0R2V0RnBjKCJf X3VuYW0iKTtpZihnPT1mYWxzZSl7dmFyIGM9TWF0aC5yb3VuZChNYXRoLnJhbmRv bSgpKjIxNDc0ODM2NDcpO2M9Yy50b1N0cmluZygxNik7dmFyIGg9KG5ldyBEYXRl KCkpLmdldFRpbWUoKTtoPWgudG9TdHJpbmcoMTYpO3ZhciBlPSIiO3ZhciBhPXN0 TGlnaHQuX3N0R2V0RCgpO2E9YS5zcGxpdCgvXC4vKVsxXTtpZighYSl7cmV0dXJu IGZhbHNlfWU9c3RMaWdodC5fc3RkSGFzaChhKSsiLSIraCsiLSIrYysiLTEiO2c9 ZTtzdExpZ2h0Ll9zdFNldEZwYyhnKX1lbHNle3ZhciBiPWc7dmFyIGY9Yi5zcGxp dCgvXC0vKTtpZihmLmxlbmd0aD09NCl7dmFyIGQ9TnVtYmVyKGZbM10pO2QrKzti PWZbMF0rIi0iK2ZbMV0rIi0iK2ZbMl0rIi0iK2Q7Zz1iO3N0TGlnaHQuX3N0U2V0 RnBjKGcpfX1yZXR1cm4gZ307c3RMaWdodC5fc3RTZXRGcGM9ZnVuY3Rpb24oZyl7 dmFyIGE9Il9fdW5hbSI7dmFyIGM9bmV3IERhdGU7dmFyIGo9Yy5nZXRGdWxsWWVh cigpO3ZhciBmPWMuZ2V0TW9udGgoKSs5O3ZhciBoPWMuZ2V0RGF0ZSgpO3ZhciBk PWErIj0iK2VzY2FwZShnKTtpZihqKXt2YXIgYj1uZXcgRGF0ZShqLGYsaCk7ZCs9 IjsgZXhwaXJlcz0iK2IudG9HTVRTdHJpbmcoKX12YXIgZT1zdExpZ2h0Ll9zdEdl dEQoKTtkKz0iOyBkb21haW49Iitlc2NhcGUoZSkrIjtwYXRoPS8iO2RvY3VtZW50 LmNvb2tpZT1kfTtzdExpZ2h0Ll9zdEdldEQ9ZnVuY3Rpb24oKXt2YXIgYj1kb2N1 bWVudC5kb21haW4uc3BsaXQoL1wuLyk7dmFyIGE9IiI7aWYoYi5sZW5ndGg+MSl7 YT0iLiIrYltiLmxlbmd0aC0yXSsiLiIrYltiLmxlbmd0aC0xXX1yZXR1cm4gYX07 c3RMaWdodC5fc3RHZXRGcGM9ZnVuY3Rpb24oYil7dmFyIGE9ZG9jdW1lbnQuY29v a2llLm1hdGNoKCIoXnw7KSA/IitiKyI9KFteO10qKSg7fCQpIik7aWYoYSl7cmV0 dXJuKHVuZXNjYXBlKGFbMl0pKX1lbHNle3JldHVybiBmYWxzZX19O3N0TGlnaHQu X3N0ZEhhc2g9ZnVuY3Rpb24oYSl7dmFyIGU9MCxkPTA7Zm9yKHZhciBjPWEubGVu Z3RoLTE7Yz49MDtjLS0pe3ZhciBiPXBhcnNlSW50KGEuY2hhckNvZGVBdChjKSk7 ZT0oKGU8PDgpJjI2ODQzNTQ1NSkrYisoYjw8MTIpO2lmKChkPWUmMTYxMTE5ODUw KSE9MCl7ZT0oZV4oZD4+MjApKX19cmV0dXJuIGUudG9TdHJpbmcoMTYpfTtzdExp Z2h0Ll90aGlzU2NyaXB0PW51bGw7c3RMaWdodC5nZXRTaGFyZVRoaXNMaWdodFNj cmlwdD1mdW5jdGlvbigpe3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO YW1lKCJzY3JpcHQiKTt2YXIgYz1udWxsO2Zvcih2YXIgYj0wO2I8ZC5sZW5ndGg7 YisrKXt2YXIgYT1kW2JdLnNyYztpZihhLnNlYXJjaCgvLipzaGFyZXRoaXMuKlwv YnV0dG9uXC9saWdodC4qLyk+PTApe2M9ZFtiXX19cmV0dXJuIGN9O3N0TGlnaHQu ZGJySW5mbz1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LnJlZmVycmVyO3ZhciBk PW5ldyBSZWdFeHAoZG9jdW1lbnQuZG9tYWluLCJnaSIpO2lmKGQudGVzdChhKT09 dHJ1ZSl7cmV0dXJuIGZhbHNlfWlmKGEmJmEubGVuZ3RoPjApe3ZhciBjPS8oaHR0 cDpcL1wvKSguKj8pXC8uKi9pO3ZhciBiPS8oXi4qXD8pKC4qKS9pZzt2YXIgZz0i Ijt2YXIgZj1hLnJlcGxhY2UoYywiJDIiKTtpZihmLmxlbmd0aD4wKXtnKz0iJnJl ZkRvbWFpbj0iK2Z9ZWxzZXtyZXR1cm4gZmFsc2V9dmFyIGU9YS5yZXBsYWNlKGIs IiQyIik7aWYoZS5sZW5ndGg+MCl7Zys9IiZyZWZRdWVyeT0iK2VuY29kZVVSSUNv bXBvbmVudChlKX1yZXR1cm4gZ31lbHNle3JldHVybiBmYWxzZX19O3N0TGlnaHQu b2Rqcz1mdW5jdGlvbihhLGIpe3RoaXMuaGVhZD1kb2N1bWVudC5nZXRFbGVtZW50 c0J5VGFnTmFtZSgiaGVhZCIpWzBdO3RoaXMuc2NyaXB0U3JjPWE7dGhpcy5zY3Jp cHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dGhpcy5zY3JpcHQu c2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9qYXZhc2NyaXB0Iik7dGhpcy5zY3Jp cHQuc2V0QXR0cmlidXRlKCJzcmMiLHRoaXMuc2NyaXB0U3JjKTt0aGlzLnNjcmlw dC5vbmxvYWQ9Yjt0aGlzLnNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rp b24oKXtpZih0aGlzLnJlYWR5U3RhdGU9PSJsb2FkZWQifHx0aGlzLnJlYWR5U3Rh dGU9PSJjb21wbGV0ZSIpe2IoKX19O3RoaXMuaGVhZC5hcHBlbmRDaGlsZCh0aGlz LnNjcmlwdCl9O2lmKHdpbmRvdy5kb2N1bWVudC5yZWFkeVN0YXRlPT0iY29tcGxl dGVkIil7c3RMaWdodC5vblJlYWR5KCl9ZWxzZXtpZih0eXBlb2Yod2luZG93LmFk ZEV2ZW50TGlzdGVuZXIpIT0idW5kZWZpbmVkIil7d2luZG93LmFkZEV2ZW50TGlz dGVuZXIoImxvYWQiLHN0TGlnaHQub25SZWFkeSxmYWxzZSl9ZWxzZXtpZih0eXBl b2YoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikhPSJ1bmRlZmluZWQiKXtkb2N1 bWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixzdExpZ2h0Lm9uUmVhZHksZmFs c2UpfWVsc2V7aWYodHlwZW9mIHdpbmRvdy5hdHRhY2hFdmVudCE9InVuZGVmaW5l ZCIpe3dpbmRvdy5hdHRhY2hFdmVudCgib25sb2FkIixzdExpZ2h0Lm9uUmVhZHkp fX19fXN0TGlnaHQuY3JlYXRlU2VnbWVudEZyYW1lPWZ1bmN0aW9uKCl7dHJ5e3N0 TGlnaHQuc2VnbWVudGZyYW1lPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJzxpZnJh bWUgbmFtZT0ic3RmcmFtZSIgYWxsb3dUcmFuc3BhcmVuY3k9InRydWUiIHN0eWxl PSJib2R5e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7fSIgPjwvaWZyYW1lPicpfWNh dGNoKGIpe3N0TGlnaHQuc2VnbWVudGZyYW1lPWRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoImlmcmFtZSIpfXN0TGlnaHQuc2VnbWVudGZyYW1lLmlkPSJzdFNlZ21lbnRG cmFtZSI7c3RMaWdodC5zZWdtZW50ZnJhbWUubmFtZT0ic3RTZWdtZW50RnJhbWUi O3ZhciBjPWRvY3VtZW50LmJvZHk7dmFyIGE9KCgiaHR0cHM6Ij09ZG9jdW1lbnQu bG9jYXRpb24ucHJvdG9jb2wpPyJodHRwczovL3NlZy4iOiJodHRwOi8vc2VnLiIp KyJzaGFyZXRoaXMuY29tL2dldFNlZ21lbnQucGhwP3B1cmw9IitlbmNvZGVVUklD b21wb25lbnQoZG9jdW1lbnQubG9jYXRpb24uaHJlZikrIiZqc3JlZj0iK2VuY29k ZVVSSUNvbXBvbmVudChkb2N1bWVudC5yZWZlcnJlcikrIiZybmQ9IisobmV3IERh dGUoKSkuZ2V0VGltZSgpO3N0TGlnaHQuc2VnbWVudGZyYW1lLnNyYz1hO3N0TGln aHQuc2VnbWVudGZyYW1lLmZyYW1lQm9yZGVyPSIwIjtzdExpZ2h0LnNlZ21lbnRm cmFtZS5zY3JvbGxpbmc9Im5vIjtzdExpZ2h0LnNlZ21lbnRmcmFtZS53aWR0aD0i MHB4IjtzdExpZ2h0LnNlZ21lbnRmcmFtZS5oZWlnaHQ9IjBweCI7c3RMaWdodC5z ZWdtZW50ZnJhbWUuc2V0QXR0cmlidXRlKCJzdHlsZSIsImRpc3BsYXk6bm9uZTsi KTtjLmFwcGVuZENoaWxkKHN0TGlnaHQuc2VnbWVudGZyYW1lKX07c3RMaWdodC5m cGM9c3RMaWdodC5fc3RGcGMoKTtzdExpZ2h0Lm9wdGlvbnM9ZnVuY3Rpb24oYSl7 aWYoYSYmYS5wdWJsaXNoZXIpe3N0TGlnaHQucHVibGlzaGVyPWEucHVibGlzaGVy fWlmKGEmJmEubG9hZGVkRnJvbUJhcil7c3RMaWdodC5sb2FkZWRGcm9tQmFyPWEu bG9hZGVkRnJvbUJhcn1pZihhJiZhLmNsaWNrQ2FsbEJhY2smJnR5cGVvZihhLmNs aWNrQ2FsbEJhY2spPT0iZnVuY3Rpb24iKXtzdExpZ2h0LmNsaWNrQ2FsbEJhY2s9 YS5jbGlja0NhbGxCYWNrfWZvcih2YXIgYiBpbiBhKXtpZihzdFdpZGdldC5vcHRp b25zLmhhc093blByb3BlcnR5KGIpJiZhW2JdIT09bnVsbCl7c3RXaWRnZXQub3B0 aW9uc1tiXT1hW2JdfX19O3N0TGlnaHQuaGFzQnV0dG9uT25QYWdlPWZ1bmN0aW9u KCl7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTt2YXIg Yz1uZXcgUmVnRXhwKC9ec3RfKC4qPykkLyk7dmFyIGE9ZC5sZW5ndGg7Zm9yKHZh ciBiPTA7YjxhO2IrKyl7aWYodHlwZW9mKGRbYl0uY2xhc3NOYW1lKT09InN0cmlu ZyImJmRbYl0uY2xhc3NOYW1lIT0iIil7aWYoZFtiXS5jbGFzc05hbWUubWF0Y2go YykmJmRbYl0uY2xhc3NOYW1lLm1hdGNoKGMpLmxlbmd0aD49MiYmZFtiXS5jbGFz c05hbWUubWF0Y2goYylbMV0pe3JldHVybiB0cnVlfX19cmV0dXJuIGZhbHNlfX12 YXIgc3RCdXR0b25zPXt9O3N0QnV0dG9ucy5zbWFydGlmeUJ1dHRvbnM9ZnVuY3Rp b24oYSl7aWYodHlwZW9mKGEpIT0idW5kZWZpbmVkIiYmYSE9InVuZGVmaW5lZCIp e3N0UmVjZW50U2VydmljZXM9YTtmb3IodmFyIGIgaW4gc3RSZWNlbnRTZXJ2aWNl cyl7c3RSZWNlbnRTZXJ2aWNlc1tiXS5wcm9jZXNzZWQ9ZmFsc2V9fXN0QnV0dG9u cy5jb21wbGV0ZUluaXQoKX07c3RCdXR0b25zLm1ha2VCdXR0b249ZnVuY3Rpb24o byl7dmFyIGY9by5zZXJ2aWNlO3ZhciB5PW8udGV4dDtpZih5PT1udWxsJiYoby50 eXBlPT0idmNvdW50Inx8by50eXBlPT0iaGNvdW50Iikpe3k9IlNoYXJlIn1pZihm PT0iZmJfbGlrZSIpe2Y9ImZibGlrZSJ9ZWxzZXtpZihmPT0iZmJsaWtlX2ZiTG9u ZyIpe2Y9ImZibGlrZSI7by50eXBlPSJmYkxvbmcifX12YXIgZz1zdFdpZGdldC5v Z3VybD9zdFdpZGdldC5vZ3VybDpkb2N1bWVudC5sb2NhdGlvbi5ocmVmO2c9by51 cmw/by51cmw6Zzt2YXIgQj1zdFdpZGdldC5vZ3RpdGxlP3N0V2lkZ2V0Lm9ndGl0 bGU6ZG9jdW1lbnQudGl0bGU7Qj1vLnRpdGxlP28udGl0bGU6Qjt2YXIgZT0oby50 aHVtYm5haWwmJm8udGh1bWJuYWlsIT1udWxsKT9vLnRodW1ibmFpbDpzdFdpZGdl dC5vZ2ltZzt2YXIgSj1zdFdpZGdldC5kZXNjP3N0V2lkZ2V0LmRlc2M6IiI7Sj1z dFdpZGdldC5vZ2Rlc2M/c3RXaWRnZXQub2dkZXNjOnN0V2lkZ2V0LmRlc2M7Sj0o by5kZXNjcmlwdGlvbiYmby5kZXNjcmlwdGlvbiE9bnVsbCk/by5kZXNjcmlwdGlv bjpKO2lmKC8oaHR0cHxodHRwcyk6XC9cLy8udGVzdChnKT09ZmFsc2Upe2c9ZGVj b2RlVVJJQ29tcG9uZW50KGcpO0I9ZGVjb2RlVVJJQ29tcG9uZW50KEIpfWlmKC8o aHR0cHxodHRwcyk6XC9cLy8udGVzdChnKT09ZmFsc2Upe2c9ZGVjb2RlVVJJQ29t cG9uZW50KGcpO0I9ZGVjb2RlVVJJQ29tcG9uZW50KEIpfXZhciBPPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtPLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJ0 ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojMDAwMDAwO2Rpc3BsYXk6aW5saW5l LWJsb2NrO2N1cnNvcjpwb2ludGVyOyIpO08uY2xhc3NOYW1lPSJzdEJ1dHRvbiI7 aWYoby50eXBlPT0iY3VzdG9tIil7by5lbGVtZW50Lm9uY2xpY2s9ZnVuY3Rpb24o KXt2YXIgUD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7UC5zZXRBdHRy aWJ1dGUoIm1ldGhvZCIsIkdFVCIpO1Auc2V0QXR0cmlidXRlKCJhY3Rpb24iLCJo dHRwOi8vd2Quc2hhcmV0aGlzLmNvbS9hcGkvc2hhcmVyLnBocCIpO1Auc2V0QXR0 cmlidXRlKCJ0YXJnZXQiLCJfYmxhbmsiKTt2YXIgUT17dXJsOmcsdGl0bGU6Qixk ZXN0aW5hdGlvbjpmLHB1Ymxpc2hlcjpzdExpZ2h0LnB1Ymxpc2hlcixmcGM6c3RM aWdodC5mcGMsc2Vzc2lvbklEOnN0TGlnaHQuc2Vzc2lvbklEfTtpZih0eXBlb2Yo ZSkhPSJ1bmRlZmluZWQiJiZlIT1udWxsKXtRLmltYWdlPWV9aWYodHlwZW9mKEop IT0idW5kZWZpbmVkIiYmSiE9bnVsbCl7US5kZXNjPUp9US5zZXJ2aWNlPW8uc2Vy dmljZTtRLnR5cGU9by50eXBlO2Zvcih2YXIgYiBpbiBRKXt2YXIgYT1kb2N1bWVu dC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Euc2V0QXR0cmlidXRlKCJ0eXBlIiwi aGlkZGVuIik7YS5zZXRBdHRyaWJ1dGUoIm5hbWUiLGIpO2Euc2V0QXR0cmlidXRl KCJ2YWx1ZSIsUVtiXSk7UC5hcHBlbmRDaGlsZChhKX1kb2N1bWVudC5ib2R5LmFw cGVuZENoaWxkKFApO1Auc3VibWl0KCl9O3JldHVybiBmYWxzZX1pZighKChmPT0i ZW1haWwifHxmPT0ic2hhcmV0aGlzIil8fChzd2l0Y2hUbzV4JiYoZj09ImZhY2Vi b29rInx8Zj09InR3aXR0ZXIifHxmPT0iZ2J1enoifHxmPT0ieWFob28ifHxmPT0i bGlua2VkaW4iKSkpKXtPLm9uY2xpY2s9ZnVuY3Rpb24oKXtpZihzdFdpZGdldC5v cHRpb25zLnRyYWNraW5nKXtzaGFyZUxvZyhmKX12YXIgUD1kb2N1bWVudC5jcmVh dGVFbGVtZW50KCJmb3JtIik7UC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsIkdFVCIp O1Auc2V0QXR0cmlidXRlKCJhY3Rpb24iLCJodHRwOi8vd2Quc2hhcmV0aGlzLmNv bS9hcGkvc2hhcmVyLnBocCIpO1Auc2V0QXR0cmlidXRlKCJ0YXJnZXQiLCJfYmxh bmsiKTt2YXIgUT17dXJsOmcsdGl0bGU6QixkZXN0aW5hdGlvbjpmLHB1Ymxpc2hl cjpzdExpZ2h0LnB1Ymxpc2hlcixmcGM6c3RMaWdodC5mcGMsc2Vzc2lvbklEOnN0 TGlnaHQuc2Vzc2lvbklEfTtpZih0eXBlb2YoZSkhPSJ1bmRlZmluZWQiJiZlIT1u dWxsKXtRLmltYWdlPWV9aWYodHlwZW9mKEopIT0idW5kZWZpbmVkIiYmSiE9bnVs bCl7US5kZXNjPUp9US5zZXJ2aWNlPW8uc2VydmljZTtRLnR5cGU9by50eXBlO2Zv cih2YXIgYiBpbiBRKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1 dCIpO2Euc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIik7YS5zZXRBdHRyaWJ1 dGUoIm5hbWUiLGIpO2Euc2V0QXR0cmlidXRlKCJ2YWx1ZSIsUVtiXSk7UC5hcHBl bmRDaGlsZChhKX1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFApO1Auc3VibWl0 KCl9fWlmKGY9PSJmYmxpa2UiKXt0cnl7dmFyIHg9ZG9jdW1lbnQuY3JlYXRlRWxl bWVudCgnPGlmcmFtZSBuYW1lPSJzdExmcmFtZSIgc2Nyb2xsaW5nPSJubyIgZnJh bWVCb3JkZXI9IjAiIGFsbG93VHJhbnNwYXJlbmN5PSJ0cnVlIiBzdHlsZT0iYm9k eXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O30iID48L2lmcmFtZT4nKX1jYXRjaChL KXt4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3guYWxsb3dUcmFu c3BhcmVuY3k9InRydWUiO3guc2V0QXR0cmlidXRlKCJhbGxvd1RyYW5zcGFyZW5j eSIsInRydWUiKTt4LmZyYW1lQm9yZGVyPSIwIjt4LnNldEF0dHJpYnV0ZSgiZnJh bWVCb3JkZXIiLCIwIik7eC5zY3JvbGxpbmc9Im5vIjt4LnNldEF0dHJpYnV0ZSgi c2Nyb2xsaW5nIiwibm8iKX12YXIgTj0iaHR0cDovL3dkLnNoYXJldGhpcy5jb20v YXBpL3NoYXJlci5waHA/ZGVzdGluYXRpb249ZmJsaWtlJnVybD0iK2VuY29kZVVS SUNvbXBvbmVudChnKTt2YXIgQT0iYnV0dG9uX2NvdW50IjtpZihvLnR5cGU9PSJ2 Y291bnQiKXtBPSJib3hfY291bnQiO3guc2V0QXR0cmlidXRlKCJzdHlsZSIsImJv cmRlcjpub25lOyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjU1cHg7IGhlaWdodDo2 NXB4OyBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjEycHg7Iik7eC53aWR0aD0iNTVw eCI7eC5oZWlnaHQ9IjY1cHgifWVsc2V7aWYoby50eXBlPT0iZmJMb25nIil7QT0i c3RhbmRhcmQiO3guc2V0QXR0cmlidXRlKCJzdHlsZSIsImJvcmRlcjpub25lOyBw b3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcDt3aWR0aDoz MDBweDsgaGVpZ2h0OjI5cHg7ICIpO3gud2lkdGg9IjMwMHB4Ijt4LmhlaWdodD0i MjlweCJ9ZWxzZXt4LnNldEF0dHJpYnV0ZSgic3R5bGUiLCJib3JkZXI6bm9uZTsg b3ZlcmZsb3c6aGlkZGVuOyB3aWR0aDo5MHB4OyBoZWlnaHQ6MjFweDsgcG9zaXRp b246cmVsYXRpdmU7IHRvcDo3cHg7Iik7eC53aWR0aD0iOTBweCI7eC5oZWlnaHQ9 IjIxcHgifX14LnNyYz0iaHR0cDovL3d3dy5mYWNlYm9vay5jb20vcGx1Z2lucy9s aWtlLnBocD9ocmVmPSIrZW5jb2RlVVJJQ29tcG9uZW50KE4pKyImbGF5b3V0PSIr QSsiJnNob3dfZmFjZXM9ZmFsc2Umd2lkdGg9OTAmYWN0aW9uPWxpa2UmY29sb3Jz Y2hlbWU9bGlnaHQmaGVpZ2h0PTIxIjtyZXR1cm4geH1pZihmPT0icGx1c29uZSIp e3N0QnV0dG9ucy5sb2FkUGx1c29uZT10cnVlO3ZhciB3PWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoImRpdiIpO3cuaW5uZXJIVE1MPSImbmJzcDsiO3ZhciBOPSJodHRw Oi8vd2Quc2hhcmV0aGlzLmNvbS9hcGkvc2hhcmVyLnBocD9kZXN0aW5hdGlvbj1w bHVzb25lJnVybD0iK2VuY29kZVVSSUNvbXBvbmVudChnKTt2YXIgcD0obmF2aWdh dG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIDcuMCIpIT0tMSk7dmFyIEY9ImRp c3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDow cHg7dmVydGljYWwtYWxpZ246Ym90dG9tOyI7dmFyIHU9Im92ZXJmbG93OmhpZGRl bjt6b29tOjE7ZGlzcGxheTppbmxpbmU7dmVydGljYWwtYWxpZ246Ym90dG9tOyI7 dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZzpwbHVzb25lIik7ZC5zZXRB dHRyaWJ1dGUoImhyZWYiLGcpO2lmKG8udHlwZT09InZjb3VudCIpe2Quc2V0QXR0 cmlidXRlKCJzaXplIiwidGFsbCIpO3cuc2V0QXR0cmlidXRlKCJzdHlsZSIsRisi d2lkdGg6NTVweDsgaGVpZ2h0OjYwcHg7Iik7cCYmdy5zdHlsZS5zZXRBdHRyaWJ1 dGU/dy5zdHlsZS5zZXRBdHRyaWJ1dGUoImNzc1RleHQiLHUrIndpZHRoOjU1cHg7 IGhlaWdodDo2MHB4OyIsMCk6bnVsbH1lbHNle2lmKG8udHlwZT09Imhjb3VudCIp e2Quc2V0QXR0cmlidXRlKCJzaXplIiwibWVkaXVtIik7ZC5zZXRBdHRyaWJ1dGUo ImNvdW50IiwidHJ1ZSIpO3cuc2V0QXR0cmlidXRlKCJzdHlsZSIsRisid2lkdGg6 OTBweDsgaGVpZ2h0OjIycHg7Iik7cCYmdy5zdHlsZS5zZXRBdHRyaWJ1dGU/dy5z dHlsZS5zZXRBdHRyaWJ1dGUoImNzc1RleHQiLHUrIndpZHRoOjkwcHg7IGhlaWdo dDoyMnB4OyIsMCk6bnVsbH1lbHNle2lmKG8udHlwZT09ImJ1dHRvbiIpe2Quc2V0 QXR0cmlidXRlKCJzaXplIiwibWVkaXVtIik7ZC5zZXRBdHRyaWJ1dGUoImNvdW50 IiwiZmFsc2UiKTt3LnNldEF0dHJpYnV0ZSgic3R5bGUiLEYrIndpZHRoOjM2cHg7 IGhlaWdodDoyMnB4OyIpO3AmJncuc3R5bGUuc2V0QXR0cmlidXRlP3cuc3R5bGUu c2V0QXR0cmlidXRlKCJjc3NUZXh0Iix1KyJ3aWR0aDozNnB4OyBoZWlnaHQ6MjJw eDsiLDApOm51bGx9ZWxzZXtpZihvLnR5cGU9PSJsYXJnZSIpe2Quc2V0QXR0cmli dXRlKCJzaXplIiwibWVkaXVtIik7ZC5zZXRBdHRyaWJ1dGUoImNvdW50IiwiZmFs c2UiKTt3LnNldEF0dHJpYnV0ZSgic3R5bGUiLEYrIndpZHRoOjM2cHg7IGhlaWdo dDozMnB4OyIpO3AmJncuc3R5bGUuc2V0QXR0cmlidXRlP3cuc3R5bGUuc2V0QXR0 cmlidXRlKCJjc3NUZXh0Iix1KyJ3aWR0aDozNnB4OyBoZWlnaHQ6MzJweDsiLDAp Om51bGx9ZWxzZXtkLnNldEF0dHJpYnV0ZSgic2l6ZSIsInNtYWxsIik7ZC5zZXRB dHRyaWJ1dGUoImNvdW50IiwiZmFsc2UiKTt3LnNldEF0dHJpYnV0ZSgic3R5bGUi LEYrIndpZHRoOjM2cHg7IGhlaWdodDoyMHB4OyIpO3AmJncuc3R5bGUuc2V0QXR0 cmlidXRlP3cuc3R5bGUuc2V0QXR0cmlidXRlKCJjc3NUZXh0Iix1KyJ3aWR0aDoz NnB4OyBoZWlnaHQ6MzJweDsiLDApOm51bGx9fX19dy5hcHBlbmRDaGlsZChkKTtk LnNldEF0dHJpYnV0ZSgiY2FsbGJhY2siLCJwbHVzb25lQ2FsbGJhY2siKTtyZXR1 cm4gd31pZihvLnR5cGU9PSJjaGlja2xldCIpe3ZhciBDPWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoInNwYW4iKTtDLmNsYXNzTmFtZT0iY2hpY2tsZXRzICIrZjtpZih5 PT1udWxsKXtDLmlubmVySFRNTD0iJm5ic3A7In1lbHNle0MuYXBwZW5kQ2hpbGQo ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoeSkpfU8uYXBwZW5kQ2hpbGQoQyk7cmV0 dXJuIE99ZWxzZXtpZihvLnR5cGU9PSJsYXJnZSIpe3ZhciBDPWRvY3VtZW50LmNy ZWF0ZUVsZW1lbnQoInNwYW4iKTtDLmNsYXNzTmFtZT0ic3RMYXJnZSI7dmFyIGg9 KCJodHRwczoiPT1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk/Imh0dHBzOi8v d3Muc2hhcmV0aGlzLmNvbS9pbWFnZXMvIjoiaHR0cDovL3cuc2hhcmV0aGlzLmNv bS9pbWFnZXMvIjtDLnN0eWxlLmJhY2tncm91bmRJbWFnZT0idXJsKCciK2grZisi XzMyLnBuZycpIjtPLmFwcGVuZENoaWxkKEMpO3JldHVybiBPfWVsc2V7aWYoby50 eXBlPT0icGNvdW50Inx8by50eXBlPT0ic3RiYXIifHxvLnR5cGU9PSJzdHNtYmFy Iil7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3ZhciBDPWRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtpZihvLnR5cGU9PSJzdHNtYmFy Iil7Qy5jbGFzc05hbWU9InN0U21CYXIiO3ZhciBoPSgiaHR0cHM6Ij09ZG9jdW1l bnQubG9jYXRpb24ucHJvdG9jb2wpPyJodHRwczovL3dzLnNoYXJldGhpcy5jb20v aW1hZ2VzLyI6Imh0dHA6Ly93LnNoYXJldGhpcy5jb20vaW1hZ2VzLyI7Qy5zdHls ZS5iYWNrZ3JvdW5kSW1hZ2U9InVybCgnIitoK2YrIl8xNi5wbmcnKSJ9ZWxzZXtD LmNsYXNzTmFtZT0ic3RMYXJnZSI7dmFyIGg9KCJodHRwczoiPT1kb2N1bWVudC5s b2NhdGlvbi5wcm90b2NvbCk/Imh0dHBzOi8vd3Muc2hhcmV0aGlzLmNvbS9pbWFn ZXMvIjoiaHR0cDovL3cuc2hhcmV0aGlzLmNvbS9pbWFnZXMvIjtDLnN0eWxlLmJh Y2tncm91bmRJbWFnZT0idXJsKCciK2grZisiXzMyLnBuZycpIn10LmFwcGVuZENo aWxkKEMpO3ZhciBtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTt2YXIg TT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihvLnR5cGU9PSJzdHNt YmFyIil7TS5jbGFzc05hbWU9InN0QnViYmxlU21Ib3JpeiJ9ZWxzZXtNLmNsYXNz TmFtZT0ic3RCdWJibGVTbSJ9TS5zZXRBdHRyaWJ1dGUoImlkIiwic3RCdWJibGVf IitvLmNvdW50KTtNLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7dmFyIEk9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7SS5jbGFzc05hbWU9InN0QnViYmxl X2NvdW50X3NtIjtNLmFwcGVuZENoaWxkKEkpO20uYXBwZW5kQ2hpbGQoTSk7bS5h cHBlbmRDaGlsZCh0KTtPLmFwcGVuZENoaWxkKG0pO3N0QnV0dG9ucy5nZXRDb3Vu dChnLGYsSSk7dC5vbm1vdXNlb3Zlcj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKCJzdEJ1YmJsZV8iK28uY291bnQpO2Euc3R5bGUudmlz aWJpbGl0eT0idmlzaWJsZSJ9O3Qub25tb3VzZW91dD1mdW5jdGlvbigpe3ZhciBh PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdEJ1YmJsZV8iK28uY291bnQpO2Eu c3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIn07cmV0dXJuIE99ZWxzZXtpZihvLnR5 cGU9PSJidXR0b24ifHxvLnR5cGU9PSJ2Y291bnQifHxvLnR5cGU9PSJoY291bnQi KXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7dC5jbGFzc05h bWU9InN0QnV0dG9uX2dyYWRpZW50Ijt2YXIgej1kb2N1bWVudC5jcmVhdGVFbGVt ZW50KCJzcGFuIik7ei5jbGFzc05hbWU9ImNoaWNrbGV0cyAiK2Y7aWYoeT09bnVs bCl7ei5pbm5lckhUTUw9IiZuYnNwOyJ9ZWxzZXt6LmFwcGVuZENoaWxkKGRvY3Vt ZW50LmNyZWF0ZVRleHROb2RlKHkpKX10LmFwcGVuZENoaWxkKHopO2lmKGY9PSJ0 d2l0dGVyIil7dmFyIEc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO0cu Y2xhc3NOYW1lPSJzdFR3YnV0dG9uIjtHLmlubmVySFRNTD0iJm5ic3A7Ijt0PUd9 ZWxzZXtpZihmPT0iZmFjZWJvb2siKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVt ZW50KCJzcGFuIik7bi5jbGFzc05hbWU9InN0RmIiO24uaW5uZXJIVE1MPSImbmJz cDsiO3Q9bn19aWYoby50eXBlPT0idmNvdW50Iil7dmFyIG09ZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgiZGl2Iik7dmFyIE09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi ZGl2Iik7TS5jbGFzc05hbWU9InN0QnViYmxlIjt2YXIgST1kb2N1bWVudC5jcmVh dGVFbGVtZW50KCJkaXYiKTtJLmNsYXNzTmFtZT0ic3RCdWJibGVfY291bnQiO00u YXBwZW5kQ2hpbGQoSSk7bS5hcHBlbmRDaGlsZChNKTttLmFwcGVuZENoaWxkKHQp O08uYXBwZW5kQ2hpbGQobSk7c3RCdXR0b25zLmdldENvdW50KGcsZixJKX1lbHNl e2lmKG8udHlwZT09Imhjb3VudCIpe3ZhciBtPWRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoInNwYW4iKTt2YXIgRT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7 RS5jbGFzc05hbWU9InN0QnV0dG9uX2dyYWRpZW50IHN0SEJ1YmJsZSI7dmFyIGw9 ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2wuY2xhc3NOYW1lPSJzdEJ1 dHRvbl9sZWZ0IjtsLmlubmVySFRNTD0iJm5ic3A7Ijt2YXIgcT1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCJzcGFuIik7cS5jbGFzc05hbWU9InN0QnV0dG9uX3JpZ2h0 IjtxLmlubmVySFRNTD0iJm5ic3A7Ijt2YXIgST1kb2N1bWVudC5jcmVhdGVFbGVt ZW50KCJzcGFuIik7SS5jbGFzc05hbWU9InN0QnViYmxlX2hjb3VudCI7RS5hcHBl bmRDaGlsZChJKTttLmFwcGVuZENoaWxkKHQpO3ZhciB2PWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoInNwYW4iKTt2LmNsYXNzTmFtZT0ic3RBcnJvdyI7di5hcHBlbmRD aGlsZChFKTttLmFwcGVuZENoaWxkKHYpO08uYXBwZW5kQ2hpbGQobSk7c3RCdXR0 b25zLmdldENvdW50KGcsZixJKX1lbHNle08uYXBwZW5kQ2hpbGQodCl9fX1lbHNl e2lmKG8udHlwZT09ImNzcyIpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo ImRpdiIpO3QuY2xhc3NOYW1lPSJzdENTU0J1dHRvbiI7aWYoby5jc3NUeXBlPT0i Y3NzViIpe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xh c3NOYW1lPSJzdENTU1ZCdWJibGUiO3ZhciBEPWRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoImRpdiIpO0QuY2xhc3NOYW1lPSJzdENTU1ZCdWJibGVfY291bnQiO3MuYXBw ZW5kQ2hpbGQoRCk7dmFyIGo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7 ai5jbGFzc05hbWU9InN0Q1NTVkFycm93Ijt2YXIgSD1kb2N1bWVudC5jcmVhdGVF bGVtZW50KCJkaXYiKTtILmNsYXNzTmFtZT0ic3RDU1NWQXJyb3dCb3JkZXIiO0gu YXBwZW5kQ2hpbGQoaik7Ty5hcHBlbmRDaGlsZChzKTtPLmFwcGVuZENoaWxkKEgp O3N0QnV0dG9ucy5nZXRDb3VudChnLGYsRCl9dmFyIGM9ZG9jdW1lbnQuY3JlYXRl RWxlbWVudCgiZGl2Iik7Yy5jbGFzc05hbWU9InN0Q1NTU3ByaXRlICIrZjtjLmlu bmVySFRNTD0iJm5ic3A7Ijt2YXIgQz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz cGFuIik7Qy5jbGFzc05hbWU9InN0Q1NTVGV4dCI7aWYoeT09bnVsbCl7Qy5pbm5l ckhUTUw9IiZuYnNwOyJ9ZWxzZXtDLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0 ZVRleHROb2RlKHkpKX10LmFwcGVuZENoaWxkKGMpO3QuYXBwZW5kQ2hpbGQoQyk7 Ty5hcHBlbmRDaGlsZCh0KTtpZihvLmNzc1R5cGU9PSJjc3NIIil7dmFyIHI9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc05hbWU9InN0Q1NTSEJ1 YmJsZSI7dmFyIEQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7RC5jbGFz c05hbWU9InN0Q1NTSEJ1YmJsZV9jb3VudCI7ci5hcHBlbmRDaGlsZChEKTt2YXIg TD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtMLmNsYXNzTmFtZT0ic3RD U1NIQXJyb3ciO3ZhciBrPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2su Y2xhc3NOYW1lPSJzdENTU0hBcnJvd0JvcmRlciI7ay5hcHBlbmRDaGlsZChMKTtP LmFwcGVuZENoaWxkKGspO08uYXBwZW5kQ2hpbGQocik7c3RCdXR0b25zLmdldENv dW50KGcsZixEKX19fX19fXJldHVybiBPfTtzdEJ1dHRvbnMuZ2V0Q291bnQ9ZnVu Y3Rpb24oYyxhLGQpe3ZhciBiPWZhbHNlO2lmKGQmJmQhPT1udWxsKXt3aGlsZShk LmNoaWxkTm9kZXMubGVuZ3RoPj0xKXt0cnl7ZC5yZW1vdmVDaGlsZChkLmZpcnN0 Q2hpbGQpfWNhdGNoKGUpe319fXN0QnV0dG9ucy5jYlF1ZXVlLnB1c2goe3VybDpj LHNlcnZpY2U6YSxlbGVtZW50OmR9KTtzdEJ1dHRvbnMuZ2V0Q291bnRzRnJvbVNl cnZpY2UoYyxhLGQpfTtzdEJ1dHRvbnMucHJvY2Vzc0NCPWZ1bmN0aW9uKGIpe3Zh ciBhPWZhbHNlO2Zvcih2YXIgYz0wO2M8c3RCdXR0b25zLmNiUXVldWUubGVuZ3Ro O2MrKyl7dmFyIGU9c3RCdXR0b25zLmNiUXVldWVbY107aWYoYi5vdXJsPT1lLnVy bCl7dmFyIGY9IiI7dHJ5e2lmKGUuc2VydmljZT09InNoYXJldGhpcyIpe2lmKHN0 V2lkZ2V0Lm9wdGlvbnMubmV3T3JaZXJvPT0iemVybyIpe2Y9KGIudG90YWw+MCk/ c3RCdXR0b25zLmh1bWFuKGIudG90YWwpOiIwIn1lbHNle2Y9KGIudG90YWw+MCk/ c3RCdXR0b25zLmh1bWFuKGIudG90YWwpOiJOZXcifX1lbHNle2lmKGUuc2Vydmlj ZT09ImZhY2Vib29rIiYmdHlwZW9mKGIuZmFjZWJvb2syKSE9InVuZGVmaW5lZCIp e2Y9c3RCdXR0b25zLmh1bWFuKGIuZmFjZWJvb2syKX1lbHNle2lmKHR5cGVvZihi W2Uuc2VydmljZV0pIT0idW5kZWZpbmVkIil7Zj0oYltlLnNlcnZpY2VdPjApP3N0 QnV0dG9ucy5odW1hbihiW2Uuc2VydmljZV0pOiIwIn1lbHNle2Y9IjAifX19ZS5l bGVtZW50LmlubmVySFRNTD1mfWNhdGNoKGQpe31hPXRydWV9fX07c3RCdXR0b25z Lmh1bWFuPWZ1bmN0aW9uKGEpe2lmKGE+PTEwMDAwKXthPWEvMTAwO2E9TWF0aC5y b3VuZChhKTthPWEvMTA7YT1hKyJLIn1yZXR1cm4gYX07c3RCdXR0b25zLmxvY2F0 ZUVsZW1lbnRzPWZ1bmN0aW9uKGMpe3ZhciBEPWRvY3VtZW50LmdldEVsZW1lbnRz QnlUYWdOYW1lKCIqIik7dmFyIEM9W107dmFyIEY9bmV3IFJlZ0V4cCgvc3RfKC4q PylfY3VzdG9tLyk7dmFyIEU9bmV3IFJlZ0V4cCgvc3RfKC4qPylfdmNvdW50Lyk7 dmFyIEE9bmV3IFJlZ0V4cCgvc3RfKC4qPylfaGNvdW50Lyk7dmFyIHY9bmV3IFJl Z0V4cCgvc3RfKC4qPylfYnV0dG9uLyk7dmFyIHU9bmV3IFJlZ0V4cCgvc3RfKC4q PylfbGFyZ2UvKTt2YXIgcz1uZXcgUmVnRXhwKC9zdF8oLio/KV9wY291bnQvKTt2 YXIgcD1uZXcgUmVnRXhwKC9zdF8oLio/KV9zdGJhci8pO3ZhciBuPW5ldyBSZWdF eHAoL3N0XyguKj8pX3N0c21iYXIvKTt2YXIgbT1uZXcgUmVnRXhwKC9zdF8oLio/ KV9jc3MvKTt2YXIgYT1uZXcgUmVnRXhwKC9ec3RfKC4qPykkLyk7dmFyIHQ9RC5s ZW5ndGg7dmFyIG89MCxnLGwsdyxiPVtdLEc9ZmFsc2U7aWYodHlwZW9mKHN0UmVj ZW50U2VydmljZXMpIT0idW5kZWZpbmVkIiYmc3RSZWNlbnRTZXJ2aWNlcyE9InVu ZGVmaW5lZCImJnN0UmVjZW50U2VydmljZXMhPSJmYWxzZSImJnN0UmVjZW50U2Vy dmljZXMpe0c9dHJ1ZX1mb3IodmFyIHI9MDtyPHQ7cisrKXtnPSIiO2w9ZmFsc2U7 dz1mYWxzZTtpZih0eXBlb2YoRFtyXS5jbGFzc05hbWUpPT0ic3RyaW5nIiYmRFty XS5jbGFzc05hbWUhPSIiKXtpZihEW3JdLmNsYXNzTmFtZS5tYXRjaChGKSYmRFty XS5jbGFzc05hbWUubWF0Y2goRikubGVuZ3RoPj0yJiZEW3JdLmNsYXNzTmFtZS5t YXRjaChGKVsxXSl7aWYoc3RCdXR0b25zLnRlc3RFbGVtKERbcl0pPT1mYWxzZSl7 dz10cnVlO2c9RFtyXS5jbGFzc05hbWUubWF0Y2goRilbMV07c3RCdXR0b25zLmVs ZW1BcnIucHVzaChEW3JdKTtDLnB1c2goe3NlcnZpY2U6ZyxlbGVtZW50OkRbcl0s dXJsOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF91cmwiKSx0aXRsZTpEW3JdLmdldEF0 dHJpYnV0ZSgic3RfdGl0bGUiKSxpbWFnZTooRFtyXS5nZXRBdHRyaWJ1dGUoInN0 X2ltZyIpIT1udWxsKT9EW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1nIik6RFtyXS5n ZXRBdHRyaWJ1dGUoInN0X2ltYWdlIiksc3VtbWFyeTpEW3JdLmdldEF0dHJpYnV0 ZSgic3Rfc3VtbWFyeSIpLHRleHQ6RFtyXS5nZXRBdHRyaWJ1dGUoImRpc3BsYXlU ZXh0IiksdHlwZToiY3VzdG9tIn0pfX1lbHNle2lmKERbcl0uY2xhc3NOYW1lLm1h dGNoKEUpJiZEW3JdLmNsYXNzTmFtZS5tYXRjaChFKS5sZW5ndGg+PTImJkRbcl0u Y2xhc3NOYW1lLm1hdGNoKEUpWzFdKXtpZihzdEJ1dHRvbnMudGVzdEVsZW0oRFty XSk9PWZhbHNlKXt3PXRydWU7Zz1EW3JdLmNsYXNzTmFtZS5tYXRjaChFKVsxXTtz dEJ1dHRvbnMuZWxlbUFyci5wdXNoKERbcl0pO0MucHVzaCh7c2VydmljZTpnLGVs ZW1lbnQ6RFtyXSx1cmw6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3VybCIpLHRpdGxl OkRbcl0uZ2V0QXR0cmlidXRlKCJzdF90aXRsZSIpLGltYWdlOihEW3JdLmdldEF0 dHJpYnV0ZSgic3RfaW1nIikhPW51bGwpP0Rbcl0uZ2V0QXR0cmlidXRlKCJzdF9p bWciKTpEW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1hZ2UiKSxzdW1tYXJ5OkRbcl0u Z2V0QXR0cmlidXRlKCJzdF9zdW1tYXJ5IiksdGV4dDpEW3JdLmdldEF0dHJpYnV0 ZSgiZGlzcGxheVRleHQiKSx0eXBlOiJ2Y291bnQifSl9fWVsc2V7aWYoRFtyXS5j bGFzc05hbWUubWF0Y2goQSkmJkRbcl0uY2xhc3NOYW1lLm1hdGNoKEEpLmxlbmd0 aD49MiYmRFtyXS5jbGFzc05hbWUubWF0Y2goQSlbMV0pe2lmKHN0QnV0dG9ucy50 ZXN0RWxlbShEW3JdKT09ZmFsc2Upe3c9dHJ1ZTtnPURbcl0uY2xhc3NOYW1lLm1h dGNoKEEpWzFdO3N0QnV0dG9ucy5lbGVtQXJyLnB1c2goRFtyXSk7Qy5wdXNoKHtz ZXJ2aWNlOmcsZWxlbWVudDpEW3JdLHVybDpEW3JdLmdldEF0dHJpYnV0ZSgic3Rf dXJsIiksdGl0bGU6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3RpdGxlIiksaW1hZ2U6 KERbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWciKSE9bnVsbCk/RFtyXS5nZXRBdHRy aWJ1dGUoInN0X2ltZyIpOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWFnZSIpLHN1 bW1hcnk6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3N1bW1hcnkiKSx0ZXh0OkRbcl0u Z2V0QXR0cmlidXRlKCJkaXNwbGF5VGV4dCIpLHR5cGU6Imhjb3VudCJ9KX19ZWxz ZXtpZihEW3JdLmNsYXNzTmFtZS5tYXRjaCh2KSYmRFtyXS5jbGFzc05hbWUubWF0 Y2godikubGVuZ3RoPj0yJiZEW3JdLmNsYXNzTmFtZS5tYXRjaCh2KVsxXSl7aWYo c3RCdXR0b25zLnRlc3RFbGVtKERbcl0pPT1mYWxzZSl7dz10cnVlO2c9RFtyXS5j bGFzc05hbWUubWF0Y2godilbMV07c3RCdXR0b25zLmVsZW1BcnIucHVzaChEW3Jd KTtDLnB1c2goe3NlcnZpY2U6ZyxlbGVtZW50OkRbcl0sdXJsOkRbcl0uZ2V0QXR0 cmlidXRlKCJzdF91cmwiKSx0aXRsZTpEW3JdLmdldEF0dHJpYnV0ZSgic3RfdGl0 bGUiKSxpbWFnZTooRFtyXS5nZXRBdHRyaWJ1dGUoInN0X2ltZyIpIT1udWxsKT9E W3JdLmdldEF0dHJpYnV0ZSgic3RfaW1nIik6RFtyXS5nZXRBdHRyaWJ1dGUoInN0 X2ltYWdlIiksc3VtbWFyeTpEW3JdLmdldEF0dHJpYnV0ZSgic3Rfc3VtbWFyeSIp LHRleHQ6RFtyXS5nZXRBdHRyaWJ1dGUoImRpc3BsYXlUZXh0IiksdHlwZToiYnV0 dG9uIn0pfX1lbHNle2lmKERbcl0uY2xhc3NOYW1lLm1hdGNoKHUpJiZEW3JdLmNs YXNzTmFtZS5tYXRjaCh1KS5sZW5ndGg+PTImJkRbcl0uY2xhc3NOYW1lLm1hdGNo KHUpWzFdKXtpZihzdEJ1dHRvbnMudGVzdEVsZW0oRFtyXSk9PWZhbHNlKXt3PXRy dWU7Zz1EW3JdLmNsYXNzTmFtZS5tYXRjaCh1KVsxXTtzdEJ1dHRvbnMuZWxlbUFy ci5wdXNoKERbcl0pO0MucHVzaCh7c2VydmljZTpnLGVsZW1lbnQ6RFtyXSx1cmw6 RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3VybCIpLHRpdGxlOkRbcl0uZ2V0QXR0cmli dXRlKCJzdF90aXRsZSIpLGltYWdlOihEW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1n IikhPW51bGwpP0Rbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWciKTpEW3JdLmdldEF0 dHJpYnV0ZSgic3RfaW1hZ2UiKSxzdW1tYXJ5OkRbcl0uZ2V0QXR0cmlidXRlKCJz dF9zdW1tYXJ5IiksdGV4dDpEW3JdLmdldEF0dHJpYnV0ZSgiZGlzcGxheVRleHQi KSx0eXBlOiJsYXJnZSJ9KX19ZWxzZXtpZihEW3JdLmNsYXNzTmFtZS5tYXRjaChz KSYmRFtyXS5jbGFzc05hbWUubWF0Y2gocykubGVuZ3RoPj0yJiZEW3JdLmNsYXNz TmFtZS5tYXRjaChzKVsxXSl7aWYoc3RCdXR0b25zLnRlc3RFbGVtKERbcl0pPT1m YWxzZSl7dz10cnVlO2c9RFtyXS5jbGFzc05hbWUubWF0Y2gocylbMV07c3RCdXR0 b25zLmVsZW1BcnIucHVzaChEW3JdKTtDLnB1c2goe3NlcnZpY2U6ZyxlbGVtZW50 OkRbcl0sdXJsOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF91cmwiKSx0aXRsZTpEW3Jd LmdldEF0dHJpYnV0ZSgic3RfdGl0bGUiKSxpbWFnZTooRFtyXS5nZXRBdHRyaWJ1 dGUoInN0X2ltZyIpIT1udWxsKT9EW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1nIik6 RFtyXS5nZXRBdHRyaWJ1dGUoInN0X2ltYWdlIiksc3VtbWFyeTpEW3JdLmdldEF0 dHJpYnV0ZSgic3Rfc3VtbWFyeSIpLHRleHQ6RFtyXS5nZXRBdHRyaWJ1dGUoImRp c3BsYXlUZXh0IiksdHlwZToicGNvdW50Iixjb3VudDpyfSl9fWVsc2V7aWYoRFty XS5jbGFzc05hbWUubWF0Y2gocCkmJkRbcl0uY2xhc3NOYW1lLm1hdGNoKHApLmxl bmd0aD49MiYmRFtyXS5jbGFzc05hbWUubWF0Y2gocClbMV0pe2lmKHN0QnV0dG9u cy50ZXN0RWxlbShEW3JdKT09ZmFsc2Upe3c9dHJ1ZTtnPURbcl0uY2xhc3NOYW1l Lm1hdGNoKHApWzFdO3N0QnV0dG9ucy5lbGVtQXJyLnB1c2goRFtyXSk7Qy5wdXNo KHtzZXJ2aWNlOmcsZWxlbWVudDpEW3JdLHVybDpEW3JdLmdldEF0dHJpYnV0ZSgi c3RfdXJsIiksdGl0bGU6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3RpdGxlIiksaW1h Z2U6KERbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWciKSE9bnVsbCk/RFtyXS5nZXRB dHRyaWJ1dGUoInN0X2ltZyIpOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWFnZSIp LHN1bW1hcnk6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3N1bW1hcnkiKSx0ZXh0OkRb cl0uZ2V0QXR0cmlidXRlKCJkaXNwbGF5VGV4dCIpLHR5cGU6InN0YmFyIixjb3Vu dDpyfSl9fWVsc2V7aWYoRFtyXS5jbGFzc05hbWUubWF0Y2gobikmJkRbcl0uY2xh c3NOYW1lLm1hdGNoKG4pLmxlbmd0aD49MiYmRFtyXS5jbGFzc05hbWUubWF0Y2go bilbMV0pe2lmKHN0QnV0dG9ucy50ZXN0RWxlbShEW3JdKT09ZmFsc2Upe3c9dHJ1 ZTtnPURbcl0uY2xhc3NOYW1lLm1hdGNoKG4pWzFdO3N0QnV0dG9ucy5lbGVtQXJy LnB1c2goRFtyXSk7Qy5wdXNoKHtzZXJ2aWNlOmcsZWxlbWVudDpEW3JdLHVybDpE W3JdLmdldEF0dHJpYnV0ZSgic3RfdXJsIiksdGl0bGU6RFtyXS5nZXRBdHRyaWJ1 dGUoInN0X3RpdGxlIiksaW1hZ2U6KERbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWci KSE9bnVsbCk/RFtyXS5nZXRBdHRyaWJ1dGUoInN0X2ltZyIpOkRbcl0uZ2V0QXR0 cmlidXRlKCJzdF9pbWFnZSIpLHN1bW1hcnk6RFtyXS5nZXRBdHRyaWJ1dGUoInN0 X3N1bW1hcnkiKSx0ZXh0OkRbcl0uZ2V0QXR0cmlidXRlKCJkaXNwbGF5VGV4dCIp LHR5cGU6InN0c21iYXIiLGNvdW50OnJ9KX19ZWxzZXtpZihEW3JdLmNsYXNzTmFt ZS5tYXRjaChtKSYmRFtyXS5jbGFzc05hbWUubWF0Y2gobSkubGVuZ3RoPj0yJiZE W3JdLmNsYXNzTmFtZS5tYXRjaChtKVsxXSl7aWYoc3RCdXR0b25zLnRlc3RFbGVt KERbcl0pPT1mYWxzZSl7dz10cnVlO2c9RFtyXS5jbGFzc05hbWUubWF0Y2gobSlb MV07c3RCdXR0b25zLmVsZW1BcnIucHVzaChEW3JdKTt2YXIgQj1EW3JdLmNsYXNz TmFtZS5zcGxpdCgiXyIpO0MucHVzaCh7c2VydmljZTpnLGVsZW1lbnQ6RFtyXSx1 cmw6RFtyXS5nZXRBdHRyaWJ1dGUoInN0X3VybCIpLHRpdGxlOkRbcl0uZ2V0QXR0 cmlidXRlKCJzdF90aXRsZSIpLGltYWdlOihEW3JdLmdldEF0dHJpYnV0ZSgic3Rf aW1nIikhPW51bGwpP0Rbcl0uZ2V0QXR0cmlidXRlKCJzdF9pbWciKTpEW3JdLmdl dEF0dHJpYnV0ZSgic3RfaW1hZ2UiKSxzdW1tYXJ5OkRbcl0uZ2V0QXR0cmlidXRl KCJzdF9zdW1tYXJ5IiksdGV4dDpEW3JdLmdldEF0dHJpYnV0ZSgiZGlzcGxheVRl eHQiKSx0eXBlOiJjc3MiLGNzc1R5cGU6QltCLmxlbmd0aC0xXX0pfX1lbHNle2lm KERbcl0uY2xhc3NOYW1lLm1hdGNoKGEpJiZEW3JdLmNsYXNzTmFtZS5tYXRjaChh KS5sZW5ndGg+PTImJkRbcl0uY2xhc3NOYW1lLm1hdGNoKGEpWzFdKXtpZihzdEJ1 dHRvbnMudGVzdEVsZW0oRFtyXSk9PWZhbHNlKXt3PXRydWU7Zz1EW3JdLmNsYXNz TmFtZS5tYXRjaChhKVsxXTtzdEJ1dHRvbnMuZWxlbUFyci5wdXNoKERbcl0pO0Mu cHVzaCh7c2VydmljZTpnLGVsZW1lbnQ6RFtyXSx1cmw6RFtyXS5nZXRBdHRyaWJ1 dGUoInN0X3VybCIpLHRpdGxlOkRbcl0uZ2V0QXR0cmlidXRlKCJzdF90aXRsZSIp LGltYWdlOihEW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1nIikhPW51bGwpP0Rbcl0u Z2V0QXR0cmlidXRlKCJzdF9pbWciKTpEW3JdLmdldEF0dHJpYnV0ZSgic3RfaW1h Z2UiKSxzdW1tYXJ5OkRbcl0uZ2V0QXR0cmlidXRlKCJzdF9zdW1tYXJ5IiksdGV4 dDpEW3JdLmdldEF0dHJpYnV0ZSgiZGlzcGxheVRleHQiKSx0eXBlOiJjaGlja2xl dCJ9KX19fX19fX19fX19aWYoRyl7aWYodyl7c3RCdXR0b25zLmVsZW1BcnIucHVz aChEW3JdKTtmb3Iobz0wO288Yi5sZW5ndGg7bysrKXtpZihiW29dLnNlcnZpY2U9 PWcpe2Jbb10uY291bnQrKztsPXRydWV9fWlmKCFsKXtiLnB1c2goe3NlcnZpY2U6 Zyxjb3VudDoxLGRvTm90UmVwbGFjZTpmYWxzZSxwcm9jZXNzZWQ6ZmFsc2V9KX19 fX19aWYoRyl7dmFyIGo9W107Zm9yKHZhciBmPWIubGVuZ3RoLTE7Zj49MDtmLS0p e2lmKGJbZl0uc2VydmljZT09InNoYXJldGhpcyJ8fGJbZl0uZG9Ob3RSZXBsYWNl KXtiW2ZdLnByb2Nlc3NlZD10cnVlO2NvbnRpbnVlfWVsc2V7Zm9yKHZhciBlIGlu IHN0UmVjZW50U2VydmljZXMpe3ZhciBoPWZhbHNlO2lmKCFzdFJlY2VudFNlcnZp Y2VzW2VdLnByb2Nlc3NlZCl7Zm9yKHZhciBxPTA7cTxiLmxlbmd0aDtxKyspe2lm KGU9PWJbcV0uc2VydmljZSYmIWJbcV0ucHJvY2Vzc2VkKXtoPXRydWU7YltxXS5k b05vdFJlcGxhY2U9dHJ1ZTtzdFJlY2VudFNlcnZpY2VzW2VdLnByb2Nlc3NlZD10 cnVlO2JyZWFrfX1pZihoKXtiW2ZdLnByb2Nlc3NlZD10cnVlfWVsc2V7ai5wdXNo KHtvbGRTZXJ2aWNlOmJbZl0uc2VydmljZSxuZXdTZXJ2aWNlOmV9KTtmb3IodmFy IGQ9MDtkPEMubGVuZ3RoO2QrKyl7aWYoQ1tkXS5zZXJ2aWNlPT1iW2ZdLnNlcnZp Y2Upe0NbZF0uc2VydmljZT1lO0NbZF0udGV4dD1zdFJlY2VudFNlcnZpY2VzW2Vd LnRpdGxlO0NbZF0uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRpc3BsYXlUZXh0Iixz dFJlY2VudFNlcnZpY2VzW2VdLnRpdGxlKTtDW2RdLmVsZW1lbnQuY2xhc3NOYW1l PUNbZF0uZWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShiW2ZdLnNlcnZpY2UsZSl9 fXN0UmVjZW50U2VydmljZXNbZV0ucHJvY2Vzc2VkPXRydWU7YltmXS5wcm9jZXNz ZWQ9dHJ1ZTticmVha319fX19fWZvcih2YXIgcj0wO3I8Qy5sZW5ndGg7cisrKXtz dFdpZGdldC5hZGRFbnRyeShDW3JdKX19O3N0QnV0dG9ucy5vZGNzcz1mdW5jdGlv bihhLGIpe3RoaXMuaGVhZD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi aGVhZCIpWzBdO3RoaXMuc2NyaXB0U3JjPWE7dGhpcy5jc3M9ZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgibGluayIpO3RoaXMuY3NzLnNldEF0dHJpYnV0ZSgicmVsIiwi c3R5bGVzaGVldCIpO3RoaXMuY3NzLnNldEF0dHJpYnV0ZSgidHlwZSIsInRleHQv Y3NzIik7dGhpcy5jc3Muc2V0QXR0cmlidXRlKCJocmVmIix0aGlzLnNjcmlwdFNy Yyk7c2V0VGltZW91dChmdW5jdGlvbigpe2IoKX0sNTAwKTt0aGlzLmhlYWQuYXBw ZW5kQ2hpbGQodGhpcy5jc3MpfTtzdEJ1dHRvbnMubWFrZUJ1dHRvbnM9ZnVuY3Rp b24oKXt2YXIgYT0oKCJodHRwczoiPT1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2Nv bCk/Imh0dHBzOi8vd3Muc2hhcmV0aGlzLmNvbS9idXR0b24vY3NzL2J1dHRvbnMt c2VjdXJlLmNzcyI6Imh0dHA6Ly93LnNoYXJldGhpcy5jb20vYnV0dG9uL2Nzcy9i dXR0b25zLmNzcyIpO3N0QnV0dG9ucy5vZGNzcyhhLGZ1bmN0aW9uKCl7fSk7c3RC dXR0b25zLmxvY2F0ZUVsZW1lbnRzKCk7aWYoc3RCdXR0b25zLmxvYWRQbHVzb25l KXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtiLnNldEF0 dHJpYnV0ZSgidHlwZSIsInRleHQvamF2YXNjcmlwdCIpO2Iuc2V0QXR0cmlidXRl KCJzcmMiLCJodHRwczovL2FwaXMuZ29vZ2xlLmNvbS9qcy9wbHVzb25lLmpzIik7 Yi5pbm5lckhUTUw9J3sicGFyc2V0YWdzIjogImV4cGxpY2l0In0nO2RvY3VtZW50 LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoYik7 c2V0VGltZW91dChmdW5jdGlvbigpe2dhcGkucGx1c29uZS5nbygpfSwzMDApfX07 c3RCdXR0b25zLmFkZENvdW50PWZ1bmN0aW9uKGEpe3N0QnV0dG9ucy5jb3VudHMu cHVzaChhKX07c3RCdXR0b25zLmdldENvdW50c0Zyb21TZXJ2aWNlPWZ1bmN0aW9u KGMsYixkKXtpZihzdEJ1dHRvbnMuY2hlY2tRdWV1ZShjKT09ZmFsc2Upe3ZhciBh PWErIi0iK3N0QnV0dG9ucy5jYlZhbDthPSJzdEJ1dHRvbnMucHJvY2Vzc0NCIjtz dEJ1dHRvbnMuY2JWYWwrKzt2YXIgZT0oKCJodHRwczoiPT1kb2N1bWVudC5sb2Nh dGlvbi5wcm90b2NvbCk/Imh0dHBzOi8vd3Muc2hhcmV0aGlzLmNvbS9hcGkvZ2V0 Q291bnQyLnBocD9jYj0iK2ErIiZ1cmw9IjoiaHR0cDovL3dkLnNoYXJldGhpcy5j b20vYXBpL2dldENvdW50Mi5waHA/Y2I9IithKyImdXJsPSIpO3N0TGlnaHQub2Rq cyhlK2VuY29kZVVSSUNvbXBvbmVudChjKSxmdW5jdGlvbigpe30pO3N0QnV0dG9u cy5xdWV1ZS5wdXNoKGMpfX07c3RCdXR0b25zLmNoZWNrUXVldWU9ZnVuY3Rpb24o YSl7Zm9yKHZhciBiPTA7YjxzdEJ1dHRvbnMucXVldWUubGVuZ3RoO2IrKyl7aWYo c3RCdXR0b25zLnF1ZXVlW2JdPT1hKXtyZXR1cm4gdHJ1ZX19cmV0dXJuIGZhbHNl fTtzdEJ1dHRvbnMuZWxlbUFycj1bXTtzdEJ1dHRvbnMudGVzdEVsZW09ZnVuY3Rp b24oYyl7dmFyIGE9ZmFsc2U7Zm9yKHZhciBiPTA7YjxzdEJ1dHRvbnMuZWxlbUFy ci5sZW5ndGg7YisrKXtpZihjPT1zdEJ1dHRvbnMuZWxlbUFycltiXSl7YT10cnVl fX1pZihhPT10cnVlKXtyZXR1cm4gdHJ1ZX1lbHNle3JldHVybiBmYWxzZX19O2Z1 bmN0aW9uIFNoYXJlYWJsZShjKXt2YXIgYT17fTthLmZhY2Vib29rPSI0NTAiO2Eu dHdpdHRlcj0iNjg0IjthLnlhaG9vPSI1MDAiO2EuZ2J1eno9IjU1MCI7YS5saW5r ZWRpbj0iNjAwIjt2YXIgYj17fTtiLmZhY2Vib29rPSIzMDAiO2IudHdpdHRlcj0i NzE4IjtiLnlhaG9vPSI0NjAiO2IuZ2J1eno9IjQwMCI7Yi5saW5rZWRpbj0iNDMz Ijt0aGlzLmlkeD0tMTt0aGlzLnVybD1udWxsO3RoaXMudGl0bGU9bnVsbDt0aGlz LmltYWdlPW51bGw7dGhpcy5lbGVtZW50PW51bGw7dGhpcy5zZXJ2aWNlPW51bGw7 dGhpcy5zY3JlZW49ImhvbWUiO3RoaXMuc3VtbWFyeT1udWxsO3RoaXMuY29udGVu dD1udWxsO3RoaXMuYnV0dG9uVGV4dD1udWxsO3RoaXMuZnJhZz1udWxsO3RoaXMu b25ob3Zlcj10cnVlO3RoaXMudHlwZT1udWxsO3ZhciBkPXRoaXM7dmFyIGU9ZmFs c2U7dGhpcy5hdHRhY2hCdXR0b249ZnVuY3Rpb24oZil7dGhpcy5lbGVtZW50PWY7 aWYoKHRoaXMub25ob3Zlcj09dHJ1ZXx8dGhpcy5vbmhvdmVyPT0idHJ1ZSIpJiYo dGhpcy5wb3B1cD09ZmFsc2V8fHRoaXMucG9wdXA9PSJmYWxzZSIpJiYoKCFzd2l0 Y2hUbzV4KXx8KHN3aXRjaFRvNXgmJihjLnNlcnZpY2U9PSJzaGFyZXRoaXMifHxj LnNlcnZpY2U9PSJlbWFpbCIpKSkpe2Yub25tb3VzZW92ZXI9dGhpcy5tb3VzZU9u O2Yub25tb3VzZW91dD10aGlzLm1vdXNlT3V0fWYub25jbGljaz1mdW5jdGlvbigp e2lmKHN3aXRjaFRvNXgpe2lmKGMmJihjLnNlcnZpY2U9PSJ5YWhvbyJ8fGMuc2Vy dmljZT09ImJ1enoifHxjLnNlcnZpY2U9PSJmYWNlYm9vayJ8fGMuc2VydmljZT09 InR3aXR0ZXIifHxjLnNlcnZpY2U9PSJnYnV6eiJ8fGMuc2VydmljZT09Imxpbmtl ZGluIikpe2lmKGMuc2VydmljZT09ImJ1enoifHxjLnNlcnZpY2U9PSJnYnV6eiIp e29BdXRoVVJMPSJodHRwOi8vcmVzdC5zaGFyZXRoaXMuY29tL2F1dGgvZ2V0T0F1 dGgucGhwP3Byb3ZpZGVyPWJ1enombGlua2luZz10cnVlJnB1Yl9rZXk9MTJiZTRk ZGEtZjgzOC00MGUwLWI3NDgtZjc4MzU3YTYzY2M4JmFjY2Vzc19rZXk9OTZiYTZi NDc2MTUxZDA3ZTY3NTEyNWE3Y2M4ZWMwZWEmcmVkaXJlY3RfdXJsPWh0dHA6Ly9z aGFyZXRoaXMuY29tIn1lbHNle29BdXRoVVJMPSJodHRwOi8vc2hhcmV0aGlzLmNv bS9hY2NvdW50L2xpbmtpbmc/cHJvdmlkZXI9IitjLnNlcnZpY2V9d2luZG93Lm9w ZW4ob0F1dGhVUkwsIkFjY291bnRMaW5raW5nV2luZG93Iiwic3RhdHVzPTEsIGhl aWdodD0iK2JbYy5zZXJ2aWNlXSsiLCB3aWR0aD0iK2FbYy5zZXJ2aWNlXSsiLCBy ZXNpemFibGU9MCIpfX1kLnBvcHVwKCl9fTt0aGlzLmluaXQ9ZnVuY3Rpb24oKXtz dFdpZGdldC5tZXJnZSh0aGlzLGMpO3N0V2lkZ2V0LnNoYXJlYWJsZXMucHVzaCh0 aGlzKTtpZihjLmVsZW1lbnQhPT1udWxsKXt0aGlzLmF0dGFjaEJ1dHRvbihjLmVs ZW1lbnQpfX07cmV0dXJuIHRoaXN9dmFyIHN0V2lkZ2V0PW5ldyBmdW5jdGlvbigp e3RoaXMuc2hhcmVhYmxlcz1bXTt0aGlzLmVudHJpZXM9MDt0aGlzLndpZGdldE9w ZW49ZmFsc2U7dGhpcy5tb3VzZU9uVGltZXI9bnVsbDt0aGlzLm1vdXNlT3V0VGlt ZXI9bnVsbDt0aGlzLmZyYW1lUmVhZHk9ZmFsc2U7aWYoc3dpdGNoVG81eCl7dGhp cy5mcmFtZVVybD0oKCJodHRwczoiPT1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2Nv bCk/Imh0dHBzOi8vd3Muc2hhcmV0aGlzLmNvbS9zZWN1cmU1eC9pbmRleC5odG1s IjoiaHR0cDovL2VkZ2Uuc2hhcmV0aGlzLmNvbS9zaGFyZTV4L2luZGV4LmE0OWU1 NTJhOTE2ZDVlMGRlZmQzNTEzNjIzNmQwZjc0Lmh0bWwiKX1lbHNle3RoaXMuZnJh bWVVcmw9KCgiaHR0cHM6Ij09ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wpPyJo dHRwczovL3dzLnNoYXJldGhpcy5jb20vc2VjdXJlL2luZGV4Lmh0bWwiOiJodHRw Oi8vZWRnZS5zaGFyZXRoaXMuY29tL3NoYXJlNHgvaW5kZXguNTQ2MzJkMzQ1Yzkz MTgwYTQ4ZTU5YjUxODNjOTliYWYuaHRtbCIpfXRoaXMuc2VjdXJlPWZhbHNlO3Ry eXt0aGlzLm1haW5zdGZyYW1lPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJzxpZnJh bWUgbmFtZT0ic3RMZnJhbWUiIGFsbG93VHJhbnNwYXJlbmN5PSJ0cnVlIiBzdHls ZT0iYm9keXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O30iID48L2lmcmFtZT4nKTt0 aGlzLm1haW5zdGZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lm KHN0V2lkZ2V0Lm1haW5zdGZyYW1lLnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKXtz dFdpZGdldC5mcmFtZVJlYWR5PXRydWV9fX1jYXRjaChhKXt0aGlzLm1haW5zdGZy YW1lPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3RoaXMubWFpbnN0 ZnJhbWUuYWxsb3dUcmFuc3BhcmVuY3k9InRydWUiO3RoaXMubWFpbnN0ZnJhbWUu c2V0QXR0cmlidXRlKCJhbGxvd1RyYW5zcGFyZW5jeSIsInRydWUiKTt0aGlzLm1h aW5zdGZyYW1lLm9ubG9hZD1mdW5jdGlvbigpe3N0V2lkZ2V0LmZyYW1lUmVhZHk9 dHJ1ZX19dGhpcy5tYWluc3RmcmFtZS5pZD0ic3RMZnJhbWUiO3RoaXMubWFpbnN0 ZnJhbWUuY2xhc3NOYW1lPSJzdExmcmFtZSI7dGhpcy5tYWluc3RmcmFtZS5uYW1l PSJzdExmcmFtZSI7dGhpcy5tYWluc3RmcmFtZS5mcmFtZUJvcmRlcj0iMCI7dGhp cy5tYWluc3RmcmFtZS5zY3JvbGxpbmc9Im5vIjt0aGlzLm1haW5zdGZyYW1lLndp ZHRoPSIzNDVweCI7dGhpcy5tYWluc3RmcmFtZS5oZWlnaHQ9IjQ1MHB4Ijt0aGlz Lm1haW5zdGZyYW1lLnN0eWxlLnRvcD0iMHB4Ijt0aGlzLm1haW5zdGZyYW1lLnN0 eWxlLmxlZnQ9IjBweCI7dGhpcy5tYWluc3RmcmFtZS5zcmM9IiI7dGhpcy53cmFw cGVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMud3JhcHBlci5p ZD0ic3R3cmFwcGVyIjt0aGlzLndyYXBwZXIuY2xhc3NOYW1lPSJzdHdyYXBwZXIi O3RoaXMud3JhcHBlci5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO3RoaXMud3Jh cHBlci5zdHlsZS50b3A9Ii05OTlweCI7dGhpcy53cmFwcGVyLnN0eWxlLmxlZnQ9 Ii05OTlweCI7dGhpcy5jbG9zZXdyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgiZGl2Iik7dGhpcy5jbG9zZXdyYXBwZXIuY2xhc3NOYW1lPSJzdGNsb3NlIjtp Zihzd2l0Y2hUbzV4KXt0aGlzLm1haW5zdGZyYW1lLndpZHRoPSI1MDBweCI7dGhp cy5tYWluc3RmcmFtZS5oZWlnaHQ9IjQzMHB4Ijt0aGlzLndyYXBwZXIuc3R5bGUu dG9wPSItOTk5cHgiO3RoaXMud3JhcHBlci5zdHlsZS5sZWZ0PSItOTk5cHgiO3Ro aXMud3JhcHBlci5zdHlsZS53aWR0aD0iNTAwcHgiO3RoaXMud3JhcHBlci5zdHls ZS56SW5kZXg9ODk5OTk5OTk7dGhpcy5vdmVybGF5PWRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoImRpdiIpO3RoaXMub3ZlcmxheS5zdHlsZS5oZWlnaHQ9IjEwMCUiO3Ro aXMub3ZlcmxheS5zdHlsZS53aWR0aD0iMTAwJSI7dGhpcy5vdmVybGF5LnN0eWxl LmJhY2tncm91bmRDb2xvcj0iIzAwMCI7dGhpcy5vdmVybGF5LnN0eWxlLm9wYWNp dHk9IjAuNiI7dGhpcy5vdmVybGF5LnN0eWxlLmZpbHRlcj0iQWxwaGEoT3BhY2l0 eT02MCkiO3RoaXMub3ZlcmxheS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiO2lmKGRv Y3VtZW50LmFsbCYmbmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiTVNJRSA2 LiIpIT0tMSl7dGhpcy5vdmVybGF5LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSJ9 dGhpcy5vdmVybGF5LnN0eWxlLmRpc3BsYXk9Im5vbmUiO3RoaXMub3ZlcmxheS5z dHlsZS5sZWZ0PSIwIjt0aGlzLm92ZXJsYXkuc3R5bGUudG9wPSIwIjt0aGlzLm92 ZXJsYXkuc3R5bGUuekluZGV4PTg5OTk5OTkwO3RoaXMub3ZlcmxheS5zZXRBdHRy aWJ1dGUoImlkIiwic3RPdmVybGF5Iik7dGhpcy5jbG9zZXdyYXBwZXIuY2xhc3NO YW1lPSJzdENsb3NlTmV3MiJ9dGhpcy5jbG9zZXdyYXBwZXIub25jbGljaz1mdW5j dGlvbigpe3N0V2lkZ2V0LmNsb3NlV2lkZ2V0KCl9O3RoaXMud3JhcHBlci5hcHBl bmRDaGlsZCh0aGlzLmNsb3Nld3JhcHBlcik7dGhpcy53cmFwcGVyLmFwcGVuZENo aWxkKHRoaXMubWFpbnN0ZnJhbWUpO3RoaXMub2d0aXRsZT1udWxsO3RoaXMub2dk ZXNjPW51bGw7dGhpcy5vZ3VybD1udWxsO3RoaXMub2dpbWc9bnVsbDt0aGlzLm9n dHlwZT1udWxsO3RoaXMuZGVzYz1udWxsO3RoaXMuaW5pdEZpcmU9ZmFsc2U7dGhp cy5tZXJnZT1mdW5jdGlvbihkLGMpe2Zvcih2YXIgYiBpbiBjKXtpZihkLmhhc093 blByb3BlcnR5KGIpJiZjW2JdIT09bnVsbCl7ZFtiXT1jW2JdfX19O3RoaXMub2xk U2Nyb2xsPTA7dGhpcy5pbml0PWZ1bmN0aW9uKCl7aWYoc3RXaWRnZXQuaW5pdEZp cmU9PWZhbHNlKXtzdFdpZGdldC5pbml0RmlyZT10cnVlO3dpbmRvdy5mcmFtZXMu c3RMZnJhbWUubG9jYXRpb24ucmVwbGFjZShzdFdpZGdldC5mcmFtZVVybCtzdFdp ZGdldC5jcmVhdGVGcmFnKG51bGwsImluaXQiKSl9fX07c3RXaWRnZXQub3B0aW9u cz1uZXcgZnVuY3Rpb24oKXt0aGlzLmZwYz1zdExpZ2h0LmZwYzt0aGlzLnNlc3Np b25JRD1udWxsO3RoaXMucHVibGlzaGVyPW51bGw7dGhpcy50cmFja2luZz10cnVl O3RoaXMuc2VuZF9zZXJ2aWNlcz1udWxsO3RoaXMuZXhjbHVzaXZlX3NlcnZpY2Vz PW51bGw7dGhpcy5oZWFkZXJUaXRsZT1udWxsO3RoaXMuaGVhZGVyZmc9bnVsbDt0 aGlzLmhlYWRlcmJnPW51bGw7dGhpcy5vZmZzZXRMZWZ0PW51bGw7dGhpcy5vZmZz ZXRUb3A9bnVsbDt0aGlzLm9uaG92ZXI9dHJ1ZTt0aGlzLmF1dG9jbG9zZT10cnVl O3RoaXMuYXV0b1Bvc2l0aW9uPXRydWU7dGhpcy5lbWJlZHM9ZmFsc2U7dGhpcy5k b25lU2NyZWVuPXRydWU7dGhpcy5taW5vclNlcnZpY2VzPXRydWU7dGhpcy5leGNs dWRlU2VydmljZXM9bnVsbDt0aGlzLnRoZW1lPTE7dGhpcy5zZXJ2aWNlQmFyQ29s b3I9bnVsbDt0aGlzLnNoYXJlQnV0dG9uQ29sb3I9bnVsbDt0aGlzLmZvb3RlckNv bG9yPW51bGw7dGhpcy5oZWFkZXJUZXh0Q29sb3I9bnVsbDt0aGlzLmhlbHBUZXh0 Q29sb3I9bnVsbDt0aGlzLm1haW5XaWRnZXRDb2xvcj1udWxsO3RoaXMudGV4dEJv eEZvbnRDb2xvcj1udWxsO3RoaXMudGV4dFJpZ2h0VG9MZWZ0PWZhbHNlO3RoaXMu c2hvcnRlbj10cnVlO3RoaXMucG9wdXA9ZmFsc2U7dGhpcy5uZXdPclplcm89Im5l dyI7dGhpcy5wdWJsaXNoZXJHQT1udWxsfTtzdFdpZGdldC5hZGRFbnRyeT1mdW5j dGlvbihhKXtpZighYS5lbGVtZW50KXtyZXR1cm4gZmFsc2V9aWYoYSYmKChhLnNl cnZpY2U9PSJlbWFpbCJ8fGEuc2VydmljZT09InNoYXJldGhpcyIpfHwoc3dpdGNo VG81eCYmKGEuc2VydmljZT09ImZhY2Vib29rInx8YS5zZXJ2aWNlPT0idHdpdHRl ciJ8fGEuc2VydmljZT09ImdidXp6Inx8YS5zZXJ2aWNlPT0ieWFob28ifHxhLnNl cnZpY2U9PSJsaW5rZWRpbiIpKSkpe29wZW5XaWRnZXQ9dHJ1ZX1lbHNle29wZW5X aWRnZXQ9ZmFsc2V9aWYoIW9wZW5XaWRnZXQpe2lmKGEudHlwZSE9PSJjdXN0b20i KXthLmVsZW1lbnQuYXBwZW5kQ2hpbGQoc3RCdXR0b25zLm1ha2VCdXR0b24oYSkp fWVsc2V7aWYoIShhLnR5cGU9PSJjdXN0b20iJiZhLnNlcnZpY2U9PSJzaGFyZXRo aXMiKSl7c3RCdXR0b25zLm1ha2VCdXR0b24oYSl9fXJldHVybiB0cnVlfWVsc2V7 aWYoYS50eXBlIT0iY3VzdG9tIil7YS5lbGVtZW50LmFwcGVuZENoaWxkKHN0QnV0 dG9ucy5tYWtlQnV0dG9uKGEpKX1lbHNle2lmKCEoYS50eXBlPT0iY3VzdG9tIiYm YS5zZXJ2aWNlPT0ic2hhcmV0aGlzIikpe3N0QnV0dG9ucy5tYWtlQnV0dG9uKGEp fX12YXIgYj1uZXcgU2hhcmVhYmxlKGEpO2IuaWR4PXN0V2lkZ2V0LmVudHJpZXM7 c3RXaWRnZXQuZW50cmllcysrO2IucHVibGlzaGVyPXN0TGlnaHQucHVibGlzaGVy O2Iuc2Vzc2lvbklEPXN0TGlnaHQuc2Vzc2lvbklEO2IuZnBjPXN0TGlnaHQuZnBj O2lmKGEuZWxlbWVudC5pbWFnZT09bnVsbCYmc3RXaWRnZXQub2dpbWchPW51bGwp e2IuaW1hZ2U9c3RXaWRnZXQub2dpbWd9aWYoYS5lbGVtZW50LnN1bW1hcnk9PW51 bGwmJnN0V2lkZ2V0Lm9nZGVzYyE9bnVsbCl7Yi5zdW1tYXJ5PXN0V2lkZ2V0Lm9n ZGVzY31lbHNle2lmKGEuZWxlbWVudC5zdW1tYXJ5PT1udWxsJiZzdFdpZGdldC5k ZXNjIT1udWxsKXtiLnN1bW1hcnk9c3RXaWRnZXQuZGVzY319Yi51cmw9c3RXaWRn ZXQub2d1cmw/c3RXaWRnZXQub2d1cmw6ZG9jdW1lbnQubG9jYXRpb24uaHJlZjti LnVybD1hLnVybD9hLnVybDpiLnVybDtiLnRpdGxlPXN0V2lkZ2V0Lm9ndGl0bGU/ c3RXaWRnZXQub2d0aXRsZTpkb2N1bWVudC50aXRsZTtiLnRpdGxlPWEudGl0bGU/ YS50aXRsZTpiLnRpdGxlO3N0V2lkZ2V0Lm1lcmdlKGIsc3RXaWRnZXQub3B0aW9u cyk7aWYodHlwZW9mKHN0V2lkZ2V0Lm9wdGlvbnMudGV4dFJpZ2h0VG9MZWZ0KSE9 InVuZGVmaW5lZCImJnN0V2lkZ2V0Lm9wdGlvbnMudGV4dFJpZ2h0VG9MZWZ0IT0i bnVsbCImJnN0V2lkZ2V0Lm9wdGlvbnMudGV4dFJpZ2h0VG9MZWZ0PT10cnVlKXtk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R3cmFwcGVyIikuc3R5bGUudG9wPSJh dXRvIjtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R3cmFwcGVyIikuc3R5bGUu bGVmdD0iYXV0byJ9Yi5tb3VzZU9uPWZ1bmN0aW9uKCl7c3RXaWRnZXQubW91c2VP blRpbWVyPXNldFRpbWVvdXQoYi5wb3B1cCw1MDApfTtiLm1vdXNlT3V0PWZ1bmN0 aW9uKCl7Y2xlYXJJbnRlcnZhbChzdFdpZGdldC5tb3VzZU9uVGltZXIpfTtiLnBv cHVwPWZ1bmN0aW9uKCl7aWYoc3RXaWRnZXQud2lkZ2V0T3Blbj09ZmFsc2Upe3Zh ciBkPSJzaGFyZTR4IjtpZihzd2l0Y2hUbzV4KXtkPSJzaGFyZTV4Ijt0cnl7aWYo c3RMaWdodC5jbGlja0NhbGxCYWNrIT1mYWxzZSl7c3RMaWdodC5jbGlja0NhbGxC YWNrKGEuc2VydmljZSl9fWNhdGNoKGMpe319aWYoYS50eXBlPT0ic3RiYXIifHxh LnR5cGU9PSJzdHNtYmFyIil7ZD0iYmFyIn1zdExpZ2h0LmxvZygid2lkZ2V0Iixk LGEuc2VydmljZSsiXyIrYS50eXBlKTtpZihzdFdpZGdldC5vcHRpb25zLnBvcHVw JiYhc3dpdGNoVG81eCl7d2luZG93Lm9wZW4oc3RXaWRnZXQuZnJhbWVVcmwrc3RX aWRnZXQuY3JlYXRlRnJhZyhiKSwibmV3c3RmcmFtZSIsInN0YXR1cz0xLHRvb2xi YXI9MCx3aWR0aD0zNDUsaGVpZ2h0PTM3NSIpfWVsc2V7aWYoc3RXaWRnZXQub3B0 aW9ucy5wb3B1cCYmc3dpdGNoVG81eCl7dmFyIGU9Imh0dHA6Ly9zaGFyZXRoaXMu Y29tL3NoYXJlP3VybD0iK2IudXJsO3dpbmRvdy5vcGVuKGUsIm5ld3N0ZnJhbWUi LCJzdGF0dXM9MSx0b29sYmFyPTAsd2lkdGg9ODIwLGhlaWdodD05NTAiKX1lbHNl e3dpbmRvdy5mcmFtZXMuc3RMZnJhbWUubG9jYXRpb24ucmVwbGFjZShzdFdpZGdl dC5mcmFtZVVybCtzdFdpZGdldC5jcmVhdGVGcmFnKGIpKTtzdFdpZGdldC5wb3Np dGlvbldpZGdldChiKTtpZihzdFdpZGdldC5vcHRpb25zLmVtYmVkcz09ZmFsc2Up e3N0V2lkZ2V0LmhpZGVFbWJlZHMoKX1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7c3RX aWRnZXQud2lkZ2V0T3Blbj10cnVlO3N0X3Nob3dpbmc9dHJ1ZX0sMjAwKX19fWVs c2V7aWYoc3RXaWRnZXQud2lkZ2V0T3Blbj09dHJ1ZSYmc3RXaWRnZXQub3B0aW9u cy5vbmhvdmVyPT1mYWxzZSl7fX1yZXR1cm4gZmFsc2V9O2IuaW5pdCgpO3JldHVy biBifX07c3RXaWRnZXQuY3JlYXRlRnJhZz1mdW5jdGlvbihjLGIpe3ZhciBmPSIj bGlnaHQiO2lmKGI9PSJpbml0Iil7Zj0iI2luaXQiO2lmKHN0V2lkZ2V0Lm9wdGlv bnMudHJhY2tpbmcmJnN0V2lkZ2V0Lm9wdGlvbnMucHVibGlzaGVyR0E9PW51bGwp e2lmKHR5cGVvZihwYWdlVHJhY2tlcikhPSJ1bmRlZmluZWQiJiZwYWdlVHJhY2tl ciE9PW51bGwpe3N0V2lkZ2V0Lm9wdGlvbnMucHVibGlzaGVyR0E9cGFnZVRyYWNr ZXIuX2dldEFjY291bnQoKX1lbHNle2lmKHN0V2lkZ2V0Lm9wdGlvbnMucHVibGlz aGVyR0E9PW51bGwmJnR5cGVvZihfX3N0UHViR0EpIT09InVuZGVmaW5lZCIpe3N0 V2lkZ2V0Lm9wdGlvbnMucHVibGlzaGVyR0E9X19zdFB1YkdBfX19Zm9yKHZhciBl IGluIHN0V2lkZ2V0Lm9wdGlvbnMpe2lmKHN0V2lkZ2V0Lm9wdGlvbnMuaGFzT3du UHJvcGVydHkoZSk9PXRydWUmJnN0V2lkZ2V0Lm9wdGlvbnNbZV0hPT1udWxsJiZ0 eXBlb2Yoc3RXaWRnZXQub3B0aW9uc1tlXSkhPSJmdW5jdGlvbiImJnR5cGVvZihz dFdpZGdldC5vcHRpb25zW2VdKSE9Im9iamVjdCIpe3ZhciBhPXN0V2lkZ2V0Lm9w dGlvbnNbZV07dHJ5e2E9ZGVjb2RlVVJJQ29tcG9uZW50KGEpO2E9ZGVjb2RlVVJJ Q29tcG9uZW50KGEpfWNhdGNoKGQpe31mPWYrIi8iK2UrIj0iK2VuY29kZVVSSUNv bXBvbmVudChhKX19Zj1mKyIvcFVybD0iK2VuY29kZVVSSUNvbXBvbmVudChlbmNv ZGVVUklDb21wb25lbnQoZG9jdW1lbnQubG9jYXRpb24uaHJlZikpKygoZG9jdW1l bnQudGl0bGUhPSIiKT8iL3RpdGxlPSIrZW5jb2RlVVJJQ29tcG9uZW50KGVuY29k ZVVSSUNvbXBvbmVudChkb2N1bWVudC50aXRsZSkpOiIiKSsiL3N0TGlnaHQ9dHJ1 ZSJ9ZWxzZXtmb3IodmFyIGUgaW4gYyl7aWYoYy5oYXNPd25Qcm9wZXJ0eShlKT09 dHJ1ZSYmY1tlXSE9PW51bGwmJnR5cGVvZihjW2VdKSE9ImZ1bmN0aW9uIiYmdHlw ZW9mKGNbZV0pIT0ib2JqZWN0IiYmZSE9PSJpZHgiKXtmPWYrIi8iK2UrIi09LSIr ZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudChjW2VdKSl9fWlm KGMuc2VydmljZT09ImVtYWlsIil7Zj1mKyIvcGFnZS09LXNlbmQifWlmKHN3aXRj aFRvNXgpe2lmKGMuc2VydmljZT09ImZhY2Vib29rIil7Zj1mKyIvcGFnZS09LWZi aG9tZSJ9ZWxzZXtpZihjLnNlcnZpY2U9PSJ0d2l0dGVyIil7Zj1mKyIvcGFnZS09 LXR3aG9tZSJ9ZWxzZXtpZihjLnNlcnZpY2U9PSJnYnV6eiIpe2Y9ZisiL3BhZ2Ut PS1nYmhvbWUifWVsc2V7aWYoYy5zZXJ2aWNlPT0ieWFob28iKXtmPWYrIi9wYWdl LT0teWJob21lIn1lbHNle2lmKGMuc2VydmljZT09ImxpbmtlZGluIil7Zj1mKyIv cGFnZS09LWxpaG9tZSJ9fX19fX19cmV0dXJuIGZ9O3N0V2lkZ2V0LnBvc2l0aW9u V2lkZ2V0PWZ1bmN0aW9uKG8pe2lmKCFvKXtyZXR1cm4gZmFsc2V9aWYoIXN3aXRj aFRvNXgpe3NoYXJlZWw9by5lbGVtZW50O3ZhciBjdXJsZWZ0PWN1cnRvcD0wO2lm KHNoYXJlZWwub2Zmc2V0UGFyZW50KXtjdXJsZWZ0PXNoYXJlZWwub2Zmc2V0TGVm dDtjdXJ0b3A9c2hhcmVlbC5vZmZzZXRUb3A7d2hpbGUoc2hhcmVlbD1zaGFyZWVs Lm9mZnNldFBhcmVudCl7Y3VybGVmdCs9c2hhcmVlbC5vZmZzZXRMZWZ0O2N1cnRv cCs9c2hhcmVlbC5vZmZzZXRUb3B9fXNoYXJlZWw9by5lbGVtZW50O3ZhciBlbHRv cD0wO3ZhciBlbGxlZnQ9MDt2YXIgdG9wVmFsPTA7dmFyIGxlZnRWYWw9MDt2YXIg ZWxlbUg9MDt2YXIgZWxlbVc9MDtlbHRvcD1jdXJ0b3Arc2hhcmVlbC5vZmZzZXRI ZWlnaHQrNTtlbGxlZnQ9Y3VybGVmdCs1O3RvcFZhbD0oZWx0b3ArKHN0V2lkZ2V0 Lm9wdGlvbnMub2Zmc2V0VG9wP3N0V2lkZ2V0Lm9wdGlvbnMub2Zmc2V0VG9wOjAp KTt0b3BWYWw9ZXZhbCh0b3BWYWwpO2VsZW1IPXRvcFZhbDt0b3BWYWwrPSJweCI7 bGVmdFZhbD0oZWxsZWZ0KyhzdFdpZGdldC5vcHRpb25zLm9mZnNldExlZnQ/c3RX aWRnZXQub3B0aW9ucy5vZmZzZXRMZWZ0OjApKTtsZWZ0VmFsPWV2YWwobGVmdFZh bCk7ZWxlbVc9bGVmdFZhbDtsZWZ0VmFsKz0icHgiO3N0V2lkZ2V0LndyYXBwZXIu c3R5bGUudG9wPXRvcFZhbDtzdFdpZGdldC53cmFwcGVyLnN0eWxlLmxlZnQ9bGVm dFZhbDtpZihzdFdpZGdldC5vcHRpb25zLmF1dG9Qb3NpdGlvbj09dHJ1ZSl7c3RX aWRnZXQub2xkU2Nyb2xsPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO3ZhciBwZ2lu Zm89c3RXaWRnZXQucGFnZVNpemUoKTt2YXIgZWZmZWN0aXZlSD1wZ2luZm8uaGVp Z2h0K3BnaW5mby5zY3JZO3ZhciBlZmZlY3RpdmVXPXBnaW5mby53aWR0aCtwZ2lu Zm8uc2NyWDt2YXIgd2lkZ2V0SD0xODA7dmFyIHdpZGdldFc9MzU1O3ZhciBuZWVk SD13aWRnZXRIK2VsZW1IO3ZhciBuZWVkVz13aWRnZXRXK2VsZW1XO3ZhciBkaWZm SD1uZWVkSC1lZmZlY3RpdmVIO3ZhciBkaWZmVz1uZWVkVy1lZmZlY3RpdmVXO3Zh ciBuZXdIPWVsZW1ILWRpZmZIO3ZhciBuZXdXPWVsZW1XLWRpZmZXO2Z1bmN0aW9u IGdldEhXKGVsZW0pe3ZhciByZXRIPTA7dmFyIHJldFc9MDt3aGlsZShlbGVtIT1u dWxsKXtyZXRIKz1lbGVtLm9mZnNldFRvcDtyZXRXKz1lbGVtLm9mZnNldExlZnQ7 ZWxlbT1lbGVtLm9mZnNldFBhcmVudH1yZXR1cm57aGVpZ2h0OnJldEgsd2lkdGg6 cmV0V319dmFyIGJ1dHRvblBvcz1nZXRIVyhzaGFyZWVsKTt2YXIgbGVmdEEscmln aHRBLHRvcEEsYm90dG9tQT1mYWxzZTtpZihkaWZmSD4wKXtib3R0b21BPWZhbHNl O3RvcEE9dHJ1ZTtpZigoYnV0dG9uUG9zLmhlaWdodC13aWRnZXRIKT4wKXtuZXdI PWJ1dHRvblBvcy5oZWlnaHQtd2lkZ2V0SH1zdFdpZGdldC53cmFwcGVyLnN0eWxl LnRvcD1uZXdIKyJweCJ9aWYoZGlmZlc+MCl7bGVmdEE9ZmFsc2U7cmlnaHRBPXRy dWU7aWYoKGJ1dHRvblBvcy53aWR0aC13aWRnZXRXKT4wKXtuZXdXPWJ1dHRvblBv cy53aWR0aC13aWRnZXRXfXN0V2lkZ2V0LndyYXBwZXIuc3R5bGUubGVmdD1uZXdX KyJweCJ9fWlmKHN0V2lkZ2V0Lm9wdGlvbnMuYXV0b1Bvc2l0aW9uPT0iY2VudGVy Iil7c3RXaWRnZXQud3JhcHBlci5zdHlsZS50b3A9IjE1JSI7c3RXaWRnZXQud3Jh cHBlci5zdHlsZS5sZWZ0PSIzNSUiO3N0V2lkZ2V0LndyYXBwZXIuc3R5bGUucG9z aXRpb249ImZpeGVkIn19ZWxzZXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RP dmVybGF5Iikuc3R5bGUuZGlzcGxheT0iYmxvY2siO3ZhciB0b3BWYWw7aWYoc3RX aWRnZXQub3B0aW9ucy5hdXRvUG9zaXRpb249PXRydWUpe2lmKGRvY3VtZW50LmFs bCYmbmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiTVNJRSA3LiIpIT0tMSl7 c3RXaWRnZXQud3JhcHBlci5zdHlsZS5sZWZ0PSI1MDBweCJ9ZWxzZXtzdFdpZGdl dC53cmFwcGVyLnN0eWxlLmxlZnQ9IjEwJSJ9c3RXaWRnZXQud3JhcHBlci5zdHls ZS5yaWdodD0iMTAlIjt0b3BWYWw9KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5j bGllbnRIZWlnaHQtcGFyc2VGbG9hdChzdFdpZGdldC53cmFwcGVyLm9mZnNldEhl aWdodCkvMikvMjtpZih0b3BWYWw+MjApe3RvcFZhbD0yMH1lbHNle2lmKHRvcFZh bDw1KXt0b3BWYWw9NX19c3RXaWRnZXQud3JhcHBlci5zdHlsZS50b3A9dG9wVmFs KyJweCI7c3RXaWRnZXQud3JhcHBlci5zdHlsZS5tYXJnaW5MZWZ0PSJhdXRvIjtz dFdpZGdldC53cmFwcGVyLnN0eWxlLm1hcmdpblJpZ2h0PSJhdXRvIjtzdFdpZGdl dC53cmFwcGVyLnN0eWxlLnRleHRBbGlnbj0ibGVmdCI7c3RXaWRnZXQud3JhcHBl ci5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiO2lmKGRvY3VtZW50LmFsbCYmbmF2aWdh dG9yLmFwcFZlcnNpb24uaW5kZXhPZigiTVNJRSA2LiIpIT0tMSl7c3RXaWRnZXQu d3JhcHBlci5zdHlsZS5sZWZ0PSIzMDBweCI7c3RXaWRnZXQud3JhcHBlci5zdHls ZS5wb3NpdGlvbj0iYWJzb2x1dGUifX1pZihzdFdpZGdldC5vcHRpb25zLmF1dG9Q b3NpdGlvbj09ImNlbnRlciIpe2lmKGRvY3VtZW50LmFsbCYmbmF2aWdhdG9yLmFw cFZlcnNpb24uaW5kZXhPZigiTVNJRSA3LiIpIT0tMSl7c3RXaWRnZXQud3JhcHBl ci5zdHlsZS5sZWZ0PSI1MDBweCJ9ZWxzZXtzdFdpZGdldC53cmFwcGVyLnN0eWxl LmxlZnQ9IjEwJSJ9c3RXaWRnZXQud3JhcHBlci5zdHlsZS5yaWdodD0iMTAlIjtz dFdpZGdldC53cmFwcGVyLnN0eWxlLm1hcmdpbkxlZnQ9ImF1dG8iO3N0V2lkZ2V0 LndyYXBwZXIuc3R5bGUubWFyZ2luUmlnaHQ9ImF1dG8iO3N0V2lkZ2V0LndyYXBw ZXIuc3R5bGUucG9zaXRpb249ImZpeGVkIjt0b3BWYWw9KGRvY3VtZW50LmRvY3Vt ZW50RWxlbWVudC5jbGllbnRIZWlnaHQtcGFyc2VGbG9hdChzdFdpZGdldC53cmFw cGVyLm9mZnNldEhlaWdodCkvMikvMjtpZih0b3BWYWw+MjApe3RvcFZhbD0yMH1l bHNle2lmKHRvcFZhbDw1KXt0b3BWYWw9NX19c3RXaWRnZXQud3JhcHBlci5zdHls ZS50b3A9dG9wVmFsKyJweCI7aWYoZG9jdW1lbnQuYWxsJiZuYXZpZ2F0b3IuYXBw VmVyc2lvbi5pbmRleE9mKCJNU0lFIDYuIikhPS0xKXtzdFdpZGdldC53cmFwcGVy LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSJ9fX1zdFdpZGdldC53cmFwcGVyLnN0 eWxlLnZpc2liaWxpdHk9InZpc2libGUiO3N0V2lkZ2V0Lm1haW5zdGZyYW1lLnN0 eWxlLnZpc2liaWxpdHk9InZpc2libGUifSxzdFdpZGdldC5oaWRlV2lkZ2V0PWZ1 bmN0aW9uKCl7aWYoc3RXaWRnZXQud3JhcHBlci5zdHlsZS52aXNpYmlsaXR5IT09 ImhpZGRlbiIpe3N0V2lkZ2V0LndyYXBwZXIuc3R5bGUudmlzaWJpbGl0eT0iaGlk ZGVuIn1pZihzdFdpZGdldC5tYWluc3RmcmFtZS5zdHlsZS52aXNpYmlsaXR5IT09 ImhpZGRlbiIpe3N0V2lkZ2V0Lm1haW5zdGZyYW1lLnN0eWxlLnZpc2liaWxpdHk9 ImhpZGRlbiJ9aWYoc3dpdGNoVG81eCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo InN0T3ZlcmxheSIpLnN0eWxlLmRpc3BsYXk9Im5vbmUifX07c3RXaWRnZXQucGFn ZVNpemU9ZnVuY3Rpb24oKXt2YXIgZT1bMCwwLDAsMF07dmFyIGI9MDt2YXIgYT0w O3ZhciBkPTA7dmFyIGM9MDtpZih0eXBlb2Yod2luZG93LnBhZ2VZT2Zmc2V0KT09 Im51bWJlciIpe2I9d2luZG93LnBhZ2VYT2Zmc2V0O2E9d2luZG93LnBhZ2VZT2Zm c2V0fWVsc2V7aWYoZG9jdW1lbnQuYm9keSYmKGRvY3VtZW50LmJvZHkuc2Nyb2xs TGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKXtiPWRvY3VtZW50LmJvZHku c2Nyb2xsTGVmdDthPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wfWVsc2V7aWYoZG9j dW1lbnQuZG9jdW1lbnRFbGVtZW50JiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50 LnNjcm9sbExlZnR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3Ap KXtiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O2E9ZG9jdW1l bnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcH19fWlmKHdpbmRvdy5pbm5lcldp ZHRoKXtkPXdpbmRvdy5pbm5lcldpZHRoO2M9d2luZG93LmlubmVySGVpZ2h0fWVs c2V7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldFdpZHRoKXtkPWRv Y3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aDtjPWRvY3VtZW50LmRv Y3VtZW50RWxlbWVudC5vZmZzZXRIZWlnaHR9fWU9e3Njclg6YixzY3JZOmEsd2lk dGg6ZCxoZWlnaHQ6Y307cmV0dXJuIGV9O3N0V2lkZ2V0LmNsb3NlV2lkZ2V0PWZ1 bmN0aW9uKCl7aWYoc3Rfc2hvd2luZz09ZmFsc2Upe3JldHVybiBmYWxzZX1zdF9z aG93aW5nPWZhbHNlO3N0V2lkZ2V0LndpZGdldE9wZW49ZmFsc2U7c3RXaWRnZXQu d3JhcHBlci5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO3N0V2lkZ2V0Lm1haW5z dGZyYW1lLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7c3RXaWRnZXQuc2hvd0Vt YmVkcygpO3N0V2lkZ2V0LnNlbmRFdmVudCgic2NyZWVuIiwiaG9tZSIpO2lmKHN3 aXRjaFRvNXgpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdE92ZXJsYXkiKS5z dHlsZS5kaXNwbGF5PSJub25lIn1lbHNle3N0V2lkZ2V0LndyYXBwZXIuc3R5bGUu dG9wPSItOTk5cHgiO3N0V2lkZ2V0LndyYXBwZXIuc3R5bGUubGVmdD0iLTk5OXB4 In19O3N0V2lkZ2V0LmhpZGVFbWJlZHM9ZnVuY3Rpb24oKXt2YXIgYj1kb2N1bWVu dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZW1iZWQiKTtmb3IodmFyIGE9MDthPGIu bGVuZ3RoO2ErKyl7YlthXS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4ifX07c3RX aWRnZXQuc2hvd0VtYmVkcz1mdW5jdGlvbigpe2lmKHN0V2lkZ2V0Lm9wdGlvbnMu ZW1iZWRzPT10cnVlKXtyZXR1cm4gdHJ1ZX12YXIgYj1kb2N1bWVudC5nZXRFbGVt ZW50c0J5VGFnTmFtZSgiZW1iZWQiKTtmb3IodmFyIGE9MDthPGIubGVuZ3RoO2Er Kyl7YlthXS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIn19O3N0V2lkZ2V0LnNl bmRFdmVudD1mdW5jdGlvbihhLGQpe3ZhciBjPSIjd2lkZ2V0LyIrYSsiPSIrZDt0 cnl7d2luZG93LmZyYW1lcy5zdExmcmFtZS5sb2NhdGlvbi5yZXBsYWNlKHN0V2lk Z2V0LmZyYW1lVXJsK2MpfWNhdGNoKGIpe319O3N0V2lkZ2V0LmdldE9HVGFncz1m dW5jdGlvbigpe3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJt ZXRhIik7Zm9yKHZhciBhPTA7YTxiLmxlbmd0aDthKyspe2lmKGJbYV0uZ2V0QXR0 cmlidXRlKCJwcm9wZXJ0eSIpPT0ib2c6dGl0bGUiKXtzdFdpZGdldC5vZ3RpdGxl PWJbYV0uZ2V0QXR0cmlidXRlKCJjb250ZW50Iil9ZWxzZXtpZihiW2FdLmdldEF0 dHJpYnV0ZSgicHJvcGVydHkiKT09Im9nOnR5cGUiKXtzdFdpZGdldC5vZ3R5cGU9 YlthXS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKX1lbHNle2lmKGJbYV0uZ2V0QXR0 cmlidXRlKCJwcm9wZXJ0eSIpPT0ib2c6dXJsIil7c3RXaWRnZXQub2d1cmw9Ylth XS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKX1lbHNle2lmKGJbYV0uZ2V0QXR0cmli dXRlKCJwcm9wZXJ0eSIpPT0ib2c6aW1hZ2UiKXtzdFdpZGdldC5vZ2ltZz1iW2Fd LmdldEF0dHJpYnV0ZSgiY29udGVudCIpfWVsc2V7aWYoYlthXS5nZXRBdHRyaWJ1 dGUoInByb3BlcnR5Iik9PSJvZzpkZXNjcmlwdGlvbiIpe3N0V2lkZ2V0Lm9nZGVz Yz1iW2FdLmdldEF0dHJpYnV0ZSgiY29udGVudCIpfWVsc2V7aWYoYlthXS5nZXRB dHRyaWJ1dGUoIm5hbWUiKT09ImRlc2NyaXB0aW9uInx8YlthXS5nZXRBdHRyaWJ1 dGUoIm5hbWUiKT09IkRlc2NyaXB0aW9uIil7c3RXaWRnZXQuZGVzYz1iW2FdLmdl dEF0dHJpYnV0ZSgiY29udGVudCIpfX19fX19fX07ZnVuY3Rpb24gb2RqcyhhLGIp e3RoaXMuaGVhZD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIp WzBdO3RoaXMuc2NyaXB0U3JjPWE7dGhpcy5zY3JpcHQ9ZG9jdW1lbnQuY3JlYXRl RWxlbWVudCgic2NyaXB0Iik7dGhpcy5zY3JpcHQuc2V0QXR0cmlidXRlKCJ0eXBl IiwidGV4dC9qYXZhc2NyaXB0Iik7dGhpcy5zY3JpcHQuc2V0QXR0cmlidXRlKCJz cmMiLHRoaXMuc2NyaXB0U3JjKTt0aGlzLnNjcmlwdC5vbmxvYWQ9Yjt0aGlzLnNj cmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZih0aGlzLnJlYWR5 U3RhdGU9PSJsb2FkZWQiKXtiKCl9fTt0aGlzLmhlYWQuYXBwZW5kQ2hpbGQodGhp cy5zY3JpcHQpfXZhciBqc29ucD17fTtqc29ucC5tYWtlUmVxdWVzdD1mdW5jdGlv bihhKXtvZGpzKGEsZnVuY3Rpb24oKXt9KX07ZnVuY3Rpb24gc2hhcmVMb2coYSl7 aWYodHlwZW9mKHBhZ2VUcmFja2VyKSE9InVuZGVmaW5lZCImJnBhZ2VUcmFja2Vy IT09bnVsbCl7cGFnZVRyYWNrZXIuX3RyYWNrRXZlbnQoIlNoYXJlVGhpcyIsYSl9 ZWxzZXtpZih0eXBlb2YoX2dhcSkhPSJ1bmRlZmluZWQiJiZfZ2FxIT09bnVsbCl7 X2dhcS5wdXNoKFsiX3RyYWNrRXZlbnQiLCJTaGFyZVRoaXMiLGFdKX1lbHNle2lm KHN0QnV0dG9ucy5wdWJsaXNoZXJUcmFja2VyIT09bnVsbCl7c3RCdXR0b25zLnB1 Ymxpc2hlclRyYWNrZXIuX3RyYWNrRXZlbnQoIlNoYXJlVGhpcyIsYSl9ZWxzZXtp Zih0eXBlb2YoX2dhdCkhPSJ1bmRlZmluZWQiJiZfZ2F0IT09bnVsbCl7aWYodHlw ZW9mKHN0V2lkZ2V0Lm9wdGlvbnMucHVibGlzaGVyR0EpIT0idW5kZWZpbmVkIiYm c3RXaWRnZXQub3B0aW9ucy5wdWJsaXNoZXJHQSE9bnVsbCl7c3RCdXR0b25zLnB1 Ymxpc2hlclRyYWNrZXI9X2dhdC5fZ2V0VHJhY2tlcihzdFdpZGdldC5vcHRpb25z LnB1Ymxpc2hlckdBKTtzdEJ1dHRvbnMucHVibGlzaGVyVHJhY2tlci5fdHJhY2tF dmVudCgiU2hhcmVUaGlzIixhKX19fX19fXN0QnV0dG9ucy5vblJlYWR5PWZ1bmN0 aW9uKCl7dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTt2 YXIgYj1bXTt2YXIgYz1uZXcgUmVnRXhwKC9zaGFyZXRoaXNfc21hcnRidXR0b25z Lyk7dmFyIGE9ZmFsc2U7Zm9yKHZhciBqPTA7ajxnLmxlbmd0aDtqKyspe2lmKHR5 cGVvZihnW2pdLmNsYXNzTmFtZSk9PSJzdHJpbmciJiZnW2pdLmNsYXNzTmFtZSE9 IiIpe2lmKGdbal0uY2xhc3NOYW1lLm1hdGNoKGMpKXthPXRydWU7YnJlYWt9fX1p ZihhKXt2YXIgZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIp WzBdO3ZhciBkPVsicmV0dXJuPWpzb24iLCJjYj1zdEJ1dHRvbnMuc21hcnRpZnlC dXR0b25zIl07ZD1kLmpvaW4oIiYiKTt2YXIgZT0oKCJodHRwczoiPT1kb2N1bWVu dC5sb2NhdGlvbi5wcm90b2NvbCk/Imh0dHBzOi8vd3MuIjoiaHR0cDovL3dkLiIp KyJzaGFyZXRoaXMuY29tL2FwaS9nZXRSZWNlbnRTZXJ2aWNlcy5waHA/IitkO3Zh ciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2guc2V0QXR0cmli dXRlKCJ0eXBlIiwidGV4dC9qYXZhc2NyaXB0Iik7aC5zZXRBdHRyaWJ1dGUoInNy YyIsZSk7Zi5hcHBlbmRDaGlsZChoKTtzZXRUaW1lb3V0KCJzdEJ1dHRvbnMuY29t cGxldGVJbml0KCkiLDIwMDApfWVsc2V7c3RCdXR0b25zLmNvbXBsZXRlSW5pdCgp fX07c3RCdXR0b25zLmNvbXBsZXRlSW5pdD1mdW5jdGlvbigpe2lmKCFzdEJ1dHRv bnMuZ29Ub0luaXQpe3N0QnV0dG9ucy5nb1RvSW5pdD10cnVlO3N0V2lkZ2V0Lmdl dE9HVGFncygpO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3RXaWRnZXQud3Jh cHBlcik7aWYoc3dpdGNoVG81eCl7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChz dFdpZGdldC5vdmVybGF5KX1zdEJ1dHRvbnMubWFrZUJ1dHRvbnMoKTtzdFdpZGdl dC5pbml0KCl9fTtpZihkb2N1bWVudC5yZWFkeVN0YXRlPT0iY29tcGxldGUiJiZz dExpZ2h0LnJlYWR5UnVuPT1mYWxzZSl7c3RMaWdodC5vblJlYWR5KCl9c3RCdXR0 b25zLmdvVG9Jbml0PWZhbHNlO3N0QnV0dG9ucy53aWRnZXQ9ZmFsc2U7c3RCdXR0 b25zLndpZGdldEFycmF5PVtdO3N0QnV0dG9ucy5xdWV1ZT1bXTtzdEJ1dHRvbnMu Y2JRdWV1ZT1bXTtzdEJ1dHRvbnMuY2JWYWw9MDtzdEJ1dHRvbnMucXVldWVQb3M9 MDtzdEJ1dHRvbnMuY291bnRzPVtdO3N0X3Nob3dpbmc9ZmFsc2U7c3RCdXR0b25z LnVybEVsZW1lbnRzPVtdO3N0QnV0dG9ucy5wdWJsaXNoZXJUcmFja2VyPW51bGw7 aWYodHlwZW9mKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKSE9InVuZGVmaW5lZCIp e3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtzdFdp ZGdldC5jbG9zZVdpZGdldCgpfSxmYWxzZSl9ZWxzZXtpZih0eXBlb2YoZG9jdW1l bnQuYWRkRXZlbnRMaXN0ZW5lcikhPSJ1bmRlZmluZWQiKXtkb2N1bWVudC5hZGRF dmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtzdFdpZGdldC5jbG9zZVdp ZGdldCgpfSxmYWxzZSl9ZWxzZXtpZih0eXBlb2Ygd2luZG93LmF0dGFjaEV2ZW50 IT0idW5kZWZpbmVkIil7ZG9jdW1lbnQuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1 bmN0aW9uKCl7c3RXaWRnZXQuY2xvc2VXaWRnZXQoKX0pfX19cGx1c29uZUNhbGxi YWNrPWZ1bmN0aW9uKGEpe307 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=Loader_411610.js Content-Type: application/javascript; charset=UTF-8; name=Loader_411610.js Content-Location: http://cdn.wibiya.com/Toolbars/dir_0411/Toolbar_411610/Loader_411610.js?ver=3.1 Content-Transfer-Encoding: Base64 CmZ1bmN0aW9uIGxvYWRqc2Nzc2ZpbGUoZmlsZW5hbWUsZmlsZXR5cGUsd2hlcmUp e3ZhciBmaWxlcmVmO2lmKGZpbGV0eXBlPT0ianMiKXtmaWxlcmVmPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2ZpbGVyZWYuc2V0QXR0cmlidXRlKCJ0 eXBlIiwidGV4dC9qYXZhc2NyaXB0Iik7ZmlsZXJlZi5zZXRBdHRyaWJ1dGUoInNy YyIsZmlsZW5hbWUpO30KZWxzZSBpZihmaWxldHlwZT09ImNzcyIpe2ZpbGVyZWY9 ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2ZpbGVyZWYuc2V0QXR0cmli dXRlKCJyZWwiLCJzdHlsZXNoZWV0Iik7ZmlsZXJlZi5zZXRBdHRyaWJ1dGUoInR5 cGUiLCJ0ZXh0L2NzcyIpO2ZpbGVyZWYuc2V0QXR0cmlidXRlKCJocmVmIixmaWxl bmFtZSk7fQppZih0eXBlb2YgZmlsZXJlZiE9InVuZGVmaW5lZCIpe2lmKHdoZXJl PT0iaGVhZCIpe2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilb MF0uYXBwZW5kQ2hpbGQoZmlsZXJlZik7fQplbHNle2RvY3VtZW50LmdldEVsZW1l bnRzQnlUYWdOYW1lKCJib2R5IilbMF0uYXBwZW5kQ2hpbGQoZmlsZXJlZik7fX19 CmZ1bmN0aW9uIENoZWNrSlF1ZXJ5TG9hZGVyKHRvb2xiYXJJZCkKe2lmKHR5cGVv ZiBqUXVlcnk9PSJmdW5jdGlvbiIpeyR3aWJpbGliPWpRdWVyeTtjbGVhclRpbWVv dXQod2liaXlhVG9vbGJhci53aWJpeWFUaW1lb3V0SWQpO1NldFRvb2xiYXJMb2Fk KCk7fQplbHNle3dpYml5YVRvb2xiYXIud2liaXlhVGltZW91dElkPXNldFRpbWVv dXQoIkNoZWNrSlF1ZXJ5TG9hZGVyKCIrdG9vbGJhcklkKyIpOyIsMjAwKTt9fQpm dW5jdGlvbiBnZXRRdWVyeVBhcmFtKG5hbWUpe3ZhciBxU3RyaW5nPXdpbmRvdy5s b2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLnNwbGl0KCImIik7dmFyIHBhcmFt cz1uZXcgQXJyYXkoKTt2YXIgcDtmb3IodmFyIGk9MDtpPHFTdHJpbmcubGVuZ3Ro O2krKyl7cD1xU3RyaW5nW2ldLnNwbGl0KCI9Iik7cGFyYW1zW3BbMF1dPXBbMV07 fQpyZXR1cm4gcGFyYW1zW25hbWVdO30KZnVuY3Rpb24gd2JwYWQobnVtYmVyLGxl bmd0aCl7dmFyIHN0cj0nJytudW1iZXI7d2hpbGUoc3RyLmxlbmd0aDxsZW5ndGgp e3N0cj0nMCcrc3RyO30KcmV0dXJuIHN0cjt9CmZ1bmN0aW9uIGFsdFRvb2xiYXJV cmwoYWx0VG9vbGJhcil7dmFyIGNkbj1nZXRRdWVyeVBhcmFtKCJjZG4iKTtjZG49 KHR5cGVvZiBjZG49PSJ1bmRlZmluZWQiKT8iY2RuLndpYml5YS5jb20iOmNkbjtp ZighY2RuLm1hdGNoKC9eKHN0KT9jZG5cLndpYml5YVwuKGNvbXxsb2NhbCkkLykp e2Nkbj0iY2RuLndpYml5YS5jb20iO30KdmFyIHRvb2xiYXJJZD1hbHRUb29sYmFy Lm1hdGNoKC9cZCsvKTt2YXIgZGlyPXdicGFkKE1hdGguZmxvb3IodG9vbGJhcklk LzEwMDApLDQpO3ZhciB0b29sYmFyVXJsPSdodHRwOi8vJytjZG4rJy9Ub29sYmFy cy9kaXJfJytkaXIrJy9Ub29sYmFyXycrdG9vbGJhcklkKycvJythbHRUb29sYmFy O3JldHVybiB0b29sYmFyVXJsO30KZnVuY3Rpb24gbG9hZFdpYml5YVRvb2xiYXIo c3JjKXt2YXIgYm9keVJlZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi Ym9keSIpO2lmKGJvZHlSZWYubGVuZ3RoPT0wKXt3aW5kb3cud2lCb2R5V2FpdFJl dHJ5PXdpbmRvdy53aUJvZHlXYWl0UmV0cnl8fDA7d2luZG93LndpQm9keVdhaXRS ZXRyeSsrO2lmKHdpbmRvdy53aUJvZHlXYWl0UmV0cnk8PTEwKXt3aW5kb3cud2lC b2R5V2FpdD1zZXRUaW1lb3V0KCJsb2FkV2liaXlhVG9vbGJhcignIitzcmMrIicp OyIsNTAwKTt9CmVsc2V7Y29uc29sZS5sb2coIkNvdWxkIG5vdCBmaW5kIGJvZHkg dGFnIGFuZCB1bmFibGUgdG8gbG9hZCAiK3NyYyk7cmV0dXJuO319CmVsc2V7bG9h ZGpzY3NzZmlsZShzcmMsImpzIiwiYm9keSIpO319CmZ1bmN0aW9uIFNldFRvb2xi YXJMb2FkKCl7dmFyIHdpYml5YV9tb2JpbGVzPVsiaXBob25lIiwiaXBvZCIsImlw YWQiLCJzZXJpZXM2MCIsInN5bWJpYW4iLCJhbmRyb2lkIiwid2luZG93cyBjZSIs ImJsYWNrYmVycnkiLCJwYWxtIiwiYXZhbnRnbyIsImRvY29tbyIsInZvZGFmb25l Iiwiai1waG9uZSIsInh2Njg1MCIsImh0YyIsImxnOyIsImxnZSIsIm1vdCIsIm5p bnRlbmRvIiwibm9raWEiLCJzYW1zdW5nIiwic29ueWVyaWNzc29uIl07d2liaXlh VG9vbGJhci53aWJpeWFfaXNNb2JpbGU9ZmFsc2U7d2liaXlhVG9vbGJhci53aWJp eWFfdUFnZW50PW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTtmb3Io dmFyIGk9MDtpPHdpYml5YV9tb2JpbGVzLmxlbmd0aDtpKyspe2lmKHdpYml5YVRv b2xiYXIud2liaXlhX3VBZ2VudC5tYXRjaCh3aWJpeWFfbW9iaWxlc1tpXSkhPW51 bGwpe2lmKHdpYml5YVRvb2xiYXIud2liaXlhX3VBZ2VudC5tYXRjaCgiaXBob25l Iikpe1dJQklZQS5hZ2VudD0iaXBob25lMyI7fQp3aWJpeWFUb29sYmFyLndpYml5 YV9pc01vYmlsZT10cnVlO3ZhciBpbWc9bmV3IEltYWdlKDEsMSk7aW1nLnNyYz0i aHR0cDovL3dzdGF0LndpYml5YS5jb20vbS5qcGc/dD0iK3dpYml5YVRvb2xiYXIu aWQ7YnJlYWs7fX0KaWYoKCR3aWJpbGliLmJyb3dzZXIubXNpZSYmcGFyc2VJbnQo JHdpYmlsaWIuYnJvd3Nlci52ZXJzaW9uKT09Nil8fCh3aWJpeWFUb29sYmFyLndp Yml5YV9pc01vYmlsZT09dHJ1ZSYmdHlwZW9mKFdJQklZQS5hZ2VudCkhPSJ1bmRl ZmluZWQiJiZXSUJJWUEuYWdlbnQhPSJpcGhvbmUzIiYmV0lCSVlBLmFnZW50IT0i aXBob25lNCIpKXt9CmVsc2V7aWYod2liaXlhVG9vbGJhci5mbGFzaEZpeD09PXRy dWUpe3dpYml5YVRvb2xiYXIucmV3cml0ZUZsYXNoPTA7d2liaXlhVG9vbGJhci5m cmFtZXdvcmsuRmxhc2hGaXgoKTt3aWJpeWFUb29sYmFyLnJld3JpdGVGbGFzaElu dGVydmFsPXNldEludGVydmFsKCJ3aWJpeWFUb29sYmFyLmZyYW1ld29yay5GbGFz aEZpeCgpOyIsMzMzMyk7fQp3aWJpeWFkb21haW49Imh0dHA6Ly9jZG4ud2liaXlh LmNvbS9Ub29sYmFycy9kaXJfMDQxMS9Ub29sYmFyXzQxMTYxMC8iO3dpYml5YVNj cmlwdFNyYz0iIjt2YXIgYWx0VG9vbGJhcj1nZXRRdWVyeVBhcmFtKCJ0b29sYmFy T2JqSWQiKTt2YXIgaXNJcGhvbmU9KFdJQklZQS5hZ2VudD09ImlwaG9uZTMiKXx8 KFdJQklZQS5hZ2VudD09ImlwaG9uZTQiKTt2YXIgaXNNb2JpbGVGaWxlRXhpc3Q9 IiIhPSIiO3ZhciBpc0FsdD10eXBlb2YgYWx0VG9vbGJhciE9InVuZGVmaW5lZCI7 aWYoIWlzQWx0JiYhd2liaXlhVG9vbGJhci53aWJpeWFfaXNNb2JpbGUpe3dpYml5 YVNjcmlwdFNyYz13aWJpeWFkb21haW4rInRvb2xiYXJfNDExNjEwXzRkZWNiODdi ZTkxY2YuanMiO30KZWxzZSBpZihpc01vYmlsZUZpbGVFeGlzdCYmd2liaXlhVG9v bGJhci53aWJpeWFfaXNNb2JpbGUmJmlzSXBob25lJiZ3aWJpeWFUb29sYmFyLm1v YmlsZT09dHJ1ZSkKe3dpYml5YVNjcmlwdFNyYz13aWJpeWFkb21haW4rIm1vYmls ZS8iO30KZWxzZSBpZighd2liaXlhVG9vbGJhci53aWJpeWFfaXNNb2JpbGUmJmlz QWx0KQp7d2liaXlhU2NyaXB0U3JjPWFsdFRvb2xiYXJVcmwoYWx0VG9vbGJhcik7 fQplbHNlCnt3aWJpeWFTY3JpcHRTcmM9IiI7fQppZih0eXBlb2Yoc3RhcnRHYWxs ZXJ5KT09ImZ1bmN0aW9uInx8JHdpYmlsaWIuYnJvd3Nlci5tc2llfHx3aWJpeWFU b29sYmFyLnBsPT0idHJ1ZSIpe3ZhciB3aWJpeWFTY3JpcHRTcmM7JHdpYmlsaWIo ZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7bG9hZFdpYml5YVRvb2xiYXIod2li aXlhU2NyaXB0U3JjKTt9KTt9CmVsc2V7bG9hZFdpYml5YVRvb2xiYXIod2liaXlh U2NyaXB0U3JjKTt9fX0KaWYoIXdpbmRvdy53aWJpeWFUb29sYmFyKXt3aW5kb3cu d2liaXlhVG9vbGJhcj17fTt3aW5kb3cuV0lCSVlBPXdpbmRvdy5XSUJJWUF8fHt9 O1dJQklZQS5Nb2JpbGU9V0lCSVlBLk1vYmlsZXx8e307d2liaXlhVG9vbGJhci5w bD0idHJ1ZSI7d2liaXlhVG9vbGJhci5uYz0iZmFsc2UiO3dpYml5YVRvb2xiYXIu bW9iaWxlPWZhbHNlO3dpYml5YVRvb2xiYXIuZmxhc2hGaXg9dHJ1ZTt3aWJpeWFU b29sYmFyLnJ1bk1vZGU9InN0YW5kYXJkIjt3aWJpeWFUb29sYmFyLndpYml5YVRp bWVvdXRJZD1udWxsO3dpYml5YVRvb2xiYXIucHJldmVudExvYWQ9KHR5cGVvZiBw cmV2ZW50X3dpYml5YV9sb2FkIT0idW5kZWZpbmVkIik/cHJldmVudF93aWJpeWFf bG9hZDpmYWxzZTtpZighd2liaXlhVG9vbGJhci5wcmV2ZW50TG9hZCl7aWYod2li aXlhVG9vbGJhci5ydW5Nb2RlIT0iZGVidWcifHx0eXBlb2YgZ2V0UXVlcnlQYXJh bSgnd2lkZWJ1ZycpIT0idW5kZWZpbmVkIil7aWYod2liaXlhVG9vbGJhci5ydW5N b2RlIT0iaGlkZSJ8fHR5cGVvZiBnZXRRdWVyeVBhcmFtKCdzaG93YmFyJykhPSJ1 bmRlZmluZWQiKXtpZih0eXBlb2YgalF1ZXJ5IT0iZnVuY3Rpb24iKXtsb2FkanNj c3NmaWxlKCJodHRwOi8vY2RuLndpYml5YS5jb20vU2NyaXB0cy9qcXVlcnktMS40 LjIubWluLmpzIiwianMiLCJoZWFkIik7fQp3aWJpeWFUb29sYmFyLmZyYW1ld29y az17fTt3aWJpeWFUb29sYmFyLmZyYW1ld29yay5nZXRBdHRyaWJ1dGVzPWZ1bmN0 aW9uKG9iail7dmFyIF9hdHRyTGlzdD1bImhlaWdodCIsIndpZHRoIiwiY2xhc3Np ZCJdO3ZhciBhdHRyPSIiO2Zvcih2YXIgaT0wO2k8b2JqLmF0dHJpYnV0ZXMubGVu Z3RoO2krKyl7aWYoalF1ZXJ5LmluQXJyYXkob2JqLmF0dHJpYnV0ZXNbaV0ubmFt ZSxfYXR0ckxpc3QpPi0xKXthdHRyKz0nICcrb2JqLmF0dHJpYnV0ZXNbaV0ubmFt ZSsnPSInK29iai5hdHRyaWJ1dGVzW2ldLnZhbHVlKyciJzt9fQpyZXR1cm4gYXR0 cjt9O3dpYml5YVRvb2xiYXIuZnJhbWV3b3JrLmdldFBhcmFtcz1mdW5jdGlvbihv Ymope3ZhciBfcGFyYW1zPWpRdWVyeShvYmopLmNoaWxkcmVuKCJwYXJhbSIpO3Zh ciBfcGFyYW1BdHRyO3ZhciBfbmV3UGFyYW1zPSIiO2pRdWVyeS5lYWNoKF9wYXJh bXMsZnVuY3Rpb24oaSl7X3BhcmFtQXR0cj0iIjtmb3IodmFyIGo9MDtqPF9wYXJh bXNbaV0uYXR0cmlidXRlcy5sZW5ndGg7aisrKXtfcGFyYW1BdHRyKz0nICcrX3Bh cmFtc1tpXS5hdHRyaWJ1dGVzW2pdLm5hbWUrJz0iJytfcGFyYW1zW2ldLmF0dHJp YnV0ZXNbal0udmFsdWUrJyInO30KX25ld1BhcmFtcys9IjxwYXJhbSIrX3BhcmFt QXR0cisiLz4iO30pO3ZhciBfZW1iZWQ9alF1ZXJ5KG9iaikuY2hpbGRyZW4oImVt YmVkIik7dmFyIF9lbWJlZEF0dHI9IiI7aWYoX2VtYmVkLmxlbmd0aD4wKXtmb3Io dmFyIGk9MDtpPF9lbWJlZFswXS5hdHRyaWJ1dGVzLmxlbmd0aDtpKyspe19lbWJl ZEF0dHIrPScgJytfZW1iZWRbMF0uYXR0cmlidXRlc1tpXS5uYW1lKyc9IicrX2Vt YmVkWzBdLmF0dHJpYnV0ZXNbaV0udmFsdWUrJyInO319CnJldHVybiBfbmV3UGFy YW1zKyI8ZW1iZWQgIitfZW1iZWRBdHRyKyI+PC9lbWJlZD4iO307d2liaXlhVG9v bGJhci5mcmFtZXdvcmsuRmxhc2hGaXg9ZnVuY3Rpb24oKXt2YXIgX29sZEVtYmVk cz1qUXVlcnkoImVtYmVkW3dtb2RlIT1cIm9wYXF1ZVwiXVt3bW9kZSE9XCJ0cmFu c3BhcmVudFwiXSIpO3ZhciBfZW1iZWQ7alF1ZXJ5LmVhY2goX29sZEVtYmVkcyxm dW5jdGlvbihpKXtfZW1iZWQ9alF1ZXJ5KF9vbGRFbWJlZHNbaV0pLmNsb25lKCk7 X2VtYmVkLmF0dHIoIndtb2RlIiwib3BhcXVlIik7alF1ZXJ5KF9vbGRFbWJlZHNb aV0pLmFmdGVyKF9lbWJlZCk7alF1ZXJ5KF9vbGRFbWJlZHNbaV0pLnJlbW92ZSgp O30pO2lmKGpRdWVyeS5icm93c2VyLm1zaWV8fGpRdWVyeS5icm93c2VyLnNhZmFy aSl7dmFyIF9vYmplY3RzPWpRdWVyeSgib2JqZWN0Iik7dmFyIF9wYXJhbXM7alF1 ZXJ5LmVhY2goX29iamVjdHMsZnVuY3Rpb24oaSl7X3BhcmFtcz1qUXVlcnkoX29i amVjdHNbaV0pLmNoaWxkcmVuKCdwYXJhbVtuYW1lPSJ3bW9kZSJdJyk7aWYoX3Bh cmFtcy5sZW5ndGg9PT0wKXtqUXVlcnkoX29iamVjdHNbaV0pLmFmdGVyKCc8b2Jq ZWN0ICcrd2liaXlhVG9vbGJhci5mcmFtZXdvcmsuZ2V0QXR0cmlidXRlcyhfb2Jq ZWN0c1tpXSkrJz4nK3dpYml5YVRvb2xiYXIuZnJhbWV3b3JrLmdldFBhcmFtcyhf b2JqZWN0c1tpXSkrJzxwYXJhbSBuYW1lPSJ3bW9kZSIgdmFsdWU9Im9wYXF1ZSIg Lz4nKyc8L29iamVjdD4nKTtqUXVlcnkoX29iamVjdHNbaV0pLnJlbW92ZSgpO30K ZWxzZSBpZihfcGFyYW1zLnZhbCgpLnRvTG93ZXJDYXNlKCk9PSJ3aW5kb3ciKXtq UXVlcnkoX29iamVjdHNbaV0pLmFmdGVyKCc8b2JqZWN0ICcrd2liaXlhVG9vbGJh ci5mcmFtZXdvcmsuZ2V0QXR0cmlidXRlcyhfb2JqZWN0c1tpXSkrJz4nK2pRdWVy eShfb2JqZWN0c1tpXSkuaHRtbCgpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgnd2lu ZG93Jywnb3BhcXVlJykrJzwvb2JqZWN0PicpO2pRdWVyeShfb2JqZWN0c1tpXSku cmVtb3ZlKCk7fX0pO30Kd2liaXlhVG9vbGJhci5yZXdyaXRlRmxhc2grKztpZih3 aWJpeWFUb29sYmFyLnJld3JpdGVGbGFzaD49Myl7Y2xlYXJJbnRlcnZhbCh3aWJp eWFUb29sYmFyLnJld3JpdGVGbGFzaEludGVydmFsKTt9fTt3aWJpeWFUb29sYmFy LmlkPSI0MTE2MTAiO3dpYml5YVRvb2xiYXIucmVmZXJyZXI9ZG9jdW1lbnQucmVm ZXJyZXI7Q2hlY2tKUXVlcnlMb2FkZXIod2liaXlhVG9vbGJhci5pZCk7fX19fQ== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=e-201124.js Content-Type: application/x-javascript; charset=UTF-8; name=e-201124.js Content-Location: http://stats.wordpress.com/e-201124.js Content-Transfer-Encoding: Base64 ZnVuY3Rpb24gc3RfZ28oYSl7dmFyIGksdT1kb2N1bWVudC5sb2NhdGlvbi5wcm90 b2NvbCsnLy9zdGF0cy53b3JkcHJlc3MuY29tL2cuZ2lmP2hvc3Q9Jytlc2NhcGUo ZG9jdW1lbnQubG9jYXRpb24uaG9zdCkrJyZyYW5kPScrTWF0aC5yYW5kb20oKTtm b3IoaSBpbiBhKXt1PXUrJyYnK2krJz0nK2VzY2FwZShhW2ldKTt9dT11KycmcmVm PScrZXNjYXBlKGRvY3VtZW50LnJlZmVycmVyKTtkb2N1bWVudC5vcGVuKCk7ZG9j dW1lbnQud3JpdGUoIjxpbWcgaWQ9XCJ3cHN0YXRzXCIgc3JjPVwiIit1KyJcIiBh bHQ9XCJcIiAvPiIpO2RvY3VtZW50LmNsb3NlKCk7fQpmdW5jdGlvbiB3cGNvbUFk ZEV2ZW50KGVsLGV2LGZuKXt2YXIgaXNJRT13aW5kb3cuYXR0YWNoRXZlbnQ/dHJ1 ZTpmYWxzZTtpZihpc0lFKWVsLmF0dGFjaEV2ZW50KCdvbicrZXYsZm4pO2Vsc2Ug aWYoZWwuYWRkRXZlbnRMaXN0ZW5lcillbC5hZGRFdmVudExpc3RlbmVyKGV2LGZu LGZhbHNlKTt9CmZ1bmN0aW9uIGxpbmttb3VzZWRvd24oZXZlbnQpe3ZhciBpc0lF PXdpbmRvdy5hdHRhY2hFdmVudD90cnVlOmZhbHNlO2V2ZW50PWV2ZW50P2V2ZW50 Oih3aW5kb3cuZXZlbnQ/d2luZG93LmV2ZW50OiIiKTt2YXIgbT1pc0lFP3dpbmRv dy5ldmVudC5zcmNFbGVtZW50OmV2ZW50LmN1cnJlbnRUYXJnZXQ7bS5tb2RvPXRy dWU7fQpmdW5jdGlvbiBsaW5rbW91c2VvdXQoZXZlbnQpe3ZhciBpc0lFPXdpbmRv dy5hdHRhY2hFdmVudD90cnVlOmZhbHNlO2V2ZW50PWV2ZW50P2V2ZW50Oih3aW5k b3cuZXZlbnQ/d2luZG93LmV2ZW50OiIiKTt2YXIgbT1pc0lFP3dpbmRvdy5ldmVu dC5zcmNFbGVtZW50OmV2ZW50LmN1cnJlbnRUYXJnZXQ7bS5tb2RvPWZhbHNlO30K ZnVuY3Rpb24gbGlua21vdXNldXAoZXZlbnQpe3ZhciBpc0lFPXdpbmRvdy5hdHRh Y2hFdmVudD90cnVlOmZhbHNlO2V2ZW50PWV2ZW50P2V2ZW50Oih3aW5kb3cuZXZl bnQ/d2luZG93LmV2ZW50OiIiKTt2YXIgbT1pc0lFP3dpbmRvdy5ldmVudC5zcmNF bGVtZW50OmV2ZW50LmN1cnJlbnRUYXJnZXQ7aWYobS5tb2RvKWxpbmt0cmFja2Vy X3JlY29yZChldmVudCk7fQpmdW5jdGlvbiBsaW5rY2xpY2soZXZlbnQpe3ZhciBp c0lFPXdpbmRvdy5hdHRhY2hFdmVudD90cnVlOmZhbHNlO2V2ZW50PWV2ZW50P2V2 ZW50Oih3aW5kb3cuZXZlbnQ/d2luZG93LmV2ZW50OiIiKTtsaW5rdHJhY2tlcl9y ZWNvcmQoZXZlbnQpO30KZnVuY3Rpb24gbGlua3RyYWNrZXJfaW5pdChiLHApe19i bG9nPWI7X3Bvc3Q9cDtpZih0eXBlb2YgZG9jdW1lbnQubG9jYXRpb24uaG9zdCE9 J3VuZGVmaW5lZCcpCnZhciBsb2NhbHNlcnZlcj1kb2N1bWVudC5sb2NhdGlvbi5o b3N0O2Vsc2UKdmFyIGxvY2Fsc2VydmVyPWRvY3VtZW50LmxvY2F0aW9uLnRvU3Ry aW5nKCkucmVwbGFjZSgvXlteXC9dKlwvKyhbXlwvXSopKFwvLiopPy8sJyQxJyk7 dmFyIGVscz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYScpO2Zvcih2 YXIgaT0wO2k8ZWxzLmxlbmd0aDtpKyspe3ZhciBocmVmPWVsc1tpXS5ocmVmO2lm KGhyZWYubWF0Y2goZXZhbCgnL14oaHR0cChzKT86XFwvXFwvKT8nK2xvY2Fsc2Vy dmVyKycvJykpKWNvbnRpbnVlO3dwY29tQWRkRXZlbnQoZWxzW2ldLCdtb3VzZWRv d24nLGxpbmttb3VzZWRvd24pO3dwY29tQWRkRXZlbnQoZWxzW2ldLCdtb3VzZW91 dCcsbGlua21vdXNlb3V0KTt3cGNvbUFkZEV2ZW50KGVsc1tpXSwnbW91c2V1cCcs bGlua21vdXNldXApO319CmZ1bmN0aW9uIGxpbmt0cmFja2VyX3JlY29yZChldmVu dCl7dmFyIGlzSUU9d2luZG93LmF0dGFjaEV2ZW50P3RydWU6ZmFsc2U7ZXZlbnQ9 ZXZlbnQ/ZXZlbnQ6KHdpbmRvdy5ldmVudD93aW5kb3cuZXZlbnQ6IiIpO3ZhciBi PWlzSUU/d2luZG93LmV2ZW50LnNyY0VsZW1lbnQ6ZXZlbnQuY3VycmVudFRhcmdl dDt3aGlsZShiLm5vZGVOYW1lIT0iQSIpe2lmKHR5cGVvZiBiLnBhcmVudE5vZGU9 PSd1bmRlZmluZWQnKXJldHVybjtiPWIucGFyZW50Tm9kZTt9CnZhciBiaD1iLmhy ZWY7dmFyIHByPWRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sfHwnaHR0cDonO3Zh ciBiPSh0eXBlb2YgX2Jsb2chPSd1bmRlZmluZWQnKT9fYmxvZzowO3ZhciBwPSh0 eXBlb2YgX3Bvc3QhPSd1bmRlZmluZWQnKT9fcG9zdDowO3ZhciBpPW5ldyBJbWFn ZSgxLDEpO2kuc3JjPXByKycvL3N0YXRzLndvcmRwcmVzcy5jb20vYy5naWY/cz0y JmI9JytiKycmcD0nK3ArJyZ1PScrZXNjYXBlKGJoKTtpLm9uTG9hZD1mdW5jdGlv bigpe2NtY1ZvaWQoKTt9fQpmdW5jdGlvbiBjbWNWb2lkKCl7cmV0dXJuO30KaWYo dHlwZW9mIF9xb3B0aW9ucyE9InVuZGVmaW5lZCImJl9xb3B0aW9ucyE9bnVsbClm b3IodmFyIGsgaW4gX3FvcHRpb25zKW9sZF9xb3B0aW9uc1trXT1fcW9wdGlvbnMu aztfcW9wdGlvbnM9e3FhY2N0OidwLTE4LW1GRWs0SjQ0OE0nLGxhYmVsczondHlw ZS53cG9yZyd9O2RvY3VtZW50LndyaXRlKHVuZXNjYXBlKCIlM0NzY3JpcHQgc3Jj PSciK2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKyIvL2VkZ2UucXVhbnRzZXJ2 ZS5jb20vcXVhbnQuanMnIHR5cGU9J3RleHQvamF2YXNjcmlwdCclM0UlM0Mvc2Ny aXB0JTNFIikpO2lmKHR5cGVvZiBvbGRfcW9wdGlvbnMhPSJ1bmRlZmluZWQiJiZv bGRfcW9wdGlvbnMhPW51bGwpX3FvcHRpb25zPW9sZF9xb3B0aW9uczs= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=like.htm Content-Type: text/html; charset=utf-8; name=like.htm Content-Location: http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Faquaviews.net%2Fscuba-diving-stories-news%2Fsanctum-stunt-diver-dies-real-life-cave-diving-tradegy%2F&locale=&layout=standard&action=like&width=350&height=24&colorscheme=light Content-Transfer-Encoding: Quoted-Printable <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns=3D"ht= tp://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en" id=3D"facebook" = class=3D"no_js"> <head><meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3D= utf-8" /><meta http-equiv=3D"Content-Language" content=3D"en" /><script = type=3D"text/javascript"> //<![CDATA[ CavalryLogger=3Dfalse; //]]> </script><title>Like
Confirm
You like Sanctum Stunt Diver Dies= In A Real Life Cave Diving Tragedy. · Admin Page · Insights · ErrorChristopher Milowka and 176 others like this.176 people like this. Be the = first of your friends. · Admin Page · Insights · Error
------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/png Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAEfCAMAAAB/DLYyAAABI1BMVEX////////+ /v40NDSbq8tsg7Pl6fLq7fQ2WJnS2um7u7tmZmbh4eFzirbCyt9kZGTZ2dlERERV VVVRbKQeRYC9yN6+vr5geKyqqqrDw8M7WZji5vDT09Oenp5NTU1jeKN1i7jd3d3H x8fU1NTu7u7e4u5id6LLy8umpqbo6OjP2Oh1dXWJiYm4uLjOzs7b29vp6elof7HA wMCRkZFYapHFzOLy8vKMjIygoKCNoMV+fn6rq6t7j7rl5eW/yuBlZWWuu9W/xduN jY3u8fbT2eji4uKpqam8vLx3d3eoqKh7e3u9vb3u8PbX19dKaKTk5OSKioqkpKQ5 VZS0tLT29vZPaqNVcan6+vq2wNxwg6+MnsNXapCwvttXV1ded65paWmQpMmBnePY AAAAAXRSTlMAQObYZgAAAyRJREFUeF61juWW40oMBtNtO8yMg8zMsMx0men9n2K/ dhyNlBwle5LcmsmPqiOpHZsJryS9bIeCZz3hzwsIcsB6nvdvuOwBOOgPeTc3UB4K hWmC5xV+dGEhegWTW67CZ8O+kN6JDQWLP85fKRmcWWt3wmXroIzlWg3KQyo1TbA2 9Z8L8egVTPiuwmcj+Vn6P3YoJG1SuJ9DkAM2mUwuhctJAAf9oeT1NZSHXG5SWBqd wNFc3oVfolcw+dsSKnw6Gm2iEQYIwUPOmJwIJv5sQ4ZnYqXimx2/wgIujNzYQVdC EGLWg0AES6FR/aEa/TdicyQbywIWNrPFbreYZaG7Cbos1ENYaDlvsRCTAwjbgIft bLGYRaEAR2EBCh5DayTEpCOcAh5Oe1tbPVZavdegxwIUjAsx6Qh/Ah7ONoJg4+wx 1BcDsMgCFOgBkKs8AOGpeDzFy0MCjA+pRAIr6lHgA+G1TqfGix9PJOLjQy0epxVx VH/laT7/VNzIn5/ntSBX9FfaQHjl+LjCSzsA40MlCGiFHZ2eu+qAu36otgdUeWj4 DRn8RE2GF75csdbKid/t8I0EWwkc1g8CERIUxJfOnfSwp9Oqp8lplpyKvk9XZuVn IvL1jxHrKC50iEH4I4SCNgHUiZcDfzl4F7Th+A4GClwWBFkQ/n8yw57JqJ4hp1ly Kvo+XZk3HhG5ITwtFEImTgB9QgYUh1PnBApcFAQJNuZIhoi8TGS00J+fOAHUCRkA nXROoMBFQZBgY46kiciXibQW+vMTJ4A6IQOgk84JFLgoCBK5MZlXQPjqysoqL69W gB5oRT8KykD4Qqm0wEu5BPRAK/pRsAyE36+t3fOyvAb0QCv6UcnJ9wNO+gEygIKB GBaMMe7HJwCbAKHrE3RDf4VQvnSEkjeg1A/eIxQMxLBgjHE/PgHYBAhdn6Ab+iuE 8qXfQPM7ohkGCMHDB2PeiGB+PXonw5FYuTo0F4dXLLwxZuTGBboS9kPMT/v7Smi+ JZqxb6P8hCiHAULw8NyYSxHMl/p7GepiZffWHNzusnBpzMiNA3Ql7IWYT3t7Sij/ TeDTvwLENdsHdW/D3AAAAABJRU5ErkJggg== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=mPMGcH0c8Ks.css Content-Type: text/css; charset=utf-8; name=mPMGcH0c8Ks.css Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/y2/r/mPMGcH0c8Ks.css Content-Transfer-Encoding: 8bit /*1306249063,169776068*/ .fbSendButton{display:inline-block} #LikePluginPagelet .fbSendButton{display:block} .fbSendButton .btnLink{display:block;white-space:nowrap;line-height:14px} .fbSendButtonBig .btnLink{padding:4px 5px 4px 2px} .fbSendButtonSmall .btnLink{padding:2px 3px 2px 2px} body.transparent_widget{background-color:transparent} .fbSendButton .btnLink{border:1px solid #cad4e7;border-radius:3px} .fbSendButtonLight .btnLink{background-color:#eceef5} .fbSendButtonLight .btnLink:hover{border-color:#9dacce} .fbSendButtonLight.fbSendButtonSelected .btnLink,.fbSendButtonLight.fbSendButtonSelected .btnLink:hover{background-color:#eee;border-color:#ddd;color:#aaa} .fbSendButtonDark .btnLink{background-color:#c7c7c7;color:#333} .fbSendButtonDark .btnLink:hover{background-color:#d9d9d9} .fbSendButtonDark.fbSendButtonSelected .btnLink,.fbSendButtonDark.fbSendButtonSelected .btnLink:hover{background-color:#444;border-color:#555;color:#666} .fbSendButton .btnLink:hover{text-decoration:none} .fbSendButton .msgIcon,.fbSendButton .fbIcon{background:no-repeat scroll transparent;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png);float:left;margin-right:3px;height:13px} .fbSendButton .msgIcon{width:16px} .fbSendButton .fbIcon{width:12px} .fbSendButtonLight .msgIcon{background-position:0 -141px} .fbSendButtonLight.fbSendButtonRTL .msgIcon{background-position:34px -141px} .fbSendButtonLight.fbSendButtonSelected .msgIcon{background-position:1px -202px} .fbSendButtonLight.fbSendButtonSelected.fbSendButtonRTL .msgIcon{background-position:35px -202px} .fbSendButtonDark .msgIcon{background-position:1px -170px} .fbSendButtonDark.fbSendButtonRTL .msgIcon{background-position:35px -170px} .fbSendButtonDark.fbSendButtonSelected .msgIcon{background-position:1px -186px} .fbSendButtonDark.fbSendButtonSelected.fbSendButtonRTL .msgIcon{background-position:35px -186px} .fbSendButtonLight .fbIcon{background-position:0 -47px} .fbSendButtonLight.fbSendButtonRTL .fbIcon{background-position:34px -47px} .fbSendButtonLight.fbSendButtonSelected .fbIcon{background-position:0 -260px} .fbSendButtonLight.fbSendButtonSelected.fbSendButtonRTL .fbIcon{background-position:34px -260px} .fbSendButtonDark .fbIcon{background-position:0 -47px} .fbSendButtonDark.fbSendButtonRTL .fbIcon{background-position:34px -47px} .fbSendButtonDark.fbSendButtonSelected .fbIcon{background-position:0 -274px} .fbSendButtonDark.fbSendButtonSelected.fbSendButtonRTL .fbIcon{background-position:34px -274px} .fbSendButtonBig .fbSendBG{padding:3px 5px 4px 2px} .fbSendButtonSmall .fbSendBG{padding:2px 3px 2px 3px} .fbSendButtonLight .btnLink .fbSendBG{background-color:#eceef5} .fbSendButtonLight.fbSendButtonSelected .btnLink .fbSendBG,.fbSendButtonLight.fbSendButtonSelected .btnLink:hover .fbSendBG{background-color:#eee} .fbSendButtonDark .btnLink .fbSendBG{background-color:#c7c7c7} .fbSendButtonDark .btnLink:hover .fbSendBG{background-color:#d9d9d9} .fbSendButtonDark.fbSendButtonSelected .btnLink .fbSendBG,.fbSendButtonDark.fbSendButtonSelected .btnLink:hover .fbSendBG{background-color:#444} .fbSendButton .fbSendContainer{position:relative} .fbSendButton .horizontal{position:absolute;top:0;bottom:0;left:1px;right:1px;border-top:1px solid;border-bottom:1px solid} .fbSendButton .vertical{position:absolute;top:1px;bottom:1px;left:0;right:0;border-left:1px solid;border-right:1px solid} .fbSendButton .border_piece{border-color:#cad4e7} .fbSendButtonLight .btnLink:hover .border_piece{border-color:#9dacce} .fbSendButtonLight.fbSendButtonSelected .btnLink .border_piece,.fbSendButtonLight.fbSendButtonSelected .btnLink:hover .border_piece{border-color:#ddd} .fbSendButtonDark.fbSendButtonSelected .btnLink .border_piece,.fbSendButtonDark.fbSendButtonSelected .btnLink:hover .border_piece{border-color:#555} .fbSendButtonBoxCount{margin-top:1px} .pop_container_advanced{background:rgba(82,82,82,0.7);border-radius:8px;padding:10px} .pop_content_old{position:relative} .pop_container{direction:ltr;position:relative;top:10px} .pop_topleft,.pop_topright,.pop_bottomleft,.pop_bottomright{height:10px;width:10px;overflow:hidden;position:absolute} .pop_topleft{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zv/r/b9B5rP7CZUJ.png);background-repeat:no-repeat;background-position:0 0;left:-10px;top:-10px} .pop_topright{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zP/r/pbUw18P5OnW.png);background-repeat:no-repeat;background-position:0 0;right:-10px;top:-10px} .pop_bottomleft{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zc/r/Civ9WLumChT.png);background-repeat:no-repeat;background-position:0 0;bottom:-10px;left:-10px} .pop_bottomright{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zS/r/fc4z4Z6xzEI.png);background-repeat:no-repeat;background-position:0 0;right:-10px;bottom:-10px} .pop_verticalslab,.pop_horizontalslab{width:100%;height:100%;position:absolute;background:#525252;opacity:.7} .pop_verticalslab{margin:-10px 0 0;padding-bottom:20px} .pop_horizontalslab{margin:0 0 0 -10px;padding-right:20px} .generic_dialog{height:0;left:0;overflow:visible;outline:none;position:absolute;top:0;width:100%;z-index:250} .generic_dialog_popup{height:0;overflow:visible;position:relative;width:465px;margin:auto} .generic_dialog div.dialog_loading{background-color:#f2f2f2;border:1px solid #606060;font-size: 24px;padding:10px} #generic_dialog_overlay{height:100%;position:fixed;top:0;width:100%;z-index:200;background-color:#fff;opacity:0} #generic_dialog_overlay.dark{background-color:#747474;opacity:.5} #generic_dialog_overlay.white{background-color:#fff;opacity:.5} .pop_content{direction:ltr} .pop_dialog_rtl .pop_content{direction:rtl} .pop_content h2.dialog_title{background:#6d84b4;border:1px solid #3b5998;border-bottom:none;color:#fff;font-size: 14px;font-weight:bold;margin:0} .pop_content h2.secure{background:#6d84b4 url(http://static.ak.fbcdn.net/rsrc.php/v1/zu/r/jp8TzrZb6J1.png) 98% no-repeat} .pop_content h2.loading{background:#6d84b4 url(http://static.ak.fbcdn.net/rsrc.php/v1/z-/r/AGUNXgX_Wx3.gif) 98% no-repeat} .pop_content h2.dialog_loading{background:#6d84b4 url(http://static.ak.fbcdn.net/rsrc.php/v1/z-/r/AGUNXgX_Wx3.gif) no-repeat 400px 10px;padding-right:40px} .pop_content h2 span{display:block;padding:5px 10px} .pop_content .dialog_content{background:#fff;border:1px solid #555;border-top-width:0} .pop_content .dialog_body{padding:10px;border-bottom:1px solid #ccc} .omitDialogFooter .pop_content .dialog_body{border-bottom:0} .pop_content .dialog_summary{background:#f2f2f2;padding:8px 10px;border-bottom:1px solid #ccc} .pop_content .dialog_buttons{background:#f2f2f2;padding:8px 10px 8px 10px;position:relative;text-align:right} .pop_content .dialog_buttons_msg{float:left;line-height:17px;padding-top:4px} .pop_content .dialog_footer{background:#F2F2F2 none repeat scroll 0} .full_bleed .pop_content .dialog_body{padding:0} #bootloader_V02Ya { height: 42px; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/png Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/zg/r/wBBYAgOjf8k.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAfQAAAAwCAYAAADn2IicAAAAAXNSR0IArs4c6QAA AAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sG BhIxLPUh8H8AAAAidEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVAgb24gYSBN YWOHqHdDAAACW0lEQVR4Xu3d0U3DUBBE0Rfk6lMD1dBFviiAIozb2LuHCjJnVhoF h/B6f//cxw8BAgQIECAwWuD6/P6NDuDFEyBAgAABAud8QSBAgAABAgTmCxj0+R1K QIAAAQIEznXfHqG7AwIECBAgMF3gMufTK/T6CRAgQIDA8Q7dERAgQIAAgYKAZ+iF FmUgQIAAgfUCzzP09QYACBAgQIDAeAHv0MdXKAABAgQIEPAM3Q0QIECAAIGEgF+5 J2oUggABAgS2C/g79O0XID8BAgQIJASu40NxiSKFIECAAIHdAs8Xy1j03ScgPQEC BAgUBHxTXKFFGQgQIEBgvYAPxa0/AQAECBAgUBDwDL3QogwECBAgsF7gOp6hrz8C AAQIECAwX8A3xc3vUAICBAgQIPD8tzUIBAgQIECAwHgB79DHVygAAQIECBA4x6C7 AgIECBAgEBAw6IESRSBAgAABAgbdDRAgQIAAgYCAQQ+UKAIBAgQIEDDoboAAAQIE CAQEDHqgRBEIECBAgIBBdwMECBAgQCAgYNADJYpAgAABAgQMuhsgQIAAAQIBAYMe KFEEAgQIECBg0N0AAQIECBAICBj0QIkiECBAgAABg+4GCBAgQIBAQMCgB0oUgQAB AgQIGHQ3QIAAAQIEAgIGPVCiCAQIECBAwKC7AQIECBAgEBAw6IESRSBAgAABAgbd DRAgQIAAgYCAQQ+UKAIBAgQIEDDoboAAAQIECAQEDHqgRBEIECBAgIBBdwMECBAg QCAgYNADJYpAgAABAgQMuhsgQIAAAQIBAYMeKFEEAgQIECDwDxzAH+4YIOZTAAAA AElFTkSuQmCC ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline Content-Type: image/png Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/z5/r/Yz_2RL5XOEG.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAA8AAAA8CAYAAAC5OOBJAAAA7ElEQVR42tVTwQ2D QAxjjo5RZuDZDfpmDtboDDwZoNuwhnuRqA6ppq5iJGgkS5yJlTi5awCkcRLx9f64 FPQsMfj4/03cv/ELzytUEKHwXAVMqMUfHQRvVzY9+9P29/yndzu8tAW3BNomPrLY VdyhBEtc+G5TjFVIvop5IjlrzyAhPatW7cqmZ3/a/p6Pu572qxoKngkMTXxksat4 RAmWuPDjphirkHwV80Ry1p5BQnpWrdqVTc/+tP09H3c97Vc1FSCBKcTIYlfxDIAm Lvy8KV6H4quYJ7Kz9kxCelat2pVdz/60/T0fdz2tV/UCJ/8ySs2xEBEAAAAASUVO RK5CYII= ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=ZxSyfUciCMO.css Content-Type: text/css; charset=utf-8; name=ZxSyfUciCMO.css Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/yE/r/ZxSyfUciCMO.css Content-Transfer-Encoding: 8bit /*1308172547,176820665*/ form{margin:0;padding:0} label{cursor:pointer;color:#666;font-weight:bold;vertical-align:middle} label input{font-weight:normal} textarea,.inputtext,.inputpassword{border:1px solid #bdc7d8;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;font-size: 11px;padding:3px} select{border:1px solid #bdc7d8;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;font-size: 11px;padding:2px} .inputtext,.inputpassword{margin:0;padding-bottom:4px} .inputradio{padding:0;margin:0 5px 0 0;vertical-align:middle} .inputcheckbox{border:0;vertical-align:middle} .inputbutton,.inputsubmit{border-style:solid;border-width:1px;border-color:#d9dfea #0e1f5b #0e1f5b #d9dfea;background-color:#3b5998;color:#fff;padding:2px 15px 3px 15px;text-align:center} .inputsubmit_disabled{background-color:#999;border-bottom:1px solid #000;border-right:1px solid #666;color:#fff} .inputaux{background:#f0f0f0;border-color:#e7e7e7 #666 #666 #e7e7e7;color:#000} .inputaux_disabled{color:#999} .inputsearch{background:#fff url(http://static.ak.fbcdn.net/rsrc.php/v1/zV/r/IJYgcESal33.png) no-repeat left 4px;padding-left:17px} body{background:#fff;font-size: 11px;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;color:#333;margin:0;padding:0;text-align:left;direction:ltr;unicode-bidi:embed} h1, h2, h3, h4, h5, h6{font-size: 13px;color:#333;margin:0;padding:0} h1{font-size: 14px} h4, h5{font-size: 11px} p{margin:1em 0} a{cursor:pointer;color:#3b5998;-moz-outline-style:none;text-decoration:none} a:hover{text-decoration:underline} img{border:0} td, td.label{font-size: 11px;text-align:left} dd{color:#000} dt{color:#777} ul{list-style-type:none;margin:0;padding:0} abbr{border-bottom:none} hr{background:#d9d9d9;border-width:0;color:#d9d9d9;height:1px} .clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden} .clearfix{display:block;zoom:1} .datawrap{word-wrap:break-word} .word_break{display:block;float:left;margin-left:-10px;padding:0} .img_loading{position:absolute;left:-100000px;top:-100000px} .aero{opacity:.5} .column{float:left} .center{margin-left:auto;margin-right:auto} #facebook .hidden_elem{display:none !important} #facebook .invisible_elem{visibility:hidden} .direction_ltr{direction:ltr} .direction_rtl{direction:rtl} .text_align_ltr{text-align:left} .text_align_rtl{text-align:right} .DOMControl_placeholder{color:#777} .no_js .DOMControl_placeholder{color:#000} .DOMControl_shadow{left:-10000px;position:absolute;top:-10000px;white-space:pre-wrap} body{overflow-y:scroll} .mini_iframe,.serverfbml_iframe{overflow-y:visible} .auto_resize_iframe{height:auto} .pipe{color:#808080;padding:0 3px} #content{width:auto;padding:0;margin:0} .profile #content,.home #content,.search #content{min-height:600px} .UIStandardFrame_Container{width:960px;padding:0;margin:20px auto 0} .UIStandardFrame_Content{width:760px;float:left;margin:0;padding:0} .UIStandardFrame_SidebarAds{width:200px;padding:0;margin:0;float:right} .UIFullPage_Container{width:940px;padding:0 12px;margin:20px auto 0} .empty_message{font-size: 13px;line-height:17px;padding:20px 20px 50px 20px;text-align:center;background:#f7f7f7} .see_all{text-align:right} .standard_status_element{visibility:hidden} .standard_status_element.async_saving{visibility:visible} img.tracking_pixel{height:1px;position:absolute;visibility:hidden;width:1px} #dropmenu_container{display:block;height:0;margin:0 auto;padding:0;position:absolute;width:964px;z-index:300} .connect_comment_widget{margin:0 4px;padding:5px 0;position:relative} .connect_comment_widget .nub{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zv/r/agyQHs6yLID.gif) no-repeat 8px 0;height:6px;width:20px;padding:0;margin:0;left:0;line-height:0;position:absolute;z-index:2;top:0} .connect_comment_widget .side_nub{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zn/r/vAOEfR4cWQM.gif) no-repeat 0 0;height:20px;width:6px;padding:0;margin:0;left:-5px;line-height:0;position:absolute;z-index:2;top:14px} .connect_comment_widget_rtl .side_nub{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zK/r/R95msRfVr6a.gif) no-repeat 0 0} .connect_comment_widget .comment_content{background:white;border-color:#333333 #333333 #283e6c;border-style:solid;border-width:1px 1px 2px;zoom:1} .connect_comment_widget .connect_comment_widget_text{padding:8px 8px 4px} .connect_comment_widget .connect_comment_widget_placeholder_input{width:304px;color:#808080;line-height:16px;height:20px} .connect_comment_widget .connect_comment_widget_placeholder_input_region{padding:8px 8px 5px} .connect_comment_widget .connect_comment_widget_user_pic{display:block;float:left;height:auto;padding:0 5px 0 0;width:50px} .connect_comment_widget .connect_comment_widget_full_input_textarea{height:50px;width:319px} .connect_comment_widget .connect_comment_widget_full_input_region{padding:8px 8px 5px} .connect_comment_widget textarea.connect_comment_widget_disabled{color:#808080} .connect_comment_widget.like_button_dark textarea.connect_comment_widget_disabled{color:#dedede} .connect_comment_widget div.connect_comment_share_preview{padding-left:55px;padding-top:6px} .connect_comment_widget div.connect_comment_widget_button_region{padding:8px 8px 5px;text-align:right;background-color:#f2f2f2;border-top:1px solid #bdc7d8} .connect_comment_widget.like_button_dark div.connect_comment_widget_button_region{background-color:#333;border-top:1px solid #666} .like_button_dark .nub,.like_button_dark .connect_widget_comment_box_upward_nub{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zL/r/7vbl1usLlV8.gif)} .like_button_dark .side_nub{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zB/r/Gvy8rtIdNBK.gif) no-repeat 0 0;left:-4px} .connect_comment_widget_rtl.like_button_dark .side_nub{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zp/r/E-2vs4qfO7d.gif) no-repeat 0 0} .like_button_dark .comment_content{background:#111;border:1px solid #666;border-bottom:2px solid #ccc;color:#ccc} .like_button_dark .connect_comment_widget_placeholder_input{border:1px solid #505050;background:1px solid #505050;color:#fff} .like_button_dark .connect_comment_widget_full_input_textarea,.like_button_dark .connect_comment_widget_placeholder_input{background-color:#000;border-color:#434343;color:#fff} .like_button_dark .connect_comment_widget_full_input_textarea{color:#fff} .like_button_dark a{color:#fff} .connect_comment_widget .connect_comment_widget_title{font-size: 12px;margin-top:-2px} .connect_comment_widget.like_button_dark .connect_comment_widget_title{color:#ccc} .connect_comment_widget .connect_comment_widget_description,.connect_comment_widget .connect_comment_widget_href{font-size: 11px;margin-bottom:6px} .connect_comment_widget .connect_comment_widget_description{color:#000} .connect_comment_widget.like_button_dark .connect_comment_widget_description{color:#ccc} body.transparent_widget{background-color:transparent;overflow:hidden} body.plugin.transparent_widget{overflow-y:hidden} .connect_widget{background-color:transparent} .connect_widget .connect_widget_facebook_favicon{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) no-repeat -1px -47px transparent;display:block;height:14px;padding:0 0 0 0;width:14px;position:absolute;left:-1px} .connect_widget .connect_widget_interactive_area{border-collapse:collapse} .connect_widget td.connect_widget_vertical_center{border-spacing:0;font-size: 11px;line-height:normal;padding:0} .connect_widget td.connect_widget_button_cell{vertical-align:top} .connect_widget td.connect_widget_confirm_cell{padding-top:4px} .connect_widget .connect_button_slider{position:relative;zoom:1} .connect_widget .connect_widget_button_cell .connect_slide_hide_content{overflow:hidden;width:1px;margin-right:0} .connect_widget .connect_slide_hide_content .connect_button_container{margin-left:1px} .button_count .connect_widget_interactive_area .connect_widget_facebook_favicon,.button_count .connect_widget_interactive_area .connect_widget_text{float:left;position:static} body.ie7 .connect_widget a.connect_widget_like_button{float:none} a.connect_widget_like_button{display:block;float:left;border-radius:3px;padding:4px 5px;border:1px solid #000} .button_count a.connect_widget_like_button{padding:2px 4px} a.connect_widget_like_button span{line-height:14px} a.connect_widget_like_button:hover{text-decoration:none} .connect_widget_number_cloud{position:relative;background:#f3f3f3;border:1px solid #d3d3d3;height:24px;padding-top:6px;text-align:center} .like_widget_dark div.connect_widget_number_cloud{background-color:#c7c7c7;border-color:#c7c7c7} div.connect_widget_number_cloud table.connect_widget_number_cloud_summary{margin-left:auto;margin-right:auto} div.connect_widget_number_cloud table.connect_widget_number_cloud_summary td{font-size: 13px} .thumbs_up_icon{width:15px;height:15px;margin-right:2px;background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) -1px -32px no-repeat} .like_widget_dark .thumbs_up_icon{background-position:-1px -2px} .like_widget_dark div.connect_widget_number_cloud_extension a{color:#333} div.connect_widget_number_cloud .connect_widget_text{padding-left:0} .connect_widget_number_cloud_nub{position:absolute;z-index:2;height:7px;width:0;bottom:-7px;left:5px} .connect_widget_number_cloud_nub s,.connect_widget_number_cloud_nub i{border:solid transparent;border-left-color:#d3d3d3;border-width:0 0 7px 7px;display:block;position:relative} .connect_widget_number_cloud_nub i{left:1px;top:-9px;border-left-color:#f3f3f3} .like_widget_dark .connect_widget_number_cloud_nub s{border-left-color:#c7c7c7} .like_widget_dark .connect_widget_number_cloud_nub i{display:none} .connect_widget_offscreen{position:absolute;top:-10000px} div.connect_widget_number_cloud_extension{font-size: 11px;height:30px;margin-left:4px;margin-right:4px;margin-top:6px} div.connect_widget_number_cloud_extension_icon{margin-left:2px;margin-top:3px} div.connect_widget_number_cloud_extension_text{border-color:#dedede;border-width:1px 0 0 0;border-style:solid;line-height:11px;margin-top:1px;text-align:center} div.connect_widget_number_cloud_extension_text table{width:100%} div.connect_widget_number_cloud_extension_text td{height:30px;text-align:center;vertical-align:middle} div.connect_widget_number_cloud_extension span.like_reminder{color:#777;font-size: 9px} .like_widget_dark div.connect_widget_number_cloud_extension span.like_reminder{color:#333;font-size: 9px} table.connect_widget_button_count_summary,table.connect_widget_simple_summary{background-color:#eceef5;color:#000;font-size: 11px;height:21px} table.connect_widget_button_count_summary div.thumbs_up{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) no-repeat 3px -32px #eceef5;height:15px;width:18px} td.connect_widget_simple_including div.simple_liked{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) no-repeat 3px -47px #eceef5;height:15px;width:18px} .like_button_simple .connect_widget_like_button .liketext{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) no-repeat 0 -47px #eceef5} .connect_widget_rtl table.connect_widget_button_count_summary div.thumbs_up{background-position:-1px 0} table.connect_widget_button_count_summary div.undo{background-color:#eceef5;height:21px;width:18px} .like_button_dark table.connect_widget_button_count_summary div.undo{background-color:#c7c7c7} table.connect_widget_button_count_summary label.undo_button{margin-left:6px;margin-top:4px} table.connect_widget_button_count_summary div.summary_text{padding-left:3px;padding-right:6px;white-space:nowrap} table.connect_widget_simple_summary div.summary_text{padding-left:3px;padding-right:6px;white-space:nowrap;color:#ccc} .like_button_dark table.connect_widget_button_count_summary,.like_button_dark table.connect_widget_simple_summary{background-color:#c7c7c7} .like_button_dark table.connect_widget_button_count_summary div.thumbs_up{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) no-repeat 3px -3px} .connect_widget_rtl .like_button_dark table.connect_widget_button_count_summary div.thumbs_up{background-position:-1px -3px} .connect_widget_button_count_count{background:#efefef;border:1px solid #c1c1c1;float:left;font-weight:normal;height:14px;margin-left:1px;min-width:15px;padding:1px 2px 1px 2px;text-align:center;line-height:14px} .like_button_dark div.connect_widget_button_count_count{background-color:#c7c7c7;border-color:#c7c7c7} .connect_widget_button_count_nub{float:left;position:relative;z-index:2;height:0;width:5px;top:-5px;left:2px} .connect_widget_button_count_nub s,.connect_widget_button_count_nub i{border:solid transparent;border-right-color:#c7c7c7;border-width:5px 5px 0 0;display:block;position:relative} .connect_widget_button_count_nub i{left:2px;top:-6px;border-right-color:#efefef} .like_button_dark .connect_widget_button_count_nub i{display:none} td.connect_widget_button_count_excluding{padding:0} td.connect_widget_button_count_including,td.connect_widget_simple_including{padding:0} td.connect_widget_button_count_including .connect_widget_button_count_count.noGrayOut{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zp/r/qDH1xoDhFBF.gif) no-repeat 4px 2px;padding-left:22px;padding-right:4px} .connect_widget_rtl td.connect_widget_button_count_including .connect_widget_button_count.noGrayOut{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zp/r/qDH1xoDhFBF.gif) no-repeat 4px 2px;padding-right:22px;padding-left:4px} .connect_widget_like_button .vertical{display:block;top:-6px;left:0;margin:0 3px -6px 0;position:relative;padding:3px 4px 4px 3px;border-top:solid 1px;border-bottom:solid 1px} .button_count .connect_widget_like_button .vertical{padding:2px 3px 3px 2px} .connect_widget_like_button .horizontal{height:100%;width:100%;position:absolute;display:block;top:-3px;left:-3px;padding-left:1px;border-left:solid 1px;border-right:solid 1px} .connect_widget_like_button .corner_mask{overflow:hidden;width:3px;height:3px;position:absolute;display:block} .connect_widget_like_button .corner{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png);height:6px;width:6px;display:block} .connect_widget_like_button .topleft{top:-6px;left:-3px} .connect_widget_like_button .topleft .corner{margin:0 0} .connect_widget_like_button .topright{top:-6px;right:0} .connect_widget_like_button .topright .corner{margin:0 0 0 -3px} .connect_widget_like_button .bottomright{bottom:0;right:0} .connect_widget_like_button .bottomright .corner{margin:-3px 0 0 -3px} .connect_widget_like_button .bottomleft{bottom:0;left:-3px} .connect_widget_like_button .bottomleft .corner{margin:-3px 0 0 0} .connect_widget_like_button .liketext{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) -1px -33px no-repeat;color:#3b5998;display:block;padding-left:17px;white-space:nowrap} .connect_widget_rtl .connect_button_container .liketext{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) 34px -33px no-repeat} .connect_widget_like_button .liketextwithimage img{margin-bottom:-2px;margin-right:4px;width:13px} .hidden .connect_widget_like_button .liketextwithimage img{height:0;margin:0;padding:0;width:0} .connect_widget_like_button .fbLikeButtonTrackingPixel{display:inline;height:0;width:0} .button_count .like_button_dark .like_button_no_like .liketext,.button_count .connect_widget_like_button .liketext{background-position:-1px -47px} .connect_widget .like_button_no_like .piece,.connect_widget .like_button_no_like{background-color:#eceef5;border-color:#cad4e7} .connect_widget .like_button_no_like .corner{background-position:10px -89px} .connect_widget a.like_button_no_like:hover .piece,.connect_widget a.like_button_no_like:hover{background-color:#ebedf4;border-color:#9dacce} .connect_widget .like_button_no_like:hover .corner{background-position:10px -95px} .connect_widget .like_button_pressed,.connect_widget .like_button_pressed .piece{background-color:#ced4e6;border-color:#94a5ca} .connect_widget .like_button_pressed .corner{background-position:10px 55px} .connect_widget .like_button_like .corner{background-position:10px 49px} .connect_widget .like_button_dark .like_button_no_like,.connect_widget .like_button_dark .like_button_no_like .piece{background-color:#c7c7c7;border-color:#cad4e7} .connect_widget .like_button_dark .like_button_no_like .corner{background-position:10px -217px} .connect_widget .like_button_dark .liketext{color:#333;background-position:-1px -3px} .connect_widget .like_button_dark .like_button_no_like:hover,.connect_widget .like_button_dark .like_button_no_like:hover .piece{background-color:#d9d9d9;border-color:#e9e9e9} .connect_widget .like_button_dark .like_button_no_like:hover .corner{background-position:10px -217px} .connect_widget .like_button_dark .like_button_no_like_pressed,.connect_widget .like_button_dark .like_button_no_like_pressed .piece{background-color:#a8a8a8;border-color:#a8a8a8;border-top-color:#8f8f8f} .connect_widget .like_button_dark .like_button_no_like_pressed .corner{background-position:10px 80px} .connect_widget .like_button_dark .like_button_like .corner{background-position:10px 74px} .connect_widget .connect_text_wrapper{position:relative} .connect_widget div.connect_confirmation_cell{padding:0;margin:0} .connect_widget div.connect_confirmation_cell_like{padding-left:0;position:relative;left:-1px} .connect_widget div.connect_confirmation_cell_no_like{padding-left:7px} .connect_widget .vertical_centering{padding-top:5px} .connect_widget .connect_widget_text{display:block;padding-left:17px;line-height:14px} .button_count .connect_widget_interactive_area .connect_widget_text{padding-left:0;font-weight:bold} .connect_widget .like_button_dark .connect_widget_text,.connect_widget .like_button_dark .connect_widget_confirmation{color:#808080} .connect_widget .like_button_dark .connect_widget_text a{color:#fff} .connect_widget .connect_widget_connect_button{float:left} .connect_widget .connect_bar_widget_interactive_area{float:left} .connect_widget .connect_bar_widget_text_cell{width:400px} .connect_widget .connect_widget_icon{padding:4px 0 4px 4px;vertical-align:middle} .connect_widget a.connect_widget_link_inactive{color:#808080;text-decoration:none;cursor:default} .connect_widget a.connect_widget_error_text{color:#a00;font-weight:bold} .transparent_widget .uiBoxLightblue{background-color:transparent;background-color:rgba(165, 175, 200, .2)} .transparent_widget .uiBoxWhite,.transparent_widget .fbConnectWidgetFooter{background-color:transparent;background-color:rgba(255, 255, 255, .2)} div.connect_widget_comment_box_nub{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zn/r/vAOEfR4cWQM.gif) no-repeat 0 0;height:12px;left:-6px;position:absolute;top:6px;width:20px;z-index:3} div.connect_widget_comment_box_upward_nub{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zv/r/agyQHs6yLID.gif) no-repeat 0 0;height:12px;left:5px;position:absolute;top:-6px;width:20px;z-index:3} .connect_widget_rtl div.connect_widget_comment_box_nub{background:transparent url(http://static.ak.fbcdn.net/rsrc.php/v1/zK/r/R95msRfVr6a.gif) no-repeat 0 0;left:-20px} .connect_widget div.connect_widget_comment_box{background-color:#fff;border-color:#000;border-style:solid;border-width:1px 1px 2px 1px;position:relative;z-index:100} .connect_widget div.connect_widget_comment_box.like_button_dark{background-color:#111;color:#ccc;border-color:#666} .connect_widget div.like_button_dark input.connect_widget_comment_textinput{background-color:#666;border-color:#666;color:#dedede} .connect_widget div.connect_widget_header_text{float:left;height:20;overflow:hidden;padding-left:7px;padding-top:3px;width:200} .connect_widget div.connect_widget_cancel_button{cursor:pointer;float:right;padding-right:7px;padding-top:3px} .connect_widget div.connect_widget_comment_text_area_div{padding-left:7px;padding-top:2px} .connect_widget div.connect_widget_comment_area{padding:8px} .connect_widget .connect_widget_comment_textinput{width:325px} .connect_widget .connect_widget_comment_summary{padding:7px 5px 7px 5px} .connect_widget .connect_widget_comment_button{margin-left:-1px} .connect_widget .connect_widget_comment_close_button{margin-left:2px} .connect_widget .like_button_dark .connect_widget_comment_close_button{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zE/r/htZktl244wt.png);background-repeat:none;opacity:.7} .connect_widget .like_button_dark .connect_widget_comment_close_button:hover{opacity:1} .connect_widget textarea.connect_widget_comment_text_area{height:30px;width:476px} .connect_widget .connect_widget_image{height:30px;width:30px;padding-top:3px;vertical-align:bottom} .connect_widget a.name_tooltip_link{display:block} .connect_widget a.name_tooltip_link .uiTooltipWrap:hover{display:none} .connect_widget .connect_widget_name{text-align:center} .connect_widget .connect_widget_sample_connection{float:left;padding-right:3px;width:30px;padding-top:5px} .connect_widget .connect_widget_user_not_connected{display:none} .connect_widget .connect_bar_widget_sample_connections{float:right} .connect_widget .connect_widget_whats_this{color:#999;font-size: 9px;padding-top:4px} .connect_widget .connect_widget_whats_this a:hover{color:#3b5998;text-decoration:none} .connect_widget .page_stream img{max-width:120px} body.ie7 .connect_widget a.connect_widget_like_button, body.ie8 .connect_widget a.connect_widget_like_button, body.ie9 .connect_widget a.connect_widget_like_button{position:relative;margin:6px 0 0 3px;border:0;background-color:transparent !important;padding:0;overflow:visible} .connect_widget_like_button .liketext{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) -1px -33px no-repeat} .connect_widget a.like_button_no_like:hover .piece, .connect_widget a.like_button_no_like:hover{background-color:#eceef5;border-color:#9dacce} .connect_widget .like_button_like , .connect_widget .like_button_like .piece{background-color:#eee;border-color:#ddd;cursor:default} .connect_widget .like_button_dark .like_button_like , .connect_widget .like_button_dark .like_button_like .piece{background-color:#444;border-color:#555;cursor:default} .connect_widget .like_button_like .corner{background-position:10px -229px} .connect_widget .like_button_dark .like_button_like .corner{background-position:10px -223px} .connect_widget .like_button_like .liketext{background-image:none;clear:right;color:#aaa} .connect_widget .tombstone_cross{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) no-repeat 0 -128px;display:block;float:left;height:12px;margin-right:3px;width:14px;z-index:99} .like_button_no_like .tombstone_cross{display:none} .like_button_like .tombstone_cross{display:block} .connect_widget .like_button_dark .like_button_like .tombstone_cross{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png) no-repeat 0 -156px} .connect_widget .like_button_like .tombstone_cross:hover{background-position:0 -235px;cursor:pointer} .connect_widget .like_button_simple .like_button_like .tombstone_cross:hover{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/z7/r/ql9vukDCc4R.png);background-position:0 -128px;cursor:auto;height:12px;margin-left:0;margin-right:3px;margin-top:0;width:14px} .connect_widget .like_button_dark .like_button_like .tombstone_cross:hover{background-position:0 -247px} .connect_widget .connect_button_container .like_button_like .liketext, .connect_widget .connect_widget_connect_button .like_button_like .liketext{padding-left:17px} .connect_widget_comment_box div.connect_widget_comment_box_nub{background:none} .connect_widget .like_button_dark .like_button_like .liketext{color:#666} div.connect_widget div.connect_confirmation_cell_like{padding-left:7px} body.plugin{background:transparent;overflow-y:visible} .uiButton,.uiButtonSuppressed:active,.uiButtonSuppressed:focus,.uiButtonSuppressed:hover{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zl/r/6N9FQPpTHCy.png);background-repeat:no-repeat;background-position:0 0;background-color:#eee;border:1px solid #999;border-bottom-color:#888;box-shadow:0 1px 0 rgba(0, 0, 0, .1);cursor:pointer;display:-moz-inline-box;display:inline-block;font-size: 11px;font-weight:bold;line-height:normal !important;padding:2px 6px;text-align:center;text-decoration:none;vertical-align:top;white-space:nowrap} .uiButton + .uiButton{margin-left:4px} .uiButton:hover{text-decoration:none} .uiButton:active,.uiButtonDepressed{background:#ddd;border-bottom-color:#999;box-shadow:0 1px 0 rgba(0, 0, 0, .05)} .uiButton .img{margin-top:2px;vertical-align:top} .uiButtonLarge .img{margin-top:4px} .uiButton .customimg{margin-top:0} .uiButton .uiButtonText,.uiButton input{background:none;border:0;color:#333;cursor:pointer;display:-moz-inline-box;display:inline-block;font-family:'Lucida Grande', Tahoma, Verdana, Arial, sans-serif;font-size: 11px;font-weight:bold;margin:0;outline:none;padding:1px 0 2px;white-space:nowrap} .uiButtonSpecial{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zF/r/p13yZ069LVL.png);background-repeat:no-repeat;background-position:0 0;background-color:#69a74e;border-color:#3b6e22 #3b6e22 #2c5115} .uiButtonSpecial:active{background:#609946;border-bottom-color:#3b6e22} .async_saving .uiButton.uiButtonSpecial,.uiButtonSpecial.uiButtonDisabled,.uiButtonSpecial.uiButtonDisabled:active,.uiButtonSpecial.uiButtonDisabled:focus,.uiButtonSpecial.uiButtonDisabled:hover{background:#b4d3a7;border-color:#9db791} .uiButtonConfirm{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zg/r/wBBYAgOjf8k.png);background-repeat:no-repeat;background-position:0 0;background-color:#5b74a8;border-color:#29447e #29447e #1a356e} .uiButtonConfirm:active{background:#4f6aa3;border-bottom-color:#29447e} .async_saving .uiButton.uiButtonConfirm,.uiButtonConfirm.uiButtonDisabled,.uiButtonConfirm.uiButtonDisabled:active,.uiButtonConfirm.uiButtonDisabled:focus,.uiButtonConfirm.uiButtonDisabled:hover{background:#adbad4;border-color:#94a2bf} .async_saving .uiButton.uiButtonSpecial .uiButtonText,.async_saving .uiButton.uiButtonSpecial input,.async_saving .uiButton.uiButtonConfirm .uiButtonText,.async_saving .uiButton.uiButtonConfirm input,.uiButtonSpecial .uiButtonText,.uiButtonSpecial input,.uiButtonSpecial.uiButtonDisabled .uiButtonText,.uiButtonSpecial.uiButtonDisabled input,.uiButtonConfirm .uiButtonText,.uiButtonConfirm input,.uiButtonConfirm.uiButtonDisabled .uiButtonText,.uiButtonConfirm.uiButtonDisabled input{color:#fff} .async_saving .uiButton,.uiButtonDisabled,.uiButtonDisabled:active,.uiButtonDisabled:focus,.uiButtonDisabled:hover{background:#f2f2f2;border-color:#c8c8c8;box-shadow:none} .async_saving .uiButton .img,.uiButtonDisabled .img{opacity:.5} .async_saving .uiButton .uiButtonText,.async_saving .uiButton input,.uiButtonDisabled .uiButtonText,.uiButtonDisabled input{color:#b8b8b8} .async_saving .uiButton,.async_saving .uiButton .uiButtonText,.async_saving .uiButton input,.uiButtonDepressed,.uiButtonDepressed .uiButtonText,.uiButtonDepressed input,.uiButtonDisabled,.uiButtonDisabled .uiButtonText,.uiButtonDisabled input{cursor:default} .uiButtonLarge,.uiButtonLarge .uiButtonText,.uiButtonLarge input{font-size: 13px} .uiButtonSuppressed{background:none;border-color:transparent;box-shadow:none} .uiButtonNoText .img{margin-left:-1px;margin-right:-1px} .android .uiButton .uiButtonText,.android .uiButton input{padding:3px 0 1px 1px} .uiCloseButton{cursor:pointer;display:-moz-inline-box;display:inline-block;margin:0;padding:0;zoom:1} label.uiCloseButton{overflow:hidden} .uiCloseButton input{cursor:pointer;opacity:0;outline:none;padding:18px} .uiCloseButton{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/z5/r/Yz_2RL5XOEG.png);height:15px;width:15px} .uiCloseButtonSmall{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/za/r/1Be-brvKO2y.png);height:11px;margin-top:1px;width:11px} .uiCloseButtonDark{background-position:left -15px} .uiCloseButtonInverted{background-position:left -15px;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zp/r/vQK-sxr3HG0.png)} .uiCloseButton:hover,.uiCloseButton:focus{background-position:left -30px} .uiCloseButton:active{background-position:left -45px} .uiCloseButtonSmallDark{background-position:left -11px} .uiCloseButtonSmallInverted{background-position:left -11px;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zn/r/WSQ2wnhSG-F.png)} .uiCloseButtonSmall:hover,.uiCloseButtonSmall:focus{background-position:left -22px} .uiCloseButtonSmall:active{background-position:left -33px} .uiGrid{border:0;border-collapse:collapse;border-spacing:0} .uiGridCalc{width:100%} .uiGrid .vTop{vertical-align:top} .uiGrid .vMid{vertical-align:middle} .uiGrid .vBot{vertical-align:bottom} .uiGrid .hLeft{text-align:left} .uiGrid .hCent{text-align:center} .uiGrid .hRght{text-align:right} .pas{padding:5px} .pam{padding:10px} .pal{padding:20px} .pts{padding-top:5px} .ptm{padding-top:10px} .ptl{padding-top:20px} .prs{padding-right:5px} .prm{padding-right:10px} .prl{padding-right:20px} .pbs{padding-bottom:5px} .pbm{padding-bottom:10px} .pbl{padding-bottom:20px} .pls{padding-left:5px} .plm{padding-left:10px} .pll{padding-left:20px} .phs{padding-left:5px;padding-right:5px} .phm{padding-left:10px;padding-right:10px} .phl{padding-left:20px;padding-right:20px} .pvs{padding-top:5px;padding-bottom:5px} .pvm{padding-top:10px;padding-bottom:10px} .pvl{padding-top:20px;padding-bottom:20px} .mas{margin:5px} .mam{margin:10px} .mal{margin:20px} .mts{margin-top:5px} .mtm{margin-top:10px} .mtl{margin-top:20px} .mrs{margin-right:5px} .mrm{margin-right:10px} .mrl{margin-right:20px} .mbs{margin-bottom:5px} .mbm{margin-bottom:10px} .mbl{margin-bottom:20px} .mls{margin-left:5px} .mlm{margin-left:10px} .mll{margin-left:20px} .mhs{margin-left:5px;margin-right:5px} .mhm{margin-left:10px;margin-right:10px} .mhl{margin-left:20px;margin-right:20px} .mvs{margin-top:5px;margin-bottom:5px} .mvm{margin-top:10px;margin-bottom:10px} .mvl{margin-top:20px;margin-bottom:20px} .fss{font-size: 9px} .fsm{font-size: 11px} .fsl{font-size: 13px} .fsxl{font-size: 16px} .fsxxl{font-size: 18px} .fwn{font-weight:normal} .fwb{font-weight:bold} .fcb{color:#333} .fcg{color:#808080} .uiTooltip{position:relative} .uiTooltipActive,.uiTooltip:active,.uiTooltip:focus,.uiTooltip:hover{outline:none;text-decoration:none;z-index:2} .uiTooltipWrap{display:none} .uiTooltipWrap:hover{visibility:hidden} .uiTooltipActive .uiTooltipWrap:hover{visibility:visible} .uiTooltipText{background-color:#282828;color:#fff !important;display:block;font-size: 11px;line-height:14px;padding:4px 8px;text-align:left} .uiTooltipNoWrap{white-space:nowrap} .uiTooltipActive .uiTooltipWrap,.uiTooltip:active .uiTooltipWrap,.uiTooltip:focus .uiTooltipWrap,.uiTooltip:hover .uiTooltipWrap{background:url(http://static.ak.fbcdn.net/rsrc.php/v1/z1/r/uVR6w3wRHEJ.gif) left bottom no-repeat;bottom:100%;display:block;left:0;padding:0 0 4px;position:absolute} .uiTooltipActive .center,.uiTooltip:active .center,.uiTooltip:focus .center,.uiTooltip:hover .center{left:50%;margin-left:-10px;padding-left:10px} .uiTooltip .center .uiTooltipText{left:-50%;position:relative} .uiTooltip .centerbottom .uiTooltipText{margin-left:18px} .uiTooltipActive .right,.uiTooltip:active .right,.uiTooltip:focus .right,.uiTooltip:hover .right{background-position:right bottom;left:auto;right:0} .uiTooltipActive .middle,.uiTooltip:active .middle,.uiTooltip:focus .middle,.uiTooltip:hover .middle{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zR/r/kPCE0g_tKJs.gif);background-position:right top;left:auto;margin:-4px 4px 0 0;right:100%;padding:4px;top:50%} .uiTooltip .middle .uiTooltipText{margin-top:-10px} .uiTooltipActive .rightmiddle,.uiTooltip:active .rightmiddle,.uiTooltip:focus .rightmiddle,.uiTooltip:hover .rightmiddle{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zY/r/_ZWZupdaAgS.gif);background-position:left top;left:100%;margin:-4px 0 0 4px;right:auto} .uiTooltipActive .bottom,.uiTooltip:active .bottom,.uiTooltip:focus .bottom,.uiTooltip:hover .bottom{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v1/zX/r/k2R_CZuPy2I.png);background-position:left top;bottom:auto;padding:4px 0 0;top:100%} .uiTooltipActive .rightbottom,.uiTooltip:active .rightbottom,.uiTooltip:focus .rightbottom,.uiTooltip:hover .rightbottom{background-position:right top} .uiTooltipDisabled:active .uiTooltipWrap,.uiTooltipDisabled:focus .uiTooltipWrap,.uiTooltipDisabled:hover .uiTooltipWrap,.openToggler > .uiTooltip:active .uiTooltipWrap,.openToggler > .uiTooltip:focus .uiTooltipWrap,.openToggler > .uiTooltip:hover .uiTooltipWrap{display:none} .uiProfilePhotoHuge{background-position:center 25%;width:100px;height:100px} .uiProfilePhotoLarge{width:50px;height:50px} .uiProfilePhotoMedium{width:32px;height:32px} .uiProfilePhotoSmall{width:24px;height:24px} #bootloader_2HXxQ { height: 42px; } ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=ZJFvhBcInvq.js Content-Type: application/x-javascript; charset=utf-8; name=ZJFvhBcInvq.js Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/yf/r/ZJFvhBcInvq.js Content-Transfer-Encoding: Base64 LyoxMzA3OTMxODM3LDE3NjgyMDQwNiovCgppZiAod2luZG93LkNhdmFscnlMb2dn ZXIpIHsgQ2F2YWxyeUxvZ2dlci5zdGFydF9qcyhbIkFjWjlBIl0pOyB9CgppZigh d2luZG93LnNraXBEb21haW5Mb3dlciYmbmF2aWdhdG9yJiZuYXZpZ2F0b3IudXNl ckFnZW50JiZkb2N1bWVudC5kb21haW4udG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58 XC4pZmFjZWJvb2tcLi4qLykmJiEocGFyc2VJbnQoKC9HZWNrb1wvKFswLTldKykv LmV4ZWMobmF2aWdhdG9yLnVzZXJBZ2VudCl8fFtdKS5wb3AoKSwxMCk8PTIwMDYw NTA4KSlkb2N1bWVudC5kb21haW49d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnJl cGxhY2UoL14uKihmYWNlYm9va1wuLiopJC9pLCckMScpO3dpbmRvdy5vbmxvYWRo b29rcz13aW5kb3cub25sb2FkaG9va3N8fFtdO3dpbmRvdy5vbmxvYWRSZWdpc3Rl cj13aW5kb3cub25sb2FkUmVnaXN0ZXJ8fGZ1bmN0aW9uKGEpe29ubG9hZGhvb2tz LnB1c2goYSk7fTt3aW5kb3cub25hZnRlcmxvYWRob29rcz13aW5kb3cub25hZnRl cmxvYWRob29rc3x8W107d2luZG93Lm9uYWZ0ZXJsb2FkUmVnaXN0ZXI9d2luZG93 Lm9uYWZ0ZXJsb2FkUmVnaXN0ZXJ8fGZ1bmN0aW9uKGEpe29uYWZ0ZXJsb2FkaG9v a3MucHVzaChhKTt9O2Z1bmN0aW9uIHJ1bl9pZl9sb2FkZWQoYSxiKXtyZXR1cm4g d2luZG93LmxvYWRlZCYmYi5jYWxsKGEpO31mdW5jdGlvbiBydW5fd2l0aChiLGEs Yyl7Qm9vdGxvYWRlci5sb2FkQ29tcG9uZW50cyhhLGJpbmQoYixjKSk7cmV0dXJu IGZhbHNlO31mdW5jdGlvbiB3YWl0X2Zvcl9sb2FkKGMsYixlKXtlPWJpbmQoYyxl LGIpO2lmKHdpbmRvdy5sb2FkZWQpcmV0dXJuIGUoKTtzd2l0Y2goKGJ8fGV2ZW50 KS50eXBlKXtjYXNlICdsb2FkJzpjYXNlICdmb2N1cyc6b25hZnRlcmxvYWRSZWdp c3RlcihlKTtyZXR1cm47Y2FzZSAnY2xpY2snOnZhciBkPWMuc3R5bGUsYT1kb2N1 bWVudC5ib2R5LnN0eWxlO2QuY3Vyc29yPWEuY3Vyc29yPSdwcm9ncmVzcyc7b25h ZnRlcmxvYWRSZWdpc3RlcihmdW5jdGlvbigpe2QuY3Vyc29yPWEuY3Vyc29yPScn O2lmKGMudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT0nYScpe2lmKGZhbHNlIT09ZSgp JiZjLmhyZWYpd2luZG93LmxvY2F0aW9uLmhyZWY9Yy5ocmVmO31lbHNlIGlmKGMu Y2xpY2spYy5jbGljaygpO30pO2JyZWFrO31yZXR1cm4gZmFsc2U7fWZ1bmN0aW9u IGJpbmQoYyxiKXt2YXIgYT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1 bWVudHMsMik7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9Y3x8KHRoaXM9PXdpbmRv dz9mYWxzZTp0aGlzKSxkPWEuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5j YWxsKGFyZ3VtZW50cykpO2lmKHR5cGVvZihiKT09InN0cmluZyIpe2lmKGVbYl0p cmV0dXJuIGVbYl0uYXBwbHkoZSxkKTt9ZWxzZSByZXR1cm4gYi5hcHBseShlLGQp O307fXZhciBjdXJyeT1iaW5kKG51bGwsYmluZCxudWxsKTtmdW5jdGlvbiBlbnZf Z2V0KGEpe3JldHVybiB3aW5kb3cuRW52JiZFbnZbYV07fXdpbmRvdy5fX0RFVl9f PXdpbmRvdy5fX0RFVl9ffHwwO3dpbmRvdy5fX3JtPXt9O2RvY3VtZW50LmRvY3Vt ZW50RWxlbWVudC5jbGFzc05hbWU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNs YXNzTmFtZS5yZXBsYWNlKCdub19qcycsJycpOwpmdW5jdGlvbiBoYXNBcnJheU5h dHVyZShhKXtyZXR1cm4gKCEhYSYmKHR5cGVvZiBhPT0nb2JqZWN0J3x8dHlwZW9m IGE9PSdmdW5jdGlvbicpJiYoJ2xlbmd0aCcgaW4gYSkmJiEoJ3NldEludGVydmFs JyBpbiBhKSYmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09PSJb b2JqZWN0IEFycmF5XSJ8fCgnY2FsbGVlJyBpbiBhKXx8KCdpdGVtJyBpbiBhKSkp O31mdW5jdGlvbiAkQShiKXtpZighaGFzQXJyYXlOYXR1cmUoYikpcmV0dXJuIFti XTtpZihiLml0ZW0pe3ZhciBhPWIubGVuZ3RoLGM9bmV3IEFycmF5KGEpO3doaWxl KGEtLSljW2FdPWJbYV07cmV0dXJuIGM7fXJldHVybiBBcnJheS5wcm90b3R5cGUu c2xpY2UuY2FsbChiKTt9CmZ1bmN0aW9uIGV2YWxfZ2xvYmFsKGMpe2lmKCdzdHJp bmcnIT10eXBlb2YoYykpe3Rocm93IG5ldyBFcnJvcignSlMgc2VudCB0byBldmFs X2dsb2JhbCBpcyBub3QgYSBzdHJpbmcuICBPbmx5IHN0cmluZ3MgJysnYXJlIHBl cm1pdHRlZC4nKTt9ZWxzZSBpZignJz09YylyZXR1cm47dmFyIGQ9ZG9jdW1lbnQu Y3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7ZC50eXBlPSd0ZXh0L2phdmFzY3JpcHQn O3RyeXtkLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGMpKTt9 Y2F0Y2goYSl7ZC50ZXh0PWM7fXZhciBiPShkb2N1bWVudC5nZXRFbGVtZW50c0J5 VGFnTmFtZSgiaGVhZCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpO2Iu YXBwZW5kQ2hpbGQoZCk7Yi5yZW1vdmVDaGlsZChkKTt9CmZ1bmN0aW9uIGNvcHlf cHJvcGVydGllcyhiLGMpe2I9Ynx8e307Yz1jfHx7fTtmb3IodmFyIGEgaW4gYyli W2FdPWNbYV07aWYoYy5oYXNPd25Qcm9wZXJ0eSYmYy5oYXNPd25Qcm9wZXJ0eSgn dG9TdHJpbmcnKSYmKHR5cGVvZiBjLnRvU3RyaW5nIT0ndW5kZWZpbmVkJykmJihi LnRvU3RyaW5nIT09Yy50b1N0cmluZykpYi50b1N0cmluZz1jLnRvU3RyaW5nO3Jl dHVybiBiO31mdW5jdGlvbiBhZGRfcHJvcGVydGllcyhhLGIpe3JldHVybiBjb3B5 X3Byb3BlcnRpZXMod2luZG93W2FdfHwod2luZG93W2FdPXt9KSxiKTt9ZnVuY3Rp b24gaXNfZW1wdHkoYil7aWYoYiBpbnN0YW5jZW9mIEFycmF5KXtyZXR1cm4gYi5s ZW5ndGg9PTA7fWVsc2UgaWYoYiBpbnN0YW5jZW9mIE9iamVjdCl7Zm9yKHZhciBh IGluIGIpcmV0dXJuIGZhbHNlO3JldHVybiB0cnVlO31lbHNlIHJldHVybiAhYjt9 CmlmKCF3aW5kb3cuYXN5bmNfY2FsbGJhY2spd2luZG93LmFzeW5jX2NhbGxiYWNr PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE7fTtmdW5jdGlvbiBBcmJpdGVyKCl7Y29w eV9wcm9wZXJ0aWVzKHRoaXMse19saXN0ZW5lcnM6W10sX2V2ZW50czp7fSxfY2Fs bGJhY2tzOnt9LF9sYXN0X2lkOjEsX2xpc3Rlbjp7fSxfaW5kZXg6e319KTtjb3B5 X3Byb3BlcnRpZXModGhpcyxBcmJpdGVyKTt9Y29weV9wcm9wZXJ0aWVzKEFyYml0 ZXIse1NVQlNDUklCRV9ORVc6J25ldycsU1VCU0NSSUJFX0FMTDonYWxsJyxCRUhB VklPUl9FVkVOVDonZXZlbnQnLEJFSEFWSU9SX1BFUlNJU1RFTlQ6J3BlcnNpc3Rl bnQnLEJFSEFWSU9SX1NUQVRFOidzdGF0ZScsTElWRU1FU1NBR0U6J2xpdmVtZXNz YWdlJyxCT09UTE9BRDonYm9vdGxvYWQnLEZVTkNUSU9OX0VYVEVOU0lPTjonZnVu Y3Rpb25fZXh0JyxDT05URVhUX0NIQU5HRTondWkvY29udGV4dC1jaGFuZ2UnLFBB R0VDQUNIRV9JTlZBTElEQVRFOidwYWdlY2FjaGUvaW52YWxpZGF0ZScsTkVXX05P VElGSUNBVElPTlM6J2NoYXQvbmV3X25vdGlmaWNhdGlvbnMnLExJU1RfRURJVE9S X0xJU1RTX0NIQU5HRUQ6J2xpc3RlZGl0b3IvZnJpZW5kX2xpc3RzX2NoYW5nZWQn LHN1YnNjcmliZTpmdW5jdGlvbihrLGIsaSl7aWYoIWt8fGsubGVuZ3RoPT0wKXJl dHVybiBudWxsO2s9JEEoayk7dmFyIGE9QXJiaXRlci5fZ2V0SW5zdGFuY2UodGhp cyk7YS5fbGlzdGVuZXJzLnB1c2goe2NhbGxiYWNrOmIsdHlwZXM6a30pO3ZhciBo PWEuX2xpc3RlbmVycy5sZW5ndGgtMTtmb3IodmFyIGQ9MDtkPGsubGVuZ3RoO2Qr KylpZihhLl9pbmRleFtrW2RdXSl7YS5faW5kZXhba1tkXV0ucHVzaChoKTt9ZWxz ZSBhLl9pbmRleFtrW2RdXT1baF07aT1pfHxBcmJpdGVyLlNVQlNDUklCRV9BTEw7 aWYoaT09QXJiaXRlci5TVUJTQ1JJQkVfQUxMKXt2YXIgYyxqLGc7Zm9yKHZhciBl PTA7ZTxrLmxlbmd0aDtlKyspe2o9a1tlXTtpZihqIGluIGEuX2V2ZW50cylmb3Io dmFyIGY9MDtmPGEuX2V2ZW50c1tqXS5sZW5ndGg7ZisrKXtjPWEuX2V2ZW50c1tq XVtmXTtnPWIuYXBwbHkobnVsbCxbaixjXSk7aWYoZz09PWZhbHNlKXthLl9ldmVu dHNbal0uc3BsaWNlKGYsMSk7Zi0tO319fX1yZXR1cm4ge3N1YnNjcmliZXJJRDpo fTt9LHVuc3Vic2NyaWJlOmZ1bmN0aW9uKGUpe3ZhciBhPUFyYml0ZXIuX2dldElu c3RhbmNlKHRoaXMpO3ZhciBjPWEuX2xpc3RlbmVyc1tlLnN1YnNjcmliZXJJRF07 Zm9yKHZhciBkPTA7ZDxjLnR5cGVzLmxlbmd0aDtkKyspe3ZhciBmPWMudHlwZXNb ZF07aWYoYS5faW5kZXhbZl0pZm9yKHZhciBiPTA7YjxhLl9pbmRleFtmXS5sZW5n dGg7YisrKWlmKGEuX2luZGV4W2ZdW2JdPT1lLnN1YnNjcmliZXJJRCl7YS5faW5k ZXhbZl0uc3BsaWNlKGIsMSk7aWYoYS5faW5kZXhbZl0ubGVuZ3RoPT0wKWRlbGV0 ZSBhLl9pbmRleFtmXTticmVhazt9fWRlbGV0ZSBhLl9saXN0ZW5lcnNbZS5zdWJz Y3JpYmVySURdO30saW5mb3JtOmZ1bmN0aW9uKGksYyxiKXt2YXIgbD1oYXNBcnJh eU5hdHVyZShpKTt2YXIgaz0kQShpKTt2YXIgYT1BcmJpdGVyLl9nZXRJbnN0YW5j ZSh0aGlzKTt2YXIgaD17fTtiPWJ8fEFyYml0ZXIuQkVIQVZJT1JfRVZFTlQ7Zm9y KHZhciBlPTA7ZTxrLmxlbmd0aDtlKyspe3ZhciBpPWtbZV0sZD1udWxsO2lmKGI9 PUFyYml0ZXIuQkVIQVZJT1JfUEVSU0lTVEVOVCl7ZD1hLl9ldmVudHMubGVuZ3Ro O2lmKCEoaSBpbiBhLl9ldmVudHMpKWEuX2V2ZW50c1tpXT1bXTthLl9ldmVudHNb aV0ucHVzaChjKTthLl9ldmVudHNbaV0uX3N0YXRlZnVsPWZhbHNlO31lbHNlIGlm KGI9PUFyYml0ZXIuQkVIQVZJT1JfU1RBVEUpe2Q9MDthLl9ldmVudHNbaV09W2Nd O2EuX2V2ZW50c1tpXS5fc3RhdGVmdWw9dHJ1ZTt9ZWxzZSBpZihpIGluIGEuX2V2 ZW50cylhLl9ldmVudHNbaV0uX3N0YXRlZnVsPWZhbHNlO3dpbmRvdy5BcmJpdGVy TW9uaXRvciYmQXJiaXRlck1vbml0b3IubG9nKCdldmVudCcsaSxjLGEpO3ZhciBn O2lmKGEuX2luZGV4W2ldKXt2YXIgaj0kQShhLl9pbmRleFtpXSk7Zm9yKHZhciBm PTA7ZjxqLmxlbmd0aDtmKyspe2c9YS5fbGlzdGVuZXJzW2pbZl1dLmNhbGxiYWNr LmFwcGx5KG51bGwsW2ksY10pO2lmKGc9PT1mYWxzZSl7aWYoZCE9PW51bGwpYS5f ZXZlbnRzW2ldLnNwbGljZShkLDEpO2JyZWFrO319fWEuX3VwZGF0ZUNhbGxiYWNr cyhpLGMpO3dpbmRvdy5BcmJpdGVyTW9uaXRvciYmQXJiaXRlck1vbml0b3IubG9n KCdkb25lJyxpLGMsYSk7aFtpXT1nO31yZXR1cm4gbD9oOmhba1swXV07fSxxdWVy eTpmdW5jdGlvbihiKXt2YXIgYT1BcmJpdGVyLl9nZXRJbnN0YW5jZSh0aGlzKTtp ZighKGIgaW4gYS5fZXZlbnRzKSlyZXR1cm4gbnVsbDtpZihhLl9ldmVudHNbYl0u bGVuZ3RoKXJldHVybiBhLl9ldmVudHNbYl1bMF07cmV0dXJuIG51bGw7fSxfaW5z dGFuY2U6bnVsbCxfZ2V0SW5zdGFuY2U6ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5j ZW9mIEFyYml0ZXIpcmV0dXJuIGE7aWYoIUFyYml0ZXIuX2luc3RhbmNlKUFyYml0 ZXIuX2luc3RhbmNlPW5ldyBBcmJpdGVyKCk7cmV0dXJuIEFyYml0ZXIuX2luc3Rh bmNlO30scmVnaXN0ZXJDYWxsYmFjazpmdW5jdGlvbihiLGQpe3ZhciBoLGM9MCxh PUFyYml0ZXIuX2dldEluc3RhbmNlKHRoaXMpLGc9ZmFsc2U7aWYodHlwZW9mIGI9 PSdmdW5jdGlvbicpe2g9YS5fbGFzdF9pZDthLl9sYXN0X2lkKys7Zz10cnVlO31l bHNle2lmKCFhLl9jYWxsYmFja3NbYl0pcmV0dXJuIG51bGw7aD1iO31pZihoYXNB cnJheU5hdHVyZShkKSl7dmFyIGk9e307Zm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtm KyspaVtkW2ZdXT0xO2Q9aTt9Zm9yKHZhciBqIGluIGQpe3RyeXtpZihhLnF1ZXJ5 KGopKWNvbnRpbnVlO31jYXRjaChlKXt9Yys9ZFtqXTtpZihhLl9saXN0ZW5bal09 PT11bmRlZmluZWQpYS5fbGlzdGVuW2pdPXt9O2EuX2xpc3RlbltqXVtoXT0oYS5f bGlzdGVuW2pdW2hdfHwwKStkW2pdO31pZihjPT0wJiZnKXtiKCk7cmV0dXJuIG51 bGw7fWlmKCFnKXthLl9jYWxsYmFja3NbaF0uZGVwbnVtKz1jO31lbHNlIGEuX2Nh bGxiYWNrc1toXT17Y2FsbGJhY2s6YXN5bmNfY2FsbGJhY2soYiwnYXJiaXRlcicp LGRlcG51bTpjfTtyZXR1cm4gaDt9LF91cGRhdGVDYWxsYmFja3M6ZnVuY3Rpb24o ZCxjKXtpZihjPT09bnVsbHx8IXRoaXMuX2xpc3RlbltkXSlyZXR1cm47Zm9yKHZh ciBiIGluIHRoaXMuX2xpc3RlbltkXSl7dGhpcy5fbGlzdGVuW2RdW2JdLS07aWYo dGhpcy5fbGlzdGVuW2RdW2JdPD0wKWRlbGV0ZSB0aGlzLl9saXN0ZW5bZF1bYl07 dGhpcy5fY2FsbGJhY2tzW2JdLmRlcG51bS0tO2lmKHRoaXMuX2NhbGxiYWNrc1ti XS5kZXBudW08PTApe3ZhciBhPXRoaXMuX2NhbGxiYWNrc1tiXS5jYWxsYmFjaztk ZWxldGUgdGhpcy5fY2FsbGJhY2tzW2JdO2EoKTt9fX19KTsKRnVuY3Rpb24ucHJv dG90eXBlLmRlZmVyVW50aWw9ZnVuY3Rpb24oYSxoLGIsaSl7dmFyIGY9YSgpO2lm KGYpe3RoaXMoZik7cmV0dXJuO312YXIgZT10aGlzLGQ9bnVsbCxnPSgrbmV3IERh dGUoKSk7dmFyIGM9ZnVuY3Rpb24oKXtmPWEoKTtpZighZilpZihoJiYobmV3IERh dGUoKS1nKT49aCl7aSYmaSgpO31lbHNlIHJldHVybjtkJiZjbGVhckludGVydmFs KGQpO2UoZik7fTtkPXNldEludGVydmFsKGMsMjAsYik7cmV0dXJuIGQ7fTt2YXIg Qm9vdGxvYWRlcj13aW5kb3cuQm9vdGxvYWRlcj0od2luZG93LkJvb3Rsb2FkZXIm JndpbmRvdy5Cb290bG9hZGVyLnJlYWxCb290bG9hZGVyKT93aW5kb3cuQm9vdGxv YWRlcjooZnVuY3Rpb24oYSl7cmV0dXJuIHtyZWFsQm9vdGxvYWRlcjp0cnVlLGNv bmZpZ3VyZVBhZ2U6ZnVuY3Rpb24oYil7dmFyIGg9e307dmFyIGc9dGhpcy5yZXNv bHZlUmVzb3VyY2VzKGIpO2Zvcih2YXIgYz0wO2M8Zy5sZW5ndGg7YysrKXtoW2db Y10uc3JjXT1nW2NdO3RoaXMucmVxdWVzdGVkKGdbY10ubmFtZSk7dGhpcy5fc3Rh cnRDU1NQb2xsKGdbY10ubmFtZSk7fXZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRz QnlUYWdOYW1lKCdsaW5rJyk7Zm9yKHZhciBjPTA7YzxlLmxlbmd0aDsrK2Mpe2lm KGVbY10ucmVsIT0nc3R5bGVzaGVldCcpY29udGludWU7Zm9yKHZhciBkIGluIGgp aWYoZVtjXS5ocmVmLmluZGV4T2YoZCkhPT0tMSl7dmFyIGY9aFtkXS5uYW1lO3Ro aXMuX2Nzc0xpbmtNYXBbZl09e2xpbms6ZVtjXX07aWYoaFtkXS5wZXJtYW5lbnQp dGhpcy5fcGVybWFuZW50W2ZdPXRydWU7ZGVsZXRlIGhbZF07YnJlYWs7fX19LGxv YWRDb21wb25lbnRzOmZ1bmN0aW9uKGQsYil7ZD0kQShkKTt2YXIgZz1bXTtmb3Io dmFyIGU9MDtlPGQubGVuZ3RoOysrZSl7aWYoIWRbZV0pY29udGludWU7dmFyIGM9 dGhpcy5fY29tcG9uZW50TWFwW2RbZV1dO2lmKCEhYylmb3IodmFyIGY9MDtmPGMu bGVuZ3RoOysrZilnLnB1c2goY1tmXSk7fXJldHVybiB0aGlzLmxvYWRSZXNvdXJj ZXMoZyxiKTt9LGxvYWRSZXNvdXJjZXM6ZnVuY3Rpb24oaCxiLGcsayl7aD1Cb290 bG9hZGVyLnJlc29sdmVSZXNvdXJjZXMoJEEoaCkpO2lmKGcpe3ZhciBlPXt9O2Zv cih2YXIgYz0wO2M8aC5sZW5ndGg7KytjKWVbaFtjXS5uYW1lXT10cnVlO2Zvcih2 YXIgZCBpbiB0aGlzLl9yZXF1ZXN0ZWQpaWYoIShkIGluIHRoaXMuX3Blcm1hbmVu dCkmJiEoZCBpbiBlKSYmIShkIGluIHRoaXMuX2Vhcmx5UmVzb3VyY2VzKSl0aGlz Ll91bmxvYWRSZXNvdXJjZShkKTt0aGlzLl9lYXJseVJlc291cmNlcz17fTt9dmFy IGw9W107dmFyIGY9W107Zm9yKHZhciBjPTA7YzxoLmxlbmd0aDsrK2Mpe3ZhciBp PWhbY107aWYoaS5wZXJtYW5lbnQpdGhpcy5fcGVybWFuZW50W2kubmFtZV09dHJ1 ZTt2YXIgaj1BcmJpdGVyLkJPT1RMT0FEKycvJytpLm5hbWU7aWYoQXJiaXRlci5x dWVyeShqKSE9PW51bGwpY29udGludWU7aWYoIWkubm9uYmxvY2tpbmcpZi5wdXNo KGopO2lmKCF0aGlzLl9yZXF1ZXN0ZWRbaS5uYW1lXSl7dGhpcy5yZXF1ZXN0ZWQo aS5uYW1lKTtsLnB1c2goaSk7d2luZG93LkNhdmFscnlMb2dnZXImJkNhdmFscnlM b2dnZXIuZ2V0SW5zdGFuY2UoKS5tZWFzdXJlUmVzb3VyY2VzKGksayk7fX1pZihi KWI9QXJiaXRlci5yZWdpc3RlckNhbGxiYWNrKGIsZik7Zm9yKHZhciBjPTA7Yzxs Lmxlbmd0aDsrK2MpdGhpcy5yZXF1ZXN0UmVzb3VyY2UobFtjXS50eXBlLGxbY10u c3JjLGxbY10ubmFtZSk7cmV0dXJuIGI7fSxyZXF1ZXN0UmVzb3VyY2U6ZnVuY3Rp b24oayxoLGYpe3ZhciBjPXRoaXMuZ2V0SGFyZHBvaW50KCk7aWYoaz09J2pzJyl7 dmFyIGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7Zy5zcmM9aDtn LnR5cGU9J3RleHQvamF2YXNjcmlwdCc7Zy5hc3luYz10cnVlO3ZhciBiPWZ1bmN0 aW9uKCl7Qm9vdGxvYWRlci5kb25lKFtmXSk7fTtnLm9ubG9hZD1nLm9uZXJyb3I9 YjtnLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKHRoaXMucmVhZHlT dGF0ZSBpbiB7bG9hZGVkOjEsY29tcGxldGU6MX0pYigpO307Yy5hcHBlbmRDaGls ZChnKTt9ZWxzZSBpZihrPT0nY3NzJyl7aWYoZG9jdW1lbnQuY3JlYXRlU3R5bGVT aGVldCl7dmFyIGk9dGhpcy5fc3R5bGVUYWdzLGo9LTE7Zm9yKHZhciBkPTA7ZDxp Lmxlbmd0aDtkKyspaWYoaVtkXS5pbXBvcnRzLmxlbmd0aDwyNSl7aj1kO2JyZWFr O31pZihqPT0tMSl7aS5wdXNoKGRvY3VtZW50LmNyZWF0ZVN0eWxlU2hlZXQoKSk7 aj1pLmxlbmd0aC0xO31pW2pdLmFkZEltcG9ydChoKTt0aGlzLl9jc3NMaW5rTWFw W2ZdPXt0YWdJZHg6aixocmVmOmh9O31lbHNle3ZhciBlPWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoJ2xpbmsnKTtlLnJlbD0ic3R5bGVzaGVldCI7ZS50eXBlPSJ0ZXh0 L2NzcyI7ZS5tZWRpYT0iYWxsIjtlLmhyZWY9aDt0aGlzLl9jc3NMaW5rTWFwW2Zd PXtsaW5rOmV9O2MuYXBwZW5kQ2hpbGQoZSk7fXRoaXMuX3N0YXJ0Q1NTUG9sbChm KTt9fSxfYWN0aXZlQ1NTUG9sbHM6e30sX2V4cGlyZVRpbWU6bnVsbCxfcnVuQ1NT UG9sbHM6ZnVuY3Rpb24oKXt2YXIgZz0oK25ldyBEYXRlKCkpO2lmKGc+PXRoaXMu X2V4cGlyZVRpbWUpe2lmKHdpbmRvdy5zZW5kX2Vycm9yX3NpZ25hbClpZihNYXRo LnJhbmRvbSgpPC4wMSlzZW5kX2Vycm9yX3NpZ25hbCgnanNfdGltZW91dF9hbmRf ZXhjZXB0aW9uJywnMDAwMDE6ZXJyb3I6Q1NTIHRpbWVvdXQuJyk7dmFyIGQ9W107 Zm9yKHZhciBmIGluIHRoaXMuX2FjdGl2ZUNTU1BvbGxzKWQucHVzaChmKTtCb290 bG9hZGVyLmRvbmUoZCx0cnVlKTt0aGlzLl9hY3RpdmVDU1NQb2xscz17fTt9ZWxz ZXt2YXIgZT1Cb290bG9hZGVyLl9DU1NfRVhQRUNURURfSEVJR0hUO3ZhciBiO3Zh ciBkPVtdO2Zvcih2YXIgZiBpbiB0aGlzLl9hY3RpdmVDU1NQb2xscyl7dmFyIGM9 dGhpcy5fYWN0aXZlQ1NTUG9sbHNbZl07dmFyIGg9Yy5vZmZzZXRIZWlnaHQ9PWV8 fGMuY3VycmVudFN0eWxlJiZjLmN1cnJlbnRTdHlsZS5oZWlnaHQ9PWUrJ3B4J3x8 d2luZG93LmdldENvbXB1dGVkU3R5bGUmJihiPWRvY3VtZW50LmRlZmF1bHRWaWV3 LmdldENvbXB1dGVkU3R5bGUoYyxudWxsKSkmJmIuZ2V0UHJvcGVydHlWYWx1ZSgn aGVpZ2h0Jyk9PWUrJ3B4JztpZihoKXtkLnB1c2goZik7Yy5wYXJlbnROb2RlLnJl bW92ZUNoaWxkKGMpO2RlbGV0ZSB0aGlzLl9hY3RpdmVDU1NQb2xsc1tmXTt9fWlm KCFpc19lbXB0eShkKSl7Qm9vdGxvYWRlci5kb25lKGQsdHJ1ZSk7dGhpcy5fZXhw aXJlVGltZT1nK0Jvb3Rsb2FkZXIuX0NTU19QT0xMX0VYUElSQVRJT047fX1yZXR1 cm4gaXNfZW1wdHkodGhpcy5fYWN0aXZlQ1NTUG9sbHMpO30sX3N0YXJ0Q1NTUG9s bDpmdW5jdGlvbihkKXt2YXIgYz0nYm9vdGxvYWRlcl8nK2QucmVwbGFjZSgvW15h LXowLTldL2lnLCdfJyk7dmFyIGI9YmFnb2Zob2xkaW5nO2JpbmQodGhpcyxmdW5j dGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2UuaWQ9 Yztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpO3RoaXMuX2V4cGlyZVRpbWU9 KCtuZXcgRGF0ZSgpKStCb290bG9hZGVyLl9DU1NfUE9MTF9FWFBJUkFUSU9OO3Zh ciBnPWlzX2VtcHR5KHRoaXMuX2FjdGl2ZUNTU1BvbGxzKTt0aGlzLl9hY3RpdmVD U1NQb2xsc1tkXT1lO2lmKGcpdmFyIGY9c2V0SW50ZXJ2YWwoYmluZCh0aGlzLGZ1 bmN0aW9uKCl7aWYodGhpcy5fcnVuQ1NTUG9sbHMoKSlmJiZjbGVhckludGVydmFs KGYpO30pLDIwLGZhbHNlKTt9KS5kZWZlclVudGlsKGZ1bmN0aW9uKCl7cmV0dXJu IGRvY3VtZW50LmJvZHk7fSw1MDAwLGZhbHNlLGIuY3VycnkoIlN0aWxsIG5vIERP TSIpKTt9LGRvbmU6ZnVuY3Rpb24oZixjKXt2YXIgZz0oYSYmYS5fcHJlbG9hZGVk KXx8W107KGF8fHt9KS5fcHJlbG9hZGVkPVtdO2Y9Zi5jb25jYXQoZyk7dGhpcy5y ZXF1ZXN0ZWQoZik7aWYoIWMpe3ZhciBlPXtzZW5kZXI6dGhpc307QXJiaXRlci5p bmZvcm0oQXJiaXRlci5CT09UTE9BRCxlLEFyYml0ZXIuQkVIQVZJT1JfRVZFTlQp O31mb3IodmFyIGI9MDtiPGYubGVuZ3RoOysrYil7dmFyIGQ9ZltiXTtBcmJpdGVy LmluZm9ybShBcmJpdGVyLkJPT1RMT0FEKycvJytkLHRydWUsQXJiaXRlci5CRUhB VklPUl9TVEFURSk7fX0scmVxdWVzdGVkOmZ1bmN0aW9uKGMpe2M9JEEoYyk7Zm9y KHZhciBiPTA7YjxjLmxlbmd0aDsrK2IpdGhpcy5fcmVxdWVzdGVkW2NbYl1dPXRy dWU7fSxlbmFibGVCb290bG9hZDpmdW5jdGlvbihiKXtmb3IodmFyIGMgaW4gYilp ZighdGhpcy5fY29tcG9uZW50TWFwW2NdKXRoaXMuX2NvbXBvbmVudE1hcFtjXT1i W2NdO30sX3VubG9hZFJlc291cmNlOmZ1bmN0aW9uKGUpe2lmKGUgaW4gdGhpcy5f Y3NzTGlua01hcCl7dmFyIGM9dGhpcy5fY3NzTGlua01hcFtlXSxkPWMubGluaztp ZihkKXtkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCk7fWVsc2V7dmFyIGY9dGhp cy5fc3R5bGVUYWdzW2MudGFnSWR4XTtmb3IodmFyIGI9MDtiPGYuaW1wb3J0cy5s ZW5ndGg7YisrKWlmKGYuaW1wb3J0c1tiXS5ocmVmPT1jLmhyZWYpe2YucmVtb3Zl SW1wb3J0KGIpO2JyZWFrO319ZGVsZXRlIHRoaXMuX2Nzc0xpbmtNYXBbZV07ZGVs ZXRlIHRoaXMuX3JlcXVlc3RlZFtlXTtBcmJpdGVyLmluZm9ybShBcmJpdGVyLkJP T1RMT0FEKycvJytlLG51bGwsQXJiaXRlci5CRUhBVklPUl9TVEFURSk7fX0sZ2V0 SGFyZHBvaW50OmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2hhcmRwb2ludCl7dmFyIGMs Yj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpO2lmKGIubGVu Z3RoKXtjPWJbMF07fWVsc2UgYz1kb2N1bWVudC5ib2R5O3RoaXMuX2hhcmRwb2lu dD1jO31yZXR1cm4gdGhpcy5faGFyZHBvaW50O30sc2V0UmVzb3VyY2VNYXA6ZnVu Y3Rpb24oYyl7aWYoIWMpcmV0dXJuO2Zvcih2YXIgYiBpbiBjKXtpZighY1tiXS5u YW1lKWNbYl0ubmFtZT1iO3RoaXMuX3Jlc291cmNlc1tiXT1jW2JdO319LHJlc29s dmVSZXNvdXJjZXM6ZnVuY3Rpb24oZSxiKXtpZighZSlyZXR1cm47dmFyIGQ9bmV3 IEFycmF5KGUubGVuZ3RoKTtmb3IodmFyIGM9MDtjPGUubGVuZ3RoOysrYylpZigh ZVtjXS50eXBlJiZlW2NdIGluIHRoaXMuX3Jlc291cmNlcyl7ZFtjXT10aGlzLl9y ZXNvdXJjZXNbZVtjXV07aWYoYiYmKGIgaW4gZFtjXSkpZFtjXT1kW2NdW2JdO31l bHNlIGRbY109ZVtjXTtyZXR1cm4gZDt9LGxvYWRFYXJseVJlc291cmNlczpmdW5j dGlvbihkKXt0aGlzLnNldFJlc291cmNlTWFwKGQpO3ZhciBjPVtdO2Zvcih2YXIg YiBpbiBkKWMucHVzaCh0aGlzLl9yZXNvdXJjZXNbYl0pO3RoaXMubG9hZFJlc291 cmNlcyhjKTtmb3IodmFyIGIgaW4gZCl7dmFyIGU9dGhpcy5fcmVzb3VyY2VzW2Jd O2lmKCFlLnBlcm1hbmVudCl0aGlzLl9lYXJseVJlc291cmNlc1tlLm5hbWVdPWU7 fX0sX3JlcXVlc3RlZDp7fSxfcGVybWFuZW50Ont9LF9jb21wb25lbnRNYXA6e30s X2Nzc0xpbmtNYXA6e30sX3N0eWxlVGFnczpbXSxfaGFyZHBvaW50Om51bGwsX3Jl c291cmNlczp7fSxfZWFybHlSZXNvdXJjZXM6e30sX0NTU19QT0xMX0VYUElSQVRJ T046NTAwMCxfQ1NTX0VYUEVDVEVEX0hFSUdIVDo0Mn07fSkod2luZG93LkJvb3Rs b2FkZXIpOwooZnVuY3Rpb24oKXtpZih3aW5kb3chPXdpbmRvdy50b3ApcmV0dXJu O3ZhciBqPSdfZV8nLGs9KHdpbmRvdy5uYW1lfHwnJykudG9TdHJpbmcoKTtrPShr Lmxlbmd0aD09NyYmaj09ay5zdWJzdHIoMCwzKSk/ay5zdWJzdHIoMyk6KHdpbmRv dy5uYW1lPWord2luZG93Ll9FYWdsZUV5ZVNlZWQpLnN1YnN0cigzKTt2YXIgaD1q K2srJ18nLGY9bmV3IERhdGUoK25ldyBEYXRlKCkrNjA0ODAwMDAwKS50b0dNVFN0 cmluZygpLGQ9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnJlcGxhY2UoL14uKihm YWNlYm9va1wuLiopJC9pLCckMScpLGU9JzsgZXhwaXJlcz0nK2YrJztwYXRoPS87 IGRvbWFpbj0nK2QsYz0wLGc9ZmFsc2UsbD1mYWxzZSxpPVtdO2Z1bmN0aW9uIGIo bSl7cmV0dXJuIGgrKGMrKykrJz0nK2VuY29kZVVSSUNvbXBvbmVudChtKStlO31m dW5jdGlvbiBhKG8pe3ZhciBwPWRvY3VtZW50LmNvb2tpZS5zZWFyY2goaik+PTA7 d2hpbGUoaS5sZW5ndGg+MCl7dmFyIHE9YihpWzBdKTtpZihwJiYoKGRvY3VtZW50 LmNvb2tpZS5sZW5ndGgrcS5sZW5ndGgpPjM1MDB8fGRvY3VtZW50LmNvb2tpZS5z cGxpdCgnOycpLmxlbmd0aD4xOSkpYnJlYWs7ZG9jdW1lbnQuY29va2llPXE7cD10 cnVlO2kuc2hpZnQoKTt9aWYoISFvfHwhZyYmcCYmKChkb2N1bWVudC5jb29raWUu bGVuZ3RoPjI1MDB8fGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpLmxlbmd0aD4x NSkpJiYobHx8KHdpbmRvdy5BcmJpdGVyJiZ3aW5kb3cuT25sb2FkRXZlbnQmJkFy Yml0ZXIucXVlcnkoT25sb2FkRXZlbnQuT05MT0FEKSkpKXt2YXIgbj1uZXcgSW1h Z2UoKTtnPXRydWU7bi5vbmxvYWQ9ZnVuY3Rpb24oKXtnPWZhbHNlO2EoKTt9O3Zh ciBtPXdpbmRvdy5fRWFnbGVFeWVEb21haW58fCh3aW5kb3cuRW52JiZFbnYudHJh Y2tpbmdfZG9tYWluKXx8Jyc7bi5zcmM9bSsnL2FqYXgvbmVjdGFyLnBocD9hc3lu Y1NpZ25hbD0nKyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTAwMDApKzEpKycm JysoIW8/Jyc6J3M9JykrKCtuZXcgRGF0ZSgpKTt9fXdpbmRvdy5FYWdsZUV5ZT17 bG9nOmZ1bmN0aW9uKG8sbSxuKXt2YXIgcD1baywrbmV3IERhdGUoKSxvXS5jb25j YXQobSk7cC5wdXNoKHAubGVuZ3RoKTtCb290bG9hZGVyLmxvYWRDb21wb25lbnRz KCdqc29uJyxmdW5jdGlvbigpe3ZhciBxPUpTT04uc3RyaW5naWZ5KHApO2lmKCFu KXtpLnB1c2gocSk7fWVsc2UgZG9jdW1lbnQuY29va2llPWIocSk7YShuKTt9KTt9 LGNyZWF0ZUxvZ2dlcjpmdW5jdGlvbihvLG0pe209bT09dW5kZWZpbmVkPzEwMDpt O3ZhciBuPWZ1bmN0aW9uKHAscSl7aWYobi5lbmFibGVkKUVhZ2xlRXllLmxvZyhv LHAscSk7fTtuLmVuYWJsZWQ9ZmFsc2U7Qm9vdGxvYWRlci5sb2FkQ29tcG9uZW50 cygnc3RyaW5nLWV4dGVuc2lvbnMnLGZ1bmN0aW9uKCl7bi5fa2V5PSgod2luZG93 LkVudiYmRW52LnVzZXIpfHxNYXRoLnJhbmRvbSgpKStvO24uZW5hYmxlZD0obi5f a2V5Lmhhc2gzMigpJTY1NTM1LzY1NTM1KTw9bTt9KTtyZXR1cm4gbjt9LGxvYWRl ZDpmdW5jdGlvbigpe2w9dHJ1ZTt9fTt9KSgpOwpmdW5jdGlvbiBzZXRfdWVfY29v a2llKGEpe2RvY3VtZW50LmNvb2tpZT0iYWN0PSIrZW5jb2RlVVJJQ29tcG9uZW50 KGEpKyI7IHBhdGg9LzsgZG9tYWluPSIrd2luZG93LmxvY2F0aW9uLmhvc3RuYW1l LnJlcGxhY2UoL14uKihcLmZhY2Vib29rXC4uKikkL2ksJyQxJyk7fXZhciB1c2Vy X2FjdGlvbj0oZnVuY3Rpb24oKXt2YXIgbD0oIXdpbmRvdy5BcmJpdGVyTW9uaXRv cik/J3InOidhJyxuPTAsbSxlLGYsbz0wLGssaSxiLGMsaD1bMCwwLDAsMF0sZD1m dW5jdGlvbigpe2lmKCEhaSl7dmFyIHE9e3Byb2ZpbGVfbWluaWZlZWQ6MSxpbmZv X3RhYjoxLGdiX2NvbnRlbnRfYW5kX3Rvb2xiYXI6MSxnYl9tdWZmaW5fYXJlYTox LGVnbzoxLGJvb2ttYXJrc19tZW51OjEsamV3ZWxCb3hOb3RpZjoxLGpld2VsTm90 aWY6MSxCZWVwZXJCb3g6MSxuYXZTZWFyY2g6MX07Zm9yKHZhciBwPWk7cCYmcCE9 ZG9jdW1lbnQuYm9keTtwPXAucGFyZW50Tm9kZSl7aWYoIXAuaWR8fHR5cGVvZiBw LmlkIT09J3N0cmluZycpY29udGludWU7aWYocC5pZC5zdWJzdHIoMCw4KT09J3Bh Z2VsZXRfJylyZXR1cm4gcC5pZC5zdWJzdHIoOCk7aWYocC5pZC5zdWJzdHIoMCw4 KT09J2JveF9hcHBfJylyZXR1cm4gcC5pZDtpZihxW3AuaWRdKXJldHVybiBwLmlk O319cmV0dXJuICctJzt9LGc9ZnVuY3Rpb24ocSl7aWYoIWdlKCdjb250ZW50Jykp cmV0dXJuIFswLDAsMCwwXTt2YXIgcD0kKCdjb250ZW50Jyk7dmFyIHI9d2luZG93 LlZlY3RvcjI/VmVjdG9yMi5nZXRFdmVudFBvc2l0aW9uKHEpOnt4OjAseTowfTty ZXR1cm4gW3IueCxyLnkscC5vZmZzZXRMZWZ0LHAuY2xpZW50V2lkdGhdO30saj1m dW5jdGlvbigpe24rKzt2YXIgcT1vKycvJytuO3NldF91ZV9jb29raWUocSk7dmFy IHA9e307aWYod2luZG93LmNvbGxlY3RfZGF0YV9hdHRyaWJzKXtwPWNvbGxlY3Rf ZGF0YV9hdHRyaWJzKGksWydmdCcsJ2d0J10pO2NvcHlfcHJvcGVydGllcyhwLmZ0 LGMuZnR8fHt9KTtjb3B5X3Byb3BlcnRpZXMocC5ndCxjLmd0fHx7fSk7fWlmKGw9 PSdhJyl7QXJiaXRlck1vbml0b3IuaW5pdFVFKHEpO2Y9QXJiaXRlck1vbml0b3Iu Z2V0SW50ZXJuUmVmKGkpO313aW5kb3cuRWFnbGVFeWUmJkVhZ2xlRXllLmxvZygn YWN0JyxbbyxuLGV8fCctJyxiLG18fCctJyxmfHxkKGkpLGwsd2luZG93LlVSST9V UkkuZ2V0UmVxdWVzdFVSSSh0cnVlLHRydWUpLmdldFVucXVhbGlmaWVkVVJJKCku dG9TdHJpbmcoKTpsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5zZWFyY2grbG9j YXRpb24uaGFzaCxwXS5jb25jYXQoaCkpO2s9dHJ1ZTt9LGE9ZnVuY3Rpb24odCxw LHIscyxxKXtpZighIXIpe209ci50eXBlO2lmKG09PSdjbGljaycmJmdlKCdjb250 ZW50JykpaD1nKHIpO3ZhciBzPTA7ci5jdHJsS2V5JiYocys9MSk7ci5zaGlmdEtl eSYmKHMrPTIpO3IuYWx0S2V5JiYocys9NCk7ci5tZXRhS2V5JiYocys9OCk7aWYo cyltKz1zO31pZighdCYmcil0PXIuZ2V0VGFyZ2V0KCk7aWYoISF0KXtlPSh0Lmdl dEF0dHJpYnV0ZSYmKHQuZ2V0QXR0cmlidXRlKCdhamF4aWZ5Jyl8fHQuZ2V0QXR0 cmlidXRlKCdkYXRhLWVuZHBvaW50JykpfHx0LmFjdGlvbnx8dC5ocmVmfHx0Lm5h bWUpO2k9dDt9aWYoISFwJiYhYiliPXA7aWYoISFxKWM9cTtpZihzPT0nRk9SQ0Un fHxlKWooKTt9O3JldHVybiBmdW5jdGlvbih0LHAscixzLHEpe3ZhciB1PSgrbmV3 IERhdGUoKSk7Qm9vdGxvYWRlci5sb2FkQ29tcG9uZW50cygnZG9tLWNvbGxlY3Qn LGZ1bmN0aW9uKCl7aWYodS1vPDEwKXshayYmYSh0LHAscixzLHEpO3JldHVybjt9 aWYocz09J0lORElSRUNUJylyZXR1cm47bT1lPWY9aT1iPW51bGw7Yz17fTtrPWZh bHNlO289dTthKHQscCxyLHMscSk7fSk7fTt9KSgpOwpnZT0kPWZ1bmN0aW9uKGEp e3JldHVybiB0eXBlb2YgYT09J3N0cmluZyc/ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoYSk6YTt9OwpDU1M9d2luZG93LkNTU3x8e2hhc0NsYXNzOmZ1bmN0aW9uKGIs YSl7Yj0kKGIpO3JldHVybiAoJyAnK2IuY2xhc3NOYW1lKycgJykuaW5kZXhPZign ICcrYSsnICcpPi0xO30sYWRkQ2xhc3M6ZnVuY3Rpb24oYixhKXtiPSQoYik7aWYo YSYmIUNTUy5oYXNDbGFzcyhiLGEpKWIuY2xhc3NOYW1lPWIuY2xhc3NOYW1lKycg JythO3JldHVybiBiO30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYixhKXtiPSQoYik7 Yi5jbGFzc05hbWU9Yi5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCcoXnxc XHMpJythKycoPzpcXHN8JCknLCdnJyksJyQxJyk7cmV0dXJuIGI7fSx0b2dnbGVD bGFzczpmdW5jdGlvbihiLGEpe3JldHVybiBDU1MuY29uZGl0aW9uQ2xhc3MoYixh LCFDU1MuaGFzQ2xhc3MoYixhKSk7fSxjb25kaXRpb25DbGFzczpmdW5jdGlvbihj LGIsYSl7cmV0dXJuIChhP0NTUy5hZGRDbGFzczpDU1MucmVtb3ZlQ2xhc3MpKGMs Yik7fSxzaG93OmZ1bmN0aW9uKGEpe0NTUy5yZW1vdmVDbGFzcyhhLCdoaWRkZW5f ZWxlbScpO30saGlkZTpmdW5jdGlvbihhKXtDU1MuYWRkQ2xhc3MoYSwnaGlkZGVu X2VsZW0nKTt9LGNvbmRpdGlvblNob3c6ZnVuY3Rpb24oYixhKXtDU1MuY29uZGl0 aW9uQ2xhc3MoYiwnaGlkZGVuX2VsZW0nLCFhKTt9fTsKdmFyIFBhcmVudD17YnlU YWc6ZnVuY3Rpb24oYSxiKXtiPWIudG9VcHBlckNhc2UoKTt3aGlsZShhJiZhLm5v ZGVOYW1lIT1iKWE9YS5wYXJlbnROb2RlO3JldHVybiBhO30sYnlDbGFzczpmdW5j dGlvbihiLGEpe3doaWxlKGImJiFDU1MuaGFzQ2xhc3MoYixhKSliPWIucGFyZW50 Tm9kZTtyZXR1cm4gYjt9fTsKIWZ1bmN0aW9uKCl7aWYod2luZG93Ll9fcHJpbWVy KXJldHVybjt3aW5kb3cuX19wcmltZXI9dHJ1ZTt2YXIgYT1udWxsO2RvY3VtZW50 LmRvY3VtZW50RWxlbWVudC5vbmNsaWNrPWZ1bmN0aW9uKGQpe2Q9ZHx8d2luZG93 LmV2ZW50O2E9ZC50YXJnZXR8fGQuc3JjRWxlbWVudDt2YXIgZT1QYXJlbnQuYnlU YWcoYSwnQScpO2lmKCFlKXJldHVybjt2YXIgYj1lLmdldEF0dHJpYnV0ZSgnYWph eGlmeScpO3ZhciBmPWUuaHJlZjt2YXIgaT1ifHxmO2kmJnVzZXJfYWN0aW9uKGUs J2EnLGQpO2lmKGImJmYmJiEoLyMkLykudGVzdChmKSl7dmFyIGc9ZC53aGljaCYm ZC53aGljaCE9MTt2YXIgaD1kLmFsdEtleXx8ZC5jdHJsS2V5fHxkLm1ldGFLZXl8 fGQuc2hpZnRLZXk7aWYoZ3x8aClyZXR1cm47fXZhciBjPVsnZGlhbG9nJ107c3dp dGNoKGUucmVsKXtjYXNlICdkaWFsb2ctcGlwZSc6Yy5wdXNoKCdhamF4cGlwZScp O2Nhc2UgJ2RpYWxvZyc6Y2FzZSAnZGlhbG9nLXBvc3QnOkJvb3Rsb2FkZXIubG9h ZENvbXBvbmVudHMoYyxmdW5jdGlvbigpe0RpYWxvZy5ib290c3RyYXAoaSxudWxs LGUucmVsPT0nZGlhbG9nJyxudWxsLG51bGwsZSk7fSk7YnJlYWs7Y2FzZSAnYXN5 bmMnOmNhc2UgJ2FzeW5jLXBvc3QnOkJvb3Rsb2FkZXIubG9hZENvbXBvbmVudHMo J2FzeW5jJyxmdW5jdGlvbigpe0FzeW5jUmVxdWVzdC5ib290c3RyYXAoaSxlKTt9 KTticmVhaztjYXNlICd0aGVhdGVyJzpCb290bG9hZGVyLmxvYWRDb21wb25lbnRz KCdQaG90b1RoZWF0ZXInLGZ1bmN0aW9uKCl7UGhvdG9UaGVhdGVyLmJvb3RzdHJh cChpLGUpO30pO2JyZWFrO2Nhc2UgJ2NzdGFnZSc6Qm9vdGxvYWRlci5sb2FkQ29t cG9uZW50cygnUGhvdG9Tbm93Ym94JyxmdW5jdGlvbigpe1Bob3RvU25vd2JveC5i b290c3RyYXAoaSxlKTt9KTticmVhaztjYXNlICd0b2dnbGUnOkNTUy50b2dnbGVD bGFzcyhlLnBhcmVudE5vZGUsJ29wZW5Ub2dnbGVyJyk7Qm9vdGxvYWRlci5sb2Fk Q29tcG9uZW50cygnVG9nZ2xlcicsZnVuY3Rpb24oKXtUb2dnbGVyLmJvb3RzdHJh cChlKTt9KTticmVhaztkZWZhdWx0OnJldHVybjt9cmV0dXJuIGZhbHNlO307ZG9j dW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9uc3VibWl0PWZ1bmN0aW9uKGIpe2I9Ynx8 d2luZG93LmV2ZW50O3ZhciBjPWIudGFyZ2V0fHxiLnNyY0VsZW1lbnQ7aWYoYyYm Yy5ub2RlTmFtZT09J0ZPUk0nJiZjLmdldEF0dHJpYnV0ZSgncmVsJyk9PSdhc3lu Yycpe3VzZXJfYWN0aW9uKGMsJ2YnLGIpO3ZhciBkPWE7Qm9vdGxvYWRlci5sb2Fk Q29tcG9uZW50cygnZG9tLWZvcm0nLGZ1bmN0aW9uKCl7Rm9ybS5ib290c3RyYXAo YyxkKTt9KTtyZXR1cm4gZmFsc2U7fX07fSgpOwp2YXIgTWl4aW5zPXtBcmJpdGVy OntfZ2V0QXJiaXRlckluc3RhbmNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Fy Yml0ZXJ8fCh0aGlzLl9hcmJpdGVyPW5ldyBBcmJpdGVyKCkpO30saW5mb3JtOmZ1 bmN0aW9uKGMsYixhKXtyZXR1cm4gdGhpcy5fZ2V0QXJiaXRlckluc3RhbmNlKCku aW5mb3JtKGMsYixhKTt9LHN1YnNjcmliZTpmdW5jdGlvbihjLGEsYil7cmV0dXJu IHRoaXMuX2dldEFyYml0ZXJJbnN0YW5jZSgpLnN1YnNjcmliZShjLGEsYik7fSx1 bnN1YnNjcmliZTpmdW5jdGlvbihhKXt0aGlzLl9nZXRBcmJpdGVySW5zdGFuY2Uo KS51bnN1YnNjcmliZShhKTt9fX07CkZ1bmN0aW9uLnByb3RvdHlwZS5leHRlbmQ9 ZnVuY3Rpb24oYSl7aWYoIU1ldGFwcm90b3R5cGUuX2FyYml0ZXJIYW5kbGUpTWV0 YXByb3RvdHlwZS5fYXJiaXRlckhhbmRsZT1BcmJpdGVyLnN1YnNjcmliZShBcmJp dGVyLkJPT1RMT0FELE1ldGFwcm90b3R5cGUuX29uYm9vdGxvYWQuYmluZChNZXRh cHJvdG90eXBlKSk7TWV0YXByb3RvdHlwZS5fcXVldWUodGhpcyxhKTt9O2Z1bmN0 aW9uIE1ldGFwcm90b3R5cGUoKXt9Y29weV9wcm9wZXJ0aWVzKE1ldGFwcm90b3R5 cGUse21ha2VGaW5hbDpmdW5jdGlvbihhKXt9LF9wZW5kaW5nOnt9LF9xdWV1ZTpm dW5jdGlvbihiLGMpe2IuX19jbGFzc19leHRlbmRpbmc9dHJ1ZTt2YXIgYT1BcmJp dGVyLnJlZ2lzdGVyQ2FsbGJhY2soYmluZChNZXRhcHJvdG90eXBlLE1ldGFwcm90 b3R5cGUuX2FwcGx5LGIsYyksW0FyYml0ZXIuRlVOQ1RJT05fRVhURU5TSU9OKycv JytjLEFyYml0ZXIuQk9PVExPQURdKTtpZihhIT09bnVsbCl0aGlzLl9wZW5kaW5n W2NdPXRydWU7fSxfb25ib290bG9hZDpmdW5jdGlvbihiLGEpe3RoaXMuX3VwZGF0 ZSgpO30sX3VwZGF0ZTpmdW5jdGlvbigpe2Zvcih2YXIgYSBpbiB0aGlzLl9wZW5k aW5nKWlmKCEhd2luZG93W2FdKXtkZWxldGUgdGhpcy5fcGVuZGluZ1thXTtpZigh d2luZG93W2FdLl9fY2xhc3NfZXh0ZW5kaW5nKXtBcmJpdGVyLmluZm9ybShBcmJp dGVyLkZVTkNUSU9OX0VYVEVOU0lPTisnLycrYSx0cnVlLEFyYml0ZXIuQkVIQVZJ T1JfU1RBVEUpO31lbHNlIHdpbmRvd1thXS5fX2NsYXNzX25hbWU9YTt9fSxfYXBw bHk6ZnVuY3Rpb24oYSxjKXtkZWxldGUgYS5fX2NsYXNzX2V4dGVuZGluZzt2YXIg ZD1fX21ldGFwcm90b3R5cGUod2luZG93W2NdLDApO3ZhciBiPV9fbWV0YXByb3Rv dHlwZShhLGQucHJvdG90eXBlLl9fbGV2ZWwrMSk7Yi5wYXJlbnQ9ZDtpZighIWEu X19jbGFzc19uYW1lKUFyYml0ZXIuaW5mb3JtKEFyYml0ZXIuRlVOQ1RJT05fRVhU RU5TSU9OKycvJythLl9fY2xhc3NfbmFtZSx0cnVlLEFyYml0ZXIuQkVIQVZJT1Jf U1RBVEUpO319KTtmdW5jdGlvbiBfX21ldGFwcm90b3R5cGUoYyxhKXtpZihjLl9f bWV0YXByb3RvdHlwZSlyZXR1cm4gYy5fX21ldGFwcm90b3R5cGU7dmFyIGI9bmV3 IEZ1bmN0aW9uKCk7Yi5jb25zdHJ1Y3Q9X19tZXRhcHJvdG90eXBlX2NvbnN0cnVj dDtiLnByb3RvdHlwZS5jb25zdHJ1Y3Q9X19tZXRhcHJvdG90eXBlX3dyYXAoYyxh LHRydWUpO2IucHJvdG90eXBlLl9fbGV2ZWw9YTtiLmJhc2U9YztjLnByb3RvdHlw ZS5wYXJlbnQ9YjtjLl9fbWV0YXByb3RvdHlwZT1iO3JldHVybiBiO31mdW5jdGlv biBfX21ldGFwcm90b3R5cGVfY29uc3RydWN0KGEpe19fbWV0YXByb3RvdHlwZV9p bml0KGEucGFyZW50KTt2YXIgYz1bXTt2YXIgYj1hO3doaWxlKGIucGFyZW50KXtj LnB1c2gobmV3X29iaj1uZXcgYi5wYXJlbnQoKSk7bmV3X29iai5fX2luc3RhbmNl PWE7Yj1iLnBhcmVudDt9YS5wYXJlbnQ9Y1sxXTtjLnJldmVyc2UoKTtjLnBvcCgp O2EuX19wYXJlbnRzPWM7YS5fX2luc3RhbmNlPWE7cmV0dXJuIGEucGFyZW50LmNv bnN0cnVjdC5hcHBseShhLnBhcmVudCxhcmd1bWVudHMpO31mdW5jdGlvbiBfX21l dGFwcm90b3R5cGVfaW5pdChkKXtpZihkLmluaXRpYWxpemVkKXJldHVybjt2YXIg YT1kLmJhc2UucHJvdG90eXBlO2lmKGQucGFyZW50KXtfX21ldGFwcm90b3R5cGVf aW5pdChkLnBhcmVudCk7dmFyIGU9ZC5wYXJlbnQucHJvdG90eXBlO2Zvcih2YXIg YiBpbiBlKWlmKGIhPSdfX2xldmVsJyYmYiE9J2NvbnN0cnVjdCcmJmFbYl09PT11 bmRlZmluZWQpYVtiXT1kLnByb3RvdHlwZVtiXT1lW2JdO31kLmluaXRpYWxpemVk PXRydWU7dmFyIGM9ZC5wcm90b3R5cGUuX19sZXZlbDtmb3IodmFyIGIgaW4gYSlp ZihiIT0ncGFyZW50JylhW2JdPWQucHJvdG90eXBlW2JdPV9fbWV0YXByb3RvdHlw ZV93cmFwKGFbYl0sYyk7fWZ1bmN0aW9uIF9fbWV0YXByb3RvdHlwZV93cmFwKGMs YixkKXtpZih0eXBlb2YgYyE9J2Z1bmN0aW9uJ3x8Yy5fX3Byb3RvdHlwZWQpcmV0 dXJuIGM7dmFyIGE9ZnVuY3Rpb24oKXt2YXIgZz10aGlzLl9faW5zdGFuY2U7aWYo Zyl7dmFyIGg9Zy5wYXJlbnQ7Zy5wYXJlbnQ9Yj9nLl9fcGFyZW50c1tiLTFdOm51 bGw7aWYoZCl7dmFyIGU9W107Zm9yKHZhciBmPTE7Zjxhcmd1bWVudHMubGVuZ3Ro O2YrKyllLnB1c2goYXJndW1lbnRzW2ZdKTt2YXIgaT1jLmFwcGx5KGcsZSk7fWVs c2UgdmFyIGk9Yy5hcHBseShnLGFyZ3VtZW50cyk7Zy5wYXJlbnQ9aDtyZXR1cm4g aTt9ZWxzZSByZXR1cm4gYy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7fTthLl9fcHJv dG90eXBlZD10cnVlO3JldHVybiBhO31GdW5jdGlvbi5wcm90b3R5cGUubWl4aW49 ZnVuY3Rpb24oKXt2YXIgYT1bdGhpcy5wcm90b3R5cGVdLmNvbmNhdChBcnJheS5w cm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKTtGdW5jdGlvbi5taXhpbi5h cHBseShudWxsLGEpO307RnVuY3Rpb24ubWl4aW49ZnVuY3Rpb24oKXtmb3IodmFy IGI9MSxhPWFyZ3VtZW50cy5sZW5ndGg7YjxhOysrYiljb3B5X3Byb3BlcnRpZXMo YXJndW1lbnRzWzBdLE1peGluc1thcmd1bWVudHNbYl1dfHxhcmd1bWVudHNbYl0p O307RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oYil7dmFyIGE9W2Is dGhpc10uY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50 cywxKSk7cmV0dXJuIGJpbmQuYXBwbHkobnVsbCxhKTt9O0Z1bmN0aW9uLnByb3Rv dHlwZS5jdXJyeT1GdW5jdGlvbi5wcm90b3R5cGUuYmluZC5iaW5kKG51bGwsbnVs bCk7RnVuY3Rpb24ucHJvdG90eXBlLnNoaWVsZD1mdW5jdGlvbihiKXtpZih0eXBl b2YgdGhpcyE9J2Z1bmN0aW9uJyl0aHJvdyBuZXcgVHlwZUV4Y2VwdGlvbigpO3Zh ciBhPXRoaXMuYmluZC5hcHBseSh0aGlzLCRBKGFyZ3VtZW50cykpO3JldHVybiBm dW5jdGlvbigpe3JldHVybiBhKCk7fTt9O0Z1bmN0aW9uLnByb3RvdHlwZS5kZWZl cj1mdW5jdGlvbihiLGEpe2lmKHR5cGVvZiB0aGlzIT0nZnVuY3Rpb24nKXRocm93 IG5ldyBUeXBlRXJyb3IoKTtiPWJ8fDA7cmV0dXJuIHNldFRpbWVvdXQodGhpcyxi LGEpO307RnVuY3Rpb24ucHJvdG90eXBlLnJlY3VyPWZ1bmN0aW9uKGIsYSl7aWYo dHlwZW9mIHRoaXMhPSdmdW5jdGlvbicpdGhyb3cgbmV3IFR5cGVFcnJvcigpO3Jl dHVybiBzZXRJbnRlcnZhbCh0aGlzLGIsYSk7fTtmdW5jdGlvbiBiYWdvZmhvbGRp bmcoKXt9ZnVuY3Rpb24gYmFnb2YoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJu IGE7fTt9ZnVuY3Rpb24gYWJzdHJhY3RNZXRob2QoKXt0aHJvdyBuZXcgRXJyb3Io J1lvdSBtdXN0IGltcGxlbWVudCB0aGlzIGZ1bmN0aW9uIGluIHlvdXIgYmFzZSBj bGFzcy4nKTt9CnZhciB1YT17aWU6ZnVuY3Rpb24oKXtyZXR1cm4gdWEuX3BvcHVs YXRlKCl8fHRoaXMuX2llO30sZmlyZWZveDpmdW5jdGlvbigpe3JldHVybiB1YS5f cG9wdWxhdGUoKXx8dGhpcy5fZmlyZWZveDt9LG9wZXJhOmZ1bmN0aW9uKCl7cmV0 dXJuIHVhLl9wb3B1bGF0ZSgpfHx0aGlzLl9vcGVyYTt9LHNhZmFyaTpmdW5jdGlv bigpe3JldHVybiB1YS5fcG9wdWxhdGUoKXx8dGhpcy5fc2FmYXJpO30sY2hyb21l OmZ1bmN0aW9uKCl7cmV0dXJuIHVhLl9wb3B1bGF0ZSgpfHx0aGlzLl9jaHJvbWU7 fSx3aW5kb3dzOmZ1bmN0aW9uKCl7cmV0dXJuIHVhLl9wb3B1bGF0ZSgpfHx0aGlz Ll93aW5kb3dzO30sb3N4OmZ1bmN0aW9uKCl7cmV0dXJuIHVhLl9wb3B1bGF0ZSgp fHx0aGlzLl9vc3g7fSxsaW51eDpmdW5jdGlvbigpe3JldHVybiB1YS5fcG9wdWxh dGUoKXx8dGhpcy5fbGludXg7fSxpcGhvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gdWEu X3BvcHVsYXRlKCl8fHRoaXMuX2lwaG9uZTt9LF9wb3B1bGF0ZWQ6ZmFsc2UsX3Bv cHVsYXRlOmZ1bmN0aW9uKCl7aWYodWEuX3BvcHVsYXRlZClyZXR1cm47dWEuX3Bv cHVsYXRlZD10cnVlO3ZhciBhPS8oPzpNU0lFLihcZCtcLlxkKykpfCg/Oig/OkZp cmVmb3h8R3JhblBhcmFkaXNvfEljZXdlYXNlbCkuKFxkK1wuXGQrKSl8KD86T3Bl cmEoPzouK1ZlcnNpb24ufC4pKFxkK1wuXGQrKSl8KD86QXBwbGVXZWJLaXQuKFxk Kyg/OlwuXGQrKT8pKS8uZXhlYyhuYXZpZ2F0b3IudXNlckFnZW50KTt2YXIgYz0v KE1hYyBPUyBYKXwoV2luZG93cyl8KExpbnV4KS8uZXhlYyhuYXZpZ2F0b3IudXNl ckFnZW50KTt2YXIgYj0vXGIoaVBob25lfGlQW2FvXWQpLy5leGVjKG5hdmlnYXRv ci51c2VyQWdlbnQpO2lmKGEpe3VhLl9pZT1hWzFdP3BhcnNlRmxvYXQoYVsxXSk6 TmFOO2lmKHVhLl9pZT49OCYmIXdpbmRvdy5IVE1MQ29sbGVjdGlvbil1YS5faWU9 Nzt1YS5fZmlyZWZveD1hWzJdP3BhcnNlRmxvYXQoYVsyXSk6TmFOO3VhLl9vcGVy YT1hWzNdP3BhcnNlRmxvYXQoYVszXSk6TmFOO3VhLl9zYWZhcmk9YVs0XT9wYXJz ZUZsb2F0KGFbNF0pOk5hTjtpZih1YS5fc2FmYXJpKXthPS8oPzpDaHJvbWVcLyhc ZCtcLlxkKykpLy5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpO3VhLl9jaHJvbWU9 YSYmYVsxXT9wYXJzZUZsb2F0KGFbMV0pOk5hTjt9ZWxzZSB1YS5fY2hyb21lPU5h Tjt9ZWxzZSB1YS5faWU9dWEuX2ZpcmVmb3g9dWEuX29wZXJhPXVhLl9jaHJvbWU9 dWEuX3NhZmFyaT1OYU47aWYoYyl7dWEuX29zeD0hIWNbMV07dWEuX3dpbmRvd3M9 ISFjWzJdO3VhLl9saW51eD0hIWNbM107fWVsc2UgdWEuX29zeD11YS5fd2luZG93 cz11YS5fbGludXg9ZmFsc2U7dWEuX2lwaG9uZT1iO319OwpPbmxvYWRFdmVudD17 T05MT0FEOidvbmxvYWQvb25sb2FkJyxPTkxPQURfQ0FMTEJBQ0s6J29ubG9hZC9v bmxvYWRfY2FsbGJhY2snLE9OTE9BRF9ET01DT05URU5UOidvbmxvYWQvZG9tX2Nv bnRlbnRfcmVhZHknLE9OTE9BRF9ET01DT05URU5UX0NBTExCQUNLOidvbmxvYWQv ZG9tY29udGVudF9jYWxsYmFjaycsT05CRUZPUkVVTkxPQUQ6J29ubG9hZC9iZWZv cmV1bmxvYWQnLE9OVU5MT0FEOidvbmxvYWQvdW5sb2FkJ307ZnVuY3Rpb24gX2lu Y2x1ZGVfcXVpY2tsaW5nX2V2ZW50c19kZWZhdWx0KCl7cmV0dXJuICF3aW5kb3cu bG9hZGluZ19wYWdlX2Nocm9tZTt9ZnVuY3Rpb24gb25iZWZvcmV1bmxvYWRSZWdp c3RlcihhLGIpe2lmKGI9PT11bmRlZmluZWQpYj1faW5jbHVkZV9xdWlja2xpbmdf ZXZlbnRzX2RlZmF1bHQoKTtiP19hZGRIb29rKCdvbmJlZm9yZWxlYXZlaG9va3Mn LGEpOl9hZGRIb29rKCdvbmJlZm9yZXVubG9hZGhvb2tzJyxhKTt9ZnVuY3Rpb24g b251bmxvYWRSZWdpc3RlcihhKXtpZighd2luZG93Lm9udW5sb2FkKXdpbmRvdy5v bnVubG9hZD1mdW5jdGlvbigpe0FyYml0ZXIuaW5mb3JtKE9ubG9hZEV2ZW50Lk9O VU5MT0FELHRydWUsQXJiaXRlci5CRUhBVklPUl9TVEFURSk7fTtfYWRkSG9vaygn b251bmxvYWRob29rcycsYSk7fWZ1bmN0aW9uIG9ubGVhdmVSZWdpc3RlcihhKXtf YWRkSG9vaygnb25sZWF2ZWhvb2tzJyxhKTt9ZnVuY3Rpb24gX2FkZEhvb2soYixh KXt3aW5kb3dbYl09KHdpbmRvd1tiXXx8W10pLmNvbmNhdChhKTt9ZnVuY3Rpb24g cmVtb3ZlSG9vayhhKXt3aW5kb3dbYV09W107fWZ1bmN0aW9uIF9kb21jb250ZW50 cmVhZHkoKXtBcmJpdGVyLmluZm9ybShPbmxvYWRFdmVudC5PTkxPQURfRE9NQ09O VEVOVCx0cnVlLEFyYml0ZXIuQkVIQVZJT1JfU1RBVEUpO31mdW5jdGlvbiBfYm9v dHN0cmFwRXZlbnRIYW5kbGVycygpe3ZhciBhPWRvY3VtZW50LGU9d2luZG93O2lm KGEuYWRkRXZlbnRMaXN0ZW5lcil7aWYodWEuc2FmYXJpKCk8NTI1KXt2YXIgZD1z ZXRJbnRlcnZhbChmdW5jdGlvbigpe2lmKC9sb2FkZWR8Y29tcGxldGUvLnRlc3Qo YS5yZWFkeVN0YXRlKSl7X2RvbWNvbnRlbnRyZWFkeSgpO2NsZWFySW50ZXJ2YWwo ZCk7fX0sMTApO31lbHNlIGEuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExv YWRlZCIsX2RvbWNvbnRlbnRyZWFkeSx0cnVlKTt9ZWxzZXt2YXIgYz0namF2YXNj cmlwdDp2b2lkKDApJztpZihlLmxvY2F0aW9uLnByb3RvY29sPT0naHR0cHM6Jylj PScvLzonO2Eud3JpdGUoJzxzY3JpcHQgb25yZWFkeXN0YXRlY2hhbmdlPSJpZiAo dGhpcy5yZWFkeVN0YXRlPT1cJ2NvbXBsZXRlXCcpIHsnKyd0aGlzLnBhcmVudE5v ZGUucmVtb3ZlQ2hpbGQodGhpcyk7X2RvbWNvbnRlbnRyZWFkeSgpO30iICcrJ2Rl ZmVyPSJkZWZlciIgc3JjPSInK2MrJyI+PFwvc2NyaXB0XD4nKTt9dmFyIGI9ZS5v bmxvYWQ7ZS5vbmxvYWQ9ZnVuY3Rpb24oKXtlLkNhdmFscnlMb2dnZXImJkNhdmFs cnlMb2dnZXIuZ2V0SW5zdGFuY2UoKS5zZXRUaW1lU3RhbXAoJ3RfbGF5b3V0Jyk7 YiYmYigpO0FyYml0ZXIuaW5mb3JtKE9ubG9hZEV2ZW50Lk9OTE9BRCx0cnVlLEFy Yml0ZXIuQkVIQVZJT1JfU1RBVEUpO307ZS5vbmJlZm9yZXVubG9hZD1mdW5jdGlv bigpe3ZhciBmPXt9O0FyYml0ZXIuaW5mb3JtKE9ubG9hZEV2ZW50Lk9OQkVGT1JF VU5MT0FELGYsQXJiaXRlci5CRUhBVklPUl9TVEFURSk7aWYoIWYud2FybilBcmJp dGVyLmluZm9ybSgnb25sb2FkL2V4aXQnLHRydWUpO3JldHVybiBmLndhcm47fTt9 b25sb2FkX2NhbGxiYWNrPUFyYml0ZXIucmVnaXN0ZXJDYWxsYmFjayhmdW5jdGlv bigpe3dpbmRvdy5DYXZhbHJ5TG9nZ2VyJiZDYXZhbHJ5TG9nZ2VyLmdldEluc3Rh bmNlKCkuc2V0VGltZVN0YW1wKCd0X29ubG9hZCcpO0FyYml0ZXIuaW5mb3JtKE9u bG9hZEV2ZW50Lk9OTE9BRF9DQUxMQkFDSyx0cnVlLEFyYml0ZXIuQkVIQVZJT1Jf U1RBVEUpO30sW09ubG9hZEV2ZW50Lk9OTE9BRF0pO2RvbWNvbnRlbnRfY2FsbGJh Y2s9QXJiaXRlci5yZWdpc3RlckNhbGxiYWNrKGZ1bmN0aW9uKCl7d2luZG93LkNh dmFscnlMb2dnZXImJkNhdmFscnlMb2dnZXIuZ2V0SW5zdGFuY2UoKS5zZXRUaW1l U3RhbXAoJ3RfZG9tY29udGVudCcpO0FyYml0ZXIuaW5mb3JtKE9ubG9hZEV2ZW50 Lk9OTE9BRF9ET01DT05URU5UX0NBTExCQUNLLHRydWUsQXJiaXRlci5CRUhBVklP Ul9TVEFURSk7fSxbT25sb2FkRXZlbnQuT05MT0FEX0RPTUNPTlRFTlRdKTtpZigh d2luZG93Ll9ldmVudEhhbmRsZXJzQm9vdHN0cmFwcGVkKXtfZXZlbnRIYW5kbGVy c0Jvb3RzdHJhcHBlZD10cnVlO19ib290c3RyYXBFdmVudEhhbmRsZXJzKCk7fQpm dW5jdGlvbiB0eChiLGEpe2lmKHR5cGVvZiBfc3RyaW5nX3RhYmxlPT0ndW5kZWZp bmVkJylyZXR1cm47Yj1fc3RyaW5nX3RhYmxlW2JdO3JldHVybiBfdHgoYixhKTt9 ZnVuY3Rpb24gaW50bF9lbmRzX2luX3B1bmN0KGEpe2lmKHR5cGVvZiBhIT0nc3Ry aW5nJylyZXR1cm4gZmFsc2U7cmV0dXJuIGEubWF0Y2gobmV3IFJlZ0V4cChpbnRs X2VuZHNfaW5fcHVuY3QucHVuY3RfY2hhcl9jbGFzcysnWycrJykiJysiJyIrJ1x1 MDBCQicrJ1x1MEYzQicrJ1x1MEYzRCcrJ1x1MjAxOScrJ1x1MjAxRCcrJ1x1MjAz QScrJ1x1MzAwOScrJ1x1MzAwQicrJ1x1MzAwRCcrJ1x1MzAwRicrJ1x1MzAxMScr J1x1MzAxNScrJ1x1MzAxNycrJ1x1MzAxOScrJ1x1MzAxQicrJ1x1MzAxRScrJ1x1 MzAxRicrJ1x1RkQzRicrJ1x1RkYwNycrJ1x1RkYwOScrJ1x1RkYzRCcrJ1xzJysn XSokJykpO31pbnRsX2VuZHNfaW5fcHVuY3QucHVuY3RfY2hhcl9jbGFzcz0nWycr Jy4hPycrJ1x1MzAwMicrJ1x1RkYwMScrJ1x1RkYxRicrJ1x1MDk2NCcrJ1x1MjAy NicrJ1x1MEVBRicrJ1x1MTgwMScrJ1x1MEUyRicrJ1x1RkYwRScrJ10nO2Z1bmN0 aW9uIGludGxfcmVuZGVyX2xpc3Rfc2VwYXJhdG9yKCl7cmV0dXJuIF90eCgie3By ZXZpb3VzLWl0ZW1zfSwge25leHQtaXRlbXN9Iix7J3ByZXZpb3VzLWl0ZW1zJzon JywnbmV4dC1pdGVtcyc6Jyd9KTt9ZnVuY3Rpb24gaW50bF9waG9ub2xvZ2ljYWxf cnVsZXMoZSl7dmFyIGMsYj1lLGQ9d2luZG93LmludGxfbG9jYWxlX3Jld3JpdGVz O3RyeXtpZihkKXt2YXIgcGF0cz1bXSxyZXBzPVtdO2Zvcih2YXIgcCBpbiBkLnBh dHRlcm5zKXt2YXIgcGF0PXAscmVwPWQucGF0dGVybnNbcF07Zm9yKHZhciBtIGlu IGQubWV0YSl7Yz1uZXcgUmVnRXhwKG0uc2xpY2UoMSwtMSksJ2cnKTtwYXQ9cGF0 LnJlcGxhY2UoYyxkLm1ldGFbbV0pO3JlcD1yZXAucmVwbGFjZShjLGQubWV0YVtt XSk7fXBhdHNbcGF0cy5sZW5ndGhdPXBhdDtyZXBzW3JlcHMubGVuZ3RoXT1yZXA7 fWZvcih2YXIgaWk9MDtpaTxwYXRzLmxlbmd0aDtpaSsrKXtjPW5ldyBSZWdFeHAo cGF0c1tpaV0uc2xpY2UoMSwtMSksJ2cnKTtpZihyZXBzW2lpXT09J2phdmFzY3Jp cHQnKXtpZihtPW5ldyBTdHJpbmcoZS5tYXRjaChjKSkpZT1lLnJlcGxhY2UoYyxt LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkpO31lbHNlIGU9ZS5yZXBsYWNlKGMscmVw c1tpaV0pO319fWNhdGNoKGEpe2U9Yjt9Yz1uZXcgUmVnRXhwKCdceDAxJywnZycp O2U9ZS5yZXBsYWNlKGMsJycpO3JldHVybiBlO31mdW5jdGlvbiBfdHgoZSxhKXtp ZighYSlyZXR1cm4gZTt2YXIgZDtmb3IodmFyIGMgaW4gYSl7aWYoaW50bF9lbmRz X2luX3B1bmN0KGFbY10pKXtkPW5ldyBSZWdFeHAoJ1xceycrYysnXFx9JytpbnRs X2VuZHNfaW5fcHVuY3QucHVuY3RfY2hhcl9jbGFzcysnKicsJ2cnKTt9ZWxzZSBk PW5ldyBSZWdFeHAoJ1xceycrYysnXFx9JywnZycpO3ZhciBiPScnO2lmKGFbY11b MF0hPSd+JyliPSdceDAxJztlPWUucmVwbGFjZShkLGIrYVtjXStiKTt9ZT1pbnRs X3Bob25vbG9naWNhbF9ydWxlcyhlKTtyZXR1cm4gZTt9CkluaXRpYWxKU0xvYWRl cj17SU5JVElBTF9KU19SRUFEWTonQk9PVExPQUQvSlNSRUFEWScsbG9hZDpmdW5j dGlvbihhKXtJbml0aWFsSlNMb2FkZXIuY2FsbGJhY2s9Qm9vdGxvYWRlci5sb2Fk UmVzb3VyY2VzKGEsSW5pdGlhbEpTTG9hZGVyLmNhbGxiYWNrKTt9LGNhbGxiYWNr OkFyYml0ZXIucmVnaXN0ZXJDYWxsYmFjayhmdW5jdGlvbigpe0FyYml0ZXIuaW5m b3JtKEluaXRpYWxKU0xvYWRlci5JTklUSUFMX0pTX1JFQURZLHRydWUsQXJiaXRl ci5CRUhBVklPUl9TVEFURSk7fSxbT25sb2FkRXZlbnQuT05MT0FEX0RPTUNPTlRF TlRfQ0FMTEJBQ0tdKX07CmZ1bmN0aW9uIGdvVVJJKGIsYSl7Yj1iLnRvU3RyaW5n KCk7aWYoIWEmJndpbmRvdy5QYWdlVHJhbnNpdGlvbnMmJlBhZ2VUcmFuc2l0aW9u cy5pc0luaXRpYWxpemVkKCkpe1BhZ2VUcmFuc2l0aW9ucy5nbyhiKTt9ZWxzZSBp Zih3aW5kb3cubG9jYXRpb24uaHJlZj09Yil7d2luZG93LmxvY2F0aW9uLnJlbG9h ZCgpO31lbHNlIHdpbmRvdy5sb2NhdGlvbi5ocmVmPWI7fWZ1bmN0aW9uIGxvYWRF eHRlcm5hbEphdmFzY3JpcHQoZixiLGEpe2lmKGYgaW5zdGFuY2VvZiBBcnJheSl7 dmFyIGU9Zi5zaGlmdCgwKTtpZihlKXtsb2FkRXh0ZXJuYWxKYXZhc2NyaXB0KGUs ZnVuY3Rpb24oKXtpZihmLmxlbmd0aCl7bG9hZEV4dGVybmFsSmF2YXNjcmlwdChm LGIsYSk7fWVsc2UgYiYmYigpO30sYSk7fWVsc2UgaWYoYiliKCk7fWVsc2V7dmFy IGM9YT9kb2N1bWVudC5ib2R5OmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l KCdoZWFkJylbMF07dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0 Jyk7ZC50eXBlPSd0ZXh0L2phdmFzY3JpcHQnO2Quc3JjPWY7aWYoYil7ZC5vbmVy cm9yPWQub25sb2FkPWI7ZC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtp Zih0aGlzLnJlYWR5U3RhdGU9PSJjb21wbGV0ZSJ8fHRoaXMucmVhZHlTdGF0ZT09 ImxvYWRlZCIpYigpO307fWMuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGQ7fX1mdW5j dGlvbiBpbnZva2VfY2FsbGJhY2tzKGIsZCl7aWYoYilmb3IodmFyIGM9MDtjPGIu bGVuZ3RoO2MrKyl0cnl7KG5ldyBGdW5jdGlvbihiW2NdKSkuYXBwbHkoZCk7fWNh dGNoKGEpe319CndpbmRvdy5FdmVudD13aW5kb3cuRXZlbnR8fGZ1bmN0aW9uKCl7 fTtFdmVudC5fX2lubGluZVN1Ym1pdD1mdW5jdGlvbihiLGV2ZW50KXt2YXIgYT1F dmVudC5fX2dldEhhbmRsZXImJkV2ZW50Ll9fZ2V0SGFuZGxlcihiLCdzdWJtaXQn KTtyZXR1cm4gYT9udWxsOkV2ZW50Ll9fYnViYmxlU3VibWl0KGIsZXZlbnQpO307 RXZlbnQuX19idWJibGVTdWJtaXQ9ZnVuY3Rpb24oYSxldmVudCl7aWYoZG9jdW1l bnQuZG9jdW1lbnRFbGVtZW50LmF0dGFjaEV2ZW50KXt2YXIgYjt3aGlsZShiIT09 ZmFsc2UmJihhPWEucGFyZW50Tm9kZSkpYj1hLm9uc3VibWl0P2Eub25zdWJtaXQo ZXZlbnQpOkV2ZW50Ll9fZmlyZSYmRXZlbnQuX19maXJlKGEsJ3N1Ym1pdCcsZXZl bnQpO3JldHVybiBiO319OwpKU0NDPXdpbmRvdy5KU0NDfHxmdW5jdGlvbigpe3Zh ciBhPXt9LGI9e307cmV0dXJuIHtnZXQ6ZnVuY3Rpb24oYyl7aWYoYyBpbiBhKXti W2NdPWFbY10oKTtkZWxldGUgYVtjXTtyZXR1cm4gYltjXTt9ZWxzZSByZXR1cm4g YltjXTt9LGluaXQ6ZnVuY3Rpb24oYyl7Y29weV9wcm9wZXJ0aWVzKGEsYyk7fX07 fSgpOwpEeW5hVGVtcGxhdGU9d2luZG93LkR5bmFUZW1wbGF0ZXx8KGZ1bmN0aW9u KCl7dmFyIGc9J1tbJyxpPSdcXFtcXFsnLGg9J1xcXVxcXSc7dmFyIGw9e307dmFy IGE9e307ZnVuY3Rpb24gZChuLG0pe3JldHVybiBtLmluZGV4T2YoZytuKSE9LTE7 fWZ1bmN0aW9uIGUobSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu Y2FsbChtKT09PSJbb2JqZWN0IEFycmF5XSI7fWZ1bmN0aW9uIGYobSl7cmV0dXJu IG0mJnR5cGVvZiBtPT0ib2JqZWN0Ijt9ZnVuY3Rpb24gYyhtKXtzd2l0Y2gobSl7 Y2FzZSAiJiI6cmV0dXJuICImYW1wOyI7Y2FzZSAnIic6cmV0dXJuICcmcXVvdDsn O2Nhc2UgIiciOnJldHVybiAnJiMzOTsnO2Nhc2UgIjwiOnJldHVybiAiJmx0OyI7 Y2FzZSAiPiI6cmV0dXJuICImZ3Q7IjtkZWZhdWx0OnJldHVybiBtO319ZnVuY3Rp b24gYihtKXttPVN0cmluZyhtPT09bnVsbD8iIjptKTtyZXR1cm4gbS5yZXBsYWNl KC8mKD8hXHcrOyl8WyInPD5dL2csYyk7fWZ1bmN0aW9uIGoobil7Zm9yKHZhciBt IGluIG4pe3ZhciBvPW5bbV07YVtvWzBdXT1vWzFdO2xbbV09b1sxXTt9fWZ1bmN0 aW9uIGsocCxtKXtpZihwLmNoYXJBdCgwKT09J0AnKXJldHVybiBrKGFbcC5zdWJz dHJpbmcoMSldLG0pO2lmKGQoJyMnLHApfHxkKCdeJyxwKSl7dmFyIG89bmV3IFJl Z0V4cChpKyIoXFxefFxcIylcXHMqKC4rKVxccyoiK2grIlxuKihbXFxzXFxTXSs/ KSIraSsiXFwvXFxzKlxcMlxccyoiK2grIlxccyoiLCJtZyIpO3A9cC5yZXBsYWNl KG8sZnVuY3Rpb24ocSx2LHQscil7dmFyIHc9bVt0XTt3PSh3JiZ3Ll9faHRtbCE9 PXVuZGVmaW5lZCk/dy5fX2h0bWw6dztpZih2PT0nXicpe2lmKCF3fHxlKHcpJiZ3 Lmxlbmd0aD09PTApe3JldHVybiBrKHIsbSk7fWVsc2UgcmV0dXJuICcnO31lbHNl IGlmKHY9PScjJyl7aWYoZSh3KSl7dmFyIHU9W107Zm9yKHZhciBzPTA7czx3Lmxl bmd0aDtzKyspdS5wdXNoKGsocix3W3NdKSk7cmV0dXJuIHUuam9pbignJyk7fWVs c2UgaWYoZih3KSl7cmV0dXJuIGsocix3KTt9ZWxzZSBpZighKHR5cGVvZiB3PT0n ZnVuY3Rpb24nKSlpZih3KXJldHVybiBrKHIsbSk7cmV0dXJuICcnO319KTt9aWYo IWQoIiIscCkpcmV0dXJuIHA7dmFyIG49bmV3IFJlZ0V4cChpKyIoPnxcXFt8Jik/ KFteXFwvI1xcXl0rPylcXDE/IitoKyIrIiwiZyIpO3JldHVybiBwLnJlcGxhY2Uo bixmdW5jdGlvbihxLHMscil7cj1yLnJlcGxhY2UoL15ccyp8XHMqJC9nLCIiKTt2 YXIgdD1tW3JdO2lmKCF0fHx0IGluc3RhbmNlb2YgQXJyYXkmJnQubGVuZ3RoPT09 MClyZXR1cm4gJyc7c3dpdGNoKHMpe2Nhc2UgJz4nOmlmKHRbMF0uY2hhckF0KDAp PT0nQCcpe3JldHVybiBrKHRbMF0sdFsxXSk7fWVsc2UgaWYoISh0WzBdIGluIGwp KXJldHVybiAnJztyZXR1cm4gayhsW3RbMF1dLHRbMV0pO2Nhc2UgJyYnOmRlZmF1 bHQ6aWYod2luZG93LkhUTUwmJnQgaW5zdGFuY2VvZiBIVE1MKXJldHVybiB0LnRv U3RyaW5nKCk7cmV0dXJuIHQuX19odG1sIT09dW5kZWZpbmVkP3QuX19odG1sOmIo dCk7fX0pO31yZXR1cm4ge3JlZ2lzdGVyVGVtcGxhdGVzOmoscmVuZGVyVG9IdG1s Omt9O30pKCk7CmZ1bmN0aW9uIEJpZ1BpcGUoYSl7Y29weV9wcm9wZXJ0aWVzKHRo aXMse2FyYml0ZXI6QXJiaXRlcixyb290Tm9kZUlEOidjb250ZW50JyxsaWQ6MCxp c0FqYXg6ZmFsc2UsaXNSZXBsYXk6ZmFsc2UscnJFbmFibGVkOnRydWUsZG9tQ29u dGVudENhbGxiYWNrOmRvbWNvbnRlbnRfY2FsbGJhY2ssb25sb2FkQ2FsbGJhY2s6 b25sb2FkX2NhbGxiYWNrLGRvbUNvbnRlbnRFdnQ6T25sb2FkRXZlbnQuT05MT0FE X0RPTUNPTlRFTlRfQ0FMTEJBQ0ssb25sb2FkRXZ0Ok9ubG9hZEV2ZW50Lk9OTE9B RF9DQUxMQkFDSyxmb3JjZUZpbmlzaDpmYWxzZSxfcGhhc2VEb25lQ2FsbGJhY2tz OltdLF9jdXJyZW50UGhhc2U6MCxfbGFzdFBoYXNlOi0xLF90aW1lb3V0OjIwLF9j YWNoZWRfcGFnZWxldHM6e319KTtjb3B5X3Byb3BlcnRpZXModGhpcyxhKTt0aGlz Ll9jYXZhbHJ5PSh0aGlzLmxpZCYmd2luZG93LkNhdmFscnlMb2dnZXIpP0NhdmFs cnlMb2dnZXIuZ2V0SW5zdGFuY2UodGhpcy5saWQpOm51bGw7dGhpcy5faW5zdD10 aGlzLl9jYXZhbHJ5JiYod2luZG93Ll9wYWdlbGV0X3Byb2ZpbGV8fHRoaXMuX2Nh dmFscnkuaXNQYWdlbGV0UHJvZmlsZXIoKSk7QmlnUGlwZS5fY3VycmVudF9pbnN0 YW5jZT10aGlzO2lmKHdpbmRvdy5lbnZfZ2V0JiZlbnZfZ2V0KCd0dGlfdmlzaW9u Jyk9PT0xKShuZXcgVFRJVmlzdWFsaXplcih0aGlzKSkuaW5pdCgpO3RoaXMuYXJi aXRlci5yZWdpc3RlckNhbGxiYWNrKHRoaXMuZG9tQ29udGVudENhbGxiYWNrLFsn cGFnZWxldF9kaXNwbGF5ZWRfYWxsJ10pO3RoaXMuYXJiaXRlci5pbmZvcm0oJ3Bo YXNlX2JlZ2luXzAnLHRydWUsQXJiaXRlci5CRUhBVklPUl9TVEFURSk7dGhpcy5f aW5zdCYmdGhpcy5fY2F2YWxyeS5zZXRUaW1lU3RhbXAoJ3RfcGhhc2VfYmVnaW5f MCcpO3RoaXMub25sb2FkQ2FsbGJhY2s9dGhpcy5hcmJpdGVyLnJlZ2lzdGVyQ2Fs bGJhY2sodGhpcy5vbmxvYWRDYWxsYmFjayxbJ3BhZ2VsZXRfZGlzcGxheWVkX2Fs bCddKTt9Y29weV9wcm9wZXJ0aWVzKEJpZ1BpcGUucHJvdG90eXBlLHtfY3Q6ZnVu Y3Rpb24oYSl7cmV0dXJuICghYXx8J2xlbmd0aCcgaW4gYSYmYS5sZW5ndGg9PT0w KT97fTphO30sX2Rpc3BsYXlQYWdlbGV0OmZ1bmN0aW9uKGUpe2UuY29udGVudD10 aGlzLl9jdChlLmNvbnRlbnQpO3ZhciBkPXRydWU7Zm9yKHZhciBjIGluIGUuY29u dGVudCl7aWYoZS5hcHBlbmQpe2lmKGUuYXBwZW5kPT09J2JpZ3BpcGVfcm9vdCcp e3RhcmdldF9pZD10aGlzLnJvb3ROb2RlSUQ7fWVsc2UgdGFyZ2V0X2lkPWUuYXBw ZW5kO31lbHNlIHRhcmdldF9pZD1jO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRC eUlkKHRhcmdldF9pZCksYT1lLmNvbnRlbnRbY107aWYoYil7aWYoYSl7aWYodHlw ZW9mIGEhPSdzdHJpbmcnKWE9RHluYVRlbXBsYXRlLnJlbmRlclRvSHRtbChhWzBd LGFbMV0pO2lmKCFlLmFwcGVuZCYmZS5oYXNfaW5saW5lX2pzKXtpZih3aW5kb3cu RE9NJiZ3aW5kb3cuSFRNTCl7RE9NLnNldENvbnRlbnQoYixIVE1MKGEpKTt9ZWxz ZXtkPWZhbHNlO0Jvb3Rsb2FkZXIubG9hZENvbXBvbmVudHMoJ2RvbScsZnVuY3Rp b24oKXtET00uc2V0Q29udGVudChiLEhUTUwoYSkpO3RoaXMuYXJiaXRlci5pbmZv cm0oZS5pZCsnX2Rpc3BsYXllZCcsdHJ1ZSxBcmJpdGVyLkJFSEFWSU9SX1NUQVRF KTt9LmJpbmQodGhpcykpO319ZWxzZSBpZihlLmFwcGVuZHx8dWEuaWUoKTw4KXtp ZighZS5hcHBlbmQpd2hpbGUoYi5maXJzdENoaWxkKWIucmVtb3ZlQ2hpbGQoYi5m aXJzdENoaWxkKTt0aGlzLl9hcHBlbmROb2RlcyhiLGEpO31lbHNlIGIuaW5uZXJI VE1MPWE7fWlmKHRoaXMuX2luc3QpdGhpcy5fY2F2YWxyeS5vblBhZ2VsZXRFdmVu dCgnZGlzcGxheScsZS5pZCk7fX1pZihkKXRoaXMuYXJiaXRlci5pbmZvcm0oZS5p ZCsnX2Rpc3BsYXllZCcsdHJ1ZSxBcmJpdGVyLkJFSEFWSU9SX1NUQVRFKTt9LF9h cHBlbmROb2RlczpmdW5jdGlvbihhLGQpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoJ2RpdicpO3ZhciBjPXVhLmllKCk8NztpZihjKWEuYXBwZW5kQ2hpbGQo ZSk7ZS5pbm5lckhUTUw9ZDt2YXIgYj1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZy YWdtZW50KCk7d2hpbGUoZS5maXJzdENoaWxkKWIuYXBwZW5kQ2hpbGQoZS5maXJz dENoaWxkKTthLmFwcGVuZENoaWxkKGIpO2lmKGMpYS5yZW1vdmVDaGlsZChlKTt9 LF9kb3dubG9hZEpzRm9yUGFnZWxldDpmdW5jdGlvbihhKXtCb290bG9hZGVyLmxv YWRSZXNvdXJjZXMoYS5qc3x8W10sYmluZCh0aGlzLGZ1bmN0aW9uKCl7aWYodGhp cy5faW5zdCl0aGlzLl9jYXZhbHJ5Lm9uUGFnZWxldEV2ZW50KCdqc2RvbmUnLGEu aWQpO2EucmVxdWlyZXM9YS5yZXF1aXJlc3x8W107aWYoIXRoaXMuaXNBamF4fHxh LnBoYXNlPj0xKWEucmVxdWlyZXMucHVzaCgndWlwYWdlX29ubG9hZCcpO3ZhciBj PWJpbmQodGhpcyxmdW5jdGlvbigpe2lmKCF0aGlzLl9pc1JlbGV2YW50KCkpcmV0 dXJuO2ludm9rZV9jYWxsYmFja3MoYS5vbmxvYWQpO2lmKHRoaXMuX2luc3QpdGhp cy5fY2F2YWxyeS5vblBhZ2VsZXRFdmVudCgnb25sb2FkJyxhLmlkKTt0aGlzLmFy Yml0ZXIuaW5mb3JtKCdwYWdlbGV0X29ubG9hZCcsdHJ1ZSxBcmJpdGVyLkJFSEFW SU9SX0VWRU5UKTthLnByb3ZpZGVzJiZ0aGlzLmFyYml0ZXIuaW5mb3JtKGEucHJv dmlkZXMsdHJ1ZSxBcmJpdGVyLkJFSEFWSU9SX1NUQVRFKTt9KTt2YXIgYj1iaW5k KHRoaXMsZnVuY3Rpb24oKXt0aGlzLl9pc1JlbGV2YW50KCkmJmludm9rZV9jYWxs YmFja3MoYS5vbmFmdGVybG9hZCk7fSk7dGhpcy5hcmJpdGVyLnJlZ2lzdGVyQ2Fs bGJhY2soYyxhLnJlcXVpcmVzKTt0aGlzLmFyYml0ZXIucmVnaXN0ZXJDYWxsYmFj ayhiLFt0aGlzLm9ubG9hZEV2dF0pO30pLGZhbHNlLGEuaWQpO30sX2Rvd25sb2Fk Q3NzQW5kRGlzcGxheVBhZ2VsZXQ6ZnVuY3Rpb24oYyl7aWYodGhpcy5faW5zdCl0 aGlzLl9jYXZhbHJ5Lm9uUGFnZWxldEV2ZW50KCdjc3MnLGMuaWQpO3ZhciBiPWJp bmQodGhpcyxmdW5jdGlvbigpe3ZhciBkPWMuZGlzcGxheV9kZXBlbmRlbmN5fHxb XTt2YXIgZj1bXTtmb3IodmFyIGU9MDtlPGQubGVuZ3RoO2UrKylmLnB1c2goZFtl XSsnX2Rpc3BsYXllZCcpO3RoaXMuYXJiaXRlci5yZWdpc3RlckNhbGxiYWNrKHRo aXMuX2Rpc3BsYXlQYWdlbGV0LmJpbmQodGhpcyxjKSxmKTt9KTt2YXIgYT1jLmNz c3x8W107aWYodGhpcy5pc1JlcGxheSl7Qm9vdGxvYWRlci5sb2FkUmVzb3VyY2Vz KGEsbnVsbCxmYWxzZSxjLmlkKTtiKCk7fWVsc2UgQm9vdGxvYWRlci5sb2FkUmVz b3VyY2VzKGEsYixmYWxzZSxjLmlkKTt9LG9uUGFnZWxldEFycml2ZTpmdW5jdGlv bihiKXtpZihiLnBhZ2VfY2FjaGUpdGhpcy5fY2FjaGVkX3BhZ2VsZXRzWydpZF8n K2IuaWRdPWI7aWYodGhpcy5faW5zdCl0aGlzLl9jYXZhbHJ5Lm9uUGFnZWxldEV2 ZW50KCdhcnJpdmUnLGIuaWQpO3ZhciBjPWIucGhhc2U7aWYoIXRoaXMuX3BoYXNl RG9uZUNhbGxiYWNrc1tjXSl0aGlzLl9waGFzZURvbmVDYWxsYmFja3NbY109dGhp cy5hcmJpdGVyLnJlZ2lzdGVyQ2FsbGJhY2sodGhpcy5fb25QaGFzZURvbmUuYmlu ZCh0aGlzKSxbJ3BoYXNlX2NvbXBsZXRlXycrY10pO2lmKGIudGhlX2VuZCl0aGlz Ll9sYXN0UGhhc2U9Yi5waGFzZTtpZihiLnR0aV9waGFzZSE9PXVuZGVmaW5lZCl0 aGlzLl90dGlQaGFzZT1iLnR0aV9waGFzZTtiLmpzY2MmJmludm9rZV9jYWxsYmFj a3MoW2IuanNjY10pO2IudHBsdHMmJkR5bmFUZW1wbGF0ZS5yZWdpc3RlclRlbXBs YXRlcyhiLnRwbHRzKTtCb290bG9hZGVyLnNldFJlc291cmNlTWFwKGIucmVzb3Vy Y2VfbWFwKTtCb290bG9hZGVyLmVuYWJsZUJvb3Rsb2FkKHRoaXMuX2N0KGIuYm9v dGxvYWRhYmxlKSk7dGhpcy5hcmJpdGVyLnJlZ2lzdGVyQ2FsbGJhY2sodGhpcy5f ZG93bmxvYWRDc3NBbmREaXNwbGF5UGFnZWxldC5iaW5kKHRoaXMsYiksWydwaGFz ZV9iZWdpbl8nK2NdKTt2YXIgYTtpZighdGhpcy5qc05vbkJsb2NrKXthPXRoaXMu ZG9tQ29udGVudEV2dDt9ZWxzZSBhPWIuaWQrJ19kaXNwbGF5ZWQnO3RoaXMuYXJi aXRlci5yZWdpc3RlckNhbGxiYWNrKHRoaXMub25sb2FkQ2FsbGJhY2ssWydwYWdl bGV0X29ubG9hZCddKTt0aGlzLmFyYml0ZXIucmVnaXN0ZXJDYWxsYmFjayh0aGlz Ll9kb3dubG9hZEpzRm9yUGFnZWxldC5iaW5kKHRoaXMsYiksW2FdKTt0aGlzLmFy Yml0ZXIucmVnaXN0ZXJDYWxsYmFjayh0aGlzLl9waGFzZURvbmVDYWxsYmFja3Nb Y10sW2IuaWQrJ19kaXNwbGF5ZWQnXSk7Yi5pc19sYXN0JiZ0aGlzLmFyYml0ZXIu aW5mb3JtKCdwaGFzZV9jb21wbGV0ZV8nK2MsdHJ1ZSxBcmJpdGVyLkJFSEFWSU9S X1NUQVRFKTtiLmludmFsaWRhdGVfY2FjaGUmJmIuaW52YWxpZGF0ZV9jYWNoZS5s ZW5ndGgmJkFyYml0ZXIuaW5mb3JtKEFyYml0ZXIuUEFHRUNBQ0hFX0lOVkFMSURB VEUsYi5pbnZhbGlkYXRlX2NhY2hlKTt9LF9vblBoYXNlRG9uZTpmdW5jdGlvbigp e2lmKHRoaXMuX2N1cnJlbnRQaGFzZT09PXRoaXMuX3R0aVBoYXNlJiZ0aGlzLnJy RW5hYmxlZCl7dGhpcy5hcmJpdGVyLmluZm9ybSgndHRpX2JpZ3BpcGUnLHtzOnRo aXMubGlkfSxBcmJpdGVyLkJFSEFWSU9SX0VWRU5UKTt0aGlzLl9jYXZhbHJ5JiZ0 aGlzLl9jYXZhbHJ5LnNldFRUSVBoYXNlKHRoaXMuX3R0aVBoYXNlKS5tZWFzdXJl UGFnZUxvYWQodHJ1ZSk7fXZhciBiPXRoaXMuX2N1cnJlbnRQaGFzZSsxO3ZhciBh PWJpbmQodGhpcyxmdW5jdGlvbigpe3RoaXMuX2luc3QmJnRoaXMuX2NhdmFscnku c2V0VGltZVN0YW1wKCd0X3BoYXNlX2JlZ2luXycrYik7dGhpcy5hcmJpdGVyLmlu Zm9ybSgncGhhc2VfYmVnaW5fJytiLHRydWUsQXJiaXRlci5CRUhBVklPUl9TVEFU RSk7fSk7aWYodGhpcy5pc1JlcGxheSl7YSgpO31lbHNlIHNldFRpbWVvdXQoYSx0 aGlzLl90aW1lb3V0KTtpZih0aGlzLl9jdXJyZW50UGhhc2U9PT10aGlzLl9sYXN0 UGhhc2UmJnRoaXMuX2lzUmVsZXZhbnQoKSl0aGlzLmFyYml0ZXIuaW5mb3JtKCdw YWdlbGV0X2Rpc3BsYXllZF9hbGwnLHRydWUsQXJiaXRlci5CRUhBVklPUl9TVEFU RSk7dGhpcy5fY3VycmVudFBoYXNlKys7fSxfaXNSZWxldmFudDpmdW5jdGlvbigp e3JldHVybiB0aGlzPT1CaWdQaXBlLl9jdXJyZW50X2luc3RhbmNlfHx0aGlzLmlz UmVwbGF5fHx0aGlzLmpzTm9uQmxvY2t8fHRoaXMuZm9yY2VGaW5pc2g7fSxnZXRB bGxDYWNoZWRQYWdlbGV0czpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYWNoZWRf cGFnZWxldHM7fX0pOwpmdW5jdGlvbiBuYW1lc3BhY2UoZSxmKXt2YXIgZD1lLnNw bGl0KCcuJyksYT0wLGI9ZC5sZW5ndGgsYz1mfHx3aW5kb3c7Zm9yKDthPGI7YSsr KXtpZighY1tkW2FdXSljW2RbYV1dPXt9O2M9Y1tkW2FdXTt9cmV0dXJuIGM7fQpm dW5jdGlvbiBpbmNvcnBvcmF0ZV9mcmFnbWVudChhKXt2YXIgYz0vXig/Oig/Olte OlwvPyNdKyk6KT8oPzpcL1wvKD86W15cLz8jXSopKT8oW14/I10qKSg/Olw/KFte I10qKSk/KD86IyguKikpPy87dmFyIGI9Jyc7YS5ocmVmLnJlcGxhY2UoYyxmdW5j dGlvbihkLGcsaCxmKXt2YXIgZSxpO2U9aT1nKyhoPyc/JytoOicnKTtpZihmKXtm PWYucmVwbGFjZSgvXighfCUyMSkvLCcnKTtpZihmLmNoYXJBdCgwKT09Jy8nKWU9 Zi5yZXBsYWNlKC9eXC8rLywnLycpO31pZihlIT1pKXtpZih3aW5kb3cuX3Njcmlw dF9wYXRoKWRvY3VtZW50LmNvb2tpZT0icmRpcj0iK3dpbmRvdy5fc2NyaXB0X3Bh dGgrIjsgcGF0aD0vOyBkb21haW49Iit3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUu cmVwbGFjZSgvXi4qKFwuZmFjZWJvb2tcLi4qKSQvaSwnJDEnKTt3aW5kb3cubG9j YXRpb24ucmVwbGFjZShiK2UpO319KTt9aWYod2luZG93Ll9zY3JpcHRfcGF0aCE9 PXVuZGVmaW5lZClpbmNvcnBvcmF0ZV9mcmFnbWVudCh3aW5kb3cubG9jYXRpb24p OwohZnVuY3Rpb24oKXt2YXIgYj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7dmFy IGE9ZnVuY3Rpb24oYyl7Yz1jfHx3aW5kb3cuZXZlbnQ7dmFyIGQ9Yy50YXJnZXR8 fGMuc3JjRWxlbWVudDt2YXIgZj1kLmdldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXIn KTtpZihmKXt2YXIgZT1QYXJlbnQuYnlDbGFzcyhkLCdmb2N1c190YXJnZXQnKTtp ZignZm9jdXMnPT1jLnR5cGV8fCdmb2N1c2luJz09Yy50eXBlKXtpZihkLnZhbHVl PT1mJiZDU1MuaGFzQ2xhc3MoZCwnRE9NQ29udHJvbF9wbGFjZWhvbGRlcicpKXtk LnZhbHVlPScnO0NTUy5yZW1vdmVDbGFzcyhkLCdET01Db250cm9sX3BsYWNlaG9s ZGVyJyk7fWlmKGUpe0NTUy5hZGRDbGFzcyhlLCdjaGlsZF9pc19hY3RpdmUnKTtD U1MuYWRkQ2xhc3MoZSwnY2hpbGRfaXNfZm9jdXNlZCcpO0NTUy5hZGRDbGFzcyhl LCdjaGlsZF93YXNfZm9jdXNlZCcpO0FyYml0ZXIuaW5mb3JtKCdyZWZsb3cnKTt9 fWVsc2V7aWYoZC52YWx1ZT09Jycpe0NTUy5hZGRDbGFzcyhkLCdET01Db250cm9s X3BsYWNlaG9sZGVyJyk7ZC52YWx1ZT1mO2UmJkNTUy5yZW1vdmVDbGFzcyhlLCdj aGlsZF9pc19hY3RpdmUnKTt9ZSYmQ1NTLnJlbW92ZUNsYXNzKGUsJ2NoaWxkX2lz X2ZvY3VzZWQnKTt9fX07aWYoYi5hZGRFdmVudExpc3RlbmVyKXtiLmFkZEV2ZW50 TGlzdGVuZXIoJ2ZvY3VzJyxhLHRydWUpO2IuYWRkRXZlbnRMaXN0ZW5lcignYmx1 cicsYSx0cnVlKTt9ZWxzZSBiLm9uZm9jdXNpbj1iLm9uZm9jdXNvdXQ9YTt9KCk7 CmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vbmtleWRvd249ZnVuY3Rpb24oYSl7 YT1hfHx3aW5kb3cuZXZlbnQ7dmFyIGI9YS50YXJnZXR8fGEuc3JjRWxlbWVudDt2 YXIgYz1hLmtleUNvZGU9PTEzJiYhYS5hbHRLZXkmJiFhLmN0cmxLZXkmJiFhLm1l dGFLZXkmJiFhLnNoaWZ0S2V5JiZDU1MuaGFzQ2xhc3MoYiwnZW50ZXJfc3VibWl0 Jyk7aWYoYyl7Qm9vdGxvYWRlci5sb2FkQ29tcG9uZW50cyhbJ2RvbScsJ2lucHV0 LW1ldGhvZHMnXSxmdW5jdGlvbigpe2lmKCFJbnB1dC5pc0VtcHR5KGIpKXt2YXIg ZD1ET00uc2NyeShiLmZvcm0sJy5lbnRlcl9zdWJtaXRfdGFyZ2V0JylbMF18fERP TS5zY3J5KGIuZm9ybSwnW3R5cGU9InN1Ym1pdCJdJylbMF07ZCYmZC5jbGljaygp O319KTtyZXR1cm4gZmFsc2U7fX07CmZ1bmN0aW9uIGZjX2NsaWNrKGEsYil7dXNl cl9hY3Rpb24oYSwndWZpJyk7ZmNfZXhwYW5kKGEsYik7fWZ1bmN0aW9uIGZjX2V4 cGFuZChhLGIpe3ZhciBjPVBhcmVudC5ieVRhZyhhLCdmb3JtJyk7ZmNfdW5jb2xs YXBzZShjKTtDU1MucmVtb3ZlQ2xhc3MoYywnaGlkZGVuX2FkZF9jb21tZW50Jyk7 aWYoYiE9PWZhbHNlKShjLmFkZF9jb21tZW50X3RleHRfdGV4dHx8Yy5hZGRfY29t bWVudF90ZXh0KS5mb2N1cygpO3JldHVybiBmYWxzZTt9ZnVuY3Rpb24gZmNfdW5j b2xsYXBzZShhKXtDU1MucmVtb3ZlQ2xhc3MoYSwnY29sbGFwc2VkX2NvbW1lbnRz Jyk7fQ== ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=5YkCKQk_Uwd.js Content-Type: application/x-javascript; charset=utf-8; name=5YkCKQk_Uwd.js Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/y5/r/5YkCKQk_Uwd.js Content-Transfer-Encoding: Base64 LyoxMzA4MTcyNTQ1LDE3NjgzMjY5NCovCgppZiAod2luZG93LkNhdmFscnlMb2dn ZXIpIHsgQ2F2YWxyeUxvZ2dlci5zdGFydF9qcyhbImV2VFFkIl0pOyB9CgpmdW5j dGlvbiBvYmplY3QoYil7dmFyIGE9bmV3IEZ1bmN0aW9uKCk7YS5wcm90b3R5cGU9 YjtyZXR1cm4gbmV3IGEoKTt9ZnVuY3Rpb24gaXNfc2NhbGFyKGEpe3JldHVybiAo L3N0cmluZ3xudW1iZXJ8Ym9vbGVhbi8pLnRlc3QodHlwZW9mIGEpO31mdW5jdGlv biBrZXlzKGMpe3ZhciBiPVtdO2Zvcih2YXIgYSBpbiBjKWIucHVzaChhKTtyZXR1 cm4gYjt9ZnVuY3Rpb24gdmFsdWVzKGIpe3ZhciBjPVtdO2Zvcih2YXIgYSBpbiBi KWMucHVzaChiW2FdKTtyZXR1cm4gYzt9ZnVuY3Rpb24gY291bnQoYyl7dmFyIGE9 MDtmb3IodmFyIGIgaW4gYylhKys7cmV0dXJuIGE7fWZ1bmN0aW9uIGFyZV9lcXVh bChhLGIpe3JldHVybiBKU09OLnN0cmluZ2lmeShhKT09SlNPTi5zdHJpbmdpZnko Yik7fWZ1bmN0aW9uIG1lcmdlKCl7dmFyIGI9e307Zm9yKHZhciBhPTA7YTxhcmd1 bWVudHMubGVuZ3RoO2ErKyljb3B5X3Byb3BlcnRpZXMoYixhcmd1bWVudHNbYV0p O3JldHVybiBiO31PYmplY3QuZnJvbT1mdW5jdGlvbihjLGUpe3ZhciBkPXt9O3Zh ciBiPWhhc0FycmF5TmF0dXJlKGUpO2lmKHR5cGVvZiBlPT0ndW5kZWZpbmVkJyll PXRydWU7Zm9yKHZhciBhPWMubGVuZ3RoO2EtLTspZFtjW2FdXT1iP2VbYV06ZTty ZXR1cm4gZDt9O2Z1bmN0aW9uIGNvYWxlc2NlKCl7Zm9yKHZhciBhPTA7YTxhcmd1 bWVudHMubGVuZ3RoOysrYSlpZihhcmd1bWVudHNbYV0hPW51bGwpcmV0dXJuIGFy Z3VtZW50c1thXTtyZXR1cm4gbnVsbDt9CmZ1bmN0aW9uIG11ZmZpbml6ZShkKXt2 YXIgYz0nYSc7dmFyIGI9J2QnO3ZhciBhPVtjLGJdLmpvaW4oJycpO3JldHVybiBk LnJlcGxhY2UoL211ZmZpbi9nLGEpO313aW5kb3cuVXRpbD13aW5kb3cuVXRpbHx8 e3dhcm46YmFnb2Zob2xkaW5nLGVycm9yOmJhZ29maG9sZGluZyxpbmZvOmJhZ29m aG9sZGluZyxsb2c6YmFnb2Zob2xkaW5nLHN0YWNrOmJhZ29maG9sZGluZ307aWYo dHlwZW9mIGNvbnNvbGU9PSd1bmRlZmluZWQnKWNvbnNvbGU9e2xvZzpiYWdvZmhv bGRpbmd9OwpmdW5jdGlvbiBBc3luY1NpZ25hbChiLGEpe3RoaXMuZGF0YT1hfHx7 fTtpZih3aW5kb3cuRW52JiZFbnYudHJhY2tpbmdfZG9tYWluJiZiLmNoYXJBdCgw KT09Jy8nKWI9RW52LnRyYWNraW5nX2RvbWFpbitiO3RoaXMudXJpPWI7dGhpcy5o YW5kbGVyPW51bGw7fUFzeW5jU2lnbmFsLnByb3RvdHlwZS5zZXRIYW5kbGVyPWZ1 bmN0aW9uKGEpe3RoaXMuaGFuZGxlcj1hO3JldHVybiB0aGlzO307QXN5bmNTaWdu YWwucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgYz10aGlzLmhhbmRsZXIs Yj10aGlzLmRhdGEsZz10aGlzLnVyaSxmPVtdLGQ9bmV3IEltYWdlKCksYT1kb2N1 bWVudC5nZXRFbGVtZW50QnlJZCgncG9zdF9mb3JtX2lkJyk7Yi5hc3luY1NpZ25h bD1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTAwMDApKzE7aWYoYSliLnBvc3Rf Zm9ybV9pZD1hLnZhbHVlO2Zvcih2YXIgZSBpbiBiKWYucHVzaChlbmNvZGVVUklD b21wb25lbnQoZSkrJz0nK2VuY29kZVVSSUNvbXBvbmVudChiW2VdKSk7aWYoZy5p bmRleE9mKCc/Jyk9PS0xKWcrPSc/JztnKz1mLmpvaW4oJyYnKTtpZihjKWQub25s b2FkPWQub25lcnJvcj0oZnVuY3Rpb24oaSxoKXtyZXR1cm4gZnVuY3Rpb24oKXto KChpLmhlaWdodD09MSkpO307fSkoZCxjKTtkLnNyYz1nO3JldHVybiB0aGlzO307 CmZ1bmN0aW9uIHNldENvb2tpZShhLGIsZCxlKXtpZihlbnZfZ2V0KCdub19jb29r aWVzJykmJmEhPSd0cGEnKXJldHVybjtpZihkKXt2YXIgZj1uZXcgRGF0ZSgpO3Zh ciBjPW5ldyBEYXRlKCk7Yy5zZXRUaW1lKGYuZ2V0VGltZSgpK2QpO31kb2N1bWVu dC5jb29raWU9YSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKyI7ICIrKGQ/ImV4 cGlyZXM9IitjLnRvR01UU3RyaW5nKCkrIjsgIjoiIikrInBhdGg9IisoZXx8Jy8n KSsiOyBkb21haW49Iit3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUucmVwbGFjZSgv Xi4qKFwuZmFjZWJvb2tcLi4qKSQvaSwnJDEnKTt9ZnVuY3Rpb24gY2xlYXJDb29r aWUoYSl7ZG9jdW1lbnQuY29va2llPWErIj07IGV4cGlyZXM9U2F0LCAwMSBKYW4g MjAwMCAwMDowMDowMCBHTVQ7ICIrInBhdGg9LzsgZG9tYWluPSIrd2luZG93Lmxv Y2F0aW9uLmhvc3RuYW1lLnJlcGxhY2UoL14uKihcLmZhY2Vib29rXC4uKikkL2ks JyQxJyk7fWZ1bmN0aW9uIGdldENvb2tpZShkKXt2YXIgZT1kKyI9Ijt2YXIgYj1k b2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTtmb3IodmFyIGM9MDtjPGIubGVuZ3Ro O2MrKyl7dmFyIGE9YltjXTt3aGlsZShhLmNoYXJBdCgwKT09JyAnKWE9YS5zdWJz dHJpbmcoMSxhLmxlbmd0aCk7aWYoYS5pbmRleE9mKGUpPT0wKXJldHVybiBkZWNv ZGVVUklDb21wb25lbnQoYS5zdWJzdHJpbmcoZS5sZW5ndGgsYS5sZW5ndGgpKTt9 cmV0dXJuIG51bGw7fQpmdW5jdGlvbiBIVE1MKGEpe2lmKGEmJmEuX19odG1sKWE9 YS5fX2h0bWw7aWYodGhpcz09PXdpbmRvdyl7aWYoYSBpbnN0YW5jZW9mIEhUTUwp cmV0dXJuIGE7cmV0dXJuIG5ldyBIVE1MKGEpO310aGlzLl9jb250ZW50PWE7dGhp cy5fZGVmZXI9ZmFsc2U7dGhpcy5fZXh0cmFfYWN0aW9uPScnO3RoaXMuX25vZGVz PW51bGw7dGhpcy5faW5saW5lX2pzPWJhZ29maG9sZGluZzt0aGlzLl9oYXNfb3B0 aW9uX2VsZW1lbnRzPWZhbHNlO3JldHVybiB0aGlzO31IVE1MLmlzSFRNTD1mdW5j dGlvbihhKXtyZXR1cm4gYSYmKGEgaW5zdGFuY2VvZiBIVE1MfHxhLl9faHRtbCE9 PXVuZGVmaW5lZCk7fTtIVE1MLnJlcGxhY2VKU09OV3JhcHBlcj1mdW5jdGlvbihh KXtyZXR1cm4gYSYmYS5fX2h0bWwhPT11bmRlZmluZWQ/bmV3IEhUTUwoYS5fX2h0 bWwpOmE7fTtjb3B5X3Byb3BlcnRpZXMoSFRNTC5wcm90b3R5cGUse3RvU3RyaW5n OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5fY29udGVudHx8Jyc7aWYodGhpcy5fZXh0 cmFfYWN0aW9uKWErPSc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Jyt0 aGlzLl9leHRyYV9hY3Rpb24rJzwvc2NyJysnaXB0Pic7cmV0dXJuIGE7fSxzZXRB Y3Rpb246ZnVuY3Rpb24oYSl7dGhpcy5fZXh0cmFfYWN0aW9uPWE7cmV0dXJuIHRo aXM7fSxnZXRBY3Rpb246ZnVuY3Rpb24oKXt0aGlzLl9maWxsQ2FjaGUoKTt2YXIg YT1mdW5jdGlvbigpe3RoaXMuX2lubGluZV9qcygpO2V2YWxfZ2xvYmFsKHRoaXMu X2V4dHJhX2FjdGlvbik7fS5iaW5kKHRoaXMpO2lmKHRoaXMuZ2V0RGVmZXJyZWQo KSl7cmV0dXJuIGEuZGVmZXIuYmluZChhKTt9ZWxzZSByZXR1cm4gYTt9LHNldERl ZmVycmVkOmZ1bmN0aW9uKGEpe3RoaXMuX2RlZmVyPSEhYTtyZXR1cm4gdGhpczt9 LGdldERlZmVycmVkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlZmVyO30sZ2V0 Q29udGVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb250ZW50O30sZ2V0Tm9k ZXM6ZnVuY3Rpb24oKXt0aGlzLl9maWxsQ2FjaGUoKTtyZXR1cm4gdGhpcy5fbm9k ZXM7fSxnZXRSb290Tm9kZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldE5vZGVz KClbMF07fSxoYXNPcHRpb25FbGVtZW50czpmdW5jdGlvbigpe3RoaXMuX2ZpbGxD YWNoZSgpO3JldHVybiB0aGlzLl9oYXNfb3B0aW9uX2VsZW1lbnRzO30sX2ZpbGxD YWNoZTpmdW5jdGlvbigpe2lmKG51bGwhPT10aGlzLl9ub2RlcylyZXR1cm47dmFy IGQ9dGhpcy5fY29udGVudDtpZighZCl7dGhpcy5fbm9kZXM9W107cmV0dXJuO31k PWQucmVwbGFjZSgvKDwoXHcrKVtePl0qPylcLz4vZyxmdW5jdGlvbihsLG0sbil7 cmV0dXJuIG4ubWF0Y2goL14oYWJicnxicnxjb2x8aW1nfGlucHV0fGxpbmt8bWV0 YXxwYXJhbXxocnxhcmVhfGVtYmVkKSQvaSk/bDptKyc+PC8nK24rJz4nO30pO3Zh ciBoPWQudHJpbSgpLnRvTG93ZXJDYXNlKCksaz1kb2N1bWVudC5jcmVhdGVFbGVt ZW50KCdkaXYnKSxiPWZhbHNlO3ZhciBqPSghaC5pbmRleE9mKCc8b3B0JykmJlsx LCc8c2VsZWN0IG11bHRpcGxlPSJtdWx0aXBsZSIgY2xhc3M9Il9fV1JBUFBFUiI+ JywnPC9zZWxlY3Q+J10pfHwoIWguaW5kZXhPZignPGxlZycpJiZbMSwnPGZpZWxk c2V0IGNsYXNzPSJfX1dSQVBQRVIiPicsJzwvZmllbGRzZXQ+J10pfHwoaC5tYXRj aCgvXjwodGhlYWR8dGJvZHl8dGZvb3R8Y29sZ3xjYXApLykmJlsxLCc8dGFibGUg Y2xhc3M9Il9fV1JBUFBFUiI+JywnPC90YWJsZT4nXSl8fCghaC5pbmRleE9mKCc8 dHInKSYmWzIsJzx0YWJsZT48dGJvZHkgY2xhc3M9Il9fV1JBUFBFUiI+JywnPC90 Ym9keT48L3RhYmxlPiddKXx8KCghaC5pbmRleE9mKCc8dGQnKXx8IWguaW5kZXhP ZignPHRoJykpJiZbMywnPHRhYmxlPjx0Ym9keT48dHIgY2xhc3M9Il9fV1JBUFBF UiI+JywnPC90cj48L3Rib2R5PjwvdGFibGU+J10pfHwoIWguaW5kZXhPZignPGNv bCcpJiZbMiwnPHRhYmxlPjx0Ym9keT48L3Rib2R5Pjxjb2xncm91cCBjbGFzcz0i X19XUkFQUEVSIj4nLCc8L2NvbGdyb3VwPjwvdGFibGU+J10pfHxudWxsO2lmKG51 bGw9PT1qKXtrLmNsYXNzTmFtZT0nX19XUkFQUEVSJztpZih1YS5pZSgpKXtqPVsw LCc8c3BhbiBzdHlsZT0iZGlzcGxheTpub25lIj4mbmJzcDs8L3NwYW4+JywnJ107 Yj10cnVlO31lbHNlIGo9WzAsJycsJyddO31rLmlubmVySFRNTD1qWzFdK2Qralsy XTt3aGlsZShqWzBdLS0paz1rLmxhc3RDaGlsZDtpZihiKWsucmVtb3ZlQ2hpbGQo ay5maXJzdENoaWxkKTtrLmNsYXNzTmFtZSE9J19fV1JBUFBFUic7aWYoMCE9ay5n ZXRFbGVtZW50c0J5VGFnTmFtZSgnb3B0aW9uJykubGVuZ3RoKXRoaXMuX2hhc19v cHRpb25fZWxlbWVudHM9dHJ1ZTtpZih1YS5pZSgpKXt2YXIgaTtpZighaC5pbmRl eE9mKCc8dGFibGUnKSYmLTE9PWguaW5kZXhPZignPHRib2R5Jykpe2k9ay5maXJz dENoaWxkJiZrLmZpcnN0Q2hpbGQuY2hpbGROb2Rlczt9ZWxzZSBpZihqWzFdPT0n PHRhYmxlPicmJi0xPT1oLmluZGV4T2YoJzx0Ym9keScpKXtpPWsuY2hpbGROb2Rl czt9ZWxzZSBpPVtdO2Zvcih2YXIgZj1pLmxlbmd0aC0xO2Y+PTA7LS1mKWlmKGlb Zl0ubm9kZU5hbWUmJmlbZl0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09J3Rib2R5 JyYmaVtmXS5jaGlsZE5vZGVzLmxlbmd0aD09MClpW2ZdLnBhcmVudE5vZGUucmVt b3ZlQ2hpbGQoaVtmXSk7fXZhciBnPWsuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3Nj cmlwdCcpO3ZhciBhPVtdO2Zvcih2YXIgZT0wO2U8Zy5sZW5ndGg7ZSsrKWlmKGdb ZV0uc3JjKXthLnB1c2goQm9vdGxvYWRlci5yZXF1ZXN0UmVzb3VyY2UuYmluZChC b290bG9hZGVyLCdqcycsZ1tlXS5zcmMpKTt9ZWxzZSBhLnB1c2goZXZhbF9nbG9i YWwuYmluZChudWxsLGdbZV0uaW5uZXJIVE1MKSk7Zm9yKHZhciBlPWcubGVuZ3Ro LTE7ZT49MDtlLS0pZ1tlXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGdbZV0pO3Zh ciBjPWZ1bmN0aW9uKCl7Zm9yKHZhciBsPTA7bDxhLmxlbmd0aDtsKyspYVtsXSgp O307dGhpcy5fbm9kZXM9JEEoay5jaGlsZE5vZGVzKTt0aGlzLl9pbmxpbmVfanM9 Yzt9fSk7CnZhciBET009e2ZpbmQ6ZnVuY3Rpb24oYSxjKXt2YXIgYj1ET00uc2Ny eShhLGMpO3JldHVybiBiWzBdO30sc2NyeTpmdW5jdGlvbihqLHYpe2lmKCFqKXJl dHVybiBbXTt2YXIgdz12LnNwbGl0KCcgJyk7dmFyIGQ9W2pdO3ZhciBpPWo9PT1k b2N1bWVudDtmb3IodmFyIG09MDttPHcubGVuZ3RoO20rKyl7aWYoZC5sZW5ndGg9 PTApYnJlYWs7aWYod1ttXT09JycpY29udGludWU7dmFyIHU9d1ttXTt2YXIgcz1b XTt2YXIgemQ9ZmFsc2U7aWYodS5jaGFyQXQoMCk9PSdeJylpZihtPT0wKXt6ZD10 cnVlO3U9dS5zbGljZSgxKTt9ZWxzZSByZXR1cm47dT11LnJlcGxhY2UoL1wuL2cs JyAuJyk7dT11LnJlcGxhY2UoL1wjL2csJyAjJyk7dT11LnJlcGxhY2UoL1xbL2cs JyBbJyk7dmFyIHo9dS5zcGxpdCgnICcpO3ZhciB6YT16WzBdfHwnKic7dmFyIG49 elsxXSYmelsxXS5jaGFyQXQoMCk9PScjJztpZihuKXt2YXIgaD1nZSh6WzFdLnNs aWNlKDEpLHRydWUpO2lmKGgmJignKic9PXphfHxoLnRhZ05hbWUudG9Mb3dlckNh c2UoKT09emEpKWZvcih2YXIgcT0wO3E8ZC5sZW5ndGg7cSsrKWlmKHpkJiZET00u Y29udGFpbnMoaCxkW3FdKSl7cz1baF07YnJlYWs7fWVsc2UgaWYoZG9jdW1lbnQ9 PWRbcV18fERPTS5jb250YWlucyhkW3FdLGgpKXtzPVtoXTticmVhazt9fWVsc2V7 dmFyIHpjPVtdO3ZhciBjPWQubGVuZ3RoO2Zvcih2YXIgbz0wO288YztvKyspe2lm KHpkKXt2YXIgaz1bXTt2YXIgZz1kW29dLnBhcmVudE5vZGU7dmFyIGE9emE9PScq Jzt3aGlsZShET00uaXNOb2RlKGcsRE9NLk5PREVfVFlQRVMuRUxFTUVOVCkpe2lm KGF8fGcudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT16YSlrLnB1c2goZyk7Zz1nLnBh cmVudE5vZGU7fX1lbHNlIHZhciBrPWRbb10uZ2V0RWxlbWVudHNCeVRhZ05hbWUo emEpO3ZhciBsPWsubGVuZ3RoO2Zvcih2YXIgcj0wO3I8bDtyKyspemMucHVzaChr W3JdKTt9Zm9yKHZhciB4PTE7eDx6Lmxlbmd0aDt4Kyspe3ZhciB5PXpbeF07dmFy IHA9eS5jaGFyQXQoMCk9PScuJzt2YXIgZT15LnN1YnN0cmluZygxKTtmb3IodmFy IG89MDtvPHpjLmxlbmd0aDtvKyspe3ZhciB6Yj16Y1tvXTtpZighemIpY29udGlu dWU7aWYocCl7aWYoIUNTUy5oYXNDbGFzcyh6YixlKSlkZWxldGUgemNbb107Y29u dGludWU7fWVsc2V7dmFyIGY9eS5zbGljZSgxLHkubGVuZ3RoLTEpO2lmKGYuaW5k ZXhPZignPScpPT0tMSl7aWYoemIuZ2V0QXR0cmlidXRlKGYpPT09bnVsbCl7ZGVs ZXRlIHpjW29dO2NvbnRpbnVlO319ZWxzZXt2YXIgdD1mLnNwbGl0KCc9Jyk7dmFy IGI9dFswXTt2YXIgemU9dFsxXTt6ZT16ZS5zbGljZSgxLHplLmxlbmd0aC0xKTtp Zih6Yi5nZXRBdHRyaWJ1dGUoYikhPXplKXtkZWxldGUgemNbb107Y29udGludWU7 fX19fX1mb3IodmFyIG89MDtvPHpjLmxlbmd0aDtvKyspaWYoemNbb10pe3MucHVz aCh6Y1tvXSk7aWYoemQpYnJlYWs7fX1kPXM7fXJldHVybiBkO30sZ2V0VGV4dDoo ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSxi PWEuaW5uZXJUZXh0PT1udWxsPyd0ZXh0Q29udGVudCc6J2lubmVyVGV4dCc7cmV0 dXJuIGZ1bmN0aW9uKGMpe2lmKCFjKXtyZXR1cm4gJyc7fWVsc2UgaWYoRE9NLmlz Tm9kZShjLERPTS5OT0RFX1RZUEVTLlRFWFQpKXtyZXR1cm4gYy5kYXRhO31lbHNl IHJldHVybiBjW2JdO307fSkoKSxnZXRTZWxlY3Rpb246ZnVuY3Rpb24oKXt2YXIg Yj13aW5kb3cuZ2V0U2VsZWN0aW9uLGE9ZG9jdW1lbnQuc2VsZWN0aW9uO2lmKGIp e3JldHVybiBiKCkrJyc7fWVsc2UgaWYoYSlyZXR1cm4gYS5jcmVhdGVSYW5nZSgp LnRleHQ7cmV0dXJuIG51bGw7fSxjcmVhdGU6ZnVuY3Rpb24oYyxhLGIpe2M9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudChjKTtpZihhKXthPWNvcHlfcHJvcGVydGllcyh7 fSxhKTtpZihhLnN0eWxlKXtjb3B5X3Byb3BlcnRpZXMoYy5zdHlsZSxhLnN0eWxl KTtkZWxldGUgYS5zdHlsZTt9Zm9yKHZhciBkIGluIGEpaWYoZC50b0xvd2VyQ2Fz ZSgpLmluZGV4T2YoJ29uJyk9PTApe2lmKCEodHlwZW9mIGFbZF0hPSdmdW5jdGlv bicpKWlmKHdpbmRvdy5FdmVudCYmRXZlbnQubGlzdGVuKXtFdmVudC5saXN0ZW4o YyxkLnN1YnN0cigyKSxhW2RdKTt9ZWxzZSBjW2RdPWFbZF07ZGVsZXRlIGFbZF07 fWNvcHlfcHJvcGVydGllcyhjLGEpO31pZihiIT11bmRlZmluZWQpRE9NLnNldENv bnRlbnQoYyxiKTtyZXR1cm4gYzt9LHByZXBlbmRDb250ZW50OmZ1bmN0aW9uKGMs Yil7aWYoIURPTS5pc05vZGUoYykpdGhyb3cgbmV3IEVycm9yKCdET00ucHJlcGVu ZENvbnRlbnQ6IHJlZmVyZW5jZSBlbGVtZW50IGlzIG5vdCBhIG5vZGUnKTt2YXIg YT1mdW5jdGlvbihkKXtpZihjLmZpcnN0Q2hpbGQpe2MuaW5zZXJ0QmVmb3JlKGQs Yy5maXJzdENoaWxkKTt9ZWxzZSBjLmFwcGVuZENoaWxkKGQpO307cmV0dXJuIERP TS5fYWRkQ29udGVudChiLGEsYyk7fSxpbnNlcnRBZnRlcjpmdW5jdGlvbihjLGIp e2lmKCFET00uaXNOb2RlKGMpfHwhYy5wYXJlbnROb2RlKXRocm93IG5ldyBFcnJv cignRE9NLmluc2VydEFmdGVyOiByZWZlcmVuY2UgZWxlbWVudCBpcyBub3QgYSBu b2RlJyk7dmFyIGE9ZnVuY3Rpb24oZCl7aWYoYy5uZXh0U2libGluZyl7Yy5wYXJl bnROb2RlLmluc2VydEJlZm9yZShkLGMubmV4dFNpYmxpbmcpO31lbHNlIGMucGFy ZW50Tm9kZS5hcHBlbmRDaGlsZChkKTt9O3JldHVybiBET00uX2FkZENvbnRlbnQo YixhLGMucGFyZW50Tm9kZSk7fSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24oYixjKXtp ZighRE9NLmlzTm9kZShjKXx8IWMucGFyZW50Tm9kZSl0aHJvdyBuZXcgRXJyb3Io J0RPTS5pbnNlcnRCZWZvcmU6IHJlZmVyZW5jZSBlbGVtZW50IGlzIG5vdCBhIG5v ZGUgb3IgJysnZG9lcyBub3QgaGF2ZSBhIHBhcmVudC4nKTt2YXIgYT1mdW5jdGlv bihkKXtjLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGQsYyk7fTtyZXR1cm4gRE9N Ll9hZGRDb250ZW50KGIsYSxjLnBhcmVudE5vZGUpO30sc2V0Q29udGVudDpmdW5j dGlvbihiLGEpe2lmKCFET00uaXNOb2RlKGIpKXRocm93IG5ldyBFcnJvcignRE9N LnNldENvbnRlbnQ6IHJlZmVyZW5jZSBlbGVtZW50IGlzIG5vdCBhIG5vZGUnKTtE T00uZW1wdHkoYik7cmV0dXJuIERPTS5hcHBlbmRDb250ZW50KGIsYSk7fSxhcHBl bmRDb250ZW50OmZ1bmN0aW9uKGMsYil7aWYoIURPTS5pc05vZGUoYykpdGhyb3cg bmV3IEVycm9yKCdET00uYXBwZW5kQ29udGVudDogcmVmZXJlbmNlIGVsZW1lbnQg aXMgbm90IGEgbm9kZScpO3ZhciBhPWZ1bmN0aW9uKGQpe2MuYXBwZW5kQ2hpbGQo ZCk7fTtyZXR1cm4gRE9NLl9hZGRDb250ZW50KGIsYSxjKTt9LHJlcGxhY2U6ZnVu Y3Rpb24oYyxiKXtpZighRE9NLmlzTm9kZShjKXx8IWMucGFyZW50Tm9kZSl0aHJv dyBuZXcgRXJyb3IoJ0RPTS5yZXBsYWNlOiByZWZlcmVuY2UgZWxlbWVudCBtdXN0 IGJlIGEgbm9kZSB3aXRoIGEnKycgcGFyZW50Jyk7dmFyIGE9ZnVuY3Rpb24oZCl7 Yy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChkLGMpO307cmV0dXJuIERPTS5fYWRk Q29udGVudChiLGEsYy5wYXJlbnROb2RlKTt9LHJlbW92ZTpmdW5jdGlvbihhKXth PSQoYSk7aWYoYS5wYXJlbnROb2RlKWEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChh KTt9LGVtcHR5OmZ1bmN0aW9uKGEpe2E9JChhKTt3aGlsZShhLmZpcnN0Q2hpbGQp RE9NLnJlbW92ZShhLmZpcnN0Q2hpbGQpO30sY29udGFpbnM6ZnVuY3Rpb24oYixh KXtiPWdlKGIpO2E9Z2UoYSk7aWYoIWJ8fCFhKXtyZXR1cm4gZmFsc2U7fWVsc2Ug aWYoYj09PWEpe3JldHVybiB0cnVlO31lbHNlIGlmKERPTS5pc05vZGUoYiwnI3Rl eHQnKSl7cmV0dXJuIGZhbHNlO31lbHNlIGlmKERPTS5pc05vZGUoYSwnI3RleHQn KSl7cmV0dXJuIERPTS5jb250YWlucyhiLGEucGFyZW50Tm9kZSk7fWVsc2UgaWYo Yi5jb250YWlucyl7cmV0dXJuIGIuY29udGFpbnMoYSk7fWVsc2UgaWYoYi5jb21w YXJlRG9jdW1lbnRQb3NpdGlvbil7cmV0dXJuICEhKGIuY29tcGFyZURvY3VtZW50 UG9zaXRpb24oYSkmMTYpO31lbHNlIHJldHVybiBmYWxzZTt9LGdldFJvb3RFbGVt ZW50OmZ1bmN0aW9uKCl7dmFyIGE9bnVsbDtpZih3aW5kb3cuUXVpY2tsaW5nJiZR dWlja2xpbmcuaXNBY3RpdmUoKSlhPWdlKCdjb250ZW50Jyk7cmV0dXJuIGF8fGRv Y3VtZW50LmJvZHk7fSxpc05vZGU6ZnVuY3Rpb24oZCxlKXtpZih0eXBlb2YoTm9k ZSk9PSd1bmRlZmluZWQnKU5vZGU9bnVsbDt0cnl7aWYoIWR8fCEoKE5vZGUhPXVu ZGVmaW5lZCYmZCBpbnN0YW5jZW9mIE5vZGUpfHxkLm5vZGVOYW1lKSlyZXR1cm4g ZmFsc2U7fWNhdGNoKGEpe3JldHVybiBmYWxzZTt9aWYodHlwZW9mKGUpIT09J3Vu ZGVmaW5lZCcpe2U9JEEoZSkubWFwKGZ1bmN0aW9uKGcpe3JldHVybiAoZysnJyku dG9VcHBlckNhc2UoKTt9KTt2YXIgYyxmO3RyeXtjPW5ldyBTdHJpbmcoZC5ub2Rl TmFtZSkudG9VcHBlckNhc2UoKTtmPWQubm9kZVR5cGU7fWNhdGNoKGEpe3JldHVy biBmYWxzZTt9Zm9yKHZhciBiPTA7YjxlLmxlbmd0aDtiKyspdHJ5e2lmKGM9PWVb Yl18fGY9PWVbYl0pcmV0dXJuIHRydWU7fWNhdGNoKGEpe31yZXR1cm4gZmFsc2U7 fXJldHVybiB0cnVlO30sTk9ERV9UWVBFUzp7RUxFTUVOVDoxLEFUVFJJQlVURToy LFRFWFQ6MyxDREFUQV9TRUNUSU9OOjQsRU5USVRZX1JFRkVSRU5DRTo1LEVOVElU WTo2LFBST0NFU1NJTkdfSU5TVFJVQ1RJT046NyxDT01NRU5UOjgsRE9DVU1FTlQ6 OSxET0NVTUVOVF9UWVBFOjEwLERPQ1VNRU5UX0ZSQUdNRU5UOjExLE5PVEFUSU9O X05PREU6MTJ9LF9hZGRDb250ZW50OmZ1bmN0aW9uKGQsYSxtKXtkPUhUTUwucmVw bGFjZUpTT05XcmFwcGVyKGQpO2lmKGQgaW5zdGFuY2VvZiBIVE1MJiYtMT09ZC50 b1N0cmluZygpLmluZGV4T2YoJzxzY3InKydpcHQnKSYmJyc9PW0uaW5uZXJIVE1M KXt2YXIgZz11YS5pZSgpO2lmKCFnfHwoZz43JiYhRE9NLmlzTm9kZShtLFsndGFi bGUnLCd0Ym9keScsJ3RoZWFkJywndGZvb3QnLCd0cicsJ3NlbGVjdCcsJ2ZpZWxk c2V0J10pKSl7dmFyIGg9Zz8iPGRpdiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIj4m bmJzcDs8L2Rpdj4iOiIiO20uaW5uZXJIVE1MPWgrZDtnJiZtLnJlbW92ZUNoaWxk KG0uZmlyc3RDaGlsZCk7cmV0dXJuICRBKG0uY2hpbGROb2Rlcyk7fX1lbHNlIGlm KERPTS5pc05vZGUobSxET00uTk9ERV9UWVBFUy5URVhUKSl7bS5kYXRhPWQ7cmV0 dXJuIFtkXTt9dmFyIGosZT1bXSxiPVtdO3ZhciBmPWRvY3VtZW50LmNyZWF0ZURv Y3VtZW50RnJhZ21lbnQoKTtpZighKGQgaW5zdGFuY2VvZiBBcnJheSkpZD1bZF07 Zm9yKHZhciBpPTA7aTxkLmxlbmd0aDtpKyspe2o9SFRNTC5yZXBsYWNlSlNPTldy YXBwZXIoZFtpXSk7aWYoaiBpbnN0YW5jZW9mIEhUTUwpe2IucHVzaChqLmdldEFj dGlvbigpKTt2YXIgbD1qLmdldE5vZGVzKCksYztmb3IodmFyIGs9MDtrPGwubGVu Z3RoO2srKyl7Yz0odWEuc2FmYXJpKCl8fCh1YS5pZSgpJiZqLmhhc09wdGlvbkVs ZW1lbnRzKCkpKT9sW2tdOmxba10uY2xvbmVOb2RlKHRydWUpO2UucHVzaChjKTtm LmFwcGVuZENoaWxkKGMpO319ZWxzZSBpZihpc19zY2FsYXIoaikpe3ZhciBuPWRv Y3VtZW50LmNyZWF0ZVRleHROb2RlKGopO2UucHVzaChuKTtmLmFwcGVuZENoaWxk KG4pO31lbHNlIGlmKERPTS5pc05vZGUoaikpe2UucHVzaChqKTtmLmFwcGVuZENo aWxkKGopO31lbHNlIGlmKCEoaiBpbnN0YW5jZW9mIEFycmF5KSlqIT09bnVsbDt9 YShmKTtmb3IodmFyIGk9MDtpPGIubGVuZ3RoO2krKyliW2ldKCk7cmV0dXJuIGU7 fX07ZnVuY3Rpb24gJE4oYyxhLGIpe2lmKHR5cGVvZiBhIT0nb2JqZWN0J3x8RE9N LmlzTm9kZShhKXx8YSBpbnN0YW5jZW9mIEFycmF5fHxIVE1MLmlzSFRNTChhKSl7 Yj1hO2E9bnVsbDt9cmV0dXJuIERPTS5jcmVhdGUoYyxhLGIpO312YXIgJCQ9ZnVu Y3Rpb24gXyQkKGEpe3JldHVybiBET00uc2NyeS5hcHBseShudWxsLFtkb2N1bWVu dF0uY29uY2F0KCRBKGFyZ3VtZW50cykpKTt9OwpmdW5jdGlvbiBVUkkoYSl7aWYo YT09PXdpbmRvdylyZXR1cm47aWYodGhpcz09PXdpbmRvdylyZXR1cm4gbmV3IFVS SShhfHx3aW5kb3cubG9jYXRpb24uaHJlZik7dGhpcy5wYXJzZShhfHwnJyk7fWNv cHlfcHJvcGVydGllcyhVUkkse2dldFJlcXVlc3RVUkk6ZnVuY3Rpb24oYSxiKXth PWE9PT11bmRlZmluZWR8fGE7aWYoYSYmd2luZG93LlBhZ2VUcmFuc2l0aW9ucyYm UGFnZVRyYW5zaXRpb25zLmlzSW5pdGlhbGl6ZWQoKSl7cmV0dXJuIFBhZ2VUcmFu c2l0aW9ucy5nZXRDdXJyZW50VVJJKCEhYikuZ2V0UXVhbGlmaWVkVVJJKCk7fWVs c2UgcmV0dXJuIG5ldyBVUkkod2luZG93LmxvY2F0aW9uLmhyZWYpO30sZ2V0TW9z dFJlY2VudFVSSTpmdW5jdGlvbigpe2lmKHdpbmRvdy5QYWdlVHJhbnNpdGlvbnMm JlBhZ2VUcmFuc2l0aW9ucy5pc0luaXRpYWxpemVkKCkpe3JldHVybiBQYWdlVHJh bnNpdGlvbnMuZ2V0TW9zdFJlY2VudFVSSSgpLmdldFF1YWxpZmllZFVSSSgpO31l bHNlIHJldHVybiBuZXcgVVJJKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTt9LGV4cHJl c3Npb246LygoKFx3Kyk6XC9cLykoW15cLzpdKikoOihcZCspKT8pPyhbXiM/XSop KFw/KFteI10qKSk/KCMoLiopKT8vLGFycmF5UXVlcnlFeHByZXNzaW9uOi9eKFx3 KykoKD86XFtcdypcXSkrKT0/KC4qKS8sZXhwbG9kZVF1ZXJ5OmZ1bmN0aW9uKGcp e2lmKCFnKXJldHVybiB7fTt2YXIgaD17fTtnPWcucmVwbGFjZSgvJTVCL2lnLCdb JykucmVwbGFjZSgvJTVEL2lnLCddJyk7Zz1nLnNwbGl0KCcmJyk7Zm9yKHZhciBi PTAsZD1nLmxlbmd0aDtiPGQ7YisrKXt2YXIgZT1nW2JdLm1hdGNoKFVSSS5hcnJh eVF1ZXJ5RXhwcmVzc2lvbik7aWYoIWUpe3ZhciBqPWdbYl0uc3BsaXQoJz0nKTto W1VSSS5kZWNvZGVDb21wb25lbnQoalswXSldPWpbMV09PT11bmRlZmluZWQ/bnVs bDpVUkkuZGVjb2RlQ29tcG9uZW50KGpbMV0pO31lbHNle3ZhciBjPWVbMl0uc3Bs aXQoL1xdXFt8XFt8XF0vKS5zbGljZSgwLC0xKTt2YXIgZj1lWzFdO3ZhciBrPVVS SS5kZWNvZGVDb21wb25lbnQoZVszXXx8JycpO2NbMF09Zjt2YXIgaT1oO2Zvcih2 YXIgYT0wO2E8Yy5sZW5ndGgtMTthKyspaWYoY1thXSl7aWYoaVtjW2FdXT09PXVu ZGVmaW5lZClpZihjW2ErMV0mJiFjW2ErMV0ubWF0Y2goL1xkKyQvKSl7aVtjW2Fd XT17fTt9ZWxzZSBpW2NbYV1dPVtdO2k9aVtjW2FdXTt9ZWxzZXtpZihjW2ErMV0m JiFjW2ErMV0ubWF0Y2goL1xkKyQvKSl7aS5wdXNoKHt9KTt9ZWxzZSBpLnB1c2go W10pO2k9aVtpLmxlbmd0aC0xXTt9aWYoaSBpbnN0YW5jZW9mIEFycmF5JiZjW2Mu bGVuZ3RoLTFdPT0nJyl7aS5wdXNoKGspO31lbHNlIGlbY1tjLmxlbmd0aC0xXV09 azt9fXJldHVybiBoO30saW1wbG9kZVF1ZXJ5OmZ1bmN0aW9uKGYsZSxhKXtlPWV8 fCcnO2lmKGE9PT11bmRlZmluZWQpYT10cnVlO3ZhciBnPVtdO2lmKGY9PT1udWxs fHxmPT09dW5kZWZpbmVkKXtnLnB1c2goYT9VUkkuZW5jb2RlQ29tcG9uZW50KGUp OmUpO31lbHNlIGlmKGYgaW5zdGFuY2VvZiBBcnJheSl7Zm9yKHZhciBjPTA7Yzxm Lmxlbmd0aDsrK2MpdHJ5e2lmKGZbY10hPT11bmRlZmluZWQpZy5wdXNoKFVSSS5p bXBsb2RlUXVlcnkoZltjXSxlPyhlKydbJytjKyddJyk6YykpO31jYXRjaChiKXt9 fWVsc2UgaWYodHlwZW9mKGYpPT0nb2JqZWN0Jyl7aWYoRE9NLmlzTm9kZShmKSl7 Zy5wdXNoKCd7bm9kZX0nKTt9ZWxzZSBmb3IodmFyIGQgaW4gZil0cnl7aWYoZltk XSE9PXVuZGVmaW5lZClnLnB1c2goVVJJLmltcGxvZGVRdWVyeShmW2RdLGU/KGUr J1snK2QrJ10nKTpkKSk7fWNhdGNoKGIpe319ZWxzZSBpZihhKXtnLnB1c2goVVJJ LmVuY29kZUNvbXBvbmVudChlKSsnPScrVVJJLmVuY29kZUNvbXBvbmVudChmKSk7 fWVsc2UgZy5wdXNoKGUrJz0nK2YpO3JldHVybiBnLmpvaW4oJyYnKTt9LGVuY29k ZUNvbXBvbmVudDpmdW5jdGlvbihkKXt2YXIgYz1TdHJpbmcoZCkuc3BsaXQoLyhb XFtcXV0pLyk7Zm9yKHZhciBhPTAsYj1jLmxlbmd0aDthPGI7YSs9MiljW2FdPXdp bmRvdy5lbmNvZGVVUklDb21wb25lbnQoY1thXSk7cmV0dXJuIGMuam9pbignJyk7 fSxkZWNvZGVDb21wb25lbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHdpbmRvdy5kZWNv ZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cKy9nLCcgJykpO319KTtjb3B5X3By b3BlcnRpZXMoVVJJLnByb3RvdHlwZSx7cGFyc2U6ZnVuY3Rpb24oYil7dmFyIGE9 Yi50b1N0cmluZygpLm1hdGNoKFVSSS5leHByZXNzaW9uKTtjb3B5X3Byb3BlcnRp ZXModGhpcyx7cHJvdG9jb2w6YVszXXx8JycsZG9tYWluOmFbNF18fCcnLHBvcnQ6 YVs2XXx8JycscGF0aDphWzddfHwnJyxxdWVyeV9zOmFbOV18fCcnLGZyYWdtZW50 OmFbMTFdfHwnJ30pO3JldHVybiB0aGlzO30sc2V0UHJvdG9jb2w6ZnVuY3Rpb24o YSl7dGhpcy5wcm90b2NvbD1hO3JldHVybiB0aGlzO30sZ2V0UHJvdG9jb2w6ZnVu Y3Rpb24oKXtyZXR1cm4gdGhpcy5wcm90b2NvbDt9LHNldFF1ZXJ5RGF0YTpmdW5j dGlvbihhKXt0aGlzLnF1ZXJ5X3M9VVJJLmltcGxvZGVRdWVyeShhKTtyZXR1cm4g dGhpczt9LGFkZFF1ZXJ5RGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zZXRR dWVyeURhdGEoY29weV9wcm9wZXJ0aWVzKHRoaXMuZ2V0UXVlcnlEYXRhKCksYSkp O30scmVtb3ZlUXVlcnlEYXRhOmZ1bmN0aW9uKGIpe2lmKCEoYiBpbnN0YW5jZW9m IEFycmF5KSliPVtiXTt2YXIgZD10aGlzLmdldFF1ZXJ5RGF0YSgpO2Zvcih2YXIg YT0wLGM9Yi5sZW5ndGg7YTxjOysrYSlkZWxldGUgZFtiW2FdXTtyZXR1cm4gdGhp cy5zZXRRdWVyeURhdGEoZCk7fSxnZXRRdWVyeURhdGE6ZnVuY3Rpb24oKXtyZXR1 cm4gVVJJLmV4cGxvZGVRdWVyeSh0aGlzLnF1ZXJ5X3MpO30sc2V0RnJhZ21lbnQ6 ZnVuY3Rpb24oYSl7dGhpcy5mcmFnbWVudD1hO3JldHVybiB0aGlzO30sZ2V0RnJh Z21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mcmFnbWVudDt9LHNldERvbWFp bjpmdW5jdGlvbihhKXt0aGlzLmRvbWFpbj1hO3JldHVybiB0aGlzO30sZ2V0RG9t YWluOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluO30sc2V0UG9ydDpmdW5j dGlvbihhKXt0aGlzLnBvcnQ9YTtyZXR1cm4gdGhpczt9LGdldFBvcnQ6ZnVuY3Rp b24oKXtyZXR1cm4gdGhpcy5wb3J0O30sc2V0UGF0aDpmdW5jdGlvbihhKXt0aGlz LnBhdGg9YTtyZXR1cm4gdGhpczt9LGdldFBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4g dGhpcy5wYXRoLnJlcGxhY2UoL15cLysvLCcvJyk7fSx0b1N0cmluZzpmdW5jdGlv bigpe3ZhciBhPScnO3RoaXMucHJvdG9jb2wmJihhKz10aGlzLnByb3RvY29sKyc6 Ly8nKTt0aGlzLmRvbWFpbiYmKGErPXRoaXMuZG9tYWluKTt0aGlzLnBvcnQmJihh Kz0nOicrdGhpcy5wb3J0KTtpZih0aGlzLmRvbWFpbiYmIXRoaXMucGF0aClhKz0n Lyc7dGhpcy5wYXRoJiYoYSs9dGhpcy5wYXRoKTt0aGlzLnF1ZXJ5X3MmJihhKz0n PycrdGhpcy5xdWVyeV9zKTt0aGlzLmZyYWdtZW50JiYoYSs9JyMnK3RoaXMuZnJh Z21lbnQpO3JldHVybiBhO30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0aGlz LnRvU3RyaW5nKCk7fSxpc0ZhY2Vib29rVVJJOmZ1bmN0aW9uKCl7aWYoIVVSSS5f ZmFjZWJvb2tVUklSZWdleClVUkkuX2ZhY2Vib29rVVJJUmVnZXg9bmV3IFJlZ0V4 cCgnKF58XFwuKWZhY2Vib29rXFwuY29tKFteLl0qKSQnLCdpJyk7cmV0dXJuICgh dGhpcy5kb21haW58fFVSSS5fZmFjZWJvb2tVUklSZWdleC50ZXN0KHRoaXMuZG9t YWluKSk7fSxpc1F1aWNrbGluZ0VuYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gd2lu ZG93LlF1aWNrbGluZyYmUXVpY2tsaW5nLmlzQWN0aXZlKCkmJlF1aWNrbGluZy5p c1BhZ2VBY3RpdmUodGhpcyk7fSxnZXRSZWdpc3RlcmVkRG9tYWluOmZ1bmN0aW9u KCl7aWYoIXRoaXMuZG9tYWluKXJldHVybiAnJztpZighdGhpcy5pc0ZhY2Vib29r VVJJKCkpcmV0dXJuIG51bGw7dmFyIGI9dGhpcy5kb21haW4uc3BsaXQoJy4nKTt2 YXIgYT1iLmluZGV4T2YoJ2ZhY2Vib29rJyk7cmV0dXJuIGIuc2xpY2UoYSkuam9p bignLicpO30sZ2V0VW5xdWFsaWZpZWRVUkk6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3 IFVSSSh0aGlzKS5zZXRQcm90b2NvbChudWxsKS5zZXREb21haW4obnVsbCkuc2V0 UG9ydChudWxsKTt9LGdldFF1YWxpZmllZFVSSTpmdW5jdGlvbigpe3ZhciBiPW5l dyBVUkkodGhpcyk7aWYoIWIuZ2V0RG9tYWluKCkpe3ZhciBhPVVSSSgpO2Iuc2V0 UHJvdG9jb2woYS5nZXRQcm90b2NvbCgpKS5zZXREb21haW4oYS5nZXREb21haW4o KSkuc2V0UG9ydChhLmdldFBvcnQoKSk7fXJldHVybiBiO30saXNTYW1lT3JpZ2lu OmZ1bmN0aW9uKGEpe3ZhciBiPWF8fHdpbmRvdy5sb2NhdGlvbi5ocmVmO2lmKCEo YiBpbnN0YW5jZW9mIFVSSSkpYj1uZXcgVVJJKGIudG9TdHJpbmcoKSk7aWYodGhp cy5nZXRQcm90b2NvbCgpJiZ0aGlzLmdldFByb3RvY29sKCkhPWIuZ2V0UHJvdG9j b2woKSlyZXR1cm4gZmFsc2U7aWYodGhpcy5nZXREb21haW4oKSYmdGhpcy5nZXRE b21haW4oKSE9Yi5nZXREb21haW4oKSlyZXR1cm4gZmFsc2U7cmV0dXJuIHRydWU7 fSxnbzpmdW5jdGlvbihhKXtnb1VSSSh0aGlzLGEpO30sc2V0U3ViZG9tYWluOmZ1 bmN0aW9uKGIpe3ZhciBjPW5ldyBVUkkodGhpcykuZ2V0UXVhbGlmaWVkVVJJKCk7 dmFyIGE9Yy5nZXREb21haW4oKS5zcGxpdCgnLicpO2lmKGEubGVuZ3RoPD0yKXth LnVuc2hpZnQoYik7fWVsc2UgYVswXT1iO3JldHVybiBjLnNldERvbWFpbihhLmpv aW4oJy4nKSk7fSxnZXRTdWJkb21haW46ZnVuY3Rpb24oKXtpZighdGhpcy5nZXRE b21haW4oKSlyZXR1cm4gJyc7dmFyIGE9dGhpcy5nZXREb21haW4oKS5zcGxpdCgn LicpO2lmKGEubGVuZ3RoPD0yKXtyZXR1cm4gJyc7fWVsc2UgcmV0dXJuIGFbMF07 fSxzZXRTZWN1cmU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc2V0UHJvdG9jb2wo YT8naHR0cHMnOidodHRwJyk7fSxpc1NlY3VyZTpmdW5jdGlvbigpe3JldHVybiB0 aGlzLmdldFByb3RvY29sKCk9PSdodHRwcyc7fX0pOwpmdW5jdGlvbiBkZXRlY3Rf YnJva2VuX3Byb3h5X2NhY2hlKGQsYSl7dmFyIGI9Z2V0Q29va2llKGEpO2lmKChi IT1kKSYmKGIhPW51bGwpJiYoZCE9JzAnKSl7dmFyIGM9e2M6J3NpX2RldGVjdF9i cm9rZW5fcHJveHlfY2FjaGUnLG06YSsnICcrZCsnICcrYn07dmFyIGU9bmV3IFVS SSgnL2NvbW1vbi9zY3JpYmVfZW5kcG9pbnQucGhwJykuZ2V0UXVhbGlmaWVkVVJJ KCkudG9TdHJpbmcoKTtuZXcgQXN5bmNTaWduYWwoZSxjKS5zZW5kKCk7fX0KRGF0 YVN0b3JlPXdpbmRvdy5EYXRhU3RvcmV8fHtfc3RvcmFnZTp7fSxfZWxlbWVudHM6 e30sX3Rva2VuQ291bnRlcjoxLF9OT1RfSU5fRE9NX0NPTlNUOjEsX2dldFN0b3Jh Z2U6ZnVuY3Rpb24oYSl7dmFyIGI7aWYodHlwZW9mIGE9PSdzdHJpbmcnKXtiPSdz dHJfJythO31lbHNle2I9J2VsZW1fJysoYS5fX0ZCX1RPS0VOfHwoYS5fX0ZCX1RP S0VOPVtEYXRhU3RvcmUuX3Rva2VuQ291bnRlcisrXSkpWzBdO0RhdGFTdG9yZS5f ZWxlbWVudHNbYl09YTt9cmV0dXJuIERhdGFTdG9yZS5fc3RvcmFnZVtiXXx8KERh dGFTdG9yZS5fc3RvcmFnZVtiXT17fSk7fSxfc2hvdWxkRGVsZXRlRGF0YTpmdW5j dGlvbihhKXtpZighYS5ub2RlTmFtZSlyZXR1cm4gZmFsc2U7dHJ5e2lmKG51bGwh PWEub2Zmc2V0UGFyZW50KXJldHVybiBmYWxzZTt9Y2F0Y2goYil7fWlmKGRvY3Vt ZW50LmRvY3VtZW50RWxlbWVudC5jb250YWlucyl7cmV0dXJuICFkb2N1bWVudC5k b2N1bWVudEVsZW1lbnQuY29udGFpbnMoYSk7fWVsc2UgcmV0dXJuIChkb2N1bWVu dC5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkmRGF0 YVN0b3JlLl9OT1RfSU5fRE9NX0NPTlNUKTt9LHNldDpmdW5jdGlvbihjLGIsZCl7 dmFyIGE9RGF0YVN0b3JlLl9nZXRTdG9yYWdlKGMpO2FbYl09ZDtyZXR1cm4gYzt9 LGdldDpmdW5jdGlvbihlLGQsYyl7dmFyIGI9RGF0YVN0b3JlLl9nZXRTdG9yYWdl KGUpLGY9YltkXTtpZih0eXBlb2YgZj09PSd1bmRlZmluZWQnJiZlLmdldEF0dHJp YnV0ZSl7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtJytkKTtmPShudWxsPT09 YSk/dW5kZWZpbmVkOmE7fWlmKChjIT09dW5kZWZpbmVkKSYmKGY9PT11bmRlZmlu ZWQpKWY9YltkXT1jO3JldHVybiBmO30scmVtb3ZlOmZ1bmN0aW9uKGMsYil7dmFy IGE9RGF0YVN0b3JlLl9nZXRTdG9yYWdlKGMpLGQ9YVtiXTtkZWxldGUgYVtiXTty ZXR1cm4gZDt9LGNsZWFudXA6ZnVuY3Rpb24oKXt2YXIgYixhO2ZvcihiIGluIERh dGFTdG9yZS5fZWxlbWVudHMpe2E9RGF0YVN0b3JlLl9lbGVtZW50c1tiXTtpZihE YXRhU3RvcmUuX3Nob3VsZERlbGV0ZURhdGEoYSkpe2RlbGV0ZSBEYXRhU3RvcmUu X3N0b3JhZ2VbYl07ZGVsZXRlIERhdGFTdG9yZS5fZWxlbWVudHNbYl07fX19fTsK RXZlbnQuREFUQVNUT1JFX0tFWT0nRXZlbnQubGlzdGVuZXJzJztpZighRXZlbnQu cHJvdG90eXBlKUV2ZW50LnByb3RvdHlwZT17fTtmdW5jdGlvbiAkRShhKXthPWF8 fHdpbmRvdy5ldmVudHx8e307aWYoIWEuX2luaGVyaXRzX2Zyb21fcHJvdG90eXBl KWZvcih2YXIgYyBpbiBFdmVudC5wcm90b3R5cGUpdHJ5e2FbY109RXZlbnQucHJv dG90eXBlW2NdO31jYXRjaChiKXt9cmV0dXJuIGE7fShmdW5jdGlvbigpe2NvcHlf cHJvcGVydGllcyhFdmVudC5wcm90b3R5cGUse19pbmhlcml0c19mcm9tX3Byb3Rv dHlwZTp0cnVlLHN0b3A6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEJ1YmJsZT10cnVl O3RoaXMuc3RvcFByb3BhZ2F0aW9uJiZ0aGlzLnN0b3BQcm9wYWdhdGlvbigpO3Jl dHVybiB0aGlzO30scHJldmVudDpmdW5jdGlvbigpe3RoaXMucmV0dXJuVmFsdWU9 ZmFsc2U7dGhpcy5wcmV2ZW50RGVmYXVsdCYmdGhpcy5wcmV2ZW50RGVmYXVsdCgp O3JldHVybiB0aGlzO30sa2lsbDpmdW5jdGlvbigpe3RoaXMuc3RvcCgpLnByZXZl bnQoKTtyZXR1cm4gZmFsc2U7fSxnZXRUYXJnZXQ6ZnVuY3Rpb24oKXt2YXIgZz10 aGlzLnRhcmdldHx8dGhpcy5zcmNFbGVtZW50O3JldHVybiBnPyQoZyk6bnVsbDt9 LGdldFJlbGF0ZWRUYXJnZXQ6ZnVuY3Rpb24oKXt2YXIgZz10aGlzLnJlbGF0ZWRU YXJnZXR8fHRoaXMuZnJvbUVsZW1lbnQ7cmV0dXJuIGc/JChnKTpudWxsO30sZ2V0 TW9kaWZpZXJzOmZ1bmN0aW9uKCl7dmFyIGc9e2NvbnRyb2w6ISF0aGlzLmN0cmxL ZXksc2hpZnQ6ISF0aGlzLnNoaWZ0S2V5LGFsdDohIXRoaXMuYWx0S2V5LG1ldGE6 ISF0aGlzLm1ldGFLZXl9O2cuYWNjZXNzPXVhLm9zeCgpP2cuY29udHJvbDpnLmFs dDtnLmFueT1nLmNvbnRyb2x8fGcuc2hpZnR8fGcuYWx0fHxnLm1ldGE7cmV0dXJu IGc7fX0pO2NvcHlfcHJvcGVydGllcyhFdmVudCx7bGlzdGVuOmZ1bmN0aW9uKGgs cCxqLG0pe2lmKHR5cGVvZiBoPT0nc3RyaW5nJyloPSQoaCk7aWYodHlwZW9mIG09 PSd1bmRlZmluZWQnKW09RXZlbnQuUHJpb3JpdHkuTk9STUFMO2lmKHR5cGVvZiBw PT0nb2JqZWN0Jyl7dmFyIGk9e307Zm9yKHZhciBvIGluIHApaVtvXT1FdmVudC5s aXN0ZW4oaCxvLHBbb10sbSk7cmV0dXJuIGk7fWlmKHAubWF0Y2goL15vbi9pKSl0 aHJvdyBuZXcgVHlwZUVycm9yKCJCYWQgZXZlbnQgbmFtZSBgIitldmVudCsiJzog dXNlIGBjbGljaycsIG5vdCBgb25jbGljaycuIik7cD1wLnRvTG93ZXJDYXNlKCk7 dmFyIGs9RGF0YVN0b3JlLmdldChoLGIse30pO2lmKGZbcF0pe3ZhciBnPWZbcF07 cD1nLmJhc2U7aj1nLndyYXAoaik7fWEoaCxwKTt2YXIgcT1rW3BdO2lmKCEobSBp biBxKSlxW21dPVtdO3ZhciBsPXFbbV0ubGVuZ3RoLG49bmV3IEV2ZW50SGFuZGxl clJlZihqLHFbbV0sbCk7cVttXS5wdXNoKG4pO3JldHVybiBuO30sc3RvcDpmdW5j dGlvbihnKXtyZXR1cm4gJEUoZykuc3RvcCgpO30scHJldmVudDpmdW5jdGlvbihn KXtyZXR1cm4gJEUoZykucHJldmVudCgpO30sa2lsbDpmdW5jdGlvbihnKXtyZXR1 cm4gJEUoZykua2lsbCgpO30sZ2V0S2V5Q29kZTpmdW5jdGlvbihldmVudCl7ZXZl bnQ9JEUoZXZlbnQpO2lmKCFldmVudClyZXR1cm4gZmFsc2U7c3dpdGNoKGV2ZW50 LmtleUNvZGUpe2Nhc2UgNjMyMzI6cmV0dXJuIDM4O2Nhc2UgNjMyMzM6cmV0dXJu IDQwO2Nhc2UgNjMyMzQ6cmV0dXJuIDM3O2Nhc2UgNjMyMzU6cmV0dXJuIDM5O2Nh c2UgNjMyNzI6Y2FzZSA2MzI3MzpjYXNlIDYzMjc1OnJldHVybiBudWxsO2Nhc2Ug NjMyNzY6cmV0dXJuIDMzO2Nhc2UgNjMyNzc6cmV0dXJuIDM0O31pZihldmVudC5z aGlmdEtleSlzd2l0Y2goZXZlbnQua2V5Q29kZSl7Y2FzZSAzMzpjYXNlIDM0OmNh c2UgMzc6Y2FzZSAzODpjYXNlIDM5OmNhc2UgNDA6cmV0dXJuIG51bGw7fXJldHVy biBldmVudC5rZXlDb2RlO30sZ2V0UHJpb3JpdGllczpmdW5jdGlvbigpe2lmKCFl KXt2YXIgZz12YWx1ZXMoRXZlbnQuUHJpb3JpdHkpO2cuc29ydChmdW5jdGlvbiho LGkpe3JldHVybiBoLWk7fSk7ZT1nO31yZXR1cm4gZTt9LF9fZmlyZTpmdW5jdGlv bihnLGksZXZlbnQpe3ZhciBoPUV2ZW50Ll9fZ2V0SGFuZGxlcihnLGkpO2lmKGgp cmV0dXJuIGgoJEUoZXZlbnQpKTt9LF9fZ2V0SGFuZGxlcjpmdW5jdGlvbihnLGgp e3JldHVybiBEYXRhU3RvcmUuZ2V0KGcsRXZlbnQuREFUQVNUT1JFX0tFWStoKTt9 fSk7dmFyIGU9bnVsbCxiPUV2ZW50LkRBVEFTVE9SRV9LRVk7dmFyIGM9ZnVuY3Rp b24oZyl7cmV0dXJuIGZ1bmN0aW9uKGgpe2lmKCFET00uY29udGFpbnModGhpcyxo LmdldFJlbGF0ZWRUYXJnZXQoKSkpcmV0dXJuIGcuY2FsbCh0aGlzLGgpO307fTt2 YXIgZj17bW91c2VlbnRlcjp7YmFzZTonbW91c2VvdmVyJyx3cmFwOmN9LG1vdXNl bGVhdmU6e2Jhc2U6J21vdXNlb3V0Jyx3cmFwOmN9fTt2YXIgYT1mdW5jdGlvbihn LGwpe3ZhciBoPSdvbicrbDt2YXIgaz1kLmJpbmQoZyk7dmFyIGo9RGF0YVN0b3Jl LmdldChnLGIpO2lmKGwgaW4gailyZXR1cm47altsXT17fTtpZihnLmFkZEV2ZW50 TGlzdGVuZXIpe2cuYWRkRXZlbnRMaXN0ZW5lcihsLGssZmFsc2UpO31lbHNlIGlm KGcuYXR0YWNoRXZlbnQpZy5hdHRhY2hFdmVudChoLGspO0RhdGFTdG9yZS5zZXQo ZyxiK2wsayk7aWYoZ1toXSl7dmFyIGk9Z1toXTtnW2hdPW51bGw7RXZlbnQubGlz dGVuKGcsbCxpLEV2ZW50LlByaW9yaXR5LlRSQURJVElPTkFMKTt9aWYoZy5ub2Rl TmFtZT09PSdGT1JNJyYmbD09PSdzdWJtaXQnKUV2ZW50Lmxpc3RlbihnLGwsRXZl bnQuX19idWJibGVTdWJtaXQuY3VycnkoZyksRXZlbnQuUHJpb3JpdHkuX0JVQkJM RSk7fTt2YXIgZD1mdW5jdGlvbihldmVudCl7ZXZlbnQ9JEUoZXZlbnQpO3ZhciBu PWV2ZW50LnR5cGU7aWYoIURhdGFTdG9yZS5nZXQodGhpcyxiKSl0aHJvdyBuZXcg RXJyb3IoIkJhZCBsaXN0ZW5IYW5kbGVyIGNvbnRleHQuIik7dmFyIG89RGF0YVN0 b3JlLmdldCh0aGlzLGIpW25dO2lmKCFvKXRocm93IG5ldyBFcnJvcigiTm8gcmVn aXN0ZXJlZCBoYW5kbGVycyBmb3IgYCIrbisiJy4iKTtpZihuPT0nY2xpY2snKXt2 YXIgaT1QYXJlbnQuYnlUYWcoZXZlbnQuZ2V0VGFyZ2V0KCksJ2EnKTt1c2VyX2Fj dGlvbihpLG4sZXZlbnQpO312YXIgaz1FdmVudC5nZXRQcmlvcml0aWVzKCk7Zm9y KHZhciBqPTA7ajxrLmxlbmd0aDtqKyspe3ZhciBsPWtbal07aWYobCBpbiBvKXt2 YXIgZz1vW2xdO2Zvcih2YXIgaD0wO2g8Zy5sZW5ndGg7aCsrKXtpZighZ1toXSlj b250aW51ZTt2YXIgbT1nW2hdLmZpcmUodGhpcyxldmVudCk7aWYobT09PWZhbHNl KXtyZXR1cm4gZXZlbnQua2lsbCgpO31lbHNlIGlmKGV2ZW50LmNhbmNlbEJ1YmJs ZSlyZXR1cm4gZXZlbnQuc3RvcCgpO319fXJldHVybiBldmVudC5yZXR1cm5WYWx1 ZTt9O30pKCk7RXZlbnQuUHJpb3JpdHk9e1VSR0VOVDotMjAsVFJBRElUSU9OQUw6 LTEwLE5PUk1BTDowLF9CVUJCTEU6MTAwMH07ZnVuY3Rpb24gRXZlbnRIYW5kbGVy UmVmKGIsYSxjKXt0aGlzLl9oYW5kbGVyPWI7dGhpcy5fY29udGFpbmVyPWE7dGhp cy5faW5kZXg9Yzt9RXZlbnRIYW5kbGVyUmVmLnByb3RvdHlwZT17cmVtb3ZlOmZ1 bmN0aW9uKCl7ZGVsZXRlIHRoaXMuX2hhbmRsZXI7ZGVsZXRlIHRoaXMuX2NvbnRh aW5lclt0aGlzLl9pbmRleF07fSxmaXJlOmZ1bmN0aW9uKGEsZXZlbnQpe3JldHVy biB0aGlzLl9oYW5kbGVyLmNhbGwoYSxldmVudCk7fX07CmZ1bmN0aW9uIFZlY3Rv cjIoYixjLGEpe2NvcHlfcHJvcGVydGllcyh0aGlzLHt4OnBhcnNlRmxvYXQoYiks eTpwYXJzZUZsb2F0KGMpLGRvbWFpbjphfHwncHVyZSd9KTt9Y29weV9wcm9wZXJ0 aWVzKFZlY3RvcjIucHJvdG90eXBlLHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVy biAnKCcrdGhpcy54KycsICcrdGhpcy55KycpJzt9LGFkZDpmdW5jdGlvbihjLGQp e2lmKGFyZ3VtZW50cy5sZW5ndGg9PTEpe2lmKGMuZG9tYWluIT0ncHVyZScpYz1j LmNvbnZlcnRUbyh0aGlzLmRvbWFpbik7cmV0dXJuIHRoaXMuYWRkKGMueCxjLnkp O312YXIgYT1wYXJzZUZsb2F0KGMpO3ZhciBiPXBhcnNlRmxvYXQoZCk7cmV0dXJu IG5ldyBWZWN0b3IyKHRoaXMueCthLHRoaXMueStiLHRoaXMuZG9tYWluKTt9LG11 bDpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZihiKT09InVuZGVmaW5lZCIpYj1hO3Jl dHVybiBuZXcgVmVjdG9yMih0aGlzLngqYSx0aGlzLnkqYix0aGlzLmRvbWFpbik7 fSxzdWI6ZnVuY3Rpb24oYSxiKXtpZihhcmd1bWVudHMubGVuZ3RoPT0xKXtyZXR1 cm4gdGhpcy5hZGQoYS5tdWwoLTEpKTt9ZWxzZSByZXR1cm4gdGhpcy5hZGQoLWEs LWIpO30sZGlzdGFuY2VUbzpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zdWIoYSku bWFnbml0dWRlKCk7fSxtYWduaXR1ZGU6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5z cXJ0KCh0aGlzLngqdGhpcy54KSsodGhpcy55KnRoaXMueSkpO30sY29udmVydFRv OmZ1bmN0aW9uKGEpe2lmKGEhPSdwdXJlJyYmYSE9J3ZpZXdwb3J0JyYmYSE9J2Rv Y3VtZW50JylyZXR1cm4gbmV3IFZlY3RvcjIoMCwwKTtpZihhPT10aGlzLmRvbWFp bilyZXR1cm4gbmV3IFZlY3RvcjIodGhpcy54LHRoaXMueSx0aGlzLmRvbWFpbik7 aWYoYT09J3B1cmUnKXJldHVybiBuZXcgVmVjdG9yMih0aGlzLngsdGhpcy55KTtp Zih0aGlzLmRvbWFpbj09J3B1cmUnKXJldHVybiBuZXcgVmVjdG9yMigwLDApO3Zh ciBiPVZlY3RvcjIuZ2V0U2Nyb2xsUG9zaXRpb24oJ2RvY3VtZW50Jyk7dmFyIGM9 dGhpcy54LGQ9dGhpcy55O2lmKHRoaXMuZG9tYWluPT0nZG9jdW1lbnQnKXtjLT1i Lng7ZC09Yi55O31lbHNle2MrPWIueDtkKz1iLnk7fXJldHVybiBuZXcgVmVjdG9y MihjLGQsYSk7fSxzZXRFbGVtZW50UG9zaXRpb246ZnVuY3Rpb24oYixhKXthPWF8 fCdkb2N1bWVudCc7dmFyIGM9dGhpcy5jb252ZXJ0VG8oYSk7Yi5zdHlsZS5sZWZ0 PXBhcnNlSW50KGMueCkrJ3B4JztiLnN0eWxlLnRvcD1wYXJzZUludChjLnkpKydw eCc7cmV0dXJuIHRoaXM7fSxzZXRFbGVtZW50RGltZW5zaW9uczpmdW5jdGlvbihh KXtyZXR1cm4gdGhpcy5zZXRFbGVtZW50V2lkdGgoYSkuc2V0RWxlbWVudEhlaWdo dChhKTt9LHNldEVsZW1lbnRXaWR0aDpmdW5jdGlvbihhKXthLnN0eWxlLndpZHRo PXBhcnNlSW50KHRoaXMueCwxMCkrJ3B4JztyZXR1cm4gdGhpczt9LHNldEVsZW1l bnRIZWlnaHQ6ZnVuY3Rpb24oYSl7YS5zdHlsZS5oZWlnaHQ9cGFyc2VJbnQodGhp cy55LDEwKSsncHgnO3JldHVybiB0aGlzO30sc2Nyb2xsRWxlbWVudEJ5OmZ1bmN0 aW9uKGEpe2lmKGE9PWRvY3VtZW50LmJvZHkpe3dpbmRvdy5zY3JvbGxCeSh0aGlz LngsdGhpcy55KTt9ZWxzZXthLnNjcm9sbExlZnQrPXRoaXMueDthLnNjcm9sbFRv cCs9dGhpcy55O31yZXR1cm4gdGhpczt9fSk7Y29weV9wcm9wZXJ0aWVzKFZlY3Rv cjIse2dldEV2ZW50UG9zaXRpb246ZnVuY3Rpb24oYixhKXthPWF8fCdkb2N1bWVu dCc7Yj0kRShiKTt2YXIgZD1iLnBhZ2VYfHwoYi5jbGllbnRYKyhkb2N1bWVudC5k b2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxM ZWZ0KSk7dmFyIGU9Yi5wYWdlWXx8KGIuY2xpZW50WSsoZG9jdW1lbnQuZG9jdW1l bnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKTt2 YXIgYz1uZXcgVmVjdG9yMihkLGUsJ2RvY3VtZW50Jyk7cmV0dXJuIGMuY29udmVy dFRvKGEpO30sZ2V0U2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24oYSl7YT1hfHwnZG9j dW1lbnQnO3ZhciBiPWRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQu ZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7dmFyIGM9ZG9jdW1lbnQuYm9keS5z Y3JvbGxUb3B8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7cmV0 dXJuIG5ldyBWZWN0b3IyKGIsYywnZG9jdW1lbnQnKS5jb252ZXJ0VG8oYSk7fSxn ZXRFbGVtZW50UG9zaXRpb246ZnVuY3Rpb24oYyxiKXtiPWJ8fCdkb2N1bWVudCc7 aWYoIWMpcmV0dXJuO2lmKCEoJ2dldEJvdW5kaW5nQ2xpZW50UmVjdCcgaW4gYykp cmV0dXJuIG5ldyBWZWN0b3IyKDAsMCwnZG9jdW1lbnQnKTt2YXIgZT1jLmdldEJv dW5kaW5nQ2xpZW50UmVjdCgpLGE9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGQ9 TWF0aC5yb3VuZChlLmxlZnQpLWEuY2xpZW50TGVmdCxmPU1hdGgucm91bmQoZS50 b3ApLWEuY2xpZW50VG9wO3JldHVybiBuZXcgVmVjdG9yMihkLGYsJ3ZpZXdwb3J0 JykuY29udmVydFRvKGIpO30sZ2V0RWxlbWVudERpbWVuc2lvbnM6ZnVuY3Rpb24o YSl7cmV0dXJuIG5ldyBWZWN0b3IyKGEub2Zmc2V0V2lkdGh8fDAsYS5vZmZzZXRI ZWlnaHR8fDApO30sZ2V0Vmlld3BvcnREaW1lbnNpb25zOmZ1bmN0aW9uKCl7dmFy IGE9KHdpbmRvdyYmd2luZG93LmlubmVyV2lkdGgpfHwoZG9jdW1lbnQmJmRvY3Vt ZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNs aWVudFdpZHRoKXx8KGRvY3VtZW50JiZkb2N1bWVudC5ib2R5JiZkb2N1bWVudC5i b2R5LmNsaWVudFdpZHRoKXx8MDt2YXIgYj0od2luZG93JiZ3aW5kb3cuaW5uZXJI ZWlnaHQpfHwoZG9jdW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9j dW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCl8fChkb2N1bWVudCYm ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQpfHwwO3Jl dHVybiBuZXcgVmVjdG9yMihhLGIsJ3ZpZXdwb3J0Jyk7fSxnZXREb2N1bWVudERp bWVuc2lvbnM6ZnVuY3Rpb24oKXt2YXIgYT0oZG9jdW1lbnQmJmRvY3VtZW50LmRv Y3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFdp ZHRoKXx8KGRvY3VtZW50JiZkb2N1bWVudC5ib2R5JiZkb2N1bWVudC5ib2R5LnNj cm9sbFdpZHRoKXx8MDt2YXIgYj0oZG9jdW1lbnQmJmRvY3VtZW50LmRvY3VtZW50 RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCl8 fChkb2N1bWVudCYmZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYm9keS5zY3JvbGxI ZWlnaHQpfHwwO3JldHVybiBuZXcgVmVjdG9yMihhLGIsJ2RvY3VtZW50Jyk7fSxk ZXNlcmlhbGl6ZTpmdW5jdGlvbihiKXt2YXIgYT1iLnNwbGl0KCcsJyk7cmV0dXJu IG5ldyBWZWN0b3IyKGFbMF0sYVsxXSk7fX0pO3ZhciBvcGVyYUlnbm9yZVNjcm9s bD17dGFibGU6dHJ1ZSwnaW5saW5lLXRhYmxlJzp0cnVlLGlubGluZTp0cnVlfTtm dW5jdGlvbiBlbGVtZW50WChhKXtyZXR1cm4gVmVjdG9yMi5nZXRFbGVtZW50UG9z aXRpb24oYSwnZG9jdW1lbnQnKS54O31mdW5jdGlvbiBlbGVtZW50WShhKXtyZXR1 cm4gVmVjdG9yMi5nZXRFbGVtZW50UG9zaXRpb24oYSwnZG9jdW1lbnQnKS55O30K IWZ1bmN0aW9uKCl7dmFyIGE9ZnVuY3Rpb24oKXt2YXIgYj0wO3JldHVybiBmdW5j dGlvbigpe2lmKCFiKXtiPTE7c2V0VGltZW91dChmdW5jdGlvbigpe2I9MDt2YXIg Yz1WZWN0b3IyLmdldFZpZXdwb3J0RGltZW5zaW9ucygpO3NldENvb2tpZSgnd2Qn LGMueCsneCcrYy55KTt9LDEwMCk7fX07fSgpO29ubG9hZFJlZ2lzdGVyKGEpO29u bG9hZFJlZ2lzdGVyKGZ1bmN0aW9uKCl7RXZlbnQubGlzdGVuKHdpbmRvdywncmVz aXplJyxhKTt9KTtvbmxvYWRSZWdpc3RlcihmdW5jdGlvbigpe0V2ZW50Lmxpc3Rl bih3aW5kb3csJ2ZvY3VzJyxhKTt9KTt9KCk7 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=H7He8TCHOS8.js Content-Type: application/x-javascript; charset=utf-8; name=H7He8TCHOS8.js Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/yF/r/H7He8TCHOS8.js Content-Transfer-Encoding: Base64 LyoxMzA4MDY1NDEwLDE3NjgyMDY2MyovCgppZiAod2luZG93LkNhdmFscnlMb2dn ZXIpIHsgQ2F2YWxyeUxvZ2dlci5zdGFydF9qcyhbIkpZWFVxIl0pOyB9CgohZnVu Y3Rpb24oKXtmdW5jdGlvbiBhKGIpe3JldHVybiBmdW5jdGlvbigpe2lmKHRoaXM9 PT13aW5kb3cpdGhyb3cgbmV3IFR5cGVFcnJvcigpO3JldHVybiBiLmFwcGx5KHRo aXMsYXJndW1lbnRzKTt9O31jb3B5X3Byb3BlcnRpZXMoQXJyYXkucHJvdG90eXBl LHttYXA6ZnVuY3Rpb24oYyxiKXtpZih0aGlzPT09d2luZG93fHx0eXBlb2YgYyE9 J2Z1bmN0aW9uJyl0aHJvdyBuZXcgVHlwZUVycm9yKCk7dmFyIGQ7dmFyIGU9dGhp cy5sZW5ndGg7dmFyIGY9bmV3IEFycmF5KGUpO2ZvcihkPTA7ZDxlOysrZClpZihk IGluIHRoaXMpZltkXT1jLmNhbGwoYix0aGlzW2RdLGQsdGhpcyk7cmV0dXJuIGY7 fSxmb3JFYWNoOmZ1bmN0aW9uKGMsYil7dGhpcy5tYXAoYyxiKTtyZXR1cm4gdGhp czt9LGZpbHRlcjpmdW5jdGlvbihjLGIpe2M9Y3x8ZnVuY3Rpb24oaCl7cmV0dXJu IGg7fTtpZih0aGlzPT09d2luZG93fHx0eXBlb2YgYyE9J2Z1bmN0aW9uJyl0aHJv dyBuZXcgVHlwZUVycm9yKCk7dmFyIGQsZyxlPXRoaXMubGVuZ3RoLGY9W107Zm9y KGQ9MDtkPGU7KytkKWlmKGQgaW4gdGhpcyl7Zz10aGlzW2RdO2lmKGMuY2FsbChi LGcsZCx0aGlzKSlmLnB1c2goZyk7fXJldHVybiBmO30sZXZlcnk6ZnVuY3Rpb24o ZCxjKXt2YXIgYj10aGlzLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiAxO30pO3Jl dHVybiAodGhpcy5maWx0ZXIoZCxjKS5sZW5ndGg9PWIubGVuZ3RoKTt9LHNvbWU6 ZnVuY3Rpb24oYyxiKXtyZXR1cm4gKHRoaXMuZmlsdGVyKGMsYikubGVuZ3RoPjAp O30scmVkdWNlOm51bGwscmVkdWNlUmlnaHQ6bnVsbCxzb3J0OmEoQXJyYXkucHJv dG90eXBlLnNvcnQpLHJldmVyc2U6YShBcnJheS5wcm90b3R5cGUucmV2ZXJzZSks Y29uY2F0OmEoQXJyYXkucHJvdG90eXBlLmNvbmNhdCksc2xpY2U6YShBcnJheS5w cm90b3R5cGUuc2xpY2UpLGluZGV4T2Y6YShBcnJheS5wcm90b3R5cGUuaW5kZXhP Znx8ZnVuY3Rpb24oZCxiKXt2YXIgYz10aGlzLmxlbmd0aDtifD0wO2lmKGI8MCli Kz1jO2Zvcig7YjxjO2IrKylpZihiIGluIHRoaXMmJnRoaXNbYl09PT1kKXJldHVy biBiO3JldHVybiAtMTt9KSxjb250YWluczpmdW5jdGlvbihiKXtyZXR1cm4gdGhp cy5pbmRleE9mKGIpIT0tMTt9LHJlbW92ZTpmdW5jdGlvbihjKXt2YXIgYj10aGlz LmluZGV4T2YoYyk7aWYoYiE9LTEpdGhpcy5zcGxpY2UoYiwxKTt9fSk7QXJyYXku cHJvdG90eXBlLmVhY2g9QXJyYXkucHJvdG90eXBlLmZvckVhY2g7QXJyYXkucHJv dG90eXBlLmNsb25lPUFycmF5LnByb3RvdHlwZS5zbGljZTt9KCk7CndpbmRvdy5v bmxvYWRSZWdpc3Rlcj1mdW5jdGlvbihhKXt3aW5kb3cubG9hZGVkP19ydW5Ib29r KGEpOl9hZGRIb29rKCdvbmxvYWRob29rcycsYSk7fTtmdW5jdGlvbiBvbmFmdGVy bG9hZFJlZ2lzdGVyKGEpe3dpbmRvdy5hZnRlcmxvYWRlZD9zZXRUaW1lb3V0KGZ1 bmN0aW9uKCl7X3J1bkhvb2soYSk7fSwwKTpfYWRkSG9vaygnb25hZnRlcmxvYWRo b29rcycsYSk7fWZ1bmN0aW9uIF9vbmxvYWRIb29rKCl7IXdpbmRvdy5sb2FkZWQm JndpbmRvdy5DYXZhbHJ5TG9nZ2VyJiZDYXZhbHJ5TG9nZ2VyLmdldEluc3RhbmNl KCkuc2V0VGltZVN0YW1wKCd0X3ByZWhvb2tzJyk7X3J1bkhvb2tzKCdvbmxvYWRo b29rcycpOyF3aW5kb3cubG9hZGVkJiZ3aW5kb3cuQ2F2YWxyeUxvZ2dlciYmQ2F2 YWxyeUxvZ2dlci5nZXRJbnN0YW5jZSgpLnNldFRpbWVTdGFtcCgndF9ob29rcycp O3dpbmRvdy5sb2FkZWQ9dHJ1ZTtBcmJpdGVyLmluZm9ybSgndWlwYWdlX29ubG9h ZCcsdHJ1ZSxBcmJpdGVyLkJFSEFWSU9SX1NUQVRFKTt9ZnVuY3Rpb24gX29uYWZ0 ZXJsb2FkSG9vaygpe19ydW5Ib29rcygnb25hZnRlcmxvYWRob29rcycpO3dpbmRv dy5hZnRlcmxvYWRlZD10cnVlO31mdW5jdGlvbiBfcnVuSG9vayhiKXt0cnl7cmV0 dXJuIGIoKTt9Y2F0Y2goYSl7fX1mdW5jdGlvbiBfcnVuSG9va3MoYil7dmFyIGQ9 Yj09J29uYmVmb3JlbGVhdmVob29rcyd8fGI9PSdvbmJlZm9yZXVubG9hZGhvb2tz Jzt2YXIgZT1udWxsO2Rve3ZhciBhPXdpbmRvd1tiXTtpZighZCl3aW5kb3dbYl09 bnVsbDtpZighYSlicmVhaztmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihk KXtlPWV8fF9ydW5Ib29rKGFbY10pO31lbHNlIF9ydW5Ib29rKGFbY10pO2lmKGQp YnJlYWs7fXdoaWxlKHdpbmRvd1tiXSk7aWYoZCYmZSlyZXR1cm4gZTt9ZnVuY3Rp b24ga2VlcF93aW5kb3dfc2V0X2FzX2xvYWRlZCgpe2lmKHdpbmRvdy5sb2FkZWQ9 PWZhbHNlKXt3aW5kb3cubG9hZGVkPXRydWU7X3J1bkhvb2tzKCdvbmxvYWRob29r cycpO31pZih3aW5kb3cuYWZ0ZXJsb2FkZWQ9PWZhbHNlKXt3aW5kb3cuYWZ0ZXJs b2FkZWQ9dHJ1ZTtfcnVuSG9va3MoJ29uYWZ0ZXJsb2FkaG9va3MnKTt9fUFyYml0 ZXIucmVnaXN0ZXJDYWxsYmFjayhfb25sb2FkSG9vayxbT25sb2FkRXZlbnQuT05M T0FEX0RPTUNPTlRFTlRfQ0FMTEJBQ0ssSW5pdGlhbEpTTG9hZGVyLklOSVRJQUxf SlNfUkVBRFldKTtBcmJpdGVyLnJlZ2lzdGVyQ2FsbGJhY2soX29uYWZ0ZXJsb2Fk SG9vayxbT25sb2FkRXZlbnQuT05MT0FEX0RPTUNPTlRFTlRfQ0FMTEJBQ0ssT25s b2FkRXZlbnQuT05MT0FEX0NBTExCQUNLLEluaXRpYWxKU0xvYWRlci5JTklUSUFM X0pTX1JFQURZXSk7QXJiaXRlci5zdWJzY3JpYmUoT25sb2FkRXZlbnQuT05CRUZP UkVVTkxPQUQsZnVuY3Rpb24oYixhKXthLndhcm49X3J1bkhvb2tzKCdvbmJlZm9y ZWxlYXZlaG9va3MnKXx8X3J1bkhvb2tzKCdvbmJlZm9yZXVubG9hZGhvb2tzJyk7 aWYoIWEud2Fybil7d2luZG93LmxvYWRlZD1mYWxzZTt3aW5kb3cuYWZ0ZXJsb2Fk ZWQ9ZmFsc2U7fX0sQXJiaXRlci5TVUJTQ1JJQkVfTkVXKTtBcmJpdGVyLnN1YnNj cmliZShPbmxvYWRFdmVudC5PTlVOTE9BRCxmdW5jdGlvbihiLGEpe19ydW5Ib29r cygnb251bmxvYWRob29rcycpO30sQXJiaXRlci5TVUJTQ1JJQkVfTkVXKTsKZnVu Y3Rpb24gY2hhaW4oZCxlKXt2YXIgYixhPVtdO2Zvcih2YXIgYz0wO2M8YXJndW1l bnRzLmxlbmd0aDtjKyspYS5wdXNoKGFyZ3VtZW50c1tjXSk7Yj1mdW5jdGlvbihl dmVudCl7ZXZlbnQ9ZXZlbnR8fHdpbmRvdy5ldmVudDtmb3IodmFyIGY9MDtmPGEu bGVuZ3RoO2YrKylpZihhW2ZdJiZhW2ZdLmFwcGx5KHRoaXMsYXJndW1lbnRzKT09 PWZhbHNlKXtyZXR1cm4gZmFsc2U7fWVsc2UgaWYoZXZlbnQmJmV2ZW50LmNhbmNl bEJ1YmJsZSlyZXR1cm4gdHJ1ZTtyZXR1cm4gdHJ1ZTt9O2IudG9TdHJpbmc9ZnVu Y3Rpb24oKXtyZXR1cm4gY2hhaW4uX3RvU3RyaW5nKGEpO307cmV0dXJuIGI7fWlm KCFjaGFpbi5fdG9TdHJpbmcpY2hhaW4uX3RvU3RyaW5nPWZ1bmN0aW9uKGIpe3Zh ciBkPSdjaGFpbmVkIGZucycsYT1iLmZpbHRlcigpO2Zvcih2YXIgYz0wO2M8Yi5s ZW5ndGg7YysrKWQrPSdcbicrYltjXS50b1N0cmluZygpO3JldHVybiBkO307CnZv aWQoMCk7ClN0cmluZy5wcm90b3R5cGUudHJpbT1mdW5jdGlvbigpe2lmKHRoaXM9 PXdpbmRvdylyZXR1cm4gbnVsbDtyZXR1cm4gdGhpcy5yZXBsYWNlKC9eXHMqfFxz KiQvZywnJyk7fTtmdW5jdGlvbiB0cmltKGIpe3RyeXtyZXR1cm4gU3RyaW5nKGIu dG9TdHJpbmcoKSkudHJpbSgpO31jYXRjaChhKXtyZXR1cm4gJyc7fX1TdHJpbmcu cHJvdG90eXBlLnN0YXJ0c1dpdGg9ZnVuY3Rpb24oYSl7aWYodGhpcz09d2luZG93 KXJldHVybiBudWxsO3JldHVybiB0aGlzLnN1YnN0cmluZygwLGEubGVuZ3RoKT09 YTt9O1N0cmluZy5wcm90b3R5cGUuZW5kc1dpdGg9ZnVuY3Rpb24oYSl7aWYodGhp cz09d2luZG93KXJldHVybiBudWxsO3JldHVybiB0aGlzLmxlbmd0aD49YS5sZW5n dGgmJnRoaXMuc3Vic3RyaW5nKHRoaXMubGVuZ3RoLWEubGVuZ3RoKT09YTt9O1N0 cmluZy5wcm90b3R5cGUuaGFzaDMyPWZ1bmN0aW9uKCl7dmFyIGE9MjE2NjEzNjI2 MTtmb3IodmFyIGI9MCxjPXRoaXMubGVuZ3RoO2I8YzsrK2IpYT0oYV50aGlzLmNo YXJDb2RlQXQoYikpKjE2Nzc3NjE5O2ErPWE8PDEzO2FePWE+Pjc7YSs9YTw8Mzth Xj1hPj4xNzthKz1hPDw1O3JldHVybiAoYXwwKSsyMTQ3NDgzNjQ4O307U3RyaW5n LnByb3RvdHlwZS5zcGxpdD0oZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGgs ZSl7dmFyIGI9IiI7aWYoaD09PW51bGx8fGU9PT1udWxsKXtyZXR1cm4gW107fWVs c2UgaWYodHlwZW9mIGg9PSdzdHJpbmcnKXtyZXR1cm4gYS5jYWxsKHRoaXMsaCxl KTt9ZWxzZSBpZihoPT09dW5kZWZpbmVkKXtyZXR1cm4gW3RoaXMudG9TdHJpbmco KV07fWVsc2UgaWYoaCBpbnN0YW5jZW9mIFJlZ0V4cCl7aWYoIWguXzJ8fCFoLl8x KXtiPWgudG9TdHJpbmcoKS5yZXBsYWNlKC9eW1xTXHNdK1wvLywiIik7aWYoIWgu XzEpaWYoIWguZ2xvYmFsKXtoLl8xPW5ldyBSZWdFeHAoaC5zb3VyY2UsImciK2Ip O31lbHNlIGguXzE9MTt9c2VwYXJhdG9yMT1oLl8xPT09MT9oOmguXzE7dmFyIGk9 KGguXzI/aC5fMjpoLl8yPW5ldyBSZWdFeHAoIl4iK3NlcGFyYXRvcjEuc291cmNl KyIkIixiKSk7aWYoZT09PXVuZGVmaW5lZHx8ZTwwKXtlPWZhbHNlO31lbHNle2U9 TWF0aC5mbG9vcihlKTtpZighZSlyZXR1cm4gW107fXZhciBmLGc9W10sZD0wLGM9 MDt3aGlsZSgoZT9jKys8PWU6dHJ1ZSkmJihmPXNlcGFyYXRvcjEuZXhlYyh0aGlz KSkpe2lmKChmWzBdLmxlbmd0aD09PTApJiYoc2VwYXJhdG9yMS5sYXN0SW5kZXg+ Zi5pbmRleCkpc2VwYXJhdG9yMS5sYXN0SW5kZXgtLTtpZihzZXBhcmF0b3IxLmxh c3RJbmRleD5kKXtpZihmLmxlbmd0aD4xKWZbMF0ucmVwbGFjZShpLGZ1bmN0aW9u KCl7Zm9yKHZhciBqPTE7ajxhcmd1bWVudHMubGVuZ3RoLTI7aisrKWlmKGFyZ3Vt ZW50c1tqXT09PXVuZGVmaW5lZClmW2pdPXVuZGVmaW5lZDt9KTtnPWcuY29uY2F0 KHRoaXMuc3Vic3RyaW5nKGQsZi5pbmRleCksKGYuaW5kZXg9PT10aGlzLmxlbmd0 aD9bXTpmLnNsaWNlKDEpKSk7ZD1zZXBhcmF0b3IxLmxhc3RJbmRleDt9aWYoZlsw XS5sZW5ndGg9PT0wKXNlcGFyYXRvcjEubGFzdEluZGV4Kys7fXJldHVybiAoZD09 PXRoaXMubGVuZ3RoKT8oc2VwYXJhdG9yMS50ZXN0KCIiKT9nOmcuY29uY2F0KCIi KSk6KGU/ZzpnLmNvbmNhdCh0aGlzLnN1YnN0cmluZyhkKSkpO31lbHNlIHJldHVy biBhLmNhbGwodGhpcyxoLGUpO307fSkoU3RyaW5nLnByb3RvdHlwZS5zcGxpdCk7 CmFkZF9wcm9wZXJ0aWVzKCdDU1MnLHtzaG93bjpmdW5jdGlvbihhKXtyZXR1cm4g IUNTUy5oYXNDbGFzcyhhLCdoaWRkZW5fZWxlbScpO30sdG9nZ2xlOmZ1bmN0aW9u KGEpe0NTUy5jb25kaXRpb25TaG93KGEsIUNTUy5zaG93bihhKSk7fSxzZXRDbGFz czpmdW5jdGlvbihiLGEpeyQoYikuY2xhc3NOYW1lPWF8fCcnO3JldHVybiBiO30s c2V0U3R5bGU6ZnVuY3Rpb24oYSxiLGQpe3N3aXRjaChiKXtjYXNlICdvcGFjaXR5 Jzp2YXIgYz0oZD09MSk7YS5zdHlsZS5vcGFjaXR5PWM/Jyc6JycrZDthLnN0eWxl LmZpbHRlcj1jPycnOidhbHBoYShvcGFjaXR5PScrZCoxMDArJyknO2JyZWFrO2Nh c2UgJ2Zsb2F0JzphLnN0eWxlLmNzc0Zsb2F0PWEuc3R5bGUuc3R5bGVGbG9hdD1k O2JyZWFrO2RlZmF1bHQ6Yj1iLnJlcGxhY2UoLy0oLikvZyxmdW5jdGlvbihlLGYp e3JldHVybiBmLnRvVXBwZXJDYXNlKCk7fSk7YS5zdHlsZVtiXT1kO31yZXR1cm4g YTt9LGdldFN0eWxlOmZ1bmN0aW9uKGIsZCl7Yj0kKGIpO2Z1bmN0aW9uIGMoZSl7 cmV0dXJuIGUucmVwbGFjZSgvKFtBLVpdKS9nLCctJDEnKS50b0xvd2VyQ2FzZSgp O31pZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSl7dmFyIGE9d2luZG93LmdldENv bXB1dGVkU3R5bGUoYixudWxsKTtpZihhKXJldHVybiBhLmdldFByb3BlcnR5VmFs dWUoYyhkKSk7fWlmKGRvY3VtZW50LmRlZmF1bHRWaWV3JiZkb2N1bWVudC5kZWZh dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKXt2YXIgYT1kb2N1bWVudC5kZWZhdWx0 Vmlldy5nZXRDb21wdXRlZFN0eWxlKGIsbnVsbCk7aWYoYSlyZXR1cm4gYS5nZXRQ cm9wZXJ0eVZhbHVlKGMoZCkpO2lmKGQ9PSJkaXNwbGF5IilyZXR1cm4gIm5vbmUi O31pZihiLmN1cnJlbnRTdHlsZSlyZXR1cm4gYi5jdXJyZW50U3R5bGVbZF07cmV0 dXJuIGIuc3R5bGVbZF07fSxnZXRPcGFjaXR5OmZ1bmN0aW9uKGEpe2E9JChhKTt2 YXIgYj1DU1MuZ2V0U3R5bGUoYSwnZmlsdGVyJyk7dmFyIGM9bnVsbDtpZihiJiYo Yz0vKFxkKyg/OlwuXGQrKT8pLy5leGVjKGIpKSl7cmV0dXJuIHBhcnNlRmxvYXQo Yy5wb3AoKSkvMTAwO31lbHNlIGlmKGI9Q1NTLmdldFN0eWxlKGEsJ29wYWNpdHkn KSl7cmV0dXJuIHBhcnNlRmxvYXQoYik7fWVsc2UgcmV0dXJuIDE7fX0pOwpmdW5j dGlvbiBhbmltYXRpb24oYSl7aWYoYT09dW5kZWZpbmVkKXJldHVybjtpZih0aGlz PT13aW5kb3cpe3JldHVybiBuZXcgYW5pbWF0aW9uKGEpO31lbHNle3RoaXMub2Jq PWE7dGhpcy5fcmVzZXRfc3RhdGUoKTt0aGlzLnF1ZXVlPVtdO3RoaXMubGFzdF9h dHRyPW51bGw7fX1hbmltYXRpb24ucmVzb2x1dGlvbj0yMDthbmltYXRpb24ub2Zm c2V0PTA7YW5pbWF0aW9uLnByb3RvdHlwZS5fcmVzZXRfc3RhdGU9ZnVuY3Rpb24o KXt0aGlzLnN0YXRlPXthdHRyczp7fSxkdXJhdGlvbjo1MDB9O307YW5pbWF0aW9u LnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5fcmVzZXRfc3RhdGUoKTt0 aGlzLnF1ZXVlPVtdO3JldHVybiB0aGlzO307YW5pbWF0aW9uLnByb3RvdHlwZS5f YnVpbGRfY29udGFpbmVyPWZ1bmN0aW9uKCl7aWYodGhpcy5jb250YWluZXJfZGl2 KXt0aGlzLl9yZWZyZXNoX2NvbnRhaW5lcigpO3JldHVybjt9aWYodGhpcy5vYmou Zmlyc3RDaGlsZCYmdGhpcy5vYmouZmlyc3RDaGlsZC5fX2FuaW1hdGlvbl9yZWZz KXt0aGlzLmNvbnRhaW5lcl9kaXY9dGhpcy5vYmouZmlyc3RDaGlsZDt0aGlzLmNv bnRhaW5lcl9kaXYuX19hbmltYXRpb25fcmVmcysrO3RoaXMuX3JlZnJlc2hfY29u dGFpbmVyKCk7cmV0dXJuO312YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk aXYnKTtiLnN0eWxlLnBhZGRpbmc9JzBweCc7Yi5zdHlsZS5tYXJnaW49JzBweCc7 Yi5zdHlsZS5ib3JkZXI9JzBweCc7Yi5fX2FuaW1hdGlvbl9yZWZzPTE7dmFyIGE9 dGhpcy5vYmouY2hpbGROb2Rlczt3aGlsZShhLmxlbmd0aCliLmFwcGVuZENoaWxk KGFbMF0pO3RoaXMub2JqLmFwcGVuZENoaWxkKGIpO3RoaXMuX29yaWdfb3ZlcmZs b3c9dGhpcy5vYmouc3R5bGUub3ZlcmZsb3c7dGhpcy5vYmouc3R5bGUub3ZlcmZs b3c9J2hpZGRlbic7dGhpcy5jb250YWluZXJfZGl2PWI7dGhpcy5fcmVmcmVzaF9j b250YWluZXIoKTt9O2FuaW1hdGlvbi5wcm90b3R5cGUuX3JlZnJlc2hfY29udGFp bmVyPWZ1bmN0aW9uKCl7dGhpcy5jb250YWluZXJfZGl2LnN0eWxlLmhlaWdodD0n YXV0byc7dGhpcy5jb250YWluZXJfZGl2LnN0eWxlLndpZHRoPSdhdXRvJzt0aGlz LmNvbnRhaW5lcl9kaXYuc3R5bGUuaGVpZ2h0PXRoaXMuY29udGFpbmVyX2Rpdi5v ZmZzZXRIZWlnaHQrJ3B4Jzt0aGlzLmNvbnRhaW5lcl9kaXYuc3R5bGUud2lkdGg9 dGhpcy5jb250YWluZXJfZGl2Lm9mZnNldFdpZHRoKydweCc7fTthbmltYXRpb24u cHJvdG90eXBlLl9kZXN0cm95X2NvbnRhaW5lcj1mdW5jdGlvbigpe2lmKCF0aGlz LmNvbnRhaW5lcl9kaXYpcmV0dXJuO2lmKCEtLXRoaXMuY29udGFpbmVyX2Rpdi5f X2FuaW1hdGlvbl9yZWZzKXt2YXIgYT10aGlzLmNvbnRhaW5lcl9kaXYuY2hpbGRO b2Rlczt3aGlsZShhLmxlbmd0aCl0aGlzLm9iai5hcHBlbmRDaGlsZChhWzBdKTt0 aGlzLm9iai5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lcl9kaXYpO310aGlzLmNv bnRhaW5lcl9kaXY9bnVsbDt0aGlzLm9iai5zdHlsZS5vdmVyZmxvdz10aGlzLl9v cmlnX292ZXJmbG93O307YW5pbWF0aW9uLkFUVFJfVE89MTthbmltYXRpb24uQVRU Ul9CWT0yO2FuaW1hdGlvbi5BVFRSX0ZST009MzthbmltYXRpb24ucHJvdG90eXBl Ll9hdHRyPWZ1bmN0aW9uKGEsZCxjKXthPWEucmVwbGFjZSgvLVthLXpdL2dpLGZ1 bmN0aW9uKGUpe3JldHVybiBlLnN1YnN0cmluZygxKS50b1VwcGVyQ2FzZSgpO30p O3ZhciBiPWZhbHNlO3N3aXRjaChhKXtjYXNlICdiYWNrZ3JvdW5kJzp0aGlzLl9h dHRyKCdiYWNrZ3JvdW5kQ29sb3InLGQsYyk7cmV0dXJuIHRoaXM7Y2FzZSAnbWFy Z2luJzpkPWFuaW1hdGlvbi5wYXJzZV9ncm91cChkKTt0aGlzLl9hdHRyKCdtYXJn aW5Cb3R0b20nLGRbMF0sYyk7dGhpcy5fYXR0cignbWFyZ2luTGVmdCcsZFsxXSxj KTt0aGlzLl9hdHRyKCdtYXJnaW5SaWdodCcsZFsyXSxjKTt0aGlzLl9hdHRyKCdt YXJnaW5Ub3AnLGRbM10sYyk7cmV0dXJuIHRoaXM7Y2FzZSAncGFkZGluZyc6ZD1h bmltYXRpb24ucGFyc2VfZ3JvdXAoZCk7dGhpcy5fYXR0cigncGFkZGluZ0JvdHRv bScsZFswXSxjKTt0aGlzLl9hdHRyKCdwYWRkaW5nTGVmdCcsZFsxXSxjKTt0aGlz Ll9hdHRyKCdwYWRkaW5nUmlnaHQnLGRbMl0sYyk7dGhpcy5fYXR0cigncGFkZGlu Z1RvcCcsZFszXSxjKTtyZXR1cm4gdGhpcztjYXNlICdiYWNrZ3JvdW5kQ29sb3In OmNhc2UgJ2JvcmRlckNvbG9yJzpjYXNlICdjb2xvcic6ZD1hbmltYXRpb24ucGFy c2VfY29sb3IoZCk7YnJlYWs7Y2FzZSAnb3BhY2l0eSc6ZD1wYXJzZUZsb2F0KGQs MTApO2JyZWFrO2Nhc2UgJ2hlaWdodCc6Y2FzZSAnd2lkdGgnOmlmKGQ9PSdhdXRv Jyl7Yj10cnVlO31lbHNlIGQ9cGFyc2VJbnQoZCwxMCk7YnJlYWs7Y2FzZSAnYm9y ZGVyV2lkdGgnOmNhc2UgJ2xpbmVIZWlnaHQnOmNhc2UgJ2ZvbnRTaXplJzpjYXNl ICdtYXJnaW5Cb3R0b20nOmNhc2UgJ21hcmdpbkxlZnQnOmNhc2UgJ21hcmdpblJp Z2h0JzpjYXNlICdtYXJnaW5Ub3AnOmNhc2UgJ3BhZGRpbmdCb3R0b20nOmNhc2Ug J3BhZGRpbmdMZWZ0JzpjYXNlICdwYWRkaW5nUmlnaHQnOmNhc2UgJ3BhZGRpbmdU b3AnOmNhc2UgJ2JvdHRvbSc6Y2FzZSAnbGVmdCc6Y2FzZSAncmlnaHQnOmNhc2Ug J3RvcCc6Y2FzZSAnc2Nyb2xsVG9wJzpjYXNlICdzY3JvbGxMZWZ0JzpkPXBhcnNl SW50KGQsMTApO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGErJyBpcyBu b3QgYSBzdXBwb3J0ZWQgYXR0cmlidXRlIScpO31pZih0aGlzLnN0YXRlLmF0dHJz W2FdPT09dW5kZWZpbmVkKXRoaXMuc3RhdGUuYXR0cnNbYV09e307aWYoYil0aGlz LnN0YXRlLmF0dHJzW2FdLmF1dG89dHJ1ZTtzd2l0Y2goYyl7Y2FzZSBhbmltYXRp b24uQVRUUl9GUk9NOnRoaXMuc3RhdGUuYXR0cnNbYV0uc3RhcnQ9ZDticmVhaztj YXNlIGFuaW1hdGlvbi5BVFRSX0JZOnRoaXMuc3RhdGUuYXR0cnNbYV0uYnk9dHJ1 ZTtjYXNlIGFuaW1hdGlvbi5BVFRSX1RPOnRoaXMuc3RhdGUuYXR0cnNbYV0udmFs dWU9ZDticmVhazt9fTthbmltYXRpb24uX2dldF9ib3hfd2lkdGg9ZnVuY3Rpb24o Yyl7dmFyIGQ9cGFyc2VJbnQoQ1NTLmdldFN0eWxlKGMsJ3BhZGRpbmdMZWZ0Jyks MTApLGU9cGFyc2VJbnQoQ1NTLmdldFN0eWxlKGMsJ3BhZGRpbmdSaWdodCcpLDEw KSxhPXBhcnNlSW50KENTUy5nZXRTdHlsZShjLCdib3JkZXJMZWZ0V2lkdGgnKSwx MCksYj1wYXJzZUludChDU1MuZ2V0U3R5bGUoYywnYm9yZGVyUmlnaHRXaWR0aCcp LDEwKTtyZXR1cm4gYy5vZmZzZXRXaWR0aC0oZD9kOjApLShlP2U6MCktKGE/YTow KS0oYj9iOjApO307YW5pbWF0aW9uLl9nZXRfYm94X2hlaWdodD1mdW5jdGlvbihj KXt2YXIgZT1wYXJzZUludChDU1MuZ2V0U3R5bGUoYywncGFkZGluZ1RvcCcpLDEw KSxkPXBhcnNlSW50KENTUy5nZXRTdHlsZShjLCdwYWRkaW5nQm90dG9tJyksMTAp LGE9cGFyc2VJbnQoQ1NTLmdldFN0eWxlKGMsJ2JvcmRlclRvcFdpZHRoJyksMTAp LGI9cGFyc2VJbnQoQ1NTLmdldFN0eWxlKGMsJ2JvcmRlckJvdHRvbVdpZHRoJyks MTApO3JldHVybiBjLm9mZnNldEhlaWdodC0oZT9lOjApLShkP2Q6MCktKGE/YTow KS0oYj9iOjApO307YW5pbWF0aW9uLnByb3RvdHlwZS50bz1mdW5jdGlvbihhLGIp e2lmKGI9PT11bmRlZmluZWQpe3RoaXMuX2F0dHIodGhpcy5sYXN0X2F0dHIsYSxh bmltYXRpb24uQVRUUl9UTyk7fWVsc2V7dGhpcy5fYXR0cihhLGIsYW5pbWF0aW9u LkFUVFJfVE8pO3RoaXMubGFzdF9hdHRyPWE7fXJldHVybiB0aGlzO307YW5pbWF0 aW9uLnByb3RvdHlwZS5ieT1mdW5jdGlvbihhLGIpe2lmKGI9PT11bmRlZmluZWQp e3RoaXMuX2F0dHIodGhpcy5sYXN0X2F0dHIsYSxhbmltYXRpb24uQVRUUl9CWSk7 fWVsc2V7dGhpcy5fYXR0cihhLGIsYW5pbWF0aW9uLkFUVFJfQlkpO3RoaXMubGFz dF9hdHRyPWE7fXJldHVybiB0aGlzO307YW5pbWF0aW9uLnByb3RvdHlwZS5mcm9t PWZ1bmN0aW9uKGEsYil7aWYoYj09PXVuZGVmaW5lZCl7dGhpcy5fYXR0cih0aGlz Lmxhc3RfYXR0cixhLGFuaW1hdGlvbi5BVFRSX0ZST00pO31lbHNle3RoaXMuX2F0 dHIoYSxiLGFuaW1hdGlvbi5BVFRSX0ZST00pO3RoaXMubGFzdF9hdHRyPWE7fXJl dHVybiB0aGlzO307YW5pbWF0aW9uLnByb3RvdHlwZS5kdXJhdGlvbj1mdW5jdGlv bihhKXt0aGlzLnN0YXRlLmR1cmF0aW9uPWE/YTowO3JldHVybiB0aGlzO307YW5p bWF0aW9uLnByb3RvdHlwZS5jaGVja3BvaW50PWZ1bmN0aW9uKGIsYSl7aWYoYj09 PXVuZGVmaW5lZCliPTE7dGhpcy5zdGF0ZS5jaGVja3BvaW50PWI7dGhpcy5xdWV1 ZS5wdXNoKHRoaXMuc3RhdGUpO3RoaXMuX3Jlc2V0X3N0YXRlKCk7dGhpcy5zdGF0 ZS5jaGVja3BvaW50Y2I9YTtyZXR1cm4gdGhpczt9O2FuaW1hdGlvbi5wcm90b3R5 cGUuYmxpbmQ9ZnVuY3Rpb24oKXt0aGlzLnN0YXRlLmJsaW5kPXRydWU7cmV0dXJu IHRoaXM7fTthbmltYXRpb24ucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oKXt0aGlz LnN0YXRlLmhpZGU9dHJ1ZTtyZXR1cm4gdGhpczt9O2FuaW1hdGlvbi5wcm90b3R5 cGUuc2hvdz1mdW5jdGlvbigpe3RoaXMuc3RhdGUuc2hvdz10cnVlO3JldHVybiB0 aGlzO307YW5pbWF0aW9uLnByb3RvdHlwZS5lYXNlPWZ1bmN0aW9uKGEpe3RoaXMu c3RhdGUuZWFzZT1hO3JldHVybiB0aGlzO307YW5pbWF0aW9uLnByb3RvdHlwZS5n bz1mdW5jdGlvbigpe3ZhciBiPShuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7dGhpcy5x dWV1ZS5wdXNoKHRoaXMuc3RhdGUpO2Zvcih2YXIgYT0wO2E8dGhpcy5xdWV1ZS5s ZW5ndGg7YSsrKXt0aGlzLnF1ZXVlW2FdLnN0YXJ0PWItYW5pbWF0aW9uLm9mZnNl dDtpZih0aGlzLnF1ZXVlW2FdLmNoZWNrcG9pbnQpYis9dGhpcy5xdWV1ZVthXS5j aGVja3BvaW50KnRoaXMucXVldWVbYV0uZHVyYXRpb247fWFuaW1hdGlvbi5wdXNo KHRoaXMpO3JldHVybiB0aGlzO307YW5pbWF0aW9uLnByb3RvdHlwZS5fc2hvdz1m dW5jdGlvbigpe0NTUy5zaG93KHRoaXMub2JqKTt9O2FuaW1hdGlvbi5wcm90b3R5 cGUuX2hpZGU9ZnVuY3Rpb24oKXtDU1MuaGlkZSh0aGlzLm9iaik7fTthbmltYXRp b24ucHJvdG90eXBlLl9mcmFtZT1mdW5jdGlvbihsKXt2YXIgZD10cnVlO3ZhciBr PWZhbHNlO3ZhciBuPWZhbHNlO2Zvcih2YXIgZT0wO2U8dGhpcy5xdWV1ZS5sZW5n dGg7ZSsrKXt2YXIgYj10aGlzLnF1ZXVlW2VdO2lmKGIuc3RhcnQ+bCl7ZD1mYWxz ZTtjb250aW51ZTt9aWYoYi5jaGVja3BvaW50Y2Ipe3RoaXMuX2NhbGxiYWNrKGIu Y2hlY2twb2ludGNiLGwtYi5zdGFydCk7Yi5jaGVja3BvaW50Y2I9bnVsbDt9aWYo Yi5zdGFydGVkPT09dW5kZWZpbmVkKXtpZihiLnNob3cpdGhpcy5fc2hvdygpO2Zv cih2YXIgYSBpbiBiLmF0dHJzKXtpZihiLmF0dHJzW2FdLnN0YXJ0IT09dW5kZWZp bmVkKWNvbnRpbnVlO3N3aXRjaChhKXtjYXNlICdiYWNrZ3JvdW5kQ29sb3InOmNh c2UgJ2JvcmRlckNvbG9yJzpjYXNlICdjb2xvcic6dmFyIG09YW5pbWF0aW9uLnBh cnNlX2NvbG9yKENTUy5nZXRTdHlsZSh0aGlzLm9iaixhPT0nYm9yZGVyQ29sb3In Pydib3JkZXJMZWZ0Q29sb3InOmEpKTtpZihiLmF0dHJzW2FdLmJ5KXtiLmF0dHJz W2FdLnZhbHVlWzBdPU1hdGgubWluKDI1NSxNYXRoLm1heCgwLGIuYXR0cnNbYV0u dmFsdWVbMF0rbVswXSkpO2IuYXR0cnNbYV0udmFsdWVbMV09TWF0aC5taW4oMjU1 LE1hdGgubWF4KDAsYi5hdHRyc1thXS52YWx1ZVsxXSttWzFdKSk7Yi5hdHRyc1th XS52YWx1ZVsyXT1NYXRoLm1pbigyNTUsTWF0aC5tYXgoMCxiLmF0dHJzW2FdLnZh bHVlWzJdK21bMl0pKTt9YnJlYWs7Y2FzZSAnb3BhY2l0eSc6dmFyIG09Q1NTLmdl dE9wYWNpdHkodGhpcy5vYmopO2lmKGIuYXR0cnNbYV0uYnkpYi5hdHRyc1thXS52 YWx1ZT1NYXRoLm1pbigxLE1hdGgubWF4KDAsYi5hdHRyc1thXS52YWx1ZSttKSk7 YnJlYWs7Y2FzZSAnaGVpZ2h0Jzp2YXIgbT1hbmltYXRpb24uX2dldF9ib3hfaGVp Z2h0KHRoaXMub2JqKTtpZihiLmF0dHJzW2FdLmJ5KWIuYXR0cnNbYV0udmFsdWUr PW07YnJlYWs7Y2FzZSAnd2lkdGgnOnZhciBtPWFuaW1hdGlvbi5fZ2V0X2JveF93 aWR0aCh0aGlzLm9iaik7aWYoYi5hdHRyc1thXS5ieSliLmF0dHJzW2FdLnZhbHVl Kz1tO2JyZWFrO2Nhc2UgJ3Njcm9sbExlZnQnOmNhc2UgJ3Njcm9sbFRvcCc6dmFy IG09KHRoaXMub2JqPT1kb2N1bWVudC5ib2R5KT8oZG9jdW1lbnQuZG9jdW1lbnRF bGVtZW50W2FdfHxkb2N1bWVudC5ib2R5W2FdKTp0aGlzLm9ialthXTtpZihiLmF0 dHJzW2FdLmJ5KWIuYXR0cnNbYV0udmFsdWUrPW07YlsnbGFzdCcrYV09bTticmVh aztkZWZhdWx0OnZhciBtPXBhcnNlSW50KENTUy5nZXRTdHlsZSh0aGlzLm9iaixh KSwxMCl8fDA7aWYoYi5hdHRyc1thXS5ieSliLmF0dHJzW2FdLnZhbHVlKz1tO2Jy ZWFrO31iLmF0dHJzW2FdLnN0YXJ0PW07fWlmKChiLmF0dHJzLmhlaWdodCYmYi5h dHRycy5oZWlnaHQuYXV0byl8fChiLmF0dHJzLndpZHRoJiZiLmF0dHJzLndpZHRo LmF1dG8pKXtpZih1YS5maXJlZm94KCk8MyluPXRydWU7dGhpcy5fZGVzdHJveV9j b250YWluZXIoKTtmb3IodmFyIGEgaW4ge2hlaWdodDoxLHdpZHRoOjEsZm9udFNp emU6MSxib3JkZXJMZWZ0V2lkdGg6MSxib3JkZXJSaWdodFdpZHRoOjEsYm9yZGVy VG9wV2lkdGg6MSxib3JkZXJCb3R0b21XaWR0aDoxLHBhZGRpbmdMZWZ0OjEscGFk ZGluZ1JpZ2h0OjEscGFkZGluZ1RvcDoxLHBhZGRpbmdCb3R0b206MX0paWYoYi5h dHRyc1thXSl0aGlzLm9iai5zdHlsZVthXT1iLmF0dHJzW2FdLnZhbHVlKyh0eXBl b2YgYi5hdHRyc1thXS52YWx1ZT09J251bWJlcic/J3B4JzonJyk7aWYoYi5hdHRy cy5oZWlnaHQmJmIuYXR0cnMuaGVpZ2h0LmF1dG8pYi5hdHRycy5oZWlnaHQudmFs dWU9YW5pbWF0aW9uLl9nZXRfYm94X2hlaWdodCh0aGlzLm9iaik7aWYoYi5hdHRy cy53aWR0aCYmYi5hdHRycy53aWR0aC5hdXRvKWIuYXR0cnMud2lkdGgudmFsdWU9 YW5pbWF0aW9uLl9nZXRfYm94X3dpZHRoKHRoaXMub2JqKTt9Yi5zdGFydGVkPXRy dWU7aWYoYi5ibGluZCl0aGlzLl9idWlsZF9jb250YWluZXIoKTt9dmFyIGg9KGwt Yi5zdGFydCkvYi5kdXJhdGlvbjtpZihoPj0xKXtoPTE7aWYoYi5oaWRlKXRoaXMu X2hpZGUoKTt9ZWxzZSBkPWZhbHNlO3ZhciBqPWIuZWFzZT9iLmVhc2UoaCk6aDtp ZighayYmaCE9MSYmYi5ibGluZClrPXRydWU7aWYobiYmdGhpcy5vYmoucGFyZW50 Tm9kZSl7dmFyIGk9dGhpcy5vYmoucGFyZW50Tm9kZTt2YXIgZz10aGlzLm9iai5u ZXh0U2libGluZztpLnJlbW92ZUNoaWxkKHRoaXMub2JqKTt9Zm9yKHZhciBhIGlu IGIuYXR0cnMpc3dpdGNoKGEpe2Nhc2UgJ2JhY2tncm91bmRDb2xvcic6Y2FzZSAn Ym9yZGVyQ29sb3InOmNhc2UgJ2NvbG9yJzp0aGlzLm9iai5zdHlsZVthXT0ncmdi KCcrYW5pbWF0aW9uLmNhbGNfdHdlZW4oaixiLmF0dHJzW2FdLnN0YXJ0WzBdLGIu YXR0cnNbYV0udmFsdWVbMF0sdHJ1ZSkrJywnK2FuaW1hdGlvbi5jYWxjX3R3ZWVu KGosYi5hdHRyc1thXS5zdGFydFsxXSxiLmF0dHJzW2FdLnZhbHVlWzFdLHRydWUp KycsJythbmltYXRpb24uY2FsY190d2VlbihqLGIuYXR0cnNbYV0uc3RhcnRbMl0s Yi5hdHRyc1thXS52YWx1ZVsyXSx0cnVlKSsnKSc7YnJlYWs7Y2FzZSAnb3BhY2l0 eSc6Q1NTLnNldFN0eWxlKHRoaXMub2JqLCdvcGFjaXR5JyxhbmltYXRpb24uY2Fs Y190d2VlbihqLGIuYXR0cnNbYV0uc3RhcnQsYi5hdHRyc1thXS52YWx1ZSkpO2Jy ZWFrO2Nhc2UgJ2hlaWdodCc6Y2FzZSAnd2lkdGgnOnRoaXMub2JqLnN0eWxlW2Fd PWo9PTEmJmIuYXR0cnNbYV0uYXV0bz8nYXV0byc6YW5pbWF0aW9uLmNhbGNfdHdl ZW4oaixiLmF0dHJzW2FdLnN0YXJ0LGIuYXR0cnNbYV0udmFsdWUsdHJ1ZSkrJ3B4 JzticmVhaztjYXNlICdzY3JvbGxMZWZ0JzpjYXNlICdzY3JvbGxUb3AnOnZhciBm PXRoaXMub2JqPT1kb2N1bWVudC5ib2R5O3ZhciBtPShmKT8oZG9jdW1lbnQuZG9j dW1lbnRFbGVtZW50W2FdfHxkb2N1bWVudC5ib2R5W2FdKTp0aGlzLm9ialthXTtp ZihiWydsYXN0JythXSE9bSl7ZGVsZXRlIGIuYXR0cnNbYV07fWVsc2V7dmFyIGM9 YW5pbWF0aW9uLmNhbGNfdHdlZW4oaixiLmF0dHJzW2FdLnN0YXJ0LGIuYXR0cnNb YV0udmFsdWUsdHJ1ZSktbTtpZighZil7dGhpcy5vYmpbYV09YyttO31lbHNlIGlm KGE9PSdzY3JvbGxMZWZ0Jyl7d2luZG93LnNjcm9sbEJ5KGMsMCk7fWVsc2Ugd2lu ZG93LnNjcm9sbEJ5KDAsYyk7YlsnbGFzdCcrYV09YyttO31icmVhaztkZWZhdWx0 OnRoaXMub2JqLnN0eWxlW2FdPWFuaW1hdGlvbi5jYWxjX3R3ZWVuKGosYi5hdHRy c1thXS5zdGFydCxiLmF0dHJzW2FdLnZhbHVlLHRydWUpKydweCc7YnJlYWs7fWlm KGg9PTEpe3RoaXMucXVldWUuc3BsaWNlKGUtLSwxKTt0aGlzLl9jYWxsYmFjayhi Lm9uZG9uZSxsLWIuc3RhcnQtYi5kdXJhdGlvbik7fX1pZihuKWlbZz8naW5zZXJ0 QmVmb3JlJzonYXBwZW5kQ2hpbGQnXSh0aGlzLm9iaixnKTtpZighayYmdGhpcy5j b250YWluZXJfZGl2KXRoaXMuX2Rlc3Ryb3lfY29udGFpbmVyKCk7cmV0dXJuICFk O307YW5pbWF0aW9uLnByb3RvdHlwZS5vbmRvbmU9ZnVuY3Rpb24oYSl7dGhpcy5z dGF0ZS5vbmRvbmU9YTtyZXR1cm4gdGhpczt9O2FuaW1hdGlvbi5wcm90b3R5cGUu X2NhbGxiYWNrPWZ1bmN0aW9uKGEsYil7aWYoYSl7YW5pbWF0aW9uLm9mZnNldD1i O2EuY2FsbCh0aGlzKTthbmltYXRpb24ub2Zmc2V0PTA7fX07YW5pbWF0aW9uLmNh bGNfdHdlZW49ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIChkP3BhcnNlSW50OnBh cnNlRmxvYXQpKChjLWIpKmErYiwxMCk7fTthbmltYXRpb24ucGFyc2VfY29sb3I9 ZnVuY3Rpb24oYSl7dmFyIGI9L14jKFthLWYwLTldezEsMn0pKFthLWYwLTldezEs Mn0pKFthLWYwLTldezEsMn0pJC9pLmV4ZWMoYSk7aWYoYil7cmV0dXJuIFtwYXJz ZUludChiWzFdLmxlbmd0aD09MT9iWzFdK2JbMV06YlsxXSwxNikscGFyc2VJbnQo YlsyXS5sZW5ndGg9PTE/YlsyXStiWzJdOmJbMl0sMTYpLHBhcnNlSW50KGJbM10u bGVuZ3RoPT0xP2JbM10rYlszXTpiWzNdLDE2KV07fWVsc2V7dmFyIGM9L15yZ2Jh PyAqXCgoWzAtOV0rKSwgKihbMC05XSspLCAqKFswLTldKykoPzosICooWzAtOV0r KSk/XCkkLy5leGVjKGEpO2lmKGMpe2lmKGNbNF09PT0nMCcpe3JldHVybiBbMjU1 LDI1NSwyNTVdO31lbHNlIHJldHVybiBbcGFyc2VJbnQoY1sxXSwxMCkscGFyc2VJ bnQoY1syXSwxMCkscGFyc2VJbnQoY1szXSwxMCldO31lbHNlIGlmKGE9PSd0cmFu c3BhcmVudCcpe3JldHVybiBbMjU1LDI1NSwyNTVdO31lbHNlIHRocm93ICdOYW1l ZCBjb2xvciBhdHRyaWJ1dGVzIGFyZSBub3Qgc3VwcG9ydGVkLic7fX07YW5pbWF0 aW9uLnBhcnNlX2dyb3VwPWZ1bmN0aW9uKGEpe3ZhciBhPXRyaW0oYSkuc3BsaXQo LyArLyk7aWYoYS5sZW5ndGg9PTQpe3JldHVybiBhO31lbHNlIGlmKGEubGVuZ3Ro PT0zKXtyZXR1cm4gW2FbMF0sYVsxXSxhWzJdLGFbMV1dO31lbHNlIGlmKGEubGVu Z3RoPT0yKXtyZXR1cm4gW2FbMF0sYVsxXSxhWzBdLGFbMV1dO31lbHNlIHJldHVy biBbYVswXSxhWzBdLGFbMF0sYVswXV07fTthbmltYXRpb24ucHVzaD1mdW5jdGlv bihhKXtpZighYW5pbWF0aW9uLmFjdGl2ZSlhbmltYXRpb24uYWN0aXZlPVtdO2Fu aW1hdGlvbi5hY3RpdmUucHVzaChhKTtpZighYW5pbWF0aW9uLnRpbWVvdXQpYW5p bWF0aW9uLnRpbWVvdXQ9c2V0SW50ZXJ2YWwoYW5pbWF0aW9uLmFuaW1hdGUuYmlu ZChhbmltYXRpb24pLGFuaW1hdGlvbi5yZXNvbHV0aW9uLGZhbHNlKTthbmltYXRp b24uYW5pbWF0ZSh0cnVlKTt9O2FuaW1hdGlvbi5hbmltYXRlPWZ1bmN0aW9uKGMp e3ZhciBkPShuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7Zm9yKHZhciBiPWM9PT10cnVl P2FuaW1hdGlvbi5hY3RpdmUubGVuZ3RoLTE6MDtiPGFuaW1hdGlvbi5hY3RpdmUu bGVuZ3RoO2IrKyl0cnl7aWYoIWFuaW1hdGlvbi5hY3RpdmVbYl0uX2ZyYW1lKGQp KWFuaW1hdGlvbi5hY3RpdmUuc3BsaWNlKGItLSwxKTt9Y2F0Y2goYSl7YW5pbWF0 aW9uLmFjdGl2ZS5zcGxpY2UoYi0tLDEpO31pZihhbmltYXRpb24uYWN0aXZlLmxl bmd0aD09MCl7Y2xlYXJJbnRlcnZhbChhbmltYXRpb24udGltZW91dCk7YW5pbWF0 aW9uLnRpbWVvdXQ9bnVsbDt9fTthbmltYXRpb24uZWFzZT17fTthbmltYXRpb24u ZWFzZS5iZWdpbj1mdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5zaW4oTWF0aC5QSS8y KihhLTEpKSsxO307YW5pbWF0aW9uLmVhc2UuZW5kPWZ1bmN0aW9uKGEpe3JldHVy biBNYXRoLnNpbiguNSpNYXRoLlBJKmEpO307YW5pbWF0aW9uLmVhc2UuYm90aD1m dW5jdGlvbihhKXtyZXR1cm4gLjUqTWF0aC5zaW4oTWF0aC5QSSooYS0uNSkpKy41 O307YW5pbWF0aW9uLnByZXBlbmRJbnNlcnQ9ZnVuY3Rpb24oYixhKXthbmltYXRp b24uaW5zZXJ0KGIsYSxET00ucHJlcGVuZENvbnRlbnQpO307YW5pbWF0aW9uLmFw cGVuZEluc2VydD1mdW5jdGlvbihiLGEpe2FuaW1hdGlvbi5pbnNlcnQoYixhLERP TS5hcHBlbmRDb250ZW50KTt9O2FuaW1hdGlvbi5pbnNlcnQ9ZnVuY3Rpb24oYyxh LGIpe0NTUy5zZXRTdHlsZShhLCdvcGFjaXR5JywwKTtiKGMsYSk7YW5pbWF0aW9u KGEpLmZyb20oJ29wYWNpdHknLDApLnRvKCdvcGFjaXR5JywxKS5kdXJhdGlvbig0 MDApLmdvKCk7fTsKdmFyIFhEPXtfY2FsbGJhY2tzOltdLF9vcHRzOnthdXRvUmVz aXplOmZhbHNlLGFsbG93U2hyaW5rOnRydWUsY2hhbm5lbFVybDpudWxsLGhpZGVP dmVyZmxvdzpmYWxzZSxuZXdSZXNpemVNZXRob2Q6ZmFsc2UscmVzaXplVGltZW91 dDoxMDAscmVzaXplV2lkdGg6ZmFsc2UsZXhwZWN0UmVzaXplQWNrOmZhbHNlLHJl c2l6ZUFja1RpbWVvdXQ6NjAwMH0sX2xhc3RSZXNpemVBY2tJZDowLF9yZXNpemVD b3VudDowLF9yZXNpemVUaW1lc3RhbXA6MCxpbml0OmZ1bmN0aW9uKGEpe3RoaXMu X29wdHM9Y29weV9wcm9wZXJ0aWVzKGNvcHlfcHJvcGVydGllcyh7fSx0aGlzLl9v cHRzKSxhKTtpZih0aGlzLl9vcHRzLmF1dG9SZXNpemUpdGhpcy5fc3RhcnRSZXNp emVNb25pdG9yKCk7QXJiaXRlci5zdWJzY3JpYmUoJ0Nvbm5lY3QuVW5zYWZlLnJl c2l6ZS5hY2snLGZ1bmN0aW9uKGMsYil7aWYoIWIuaWQpYi5pZD10aGlzLl9yZXNp emVDb3VudDtpZihiLmlkPnRoaXMuX2xhc3RSZXNpemVBY2tJZCl0aGlzLl9sYXN0 UmVzaXplQWNrSWQ9Yi5pZDt9LmJpbmQodGhpcyksQXJiaXRlci5CRUhBVklPVVJf UEVSU0lTVEFOVCk7fSxzZW5kOmZ1bmN0aW9uKGIsYSl7YT1hfHx0aGlzLl9vcHRz LmNoYW5uZWxVcmw7aWYoIWEpcmV0dXJuO2lmKGEuc3Vic3RyKDAsNCkhPSdodHRw JylyZXR1cm47dmFyIGg9YSsnJicrVVJJLmltcGxvZGVRdWVyeShiKSxkPSdmJyso TWF0aC5yYW5kb20oKSooMTw8MzApKS50b1N0cmluZygxNikucmVwbGFjZSgnLics JycpLGM9ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF bGVtZW50KCdkaXYnKSksZz1mYWxzZTtjLnN0eWxlLnBvc2l0aW9uPSdhYnNvbHV0 ZSc7Yy5zdHlsZS50b3A9Jy0xMDAwMHB4JztjLnN0eWxlLndpZHRoPScxcHgnO2Mu c3R5bGUuaGVpZ2h0PScxcHgnO1hELl9jYWxsYmFja3NbZF09ZnVuY3Rpb24oKXtp ZihnKXsoZnVuY3Rpb24oKXtjLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYyk7fSku ZGVmZXIoMzAwMCk7ZGVsZXRlIFhELl9jYWxsYmFja3NbZF07fX07aWYodWEuaWUo KSl7dmFyIGU9KCc8aWZyYW1lICcrJyBzcmM9IicraCsnIicrJyBvbmxvYWQ9IlhE Ll9jYWxsYmFja3MuJytkKycoKSInKyc+PC9pZnJhbWU+Jyk7Yy5pbm5lckhUTUw9 JzxpZnJhbWUgc3JjPSJqYXZhc2NyaXB0OmZhbHNlIj48L2lmcmFtZT4nO2c9dHJ1 ZTsoZnVuY3Rpb24oKXtjLmlubmVySFRNTD1lO30pLmRlZmVyKCk7fWVsc2V7dmFy IGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7Zi5vbmxvYWQ9WEQu X2NhbGxiYWNrc1tkXTtjLmFwcGVuZENoaWxkKGYpO2c9dHJ1ZTtmLnNyYz1oO319 LF9jb21wdXRlU2l6ZTpmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmJvZHksZT1k b2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaD0wLGY7aWYodGhpcy5fb3B0cy5uZXdS ZXNpemVNZXRob2Qpe2Y9TWF0aC5tYXgoTWF0aC5tYXgoYS5vZmZzZXRIZWlnaHQs YS5zY3JvbGxIZWlnaHQpK2Eub2Zmc2V0VG9wLE1hdGgubWF4KGUub2Zmc2V0SGVp Z2h0LGUuc2Nyb2xsSGVpZ2h0KStlLm9mZnNldFRvcCk7fWVsc2V7aWYodWEuaWUo KSl7Zj1NYXRoLm1heChhLm9mZnNldEhlaWdodCxhLnNjcm9sbEhlaWdodCkrYS5v ZmZzZXRUb3A7fWVsc2UgZj1lLm9mZnNldEhlaWdodCtlLm9mZnNldFRvcDtpZih3 aW5kb3cuRGlhbG9nKWY9TWF0aC5tYXgoZixEaWFsb2cubWF4X2JvdHRvbSk7fWlm KHRoaXMuX29wdHMucmVzaXplV2lkdGgpe2lmKGEub2Zmc2V0V2lkdGg8YS5zY3Jv bGxXaWR0aCl7aD1hLnNjcm9sbFdpZHRoK2Eub2Zmc2V0TGVmdDt9ZWxzZXt2YXIg ZD1hLmNoaWxkTm9kZXM7Zm9yKHZhciBnPTA7ZzxkLmxlbmd0aDtnKyspe3ZhciBi PWRbZ107dmFyIGM9Yi5vZmZzZXRXaWR0aCtiLm9mZnNldExlZnQ7aWYoYz5oKWg9 Yzt9fWlmKFhELmZvcmNlZF9taW5fd2lkdGgpaD1NYXRoLm1heChoLFhELmZvcmNl ZF9taW5fd2lkdGgpO2lmKGUuY2xpZW50TGVmdD4wKWgrPShlLmNsaWVudExlZnQq Mik7aWYoZS5jbGllbnRUb3A+MClmKz0oZS5jbGllbnRUb3AqMik7fXJldHVybiB7 d2lkdGg6aCxoZWlnaHQ6Zn07fSxfc3RhcnRSZXNpemVNb25pdG9yOmZ1bmN0aW9u KCl7dmFyIGIsYT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7aWYodGhpcy5fb3B0 cy5oaWRlT3ZlcmZsb3cpe2Euc3R5bGUub3ZlcmZsb3c9J2hpZGRlbic7ZG9jdW1l bnQuYm9keS5zdHlsZS5vdmVyZmxvdz0naGlkZGVuJzt9KGZ1bmN0aW9uKCl7dmFy IGY9dGhpcy5fY29tcHV0ZVNpemUoKTt2YXIgZz1uZXcgRGF0ZSgpLmdldFRpbWUo KTt2YXIgYz10aGlzLl9sYXN0UmVzaXplQWNrSWQ8dGhpcy5fcmVzaXplQ291bnQm JihnLXRoaXMuX3Jlc2l6ZVRpbWVzdGFtcCk+dGhpcy5fb3B0cy5yZXNpemVBY2tU aW1lb3V0O2lmKCFifHwodGhpcy5fb3B0cy5leHBlY3RSZXNpemVBY2smJmMpfHwo dGhpcy5fb3B0cy5hbGxvd1NocmluayYmYi53aWR0aCE9Zi53aWR0aCl8fCghdGhp cy5fb3B0cy5hbGxvd1NocmluayYmYi53aWR0aDxmLndpZHRoKXx8KHRoaXMuX29w dHMuYWxsb3dTaHJpbmsmJmIuaGVpZ2h0IT1mLmhlaWdodCl8fCghdGhpcy5fb3B0 cy5hbGxvd1NocmluayYmYi5oZWlnaHQ8Zi5oZWlnaHQpKXtiPWY7dGhpcy5fcmVz aXplQ291bnQrKzt0aGlzLl9yZXNpemVUaW1lc3RhbXA9Zzt2YXIgZT17dHlwZTon cmVzaXplJyxoZWlnaHQ6Zi5oZWlnaHQsYWNrRGF0YTp7aWQ6dGhpcy5fcmVzaXpl Q291bnR9fTtpZihmLndpZHRoJiZmLndpZHRoIT0wKWUud2lkdGg9Zi53aWR0aDt0 cnl7aWYoVVJJKGRvY3VtZW50LnJlZmVycmVyKS5pc0ZhY2Vib29rVVJJKCkmJndp bmRvdy5wYXJlbnQhPXdpbmRvdyYmd2luZG93Lm5hbWUmJndpbmRvdy5wYXJlbnQu bG9jYXRpb24mJlVSSSh3aW5kb3cucGFyZW50LmxvY2F0aW9uKS5pc0ZhY2Vib29r VVJJKCkpe3ZhciBpZnJhbWVzPXdpbmRvdy5wYXJlbnQuZG9jdW1lbnQuZ2V0RWxl bWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpO2Zvcih2YXIgaT0wO2k8aWZyYW1lcy5s ZW5ndGg7aT1pKzEpaWYoaWZyYW1lc1tpXS5uYW1lPT13aW5kb3cubmFtZSl7aWYo dGhpcy5fb3B0cy5yZXNpemVXaWR0aClpZnJhbWVzW2ldLnN0eWxlLndpZHRoPWUu d2lkdGgrJ3B4JztpZnJhbWVzW2ldLnN0eWxlLmhlaWdodD1lLmhlaWdodCsncHgn O319dGhpcy5zZW5kKGUpO31jYXRjaChkKXt0aGlzLnNlbmQoZSk7fX19KS5iaW5k KHRoaXMpLnJlY3VyKHRoaXMuX29wdHMucmVzaXplVGltZW91dCk7fX07dmFyIFVu dmVyaWZpZWRYRD1jb3B5X3Byb3BlcnRpZXMoe30sWEQpOwpXaWRnZXRBcmJpdGVy PXtfZmluZFNpYmxpbmdzOmZ1bmN0aW9uKCl7aWYoV2lkZ2V0QXJiaXRlci5fc2li bGluZ3MpcmV0dXJuO1dpZGdldEFyYml0ZXIuX3NpYmxpbmdzPVtdO2Zvcih2YXIg Yj1wYXJlbnQuZnJhbWVzLmxlbmd0aC0xO2I+PTA7Yi0tKXRyeXtpZihwYXJlbnQu ZnJhbWVzW2JdJiZwYXJlbnQuZnJhbWVzW2JdLkFyYml0ZXImJnBhcmVudC5mcmFt ZXNbYl0uQXJiaXRlci5pbmZvcm0pV2lkZ2V0QXJiaXRlci5fc2libGluZ3MucHVz aChwYXJlbnQuZnJhbWVzW2JdLkFyYml0ZXIpO31jYXRjaChhKXt9fSxpbmZvcm06 ZnVuY3Rpb24oKXtXaWRnZXRBcmJpdGVyLl9maW5kU2libGluZ3MoKTt2YXIgYT0k QShhcmd1bWVudHMpO1dpZGdldEFyYml0ZXIuX3NpYmxpbmdzLmVhY2goZnVuY3Rp b24oYil7Yi5pbmZvcm0uYXBwbHkoYixhKTt9KTt9fTsKZnVuY3Rpb24gaW50bF9s b2NhbGVfaXNfcnRsKCl7cmV0dXJuICgncnRsJz09Q1NTLmdldFN0eWxlKGRvY3Vt ZW50LmJvZHksJ2RpcmVjdGlvbicpKTt9CnZhciBCdXR0b249KGZ1bmN0aW9uKCl7 dmFyIGE9J3VpQnV0dG9uRGlzYWJsZWQnO3ZhciBjPSdidXR0b246YmxvY2tlcic7 dmFyIGI9J2hyZWYnO2Z1bmN0aW9uIGQoaSxoKXt2YXIgZz1EYXRhU3RvcmUuZ2V0 KGksYyk7aWYoaCl7aWYoZyl7Zy5yZW1vdmUoKTtEYXRhU3RvcmUucmVtb3ZlKGks Yyk7fX1lbHNlIGlmKCFnKURhdGFTdG9yZS5zZXQoaSxjLEV2ZW50Lmxpc3Rlbihp LCdjbGljaycsYmFnb2YoZmFsc2UpLEV2ZW50LlByaW9yaXR5LlVSR0VOVCkpO31m dW5jdGlvbiBlKGcpe3ZhciBoPVBhcmVudC5ieUNsYXNzKGcsJ3VpQnV0dG9uJyk7 aWYoIWgpdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHVzZSBjYXNlJyk7cmV0dXJu IGg7fWZ1bmN0aW9uIGYoZyl7cmV0dXJuIERPTS5pc05vZGUoZywnYScpO31yZXR1 cm4ge2dldElucHV0RWxlbWVudDpmdW5jdGlvbihnKXtnPWUoZyk7aWYoZihnKSl0 aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgdXNlIGNhc2UnKTtyZXR1cm4gRE9NLmZp bmQoZywnaW5wdXQnKTt9LGlzRW5hYmxlZDpmdW5jdGlvbihnKXtyZXR1cm4gIUNT Uy5oYXNDbGFzcyhlKGcpLGEpO30sc2V0RW5hYmxlZDpmdW5jdGlvbihqLGcpe2o9 ZShqKTtDU1MuY29uZGl0aW9uQ2xhc3MoaixhLCFnKTtpZihmKGopKXt2YXIgaD1q LmhyZWY7dmFyIGs9RGF0YVN0b3JlLmdldChqLGIsJyMnKTtpZihnKXtpZighaClq LmhyZWY9azt9ZWxzZXtpZihoJiZoIT09aylEYXRhU3RvcmUuc2V0KGosYixoKTtq LnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpO31kKGosZyk7fWVsc2V7dmFyIGk9QnV0 dG9uLmdldElucHV0RWxlbWVudChqKTtpLmRpc2FibGVkPSFnO2QoaSxnKTt9fSxz ZXRMYWJlbDpmdW5jdGlvbihoLGcpe2g9ZShoKTtpZihmKGgpKXt2YXIgaT1ET00u ZmluZChoLCdzcGFuLnVpQnV0dG9uVGV4dCcpO0RPTS5zZXRDb250ZW50KGksZyk7 fWVsc2UgQnV0dG9uLmdldElucHV0RWxlbWVudChoKS52YWx1ZT1nO0NTUy5jb25k aXRpb25DbGFzcyhoLCd1aUJ1dHRvbk5vVGV4dCcsIWcpO30sc2V0SWNvbjpmdW5j dGlvbihoLGcpe2lmKCFET00uaXNOb2RlKGcpKXJldHVybjtDU1MuYWRkQ2xhc3Mo ZywnY3VzdG9taW1nJyk7aD1lKGgpO3ZhciBpPURPTS5zY3J5KGgsJy5pbWcnKVsw XTtpZihpKXtET00ucmVwbGFjZShpLGcpO31lbHNlIERPTS5wcmVwZW5kQ29udGVu dChoLGcpO319O30pKCk7CnZhciBQb3B1cFJlc2l6ZXI9e19vcHRzOnthbGxvd1No cmluazp0cnVlLHRpbWVvdXQ6MTAwfSxpbml0OmZ1bmN0aW9uKGEpe2NvcHlfcHJv cGVydGllcyhQb3B1cFJlc2l6ZXIuX29wdHMsYSk7UG9wdXBSZXNpemVyLl9yZXNp emVDaGVjay5yZWN1cihQb3B1cFJlc2l6ZXIuX29wdHMudGltZW91dCk7fSxfcmVz aXplQ2hlY2s6ZnVuY3Rpb24oKXt2YXIgZT1WZWN0b3IyLmdldFZpZXdwb3J0RGlt ZW5zaW9ucygpLGE9UG9wdXBSZXNpemVyLl9nZXREb2N1bWVudFNpemUoKSxjPWEu eS1lLnksZD1hLngtZS54O2lmKGQ8MClkPTA7aWYoIVBvcHVwUmVzaXplci5fb3B0 cy5hbGxvd1NocmluayYmYzwwKWM9MDtpZihjfHxkKXRyeXt3aW5kb3cucmVzaXpl QnkoZCxjKTtpZihkKXdpbmRvdy5tb3ZlQnkoZC8tMiwwKTt9Y2F0Y2goYil7fX0s X2dldERvY3VtZW50U2l6ZTpmdW5jdGlvbigpe3ZhciBhPXt4OnVhLmZpcmVmb3go KT9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsV2lkdGg6ZG9jdW1lbnQu Ym9keS5zY3JvbGxXaWR0aCx5OmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0fTtp ZihhLng8PTB8fGEueD5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsV2lk dGgpYS54PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0aDtpZihh Lnk8PTB8fGEueT5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0 KWEueT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0O2lmKHdp bmRvdy5EaWFsb2cmJkRpYWxvZy5tYXhfYm90dG9tJiZEaWFsb2cubWF4X2JvdHRv bT5hLnkpYS55PURpYWxvZy5tYXhfYm90dG9tO3JldHVybiBhO30sb3BlbjpmdW5j dGlvbihpLGIsail7dmFyIGY9dHlwZW9mIHdpbmRvdy5zY3JlZW5YIT0ndW5kZWZp bmVkJz93aW5kb3cuc2NyZWVuWDp3aW5kb3cuc2NyZWVuTGVmdCxnPXR5cGVvZiB3 aW5kb3cuc2NyZWVuWSE9J3VuZGVmaW5lZCc/d2luZG93LnNjcmVlblk6d2luZG93 LnNjcmVlblRvcCxlPXR5cGVvZiB3aW5kb3cub3V0ZXJXaWR0aCE9J3VuZGVmaW5l ZCc/d2luZG93Lm91dGVyV2lkdGg6ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCxk PXR5cGVvZiB3aW5kb3cub3V0ZXJIZWlnaHQhPSd1bmRlZmluZWQnP3dpbmRvdy5v dXRlckhlaWdodDooZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQtMjIpLGM9cGFy c2VJbnQoZisoKGUtaikvMiksMTApLGg9cGFyc2VJbnQoZysoKGQtYikvMi41KSwx MCksYT0oJ3dpZHRoPScraisnLGhlaWdodD0nK2IrJyxsZWZ0PScrYysnLHRvcD0n K2gpO3JldHVybiB3aW5kb3cub3BlbihpLCdfYmxhbmsnLGEpO319Owp2YXIgUGxh dGZvcm1PcHRJblBvcHVwPWZ1bmN0aW9uKCl7fTtjb3B5X3Byb3BlcnRpZXMoUGxh dGZvcm1PcHRJblBvcHVwLHtESUFMT0dfVVJMOicvY29ubmVjdC91aXNlcnZlci5w aHAnLERJQUxPR19XSURUSDo0MjAsRElBTE9HX0hFSUdIVDo0NTAsQVBQX0lEOjEy Nzc2MDA4NzIzNzYxMCxvcGVuOmZ1bmN0aW9uKGQsYyxhKXtpZighZClkPSdnZW5l cmljJztpZighYyljPSdvcHQuaW4nO3ZhciBiPW5ldyBVUkkoUGxhdGZvcm1PcHRJ blBvcHVwLkRJQUxPR19VUkwpO2IuYWRkUXVlcnlEYXRhKHtzb2NpYWxfcGx1Z2lu OmQsbWV0aG9kOmMsZGlzcGxheToncG9wdXAnLHNlY3VyZTpVUkkuZ2V0UmVxdWVz dFVSSSgpLmlzU2VjdXJlKCksYXBwX2lkOlBsYXRmb3JtT3B0SW5Qb3B1cC5BUFBf SUR9KTtpZihhKWIuYWRkUXVlcnlEYXRhKGEpO3JldHVybiBQb3B1cFJlc2l6ZXIu b3BlbihiLnRvU3RyaW5nKCksUGxhdGZvcm1PcHRJblBvcHVwLkRJQUxPR19XSURU SCxQbGF0Zm9ybU9wdEluUG9wdXAuRElBTE9HX0hFSUdIVCk7fX0pOwp2YXIgRXh0 ZXJuYWxOb2RlQ29ubmVjdFdpZGdldD1mdW5jdGlvbihpKXtjb3B5X3Byb3BlcnRp ZXModGhpcyx7d2lkZ2V0SUQ6aS53aWRnZXRJRCx3aWRnZXQ6JChpLndpZGdldElE KSx2aWV3ZXJJRDppLnZpZXdlcixub2RlVHlwZTppLm5vZGVUeXBlLHZpZXdlcklz QWRtaW46aS52aWV3ZXJJc0FkbWluJiYhaS51c2VyT3B0ZWRPdXQsYWRtaW5Vcmw6 aS5hZG1pblVybCxwb3B1cE9wdEluUGFyYW1zOntsb2NhbGU6aS5sb2NhbGV9LG5v ZGVVcmk6bmV3IFVSSShpLm5vZGVVUkwpLGV4dGVybmFsVXJsOmkuZXh0ZXJuYWxV UkwscGFnZUlkOmkucGFnZUlkLGxheW91dDppLmxheW91dCxlZGdlVHlwZTppLmVk Z2VUeXBlLGVycm9yOmkuZXJyb3IsZXJyb3JVUkk6bmV3IFVSSSgnL2hvbWUucGhw JyksYWxyZWFkeUNvbm5lY3RlZDppLmFscmVhZHlDb25uZWN0ZWQsdXNpbmdDb25u ZWN0TGlicmFyeTohIWkuY2hhbm5lbFVSTCxjb21tZW50V2lkZ2V0TWFya3VwOmku Y29tbWVudFdpZGdldE1hcmt1cCxjb21tZW50V2lkZ2V0T3BlbjpmYWxzZSxjb21t ZW50V2lkZ2V0VmlzaWJsZTpmYWxzZSx1c2VyUHJvZmlsZTpudWxsLGNvbm5lY3RT dG9yeUZiaWQ6MCxpc0FtYmlndW91c1RleHQ6aS5pc0FtYmlndW91c1RleHQsc29j aWFsQmFyOmkuc29jaWFsYmFyLHVzZURpc2Nvbm5lY3RMaW5rOmkudXNlRGlzY29u bmVjdExpbmssc2hvd0Vycm9yOmkuc2hvd0Vycm9yLHNob3dDb25maXJtOmkuc2hv d0NvbmZpcm0sc2hvd0ZhY2VzOmkuc2hvd0ZhY2VzLGNvbm5lY3RUZXh0OmkuY29u bmVjdFRleHQscmVmOmkucmVmLHVzZXJPcHRlZE91dDppLnVzZXJPcHRlZE91dCx1 c2luZ0lubGluZUNvbW1lbnRpbmc6aS51c2luZ0lubGluZUNvbW1lbnRpbmcsc3Vw cG9ydENvbW1lbnRpbmc6ISFpLmNoYW5uZWxVUkx8fGkudXNpbmdJbmxpbmVDb21t ZW50aW5nLGlubGluZUNvbW1lbnRMaXN0ZW5lcnNJbml0aWFsaXplZDpmYWxzZSxm b3JjZUNvbW1lbnRIb29rczppLmZvcmNlQ29tbWVudEhvb2tzLG51eDppLm51eCxp ZnJhbWVSZWZlcmVyOmkuaWZyYW1lUmVmZXJlcixpc0Jsb2NrZWQ6aS5pc0Jsb2Nr ZWQsaXNQZXJzb25hbGl6ZWQ6aS5pc1BlcnNvbmFsaXplZCxjb25maXJtZWRDb25u ZWN0OmkuY29uZmlybWVkQ29ubmVjdCxoYXNTZW5kOmkuc2VuZCxjb2xvclNjaGVt ZTppLmNvbG9yU2NoZW1lLGdyYXlPdXQ6aS5ncmF5T3V0fSk7aWYodGhpcy51c2lu Z0Nvbm5lY3RMaWJyYXJ5KVVudmVyaWZpZWRYRC5pbml0KHthdXRvUmVzaXplOmku YXV0b1Jlc2l6ZSxjaGFubmVsVXJsOmkuY2hhbm5lbFVSTCxyZXNpemVXaWR0aDpp LmF1dG9SZXNpemUmJmkubGF5b3V0IT09RXh0ZXJuYWxOb2RlQ29ubmVjdFdpZGdl dC5TVEFOREFSRF9MQVlPVVR9KTt0aGlzLnVud3JhcHBlZE1hcmt1cD1bXTt0aGlz LmNvbm5lY3RCdXR0b25TbGlkZXI9RE9NLnNjcnkodGhpcy53aWRnZXQsJ2Rpdi5j b25uZWN0X2J1dHRvbl9zbGlkZXInKTt0aGlzLmNvbm5lY3RCdXR0b25Db250YWlu ZXI9bnVsbDtpZih0aGlzLmNvbm5lY3RCdXR0b25TbGlkZXIubGVuZ3RoKXt0aGlz LmNvbm5lY3RCdXR0b25TbGlkZXI9dGhpcy5jb25uZWN0QnV0dG9uU2xpZGVyWzBd O3RoaXMuY29ubmVjdEJ1dHRvbkNvbnRhaW5lcj1ET00uZmluZCh0aGlzLmNvbm5l Y3RCdXR0b25TbGlkZXIsJ2Rpdi5jb25uZWN0X2J1dHRvbl9jb250YWluZXInKTt9 ZWxzZSB0aGlzLmNvbm5lY3RCdXR0b25TbGlkZXI9bnVsbDt0aGlzLmNvbm5lY3RC dXR0b249RE9NLmZpbmQodGhpcy53aWRnZXQsJ2EuY29ubmVjdF93aWRnZXRfbGlr ZV9idXR0b24nKTtpZih0aGlzLmdyYXlPdXQpdGhpcy50b21ic3RvbmVDcm9zcz1E T00uZmluZCh0aGlzLndpZGdldCwnLnRvbWJzdG9uZV9jcm9zcycpO3RoaXMuY29u bmVjdGVkTWVzc2FnZT1ET00uc2NyeSh0aGlzLndpZGdldCwnc3Bhbi5jb25uZWN0 X3dpZGdldF9jb25uZWN0ZWRfdGV4dCcpO3RoaXMuY29ubmVjdGVkTWVzc2FnZT10 aGlzLmNvbm5lY3RlZE1lc3NhZ2UubGVuZ3RoP3RoaXMuY29ubmVjdGVkTWVzc2Fn ZVswXTpudWxsO3RoaXMubm90Q29ubmVjdGVkTWVzc2FnZT1ET00uc2NyeSh0aGlz LndpZGdldCwnc3Bhbi5jb25uZWN0X3dpZGdldF9ub3RfY29ubmVjdGVkX3RleHQn KTt0aGlzLm5vdENvbm5lY3RlZE1lc3NhZ2U9dGhpcy5ub3RDb25uZWN0ZWRNZXNz YWdlLmxlbmd0aD90aGlzLm5vdENvbm5lY3RlZE1lc3NhZ2VbMF06bnVsbDt0aGlz LmFkbWluU3BhbnM9RE9NLnNjcnkodGhpcy53aWRnZXQsJ3NwYW4uY29ubmVjdF93 aWRnZXRfYWRtaW5fc3BhbicpO2lmKHRoaXMuYWRtaW5TcGFucy5sZW5ndGg+MCl7 dGhpcy5hZG1pbkxpbmtzPVtdO2Zvcih2YXIgYT0wO2E8dGhpcy5hZG1pblNwYW5z Lmxlbmd0aDthKyspdGhpcy5hZG1pbkxpbmtzW2FdPURPTS5maW5kKHRoaXMuYWRt aW5TcGFuc1thXSwnYS5jb25uZWN0X3dpZGdldF9hZG1pbl9vcHRpb24nKTt9aWYo dGhpcy5sYXlvdXQ9PUV4dGVybmFsTm9kZUNvbm5lY3RXaWRnZXQuU1RBTkRBUkRf TEFZT1VUKXt0aGlzLmNvbmZpcm1hdGlvbkNlbGw9RE9NLmZpbmQodGhpcy53aWRn ZXQsJ2Rpdi5jb25uZWN0X2NvbmZpcm1hdGlvbl9jZWxsJyk7dGhpcy51c2VyQWN0 aW9uVGV4dFNwYW49RE9NLmZpbmQodGhpcy5jb25maXJtYXRpb25DZWxsLCdzcGFu LmNvbm5lY3Rfd2lkZ2V0X3VzZXJfYWN0aW9uJyk7dGhpcy5zdW1tYXJ5VGV4dFNw YW49RE9NLmZpbmQodGhpcy5jb25maXJtYXRpb25DZWxsLCdzcGFuLmNvbm5lY3Rf d2lkZ2V0X3N1bW1hcnknKTt0aGlzLnN1bW1hcnlUZXh0PURPTS5maW5kKHRoaXMu Y29uZmlybWF0aW9uQ2VsbCwnZGl2LmNvbm5lY3Rfd2lkZ2V0X3RleHRfc3VtbWFy eScpO3ZhciBqPURPTS5zY3J5KHRoaXMud2lkZ2V0LCdkaXYuY29ubmVjdF93aWRn ZXRfc2FtcGxlX2Nvbm5lY3Rpb25zJyk7dGhpcy5zYW1wbGVDb25uZWN0aW9ucz1q Lmxlbmd0aD4wP2pbMF06bnVsbDtpZihpLnNob3dGYWNlcyYmaS52aWV3ZXI+MCl7 dmFyIGU9RE9NLnNjcnkodGhpcy53aWRnZXQsJ2Rpdi5jb25uZWN0X3dpZGdldF9s b2dnZWRfaW5fdXNlcicpO3RoaXMubG9nZ2VkSW5Vc2VyUGhvdG9EaXY9ZS5sZW5n dGg+MD9lWzBdOm51bGw7fX1pZih0aGlzLmxheW91dD09PUV4dGVybmFsTm9kZUNv bm5lY3RXaWRnZXQuU0lNUExFX0xBWU9VVCl7dGhpcy5vcmlnaW5hbEJ1dHRvbldp ZHRoPXRoaXMuY29tcHV0ZUJ1dHRvbkRpbWVuc2lvbnMoKS53aWR0aDt0aGlzLnN1 bW1hcnlJbmNsdWRpbmc9RE9NLmZpbmQodGhpcy53aWRnZXQsJ3RkLmNvbm5lY3Rf d2lkZ2V0X3NpbXBsZV9pbmNsdWRpbmcnKTt0aGlzLnN1cHBvcnRDb21tZW50aW5n PWZhbHNlO3RoaXMudXNpbmdJbmxpbmVDb21tZW50aW5nPWZhbHNlO310aGlzLnNl dFF1ZXJ5RGF0YSgpO2lmKHRoaXMucGFnZUlkKWNvcHlfcHJvcGVydGllcyh0aGlz LnBvcHVwT3B0SW5QYXJhbXMse2Nvbm5lY3RfaWQ6dGhpcy5wYWdlSWR9KTt0aGlz LmVycm9yU3BhbnM9RE9NLnNjcnkodGhpcy53aWRnZXQsJ3NwYW4uY29ubmVjdF93 aWRnZXRfZXJyb3Jfc3BhbicpO2lmKHRoaXMuZXJyb3JTcGFucy5sZW5ndGg+MCl7 dGhpcy5lcnJvckxpbmtzPVtdO2Zvcih2YXIgYj0wO2I8dGhpcy5lcnJvclNwYW5z Lmxlbmd0aDtiKyspdGhpcy5lcnJvckxpbmtzW2JdPURPTS5maW5kKHRoaXMuZXJy b3JTcGFuc1tiXSwnYS5jb25uZWN0X3dpZGdldF9lcnJvcl90ZXh0Jyk7fXRoaXMu Y29uZmlybVNwYW5zPURPTS5zY3J5KHRoaXMud2lkZ2V0LCdzcGFuLmNvbm5lY3Rf d2lkZ2V0X2NvbmZpcm1fc3BhbicpO2lmKHRoaXMuY29uZmlybVNwYW5zLmxlbmd0 aD4wKXt0aGlzLmNvbmZpcm1MaW5rcz1bXTtmb3IodmFyIGQ9MDtkPHRoaXMuY29u ZmlybVNwYW5zLmxlbmd0aDtkKyspdGhpcy5jb25maXJtTGlua3NbZF09RE9NLmZp bmQodGhpcy5jb25maXJtU3BhbnNbZF0sJ2EuY29ubmVjdF93aWRnZXRfY29uZmly bV9saW5rJyk7fXRoaXMudW5saWtlU3BhbnM9RE9NLnNjcnkodGhpcy53aWRnZXQs J3NwYW4udW5saWtlX3NwYW4nKTt0aGlzLnVubGlrZUxpbmtzPVtdO2Zvcih2YXIg Yz0wO2M8dGhpcy51bmxpa2VTcGFucy5sZW5ndGg7YysrKXt0aGlzLnVubGlrZUxp bmtzW2NdPURPTS5maW5kKHRoaXMudW5saWtlU3BhbnNbY10sJ2EuY29ubmVjdF93 aWRnZXRfdW5saWtlX2xpbmsnKTtFdmVudC5saXN0ZW4odGhpcy51bmxpa2VMaW5r c1tjXSwnY2xpY2snLHRoaXMuY29ubmVjdFRvTm9kZU9uQ2xpY2suYmluZCh0aGlz KSk7fXZhciBoPURPTS5zY3J5KHRoaXMud2lkZ2V0LCdkaXYuY29ubmVjdF93aWRn ZXRfbnVtYmVyX2Nsb3VkJyk7aWYoaC5sZW5ndGg9PTEpe3RoaXMubnVtYmVyQ2xv dWQ9aFswXTt0aGlzLm51bWJlckNsb3VkTnViPURPTS5maW5kKHRoaXMud2lkZ2V0 LCdkaXYuY29ubmVjdF93aWRnZXRfbnVtYmVyX2Nsb3VkX251YicpO3RoaXMubnVt YmVyQ2xvdWRFeHRlbnNpb249RE9NLmZpbmQodGhpcy5udW1iZXJDbG91ZCwnZGl2 LmNvbm5lY3Rfd2lkZ2V0X251bWJlcl9jbG91ZF9leHRlbnNpb24nKTt0aGlzLnNp emVOdW1iZXJDbG91ZCgpO3RoaXMubnVtYmVyQ2xvdWRVbmxpa2VTcGFuPURPTS5m aW5kKHRoaXMubnVtYmVyQ2xvdWRFeHRlbnNpb24sJ3NwYW4udW5saWtlX3NwYW4n KTt0aGlzLm51bWJlckNsb3VkUmVtaW5kZXJTcGFuPURPTS5maW5kKHRoaXMubnVt YmVyQ2xvdWRFeHRlbnNpb24sJ3NwYW4ubGlrZV9yZW1pbmRlcicpO3RoaXMuaW5B bmltYXRpb249ZmFsc2U7dGhpcy5yZW1pbmRlcklzVmlzaWJsZT1DU1MuaGFzQ2xh c3ModGhpcy5udW1iZXJDbG91ZFVubGlrZVNwYW4sJ2hpZGRlbl9lbGVtJyk7RXZl bnQubGlzdGVuKHRoaXMubnVtYmVyQ2xvdWQsJ21vdXNlbGVhdmUnLHRoaXMucmVz dG9yZVJlbWluZGVyU3Bhbi5iaW5kKHRoaXMpKTtFdmVudC5saXN0ZW4odGhpcy5u dW1iZXJDbG91ZEV4dGVuc2lvbiwnbW91c2VsZWF2ZScsdGhpcy5yZXN0b3JlUmVt aW5kZXJTcGFuLmJpbmQodGhpcykpO0V2ZW50Lmxpc3Rlbih0aGlzLm51bWJlckNs b3VkRXh0ZW5zaW9uLCdtb3VzZWVudGVyJyx0aGlzLmV4cG9zZVVubGlrZVNwYW4u YmluZCh0aGlzKSk7RXZlbnQubGlzdGVuKHRoaXMubnVtYmVyQ2xvdWQsJ21vdXNl ZW50ZXInLHRoaXMuZXhwb3NlVW5saWtlU3Bhbi5iaW5kKHRoaXMpKTtFdmVudC5s aXN0ZW4odGhpcy5udW1iZXJDbG91ZEV4dGVuc2lvbiwnbW91c2VsZWF2ZScsZnVu Y3Rpb24oZXZlbnQpe3RoaXMucmVxdWlyZXNNb3VzZUxlYXZlRXZlbnQ9ZmFsc2U7 fS5iaW5kKHRoaXMpKTt9aWYodGhpcy51c2luZ0lubGluZUNvbW1lbnRpbmcmJiF0 aGlzLnNob3dGYWNlcyl7dGhpcy5zaGFyZUNvbW1lbnRTcGFucz1ET00uc2NyeSh0 aGlzLndpZGdldCwnc3Bhbi5jb25uZWN0X3dpZGdldF9zaGFyZV9jb21tZW50X3Nw YW4nKTtmb3IodmFyIGY9MDtmPHRoaXMuc2hhcmVDb21tZW50U3BhbnMubGVuZ3Ro O2YrKyl7dmFyIGs9RE9NLmZpbmQodGhpcy5zaGFyZUNvbW1lbnRTcGFuc1tmXSwn YS5jb25uZWN0X3dpZGdldF9zaGFyZV9jb21tZW50X29wdGlvbicpO0V2ZW50Lmxp c3RlbihrLCdjbGljaycsZnVuY3Rpb24oZXZlbnQpe2Zvcih2YXIgbD0wO2w8dGhp cy5zaGFyZUNvbW1lbnRTcGFucy5sZW5ndGg7bCsrKUNTUy5hZGRDbGFzcyh0aGlz LnNoYXJlQ29tbWVudFNwYW5zW2xdLCdoaWRkZW5fZWxlbScpO3RoaXMucHJlc2Vu dENvbW1lbnRpbmdPcHRpb24oKTt9LmJpbmQodGhpcykpO319aWYodGhpcy5sYXlv dXQ9PT1FeHRlcm5hbE5vZGVDb25uZWN0V2lkZ2V0LkJVVFRPTl9DT1VOVF9MQVlP VVQpe1hELmZvcmNlZF9taW5fd2lkdGg9dGhpcy5nZXRCdXR0b25Db3VudFdpZGdl dFdpZHRoKCk7dGhpcy5udW1iZXJFeGNsdWRpbmc9RE9NLmZpbmQodGhpcy53aWRn ZXQsJ3RkLmNvbm5lY3Rfd2lkZ2V0X2J1dHRvbl9jb3VudF9leGNsdWRpbmcnKTt0 aGlzLnN1bW1hcnlJbmNsdWRpbmc9RE9NLmZpbmQodGhpcy53aWRnZXQsJ3RkLmNv bm5lY3Rfd2lkZ2V0X2J1dHRvbl9jb3VudF9pbmNsdWRpbmcnKTt0aGlzLnRodW1i c1VwSWNvbj1ET00uZmluZCh0aGlzLnN1bW1hcnlJbmNsdWRpbmcsJ2Rpdi50aHVt YnNfdXAnKTt0aGlzLnVuZG9SZWdpb249RE9NLmZpbmQodGhpcy5zdW1tYXJ5SW5j bHVkaW5nLCdkaXYudW5kbycpO3RoaXMub3JpZ2luYWxCdXR0b25XaWR0aD10aGlz LmNvbXB1dGVCdXR0b25EaW1lbnNpb25zKCkud2lkdGg7RXZlbnQubGlzdGVuKHRo aXMudGh1bWJzVXBJY29uLCdtb3VzZWVudGVyJyxmdW5jdGlvbihldmVudCl7dGhp cy51bndyYXBNYXJrdXAoJ3VuZG8td3JhcCcpO3RoaXMudW5kb0J1dHRvbj1ET00u ZmluZCh0aGlzLnVuZG9SZWdpb24sJ2xhYmVsLnVuZG9fYnV0dG9uIGlucHV0Jyk7 RXZlbnQubGlzdGVuKHRoaXMudW5kb0J1dHRvbiwnY2xpY2snLHRoaXMuY29ubmVj dFRvTm9kZU9uQ2xpY2suYmluZCh0aGlzKSk7Q1NTLmFkZENsYXNzKHRoaXMudGh1 bWJzVXBJY29uLCdoaWRkZW5fZWxlbScpO0NTUy5yZW1vdmVDbGFzcyh0aGlzLnVu ZG9SZWdpb24sJ2hpZGRlbl9lbGVtJyk7fS5iaW5kKHRoaXMpKTtFdmVudC5saXN0 ZW4odGhpcy51bmRvUmVnaW9uLCdtb3VzZWxlYXZlJyxmdW5jdGlvbihldmVudCl7 Q1NTLnJlbW92ZUNsYXNzKHRoaXMudGh1bWJzVXBJY29uLCdoaWRkZW5fZWxlbScp O0NTUy5hZGRDbGFzcyh0aGlzLnVuZG9SZWdpb24sJ2hpZGRlbl9lbGVtJyk7fS5i aW5kKHRoaXMpKTt9aWYoIXRoaXMuaXNCbG9ja2VkKXtFdmVudC5saXN0ZW4odGhp cy5jb25uZWN0QnV0dG9uLCdjbGljaycsdGhpcy5wcmltYXJ5TGlrZUJ1dHRvbk9u Q2xpY2suYmluZCh0aGlzKSk7aWYodGhpcy5ncmF5T3V0KUV2ZW50Lmxpc3Rlbih0 aGlzLnRvbWJzdG9uZUNyb3NzLCdjbGljaycsdGhpcy5jb25uZWN0VG9Ob2RlT25D bGljay5iaW5kKHRoaXMpKTt9aWYodGhpcy5hZG1pbkxpbmtzKWZvcih2YXIgYT0w O2E8dGhpcy5hZG1pbkxpbmtzLmxlbmd0aDthKyspRXZlbnQubGlzdGVuKHRoaXMu YWRtaW5MaW5rc1thXSwnY2xpY2snLHRoaXMucHJlc2VudEFkbWluUGFnZS5iaW5k KHRoaXMpKTtpZih0aGlzLmVycm9yTGlua3MpZm9yKHZhciBhPTA7YTx0aGlzLmVy cm9yTGlua3MubGVuZ3RoO2ErKylFdmVudC5saXN0ZW4odGhpcy5lcnJvckxpbmtz W2FdLCdjbGljaycsdGhpcy5wcmVzZW50RXJyb3JEaWFsb2cuYmluZCh0aGlzKSk7 aWYodGhpcy5jb25maXJtTGlua3MpZm9yKHZhciBnPTA7Zzx0aGlzLmNvbmZpcm1M aW5rcy5sZW5ndGg7ZysrKUV2ZW50Lmxpc3Rlbih0aGlzLmNvbmZpcm1MaW5rc1tn XSwnY2xpY2snLHRoaXMucHJlc2VudENvbmZpcm1EaWFsb2cuYmluZCh0aGlzKSk7 aWYoaS5zaG93Q2FwdGNoYSl7dGhpcy5zaG93Q2FwdGNoYT10cnVlO3RoaXMuY29u bmVjdFRvTm9kZSh0cnVlKTt9aWYodGhpcy5mb3JjZUNvbW1lbnRIb29rcyl0aGlz LnNldHVwQ29tbWVudEhvb2tzKCQodGhpcy5mb3JjZUNvbW1lbnRIb29rcykpO3Ro aXMudGV4dElucHV0TWFyZ2luV2l0aEJ1dHRvbj01O3RoaXMud2lkdGhTeW5jQXJi aXRlcj1BcmJpdGVyLnN1YnNjcmliZSgncGxhdGZvcm0vc29jaWFscGx1Z2lucy9z ZW5kL3Jlc2l6ZScsdGhpcy5zeW5jU2VuZFdpZGdldFdpZHRoLmJpbmQodGhpcykp O0FyYml0ZXIuaW5mb3JtKCdwbGF0Zm9ybS9zb2NpYWxwbHVnaW5zL2xpa2UvcmVz aXplJyx7YnV0dG9uX3dpZHRoOnRoaXMuY29tcHV0ZUJ1dHRvbkRpbWVuc2lvbnNX aXRoUGFkZGluZygpLndpZHRoLHdpZGdldF93aWR0aDpWZWN0b3IyLmdldEVsZW1l bnREaW1lbnNpb25zKHRoaXMud2lkZ2V0KS54LGxheW91dDp0aGlzLmxheW91dH0s QXJiaXRlci5CRUhBVklPUl9TVEFURSk7QXJiaXRlci5zdWJzY3JpYmUoJ3BsYXRm b3JtL3NvY2lhbHBsdWdpbnMvZGlhbG9nJyxmdW5jdGlvbihtLGwpe2lmKGwuY29u dHJvbGxlcklEIT09dGhpcy53aWRnZXRJRCl0aGlzLm90aGVyQ29tbWVudFdpZGdl dE9wZW49KGwuZXZlbnQ9PSdvcGVuJyk7fS5iaW5kKHRoaXMpKTt0aGlzLnN1YnNj cmliZVRvU3luYyhpKTt9O2NvcHlfcHJvcGVydGllcyhFeHRlcm5hbE5vZGVDb25u ZWN0V2lkZ2V0LHtTVEFOREFSRF9MQVlPVVQ6J3N0YW5kYXJkJyxCT1hfQ09VTlRf TEFZT1VUOidib3hfY291bnQnLEJVVFRPTl9DT1VOVF9MQVlPVVQ6J2J1dHRvbl9j b3VudCcsU0lNUExFX0xBWU9VVDonc2ltcGxlJyxDT0xPUl9EQVJLOjAsQ09MT1Jf TElHSFQ6MSxPUFRfSU5fRkFDRUJPT0tfQVBQX0lEOicxMjc3NjAwODcyMzc2MTAn LHVwZGF0ZUxvZ2dlZEluVXNlcjpmdW5jdGlvbihiKXt2YXIgYT1FeHRlcm5hbE5v ZGVDb25uZWN0V2lkZ2V0LmNvbnRyb2xsZXJNYW5hZ2luZ0xvZ2luO2Euc2V0TG9n Z2VkSW4oYik7YS5jb25uZWN0VG9Ob2RlKHRydWUpO2EudXNlck9wdGVkT3V0PWZh bHNlO2RlbGV0ZSBFeHRlcm5hbE5vZGVDb25uZWN0V2lkZ2V0LmNvbnRyb2xsZXJN YW5hZ2luZ0xvZ2luO0FyYml0ZXIuaW5mb3JtKCdwbGF0Zm9ybS9zb2NpYWxwbHVn aW5zL2xvZ2luJyx7dXNlcjpiLnVzZXJ9LEFyYml0ZXIuQkVIQVZJT1JfU1RBVEUp O1dpZGdldEFyYml0ZXIuaW5mb3JtKCdwbGF0Zm9ybS9zb2NpYWxwbHVnaW5zL2xv Z2luJyx7dXNlcjpiLnVzZXJ9LEFyYml0ZXIuQkVIQVZJT1JfU1RBVEUpO30sb25D b21tZW50V2lkZ2V0TG9hZGVkOmZ1bmN0aW9uKGEpe3ZhciBiPUV4dGVybmFsTm9k ZUNvbm5lY3RXaWRnZXQuc2VsZjtkZWxldGUgRXh0ZXJuYWxOb2RlQ29ubmVjdFdp ZGdldC5zZWxmO2IuaW5qZWN0Q29tbWVudFdpZGdldE1hcmt1cChhKTt9fSk7Y29w eV9wcm9wZXJ0aWVzKEV4dGVybmFsTm9kZUNvbm5lY3RXaWRnZXQucHJvdG90eXBl LHtnZXRTeW5jRW5kcG9pbnROYW1lOmZ1bmN0aW9uKCl7fSxnZXRDb25uZWN0aW9u RW5kcG9pbnROYW1lOmZ1bmN0aW9uKCl7fSxnZXRQbHVnaW5OYW1lOmZ1bmN0aW9u KCl7fSxzdWJzY3JpYmVUb1N5bmM6ZnVuY3Rpb24oYSl7QXJiaXRlci5zdWJzY3Jp YmUoJ3BsYXRmb3JtL3NvY2lhbHBsdWdpbnMvbG9naW4nLGZ1bmN0aW9uKGMsYil7 aWYodGhpcy52aWV3ZXJJRCYmYi51c2VyIT09dGhpcy52aWV3ZXJJRClkb2N1bWVu dC5sb2NhdGlvbi5yZWxvYWQoKTt9LmJpbmQodGhpcykpO0FyYml0ZXIuc3Vic2Ny aWJlKHRoaXMuZ2V0U3luY0VuZHBvaW50TmFtZSgpLGZ1bmN0aW9uKGMsYil7aWYo Yi5leHRlcm5hbFVybD09YS5leHRlcm5hbFVSTCl7dGhpcy51c2VyT3B0ZWRPdXQ9 ZmFsc2U7dGhpcy51cGRhdGVXaWRnZXQoYi5vcHRzLHRydWUpO319LmJpbmQodGhp cykpO30sc2V0UXVlcnlEYXRhOmZ1bmN0aW9uKCl7Y29weV9wcm9wZXJ0aWVzKHRo aXMucG9wdXBPcHRJblBhcmFtcyx7cHJvdG9jb2w6d2luZG93LmxvY2F0aW9uLnBy b3RvY29sLGV4dGVybmFsX3BhZ2VfdXJsOnRoaXMuZXh0ZXJuYWxVcmx9KTtpZih0 aGlzLm51eCljb3B5X3Byb3BlcnRpZXModGhpcy5wb3B1cE9wdEluUGFyYW1zLHtu dXg6dGhpcy5udXgscmVmZXJlcjp0aGlzLmlmcmFtZVJlZmVyZXJ9KTt9LHVwZGF0 ZVdpZGdldDpmdW5jdGlvbihlLGQsYil7dmFyIGE9KHRoaXMuYWxyZWFkeUNvbm5l Y3RlZCE9ZS5ub3dDb25uZWN0ZWQpfHwodGhpcy5zaG93Q29uZmlybSE9ZS5zaG93 Q29uZmlybSk7aWYoIWQpQXJiaXRlci5pbmZvcm0odGhpcy5nZXRDb25uZWN0aW9u RW5kcG9pbnROYW1lKCksZSxBcmJpdGVyLkJFSEFWSU9SX1NUQVRFKTt0aGlzLmFs cmVhZHlDb25uZWN0ZWQ9ZS5ub3dDb25uZWN0ZWQ7dGhpcy52aWV3ZXJJc0FkbWlu PWUuaXNBZG1pbjt0aGlzLnNob3dFcnJvcj1lLnNob3dFcnJvcjt0aGlzLnNob3dD b25maXJtPWUuc2hvd0NvbmZpcm07dGhpcy5hZG1pblVybD1lLmFkbWluVXJsO3Ro aXMudXNlclByb2ZpbGU9ZS51c2VyUHJvZmlsZTt0aGlzLmNvbm5lY3RTdG9yeUZi aWQ9ZS5jb25uZWN0U3RvcnlGYmlkO3RoaXMuZXJyb3I9ZS5lcnJvcjtpZighZS5u b3dDb25uZWN0ZWQpdGhpcy5jbG9zZUNvbW1lbnRXaWRnZXQoKTtpZihhJiYhZHx8 Yil7dmFyIGM9ZS5ub3dDb25uZWN0ZWQ/J2VkZ2VDcmVhdGVkJzonZWRnZVJlbW92 ZWQnO1VudmVyaWZpZWRYRC5zZW5kKHt0eXBlOmN9KTt9aWYoYXx8dGhpcy5lcnJv cil0aGlzLnN5bmNXaWRnZXREaXNwbGF5KCk7aWYoIWR8fGIpV2lkZ2V0QXJiaXRl ci5pbmZvcm0odGhpcy5nZXRTeW5jRW5kcG9pbnROYW1lKCkse2V4dGVybmFsVXJs OnRoaXMuZXh0ZXJuYWxVcmwsb3B0czplfSxBcmJpdGVyLkJFSEFWSU9SX1NUQVRF KTt9LHByZXNlbnRPcHRJbjpmdW5jdGlvbigpe0V4dGVybmFsTm9kZUNvbm5lY3RX aWRnZXQuY29udHJvbGxlck1hbmFnaW5nTG9naW49dGhpcztQbGF0Zm9ybU9wdElu UG9wdXAub3Blbih0aGlzLmdldFBsdWdpbk5hbWUoKSwnb3B0LmlubGlrZScsdGhp cy5wb3B1cE9wdEluUGFyYW1zKTtVbnZlcmlmaWVkWEQuc2VuZCh7dHlwZTonYXV0 aFByb21wdGVkJ30pO30sc2V0TG9nZ2VkSW46ZnVuY3Rpb24oYSl7dGhpcy52aWV3 ZXJJRD1hLnVzZXI7dGhpcy5uZXdQcm9maWxlUGljPWEucHJvZmlsZVBpYzt0aGlz LnBsYWNlRm9ybVVzZXJDaGVjayhhLmZvcm1Vc2VyQ2hlY2ssYS5mYkR0c2cpO30s cGxhY2VGb3JtVXNlckNoZWNrOmZ1bmN0aW9uKGIsYSl7d2luZG93LkVudi5mYl9k dHNnPWE7aWYoZ2UoJ3Bvc3RfZm9ybV9pZCcpKXtET00ucmVwbGFjZSgkKCdwb3N0 X2Zvcm1faWQnKSxIVE1MKGIpKTt9ZWxzZSBET00uYXBwZW5kQ29udGVudChET00u ZmluZChkb2N1bWVudCwnYm9keScpLEhUTUwoYikpO30sc3luY1dpZGdldFdpdGhT ZXJ2ZXI6ZnVuY3Rpb24oYyl7dmFyIGI9Yy5nZXRQYXlsb2FkKCk7aWYoYi5yZXF1 aXJlc19sb2dpbil7dGhpcy51cGRhdGVXaWRnZXQoe25vd0Nvbm5lY3RlZDpmYWxz ZSxpc0FkbWluOmZhbHNlfSxmYWxzZSk7dGhpcy5wcmVzZW50T3B0SW4oKTtyZXR1 cm47fXZhciBhPXtub3dDb25uZWN0ZWQ6Yi5zdWNjZXNzJiZiLmFscmVhZHlfY29u bmVjdGVkLGlzQWRtaW46Yi5pc19hZG1pbixzaG93RXJyb3I6Yi5zaG93X2Vycm9y LHNob3dDb25maXJtOmIuc2hvd19jb25maXJtLGFkbWluVXJsOmIuYWRtaW5fdXJs LHVzZXJQcm9maWxlOmIudXNlcl9wcm9maWxlLGNvbm5lY3RTdG9yeUZiaWQ6Yi5z dG9yeV9mYmlkLGVycm9yOmIuZXJyb3JfaW5mb307dGhpcy51cGRhdGVXaWRnZXQo YSwhYi5zdWNjZXNzLGIuc3VjY2Vzcyk7aWYoYi5zdWNjZXNzJiZ0aGlzLnNob3dD YXB0Y2hhKXt3aW5kb3cub3BlbmVyLmxvY2F0aW9uLnJlbG9hZCgpO3dpbmRvdy5j bG9zZSgpO319LGdldEJ1dHRvbkNvdW50V2lkZ2V0V2lkdGg6ZnVuY3Rpb24oKXt2 YXIgYT1ET00uZmluZCh0aGlzLndpZGdldCwndGFibGUuY29ubmVjdF93aWRnZXRf aW50ZXJhY3RpdmVfYXJlYScpO3ZhciBiPUNTUy5nZXRTdHlsZShhLCd3aWR0aCcp O3JldHVybiBwYXJzZUludChiLDEwKTt9LHNpemVOdW1iZXJDbG91ZDpmdW5jdGlv bigpe3RoaXMuY29sbGFwc2VkTnVtYmVyQ2xvdWRIZWlnaHQ9dGhpcy5nZXRDb2xs YXBzZWROdW1iZXJDbG91ZEhlaWdodCgpO3RoaXMuZXhwYW5kZWROdW1iZXJDbG91 ZEhlaWdodD10aGlzLmNvbGxhcHNlZE51bWJlckNsb3VkSGVpZ2h0K3RoaXMuZ2V0 TnVtYmVyQ2xvdWRFeHRlbnNpb25IZWlnaHQoKTtpZih0aGlzLmFscmVhZHlDb25u ZWN0ZWQpQ1NTLnNldFN0eWxlKHRoaXMubnVtYmVyQ2xvdWQsJ2hlaWdodCcsdGhp cy5leHBhbmRlZE51bWJlckNsb3VkSGVpZ2h0KydweCcpO0Jvb3Rsb2FkZXIubG9h ZENvbXBvbmVudHMoWyd2ZWN0b3InXSxiaW5kKHRoaXMsZnVuY3Rpb24oKXt2YXIg YT10aGlzLmNvbXB1dGVCdXR0b25EaW1lbnNpb25zV2l0aFBhZGRpbmcoKS53aWR0 aDtYRC5mb3JjZWRfbWluX3dpZHRoPWE7dmFyIGI9aW50bF9sb2NhbGVfaXNfcnRs KCk7YS09MjtDU1Muc2V0U3R5bGUodGhpcy5udW1iZXJDbG91ZCwnd2lkdGgnLGEr J3B4Jyk7Q1NTLnNldFN0eWxlKHRoaXMubnVtYmVyQ2xvdWQsJ3Zpc2liaWxpdHkn LCd2aXNpYmxlJyk7YW5pbWF0aW9uKHRoaXMubnVtYmVyQ2xvdWQpLmZyb20oJ29w YWNpdHknLDApLnRvKCdvcGFjaXR5JywxKS5kdXJhdGlvbigxMDApLmdvKCk7fSkp O30sZ2V0Q29sbGFwc2VkTnVtYmVyQ2xvdWRIZWlnaHQ6ZnVuY3Rpb24oKXt2YXIg Yj1WZWN0b3IyLmdldEVsZW1lbnREaW1lbnNpb25zKHRoaXMubnVtYmVyQ2xvdWQp Lnk7dmFyIGQ9cGFyc2VJbnQoQ1NTLmdldFN0eWxlKHRoaXMubnVtYmVyQ2xvdWQs J3BhZGRpbmdUb3AnKSwxMCk7dmFyIGM9cGFyc2VJbnQoQ1NTLmdldFN0eWxlKHRo aXMubnVtYmVyQ2xvdWQsJ3BhZGRpbmdCb3R0b20nKSwxMCk7dmFyIGE9cGFyc2VJ bnQoQ1NTLmdldFN0eWxlKHRoaXMubnVtYmVyQ2xvdWQsJ2JvcmRlcicpLDEwKTty ZXR1cm4gYi1kLWMtMjt9LGdldE51bWJlckNsb3VkRXh0ZW5zaW9uSGVpZ2h0OmZ1 bmN0aW9uKCl7Q1NTLmFkZENsYXNzKHRoaXMubnVtYmVyQ2xvdWRFeHRlbnNpb24s J2Nvbm5lY3Rfd2lkZ2V0X29mZnNjcmVlbicpO2lmKCF0aGlzLmFscmVhZHlDb25u ZWN0ZWQpQ1NTLnJlbW92ZUNsYXNzKHRoaXMubnVtYmVyQ2xvdWRFeHRlbnNpb24s J2hpZGRlbl9lbGVtJyk7dmFyIGE9VmVjdG9yMi5nZXRFbGVtZW50RGltZW5zaW9u cyh0aGlzLm51bWJlckNsb3VkRXh0ZW5zaW9uKS55O2lmKCF0aGlzLmFscmVhZHlD b25uZWN0ZWQpQ1NTLmFkZENsYXNzKHRoaXMubnVtYmVyQ2xvdWRFeHRlbnNpb24s J2hpZGRlbl9lbGVtJyk7Q1NTLnJlbW92ZUNsYXNzKHRoaXMubnVtYmVyQ2xvdWRF eHRlbnNpb24sJ2Nvbm5lY3Rfd2lkZ2V0X29mZnNjcmVlbicpO3JldHVybiBhO30s cmVzdG9yZVJlbWluZGVyU3BhbjpmdW5jdGlvbihldmVudCl7aWYodGhpcy5yZW1p bmRlcklzVmlzaWJsZXx8dGhpcy5pbkFuaW1hdGlvbilyZXR1cm47dGhpcy5hbmlt YXRlUmVtaW5kZXJTcGFuUmVhcHBlYXJhbmNlKCk7fSxhbmltYXRlUmVtaW5kZXJT cGFuUmVhcHBlYXJhbmNlOmZ1bmN0aW9uKCl7aWYodGhpcy5yZW1pbmRlcklzVmlz aWJsZXx8dGhpcy5pbkFuaW1hdGlvbilyZXR1cm47dGhpcy5pbkFuaW1hdGlvbj10 cnVlO0NTUy5hZGRDbGFzcyh0aGlzLm51bWJlckNsb3VkVW5saWtlU3BhbiwnaGlk ZGVuX2VsZW0nKTtDU1Muc2V0U3R5bGUodGhpcy5udW1iZXJDbG91ZFJlbWluZGVy U3Bhbiwnb3BhY2l0eScsMCk7Q1NTLnJlbW92ZUNsYXNzKHRoaXMubnVtYmVyQ2xv dWRSZW1pbmRlclNwYW4sJ2hpZGRlbl9lbGVtJyk7YW5pbWF0aW9uKHRoaXMubnVt YmVyQ2xvdWRSZW1pbmRlclNwYW4pLnRvKCdvcGFjaXR5JywxKS5kdXJhdGlvbigx MDApLm9uZG9uZShmdW5jdGlvbigpe3RoaXMuaW5BbmltYXRpb249ZmFsc2U7dGhp cy5yZW1pbmRlcklzVmlzaWJsZT10cnVlO30uYmluZCh0aGlzKSkuZ28oKTt9LGV4 cG9zZVVubGlrZVNwYW46ZnVuY3Rpb24oZXZlbnQpe2lmKCF0aGlzLmFscmVhZHlD b25uZWN0ZWR8fHRoaXMucmVxdWlyZXNNb3VzZUxlYXZlRXZlbnR8fCF0aGlzLnJl bWluZGVySXNWaXNpYmxlfHx0aGlzLmluQW5pbWF0aW9uKXJldHVybjt0aGlzLmlu QW5pbWF0aW9uPXRydWU7Q1NTLmFkZENsYXNzKHRoaXMubnVtYmVyQ2xvdWRSZW1p bmRlclNwYW4sJ2hpZGRlbl9lbGVtJyk7Q1NTLnNldFN0eWxlKHRoaXMubnVtYmVy Q2xvdWRVbmxpa2VTcGFuLCdvcGFjaXR5JywwKTtDU1MucmVtb3ZlQ2xhc3ModGhp cy5udW1iZXJDbG91ZFVubGlrZVNwYW4sJ2hpZGRlbl9lbGVtJyk7YW5pbWF0aW9u KHRoaXMubnVtYmVyQ2xvdWRVbmxpa2VTcGFuKS50bygnb3BhY2l0eScsMSkuZHVy YXRpb24oMTAwKS5vbmRvbmUoZnVuY3Rpb24oKXt0aGlzLmluQW5pbWF0aW9uPWZh bHNlO3RoaXMucmVtaW5kZXJJc1Zpc2libGU9ZmFsc2U7fS5iaW5kKHRoaXMpKS5n bygpO30sY29uZGl0aW9uYWxseUFjdGl2YXRlQnV0dG9uOmZ1bmN0aW9uKGV2ZW50 KXt0aGlzLmNvbW1lbnRCdXR0b25Jc0FjdGl2ZT10aGlzLmlubGluZUNvbW1lbnRJ bnB1dC52YWx1ZS50cmltKCkubGVuZ3RoPjA7fSx1cGRhdGVDb25uZWN0aW9uV2l0 aENvbW1lbnQ6ZnVuY3Rpb24oZXZlbnQpe0V2ZW50LmtpbGwoZXZlbnQpO2lmKHRo aXMuY29tbWVudEJ1dHRvbklzQWN0aXZlKXt0aGlzLnBvc3RJbmxpbmVDb21tZW50 KCk7dGhpcy5yZXNldElubGluZUNvbW1lbnQoKTt0aGlzLmNsb3NlSW5saW5lQ29t bWVudCgpO319LHBvc3RJbmxpbmVDb21tZW50OmZ1bmN0aW9uKCl7dGhpcy5wb3N0 VXNlckNvbW1lbnQodGhpcy5pbmxpbmVDb21tZW50SW5wdXQudmFsdWUudHJpbSgp KTt9LHJlc2V0SW5saW5lQ29tbWVudDpmdW5jdGlvbigpe3RoaXMuY29uY2VhbENv bW1lbnRCdXR0b24oKTt2YXIgYT10aGlzLmlubGluZUNvbW1lbnRJbnB1dC5nZXRB dHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJyk7dGhpcy5pbmxpbmVDb21tZW50SW5wdXQu dmFsdWU9YTt9LHNob3dJbmxpbmVDb21tZW50OmZ1bmN0aW9uKGV2ZW50KXtFdmVu dC5raWxsKGV2ZW50KTtpZighdGhpcy5pbmxpbmVDb21tZW50Rmx5b3V0T3Blbnx8 dGhpcy5pbmxpbmVDb21tZW50Rmx5b3V0VmlzaWJsZXx8dGhpcy5zaG93Q29uZmly bXx8dGhpcy5lcnJvcilyZXR1cm47dGhpcy5pbmxpbmVDb21tZW50Rmx5b3V0Vmlz aWJsZT10cnVlO0NTUy5zaG93KHRoaXMuaW5saW5lQ29tbWVudEZseW91dCk7fSxo aWRlSW5saW5lQ29tbWVudDpmdW5jdGlvbihldmVudCl7RXZlbnQua2lsbChldmVu dCk7aWYoIXRoaXMuaW5saW5lQ29tbWVudEZseW91dE9wZW58fCF0aGlzLmlubGlu ZUNvbW1lbnRGbHlvdXRWaXNpYmxlKXJldHVybjtpZihET00uY29udGFpbnModGhp cy5pbmxpbmVDb21tZW50Rmx5b3V0LGV2ZW50LmdldFJlbGF0ZWRUYXJnZXQoKSkp cmV0dXJuO3ZhciBiPXRoaXMuaW5saW5lQ29tbWVudElucHV0LnZhbHVlLnRyaW0o KTt2YXIgYT10aGlzLmlubGluZUNvbW1lbnRJbnB1dC5nZXRBdHRyaWJ1dGUoJ3Bs YWNlaG9sZGVyJyk7aWYoYi5sZW5ndGg+MCYmYiE9YSlyZXR1cm47dGhpcy5pbmxp bmVDb21tZW50Rmx5b3V0VmlzaWJsZT1mYWxzZTtDU1MuaGlkZSh0aGlzLmlubGlu ZUNvbW1lbnRGbHlvdXQpO30sY2xvc2VJbmxpbmVDb21tZW50OmZ1bmN0aW9uKCl7 dGhpcy5pbmxpbmVDb21tZW50Rmx5b3V0VmlzaWJsZT1mYWxzZTt0aGlzLmlubGlu ZUNvbW1lbnRGbHlvdXRPcGVuPWZhbHNlO0NTUy5oaWRlKHRoaXMuaW5saW5lQ29t bWVudEZseW91dCk7dGhpcy5yZXNldElubGluZUNvbW1lbnQoKTt9LGNvbmNlYWxD b21tZW50QnV0dG9uOmZ1bmN0aW9uKCl7Q1NTLmFkZENsYXNzKHRoaXMuaW5saW5l Q29tbWVudEJ1dHRvbiwnaGlkZGVuX2VsZW0nKTtDU1Muc2V0U3R5bGUodGhpcy5p bmxpbmVDb21tZW50SW5wdXQsJ3dpZHRoJyx0aGlzLnRleHRJbnB1dFdpZHRoV2l0 aG91dEJ1dHRvbisncHgnKTtDU1Muc2V0U3R5bGUodGhpcy5pbmxpbmVDb21tZW50 SW5wdXQsJ21hcmdpbi1yaWdodCcsMCk7fSxwb3NpdGlvbklubGluZUNvbW1lbnRG bHlvdXQ6ZnVuY3Rpb24oKXtDU1MuYWRkQ2xhc3ModGhpcy5pbmxpbmVDb21tZW50 Rmx5b3V0LCdjb21tZW50X3dpZGdldF9vZmZzY3JlZW4nKTtDU1MucmVtb3ZlQ2xh c3ModGhpcy5pbmxpbmVDb21tZW50Rmx5b3V0LCdoaWRkZW5fZWxlbScpO3ZhciBi PTA7dmFyIGE9dGhpcy5jb21wdXRlQnV0dG9uRGltZW5zaW9ucygpO3ZhciBlPWEu aGVpZ2h0O3ZhciBkPXRoaXMuZ3JheU91dD9iOmIrMjA7dmFyIGc9aW50bF9sb2Nh bGVfaXNfcnRsKCk/J3JpZ2h0JzonbGVmdCc7aWYodGhpcy5zaG93RmFjZXMpe3Zh ciBrPURPTS5zY3J5KHRoaXMud2lkZ2V0LCdzcGFuLmNvbm5lY3Rfd2lkZ2V0X3Rl eHQnKVswXTt2YXIgaD1pbnRsX2xvY2FsZV9pc19ydGwoKT8ncGFkZGluZ1JpZ2h0 JzoncGFkZGluZ0xlZnQnO3ZhciBsPUNTUy5nZXRTdHlsZShrLGgpO2Q9dGhpcy5n cmF5T3V0P2I6YitwYXJzZUludChsLDEwKTt2YXIgaT1WZWN0b3IyLmdldEVsZW1l bnREaW1lbnNpb25zKHRoaXMuc2FtcGxlQ29ubmVjdGlvbnMpLnk7ZT1pLTM7fXZh ciBqPVZlY3RvcjIuZ2V0RWxlbWVudERpbWVuc2lvbnModGhpcy5zdW1tYXJ5VGV4 dCkueTtpZihqPjE1KWUrPTI7Q1NTLnNldFN0eWxlKHRoaXMuaW5saW5lQ29tbWVu dEZseW91dCxnLGQrJ3B4Jyk7Q1NTLnNldFN0eWxlKHRoaXMuaW5saW5lQ29tbWVu dEZseW91dCwndG9wJywoLWUpKydweCcpO3ZhciBuPVZlY3RvcjIuZ2V0RWxlbWVu dFBvc2l0aW9uKHRoaXMud2lkZ2V0LCdkb2N1bWVudCcpLng7dmFyIG09VmVjdG9y Mi5nZXRFbGVtZW50RGltZW5zaW9ucyh0aGlzLndpZGdldCkueDt2YXIgbz1uK20t ZC01O0NTUy5zZXRTdHlsZSh0aGlzLmlubGluZUNvbW1lbnRGbHlvdXQsJ3dpZHRo JyxvKydweCcpO0NTUy5yZW1vdmVDbGFzcyh0aGlzLmlubGluZUNvbW1lbnRCdXR0 b24sJ2hpZGRlbl9lbGVtJyk7dmFyIGY9VmVjdG9yMi5nZXRFbGVtZW50RGltZW5z aW9ucyh0aGlzLmlubGluZUNvbW1lbnRCdXR0b24pLng7Q1NTLmFkZENsYXNzKHRo aXMuaW5saW5lQ29tbWVudEJ1dHRvbiwnaGlkZGVuX2VsZW0nKTt2YXIgYz0odGhp cy5pbmxpbmVDb21tZW50Q2xvc2UpPzE1OjA7dGhpcy50ZXh0SW5wdXRXaWR0aFdp dGhvdXRCdXR0b249by0yNC1jO3RoaXMudGV4dElucHV0V2lkdGhXaXRoQnV0dG9u PXRoaXMudGV4dElucHV0V2lkdGhXaXRob3V0QnV0dG9uLWYtdGhpcy50ZXh0SW5w dXRNYXJnaW5XaXRoQnV0dG9uLTE7Q1NTLnNldFN0eWxlKHRoaXMuaW5saW5lQ29t bWVudElucHV0LCd3aWR0aCcsdGhpcy50ZXh0SW5wdXRXaWR0aFdpdGhvdXRCdXR0 b24rJ3B4Jyk7Q1NTLnNldFN0eWxlKHRoaXMuaW5saW5lQ29tbWVudElucHV0LCdt YXJnaW4tcmlnaHQnLDApO0NTUy5yZW1vdmVDbGFzcyh0aGlzLmlubGluZUNvbW1l bnRGbHlvdXQsJ2NvbW1lbnRfd2lkZ2V0X29mZnNjcmVlbicpO0NTUy5hZGRDbGFz cyh0aGlzLmlubGluZUNvbW1lbnRGbHlvdXQsJ2hpZGRlbl9lbGVtJyk7fSxwb3N0 VXNlckNvbW1lbnQ6ZnVuY3Rpb24oYSl7dmFyIGI9e2hyZWY6dGhpcy5leHRlcm5h bFVybCxub2RlX3R5cGU6dGhpcy5ub2RlVHlwZSxlZGdlX3R5cGU6dGhpcy5lZGdl VHlwZSxwYWdlX2lkOnRoaXMucGFnZUlkLGNvbm5lY3RfdGV4dDp0aGlzLmNvbm5l Y3RUZXh0LHN0b3J5X2ZiaWQ6dGhpcy5jb25uZWN0U3RvcnlGYmlkLGNvbW1lbnQ6 YX07Qm9vdGxvYWRlci5sb2FkQ29tcG9uZW50cyhbJ2FzeW5jJywnYXN5bmMtcG9z dGx1ZGUnXSxmdW5jdGlvbigpe25ldyBBc3luY1JlcXVlc3QoKS5zZXRVUkkodGhp cy5nZXRDb21tZW50QWpheEVuZHBvaW50KCkpLnNldERhdGEoYikuc2V0TmVjdGFy TW9kdWxlRGF0YVNhZmUoKS5zZXROZWN0YXJJbXByZXNzaW9uSWRTYWZlKCkuc2Vu ZCgpO30uYmluZCh0aGlzKSk7dGhpcy5jbG9zZUNvbW1lbnRXaWRnZXQoKTt9LGNs b3NlQ29tbWVudFdpZGdldDpmdW5jdGlvbigpe2lmKHRoaXMuY29tbWVudFdpZGdl dE9wZW4pe2RlbGV0ZSB0aGlzLmluR3JhY2VQZXJpb2Q7ZGVsZXRlIHRoaXMuY29t bWVudFdpZGdldElzRXhwYW5kZWQ7dGhpcy5jb21tZW50V2lkZ2V0VmlzaWJsZT1m YWxzZTt0aGlzLmNvbW1lbnRXaWRnZXRPcGVuPWZhbHNlO1VudmVyaWZpZWRYRC5z ZW5kKHt0eXBlOidkaXNtaXNzRWRnZUNvbW1lbnREaWFsb2cnfSk7fX0scHJlc2Vu dEFkbWluUGFnZTpmdW5jdGlvbigpe3ZhciBhPSdfYmxhbmsnO3dpbmRvdy5vcGVu KHRoaXMuYWRtaW5VcmwudG9TdHJpbmcoKSxhKTt9LHByZXNlbnRFcnJvckRpYWxv ZzpmdW5jdGlvbigpe3ZhciBjPSdfYmxhbmsnO3ZhciBiPSd0b29sYmFyPTAsIHN0 YXR1cz0wLCB3aWR0aD05NjAsIGhlaWdodD0zMDAnO3ZhciBhPW5ldyBVUkkoJy9j b25uZWN0L2Nvbm5lY3RfdG9fbm9kZV9lcnJvci5waHAnKTthLmFkZFF1ZXJ5RGF0 YSh7dGl0bGU6dGhpcy5lcnJvci5icmllZixib2R5OnRoaXMuZXJyb3IuZnVsbH0p O3dpbmRvdy5vcGVuKGEudG9TdHJpbmcoKSxjLGIpO30scHJlc2VudENvbmZpcm1E aWFsb2c6ZnVuY3Rpb24oKXt2YXIgYj0nX2JsYW5rJzt2YXIgYT0ndG9vbGJhcj0w LHN0YXR1cz0wLHdpZHRoPTQ1MCxoZWlnaHQ9MjAwLHNjcm9sbGJhcnM9MCxsb2Nh dGlvbj0wLG1lbnViYXI9MCc7aWYoIXdpbmRvdy5jb25maXJtRGlhbG9nUmV0dXJu KXdpbmRvdy5jb25maXJtRGlhbG9nUmV0dXJuPXt9O3dpbmRvdy5jb25maXJtRGlh bG9nUmV0dXJuW3RoaXMud2lkZ2V0SURdPXRoaXM7dmFyIGM9dGhpcy5nZXRDb25m aXJtVVJMKCk7d2luZG93Lm9wZW4oYyxiLGEpO30scmV0dXJuRnJvbUNvbmZpcm1E aWFsb2c6ZnVuY3Rpb24oYSl7aWYoYSl7dGhpcy5zaG93Q29uZmlybT1udWxsO3Ro aXMuY29uZmlybWVkQ29ubmVjdD1hO3RoaXMuY29ubmVjdFRvTm9kZSghdGhpcy5h bHJlYWR5Q29ubmVjdGVkKTt9ZWxzZSB0aGlzLnVwZGF0ZVdpZGdldCh7bm93Q29u bmVjdGVkOnRoaXMuYWxyZWFkeUNvbm5lY3RlZCxzaG93Q29uZmlybTpudWxsLGlz QWRtaW46dGhpcy52aWV3ZXJJc0FkbWlufSxmYWxzZSk7fSxzeW5jV2lkZ2V0RGlz cGxheTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuYWxyZWFkeUNvbm5lY3RlZDt0aGlz LnNldEJ1dHRvblN0YXRlKGEpO3RoaXMuc2hvd0VsZW1lbnRJZih0aGlzLmNvbm5l Y3RlZE1lc3NhZ2UsYSk7dGhpcy5zaG93RWxlbWVudElmKHRoaXMubm90Q29ubmVj dGVkTWVzc2FnZSwhYSk7aWYodGhpcy5hZG1pblNwYW5zKWZvcih2YXIgYj0wO2I8 dGhpcy5hZG1pblNwYW5zLmxlbmd0aDtiKyspdGhpcy5zaG93RWxlbWVudElmKHRo aXMuYWRtaW5TcGFuc1tiXSx0aGlzLnZpZXdlcklzQWRtaW4pO2lmKHRoaXMuZXJy b3JTcGFucylmb3IodmFyIGM9MDtjPHRoaXMuZXJyb3JTcGFucy5sZW5ndGg7Yysr KXRoaXMuc2hvd0VsZW1lbnRJZih0aGlzLmVycm9yU3BhbnNbY10sdGhpcy5lcnJv ciYmKHRoaXMudmlld2VySXNBZG1pbnx8dGhpcy5zaG93RXJyb3IpKTtmb3IodmFy IGY9MDtmPHRoaXMuY29uZmlybVNwYW5zLmxlbmd0aDtmKyspdGhpcy5zaG93RWxl bWVudElmKHRoaXMuY29uZmlybVNwYW5zW2ZdLCF0aGlzLmFscmVhZHlDb25uZWN0 ZWQmJnRoaXMuc2hvd0NvbmZpcm0pO2Zvcih2YXIgZD0wO2Q8dGhpcy51bmxpa2VT cGFucy5sZW5ndGg7ZCsrKXRoaXMuc2hvd0VsZW1lbnRJZih0aGlzLnVubGlrZVNw YW5zW2RdLHRoaXMuYWxyZWFkeUNvbm5lY3RlZCk7aWYodGhpcy5zaGFyZUNvbW1l bnRTcGFucylmb3IodmFyIGU9MDtlPHRoaXMuc2hhcmVDb21tZW50U3BhbnMubGVu Z3RoO2UrKyl0aGlzLnNob3dFbGVtZW50SWYodGhpcy5zaGFyZUNvbW1lbnRTcGFu c1tlXSxhKTtpZih0aGlzLmxheW91dCE9PUV4dGVybmFsTm9kZUNvbm5lY3RXaWRn ZXQuQk9YX0NPVU5UX0xBWU9VVCl0aGlzLnNob3dFbGVtZW50SWYodGhpcy5jb25u ZWN0QnV0dG9uLCghdGhpcy51c2VEaXNjb25uZWN0TGlua3x8IWEpJiYhdGhpcy5z aG93Q29uZmlybSk7aWYodGhpcy5sYXlvdXQ9PT1FeHRlcm5hbE5vZGVDb25uZWN0 V2lkZ2V0LkJPWF9DT1VOVF9MQVlPVVQpe3RoaXMubWFuYWdlQm94Q291bnRCdXR0 b25BbmltYXRpb24oYSk7fWVsc2UgaWYodGhpcy5sYXlvdXQ9PT1FeHRlcm5hbE5v ZGVDb25uZWN0V2lkZ2V0LkJVVFRPTl9DT1VOVF9MQVlPVVQpe3RoaXMubWFuYWdl QnV0dG9uQ291bnRCdXR0b25BbmltYXRpb24oYSk7fWVsc2UgaWYodGhpcy5sYXlv dXQ9PT1FeHRlcm5hbE5vZGVDb25uZWN0V2lkZ2V0LlNJTVBMRV9MQVlPVVQpe3Ro aXMubWFuYWdlU2ltcGxlQnV0dG9uQW5pbWF0aW9uKGEpO31lbHNlIHRoaXMubWFu YWdlU3RhbmRhcmRCdXR0b25BbmltYXRpb24oYSk7aWYoIXRoaXMubG9nZ2VkSW5V c2VyUGhvdG9EaXYpcmV0dXJuO2lmKGEpe3RoaXMuc2xpZGVVc2VyUGhvdG9Jbih0 aGlzLmxvZ2dlZEluVXNlclBob3RvRGl2KTt9ZWxzZSB0aGlzLnNsaWRlVXNlclBo b3RvT3V0KHRoaXMubG9nZ2VkSW5Vc2VyUGhvdG9EaXYpO30sbWFuYWdlU3RhbmRh cmRCdXR0b25BbmltYXRpb246ZnVuY3Rpb24oYSl7aWYodGhpcy5ncmF5T3V0KXJl dHVybjtpZih0aGlzLmFscmVhZHlDb25uZWN0ZWR8fHRoaXMuc2hvd0NvbmZpcm0p e3RoaXMuaGlkZUJ1dHRvbih0cnVlKTt9ZWxzZSB0aGlzLmhpZGVCdXR0b24oZmFs c2UpO30sc2V0QnV0dG9uU3RhdGU6ZnVuY3Rpb24oYSl7aWYoYSl7Q1NTLnJlbW92 ZUNsYXNzKHRoaXMuY29ubmVjdEJ1dHRvbiwnbGlrZV9idXR0b25fbm9fbGlrZScp O0NTUy5hZGRDbGFzcyh0aGlzLmNvbm5lY3RCdXR0b24sJ2xpa2VfYnV0dG9uX2xp a2UnKTt0aGlzLmZpeElFQnV0dG9uRG91YmxlTGluZUJ1ZygpO31lbHNle0NTUy5h ZGRDbGFzcyh0aGlzLmNvbm5lY3RCdXR0b24sJ2xpa2VfYnV0dG9uX25vX2xpa2Un KTtDU1MucmVtb3ZlQ2xhc3ModGhpcy5jb25uZWN0QnV0dG9uLCdsaWtlX2J1dHRv bl9saWtlJyk7fX0sZml4SUVCdXR0b25Eb3VibGVMaW5lQnVnOmZ1bmN0aW9uKCl7 aWYodGhpcy5sYXlvdXQ9PT1FeHRlcm5hbE5vZGVDb25uZWN0V2lkZ2V0LlNUQU5E QVJEX0xBWU9VVCYmdWEuaWUoKTw9NyYmIXRoaXMuaGFzQmVlbkZpeGVkKXt2YXIg YT10aGlzLmNvbXB1dGVCdXR0b25EaW1lbnNpb25zV2l0aFBhZGRpbmcoKTtDU1Mu c2V0U3R5bGUodGhpcy5jb25uZWN0QnV0dG9uLCd3aWR0aCcsYS53aWR0aCsxKTt0 aGlzLmhhc0JlZW5GaXhlZD10cnVlO319LGhpZGVCdXR0b246ZnVuY3Rpb24oYSl7 aWYodGhpcy5sYXlvdXQhPT0nc3RhbmRhcmQnKXJldHVybjtpZih0aGlzLm9Bbmlt YXRlQmxpbmQpdGhpcy5vQW5pbWF0ZUJsaW5kLnN0b3AoKTt0aGlzLm9BbmltYXRl QmxpbmQ9YW5pbWF0aW9uKHRoaXMuY29ubmVjdEJ1dHRvblNsaWRlcikuZHVyYXRp b24oMTUwKTt2YXIgYz0xLGI9aW50bF9sb2NhbGVfaXNfcnRsKCksZD1iPydtYXJn aW5SaWdodCc6J21hcmdpbkxlZnQnLGU9Yj8nbWFyZ2luTGVmdCc6J21hcmdpblJp Z2h0JztpZihhKXtDU1MuYWRkQ2xhc3ModGhpcy5jb25uZWN0QnV0dG9uQ29udGFp bmVyLCdoaWRkZW4nKTt0aGlzLm9BbmltYXRlQmxpbmQub25kb25lKGZ1bmN0aW9u KCl7Q1NTLnNldFN0eWxlKHRoaXMuY29ubmVjdEJ1dHRvbkNvbnRhaW5lcixkLCcy cHgnKTtDU1Muc2V0U3R5bGUodGhpcy5jb25uZWN0QnV0dG9uQ29udGFpbmVyLCd2 aXNpYmlsaXR5JywnaGlkZGVuJyk7Q1NTLmFkZENsYXNzKHRoaXMuY29uZmlybWF0 aW9uQ2VsbCwnY29ubmVjdF9jb25maXJtYXRpb25fY2VsbF9saWtlJyk7Q1NTLnJl bW92ZUNsYXNzKHRoaXMuY29uZmlybWF0aW9uQ2VsbCwnY29ubmVjdF9jb25maXJt YXRpb25fY2VsbF9ub19saWtlJyk7dGhpcy5vQW5pbWF0ZUJsaW5kPW51bGw7fS5i aW5kKHRoaXMpKTt9ZWxzZXtDU1Muc2V0U3R5bGUodGhpcy5jb25uZWN0QnV0dG9u Q29udGFpbmVyLGQsJzBweCcpO2M9VmVjdG9yMi5nZXRFbGVtZW50RGltZW5zaW9u cyh0aGlzLmNvbm5lY3RCdXR0b24pLng7dGhpcy5vQW5pbWF0ZUJsaW5kLm9uZG9u ZShmdW5jdGlvbigpe0NTUy5zZXRTdHlsZSh0aGlzLmNvbm5lY3RCdXR0b25TbGlk ZXIsJ292ZXJmbG93JywndmlzaWJsZScpO0NTUy5zZXRTdHlsZSh0aGlzLmNvbm5l Y3RCdXR0b25TbGlkZXIsJ3dpZHRoJywnYXV0bycpO0NTUy5yZW1vdmVDbGFzcyh0 aGlzLmNvbmZpcm1hdGlvbkNlbGwsJ2Nvbm5lY3RfY29uZmlybWF0aW9uX2NlbGxf bGlrZScpO0NTUy5hZGRDbGFzcyh0aGlzLmNvbmZpcm1hdGlvbkNlbGwsJ2Nvbm5l Y3RfY29uZmlybWF0aW9uX2NlbGxfbm9fbGlrZScpO0NTUy5zZXRTdHlsZSh0aGlz LmNvbm5lY3RCdXR0b25Db250YWluZXIsJ3Zpc2liaWxpdHknLCd2aXNpYmxlJyk7 Q1NTLnJlbW92ZUNsYXNzKHRoaXMuY29ubmVjdEJ1dHRvbkNvbnRhaW5lciwnaGlk ZGVuJyk7dGhpcy5vQW5pbWF0ZUJsaW5kPW51bGw7fS5iaW5kKHRoaXMpKTt9dGhp cy5vQW5pbWF0ZUJsaW5kLnRvKCd3aWR0aCcsYykuYmxpbmQoKS5nbygpO30sc2hv d0VsZW1lbnRJZjpmdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybjtpZihiKXtDU1Mu c2hvdyhhKTt9ZWxzZSBDU1MuaGlkZShhKTt9LHNsaWRlVXNlclBob3RvSW46ZnVu Y3Rpb24oYil7aWYoIUNTUy5oYXNDbGFzcyhiLCdjb25uZWN0X3dpZGdldF91c2Vy X25vdF9jb25uZWN0ZWQnKSlyZXR1cm47dmFyIGE9Q1NTLmdldFN0eWxlKGIsJ3dp ZHRoJyk7Q1NTLnNldFN0eWxlKGIsJ3dpZHRoJywwKTtDU1Muc2V0U3R5bGUoYiwn b3BhY2l0eScsMCk7Q1NTLnJlbW92ZUNsYXNzKGIsJ2Nvbm5lY3Rfd2lkZ2V0X3Vz ZXJfbm90X2Nvbm5lY3RlZCcpO2FuaW1hdGlvbihiKS50bygnd2lkdGgnLGEpLmR1 cmF0aW9uKDEwMCkuY2hlY2twb2ludCgpLnRvKCdvcGFjaXR5JywxKS5kdXJhdGlv big0MDApLmdvKCk7fSxzbGlkZVVzZXJQaG90b091dDpmdW5jdGlvbihhKXtpZihD U1MuaGFzQ2xhc3MoYSwnY29ubmVjdF93aWRnZXRfdXNlcl9ub3RfY29ubmVjdGVk JykpcmV0dXJuO2FuaW1hdGlvbihhKS50bygnb3BhY2l0eScsMCkuZHVyYXRpb24o MTAwKS5jaGVja3BvaW50KC4yNSkudG8oJ3dpZHRoJywwKS5kdXJhdGlvbigxMDAp Lm9uZG9uZShmdW5jdGlvbigpe0NTUy5hZGRDbGFzcyhhLCdjb25uZWN0X3dpZGdl dF91c2VyX25vdF9jb25uZWN0ZWQnKTtDU1Muc2V0U3R5bGUoYSwnd2lkdGgnLG51 bGwpO30pLmdvKCk7fSxwcmltYXJ5TGlrZUJ1dHRvbk9uQ2xpY2s6ZnVuY3Rpb24o ZXZlbnQpe2lmKHRoaXMuZ3JheU91dCYmdGhpcy5hbHJlYWR5Q29ubmVjdGVkKXJl dHVybjt0aGlzLmNvbm5lY3RUb05vZGVPbkNsaWNrKGV2ZW50KTt9LF9jbGlja0xv Y2tlZDpmYWxzZSxjb25uZWN0VG9Ob2RlT25DbGljazpmdW5jdGlvbihldmVudCl7 RXZlbnQua2lsbChldmVudCk7aWYoIXRoaXMuX2NsaWNrTG9ja2VkKXt0aGlzLl9j bGlja0xvY2tlZD10cnVlO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLl9jbGlj a0xvY2tlZD1mYWxzZTt9LmJpbmQodGhpcyksMTAwMCk7aWYodGhpcy52aWV3ZXJJ RD09MHx8dGhpcy51c2VyT3B0ZWRPdXQpe3RoaXMucHJlc2VudE9wdEluKCk7fWVs c2UgdGhpcy5jb25uZWN0VG9Ob2RlKCF0aGlzLmFscmVhZHlDb25uZWN0ZWQpO319 LGNvbm5lY3RUb05vZGU6ZnVuY3Rpb24oZCl7aWYoIWQpe2lmKHRoaXMubGF5b3V0 PT09RXh0ZXJuYWxOb2RlQ29ubmVjdFdpZGdldC5TSU1QTEVfTEFZT1VUKXJldHVy bjtpZih0aGlzLmxheW91dD09PUV4dGVybmFsTm9kZUNvbm5lY3RXaWRnZXQuU1RB TkRBUkRfTEFZT1VUJiYhdGhpcy51c2luZ0Nvbm5lY3RMaWJyYXJ5KXtDU1MuYWRk Q2xhc3ModGhpcy51c2VyQWN0aW9uVGV4dFNwYW4sJ2hpZGRlbl9lbGVtJyk7Q1NT LnJlbW92ZUNsYXNzKHRoaXMuc3VtbWFyeVRleHRTcGFuLCdoaWRkZW5fZWxlbScp O0NTUy5zZXRTdHlsZSh0aGlzLnN1bW1hcnlUZXh0U3Bhbiwnb3BhY2l0eScsMSk7 fWlmKHRoaXMuc2hhcmVDb21tZW50U3BhbnMpZm9yKHZhciBiPTA7Yjx0aGlzLnNo YXJlQ29tbWVudFNwYW5zLmxlbmd0aDtiKyspQ1NTLmFkZENsYXNzKHRoaXMuc2hh cmVDb21tZW50U3BhbnNbYl0sJ2hpZGRlbl9lbGVtJyk7aWYodGhpcy5jb21tZW50 V2lkZ2V0T3Blbil7dGhpcy5jbG9zZUNvbW1lbnRXaWRnZXQoKTt9ZWxzZSBpZih0 aGlzLmlubGluZUNvbW1lbnRGbHlvdXRPcGVuKXRoaXMuY2xvc2VJbmxpbmVDb21t ZW50KCk7fXRoaXMudXBkYXRlV2lkZ2V0KHtub3dDb25uZWN0ZWQ6IXRoaXMuYWxy ZWFkeUNvbm5lY3RlZCxpc0FkbWluOnRoaXMudmlld2VySXNBZG1pbn0sdHJ1ZSk7 dmFyIGE9e2hyZWY6dGhpcy5leHRlcm5hbFVybCxub2RlX3R5cGU6dGhpcy5ub2Rl VHlwZSxlZGdlX3R5cGU6dGhpcy5lZGdlVHlwZSxwYWdlX2lkOnRoaXMucGFnZUlk LGxheW91dDp0aGlzLmxheW91dCxpc19wZXJzb25hbGl6ZWQ6dGhpcy5pc1BlcnNv bmFsaXplZCxzaG93X2NhcHRjaGE6dGhpcy5zaG93Q2FwdGNoYSxjb25uZWN0X3Rl eHQ6dGhpcy5jb25uZWN0VGV4dCxyZWY6dGhpcy5yZWYsbm93X2Nvbm5lY3RlZDpk LHBvc3RfZm9ybV9pZDokKCdwb3N0X2Zvcm1faWQnKS52YWx1ZSxpZnJhbWVfcmVm ZXJlcjp0aGlzLmlmcmFtZVJlZmVyZXJ9O2lmKHRoaXMuY29uZmlybWVkQ29ubmVj dClhLmNvbmZpcm09MTtCb290bG9hZGVyLmxvYWRDb21wb25lbnRzKFsnYXN5bmMn LCdhc3luYy1wb3N0bHVkZSddLGZ1bmN0aW9uKCl7bmV3IEFzeW5jUmVxdWVzdCgp LnNldFVSSSh0aGlzLmdldEFqYXhFbmRwb2ludCgpKS5zZXRIYW5kbGVyKHRoaXMu c3luY1dpZGdldFdpdGhTZXJ2ZXIuYmluZCh0aGlzKSkuc2V0RGF0YShhKS5zZXRO ZWN0YXJNb2R1bGVEYXRhU2FmZSgpLnNldE5lY3RhckltcHJlc3Npb25JZFNhZmUo KS5zZW5kKCk7fS5iaW5kKHRoaXMpKTtpZihkKXtpZih0aGlzLmxheW91dD09PUV4 dGVybmFsTm9kZUNvbm5lY3RXaWRnZXQuQk9YX0NPVU5UX0xBWU9VVCl0aGlzLnJl cXVpcmVzTW91c2VMZWF2ZUV2ZW50PXRydWU7aWYodGhpcy5sYXlvdXQ9PT1FeHRl cm5hbE5vZGVDb25uZWN0V2lkZ2V0LlNUQU5EQVJEX0xBWU9VVCYmIXRoaXMudXNp bmdDb25uZWN0TGlicmFyeSl7Q1NTLnNldFN0eWxlKHRoaXMudXNlckFjdGlvblRl eHRTcGFuLCdvcGFjaXR5JywxKTtDU1MucmVtb3ZlQ2xhc3ModGhpcy51c2VyQWN0 aW9uVGV4dFNwYW4sJ2hpZGRlbl9lbGVtJyk7Q1NTLmFkZENsYXNzKHRoaXMuc3Vt bWFyeVRleHRTcGFuLCdoaWRkZW5fZWxlbScpO0V2ZW50Lmxpc3Rlbih0aGlzLndp ZGdldCwnbW91c2VsZWF2ZScsdGhpcy50cmFuc2l0aW9uQmV0d2Vlbk1lc3NhZ2Vz LmJpbmQodGhpcykpO31pZih0aGlzLnNoYXJlQ29tbWVudFNwYW5zKXtmb3IodmFy IGM9MDtjPHRoaXMuc2hhcmVDb21tZW50U3BhbnM7YysrKUNTUy5yZW1vdmVDbGFz cyh0aGlzLnNoYXJlQ29tbWVudFNwYW5zW2NdLCdoaWRkZW5fZWxlbScpO31lbHNl IGlmKHRoaXMuc3VwcG9ydENvbW1lbnRpbmcpdGhpcy5wcmVzZW50Q29tbWVudGlu Z09wdGlvbigpO3RoaXMucmVwb3NpdGlvbkZhY2VwaWxlVmVydGljYWxseSgpO319 LHRyYW5zaXRpb25CZXR3ZWVuTWVzc2FnZXM6ZnVuY3Rpb24oZXZlbnQpe2lmKCF0 aGlzLmFscmVhZHlDb25uZWN0ZWR8fENTUy5oYXNDbGFzcyh0aGlzLnVzZXJBY3Rp b25UZXh0U3BhbiwnaGlkZGVuX2VsZW0nKSlyZXR1cm47YW5pbWF0aW9uKHRoaXMu dXNlckFjdGlvblRleHRTcGFuKS50bygnb3BhY2l0eScsMCkuZHVyYXRpb24oNTAw KS5vbmRvbmUoZnVuY3Rpb24oKXtDU1MuYWRkQ2xhc3ModGhpcy51c2VyQWN0aW9u VGV4dFNwYW4sJ2hpZGRlbl9lbGVtJyk7Q1NTLnNldFN0eWxlKHRoaXMuc3VtbWFy eVRleHRTcGFuLCdvcGFjaXR5JywwKTtDU1MucmVtb3ZlQ2xhc3ModGhpcy5zdW1t YXJ5VGV4dFNwYW4sJ2hpZGRlbl9lbGVtJyk7YW5pbWF0aW9uKHRoaXMuc3VtbWFy eVRleHRTcGFuKS50bygnb3BhY2l0eScsMSkuZHVyYXRpb24oNTAwKS5vbmRvbmUo ZnVuY3Rpb24oKXt0aGlzLnJlcG9zaXRpb25GYWNlcGlsZVZlcnRpY2FsbHkoKTt9 LmJpbmQodGhpcykpLmdvKCk7dGhpcy5wb3NpdGlvbklubGluZUNvbW1lbnRGbHlv dXQoKTt9LmJpbmQodGhpcykpLmdvKCk7fSxwcmVzZW50Q29tbWVudGluZ09wdGlv bjpmdW5jdGlvbigpe0FyYml0ZXIuaW5mb3JtKCdwbGF0Zm9ybS9zb2NpYWxwbHVn aW5zL2RpYWxvZycse2NvbnRyb2xsZXJJRDp0aGlzLndpZGdldElELGV2ZW50Oidv cGVuJ30pO2lmKHRoaXMudXNpbmdDb25uZWN0TGlicmFyeSl7RXh0ZXJuYWxOb2Rl Q29ubmVjdFdpZGdldC5zZWxmPXRoaXM7dmFyIGE9e3R5cGU6J3ByZXNlbnRFZGdl Q29tbWVudERpYWxvZycsbWFzdGVyRnJhbWVOYW1lOndpbmRvdy5uYW1lLHZlcnNp b246Mn07aWYodGhpcy5sYXlvdXQ9PUV4dGVybmFsTm9kZUNvbm5lY3RXaWRnZXQu Qk9YX0NPVU5UX0xBWU9VVCl7YS5wcmVDb21wdXRlZFdpZHRoT2Zmc2V0PXRoaXMu Y29tcHV0ZUJ1dHRvbkRpbWVuc2lvbnNXaXRoUGFkZGluZygpLndpZHRoO2lmKCFp bnRsX2xvY2FsZV9pc19ydGwoKSlhLnByZUNvbXB1dGVkV2lkdGhPZmZzZXQrPTg7 fWlmKHRoaXMuc29jaWFsQmFyKXthLmxlZnQ9cGFyc2VJbnQoQ1NTLmdldFN0eWxl KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcm9maWxlJyksJ3dpZHRoJyksMTAp KzE7fWVsc2UgaWYodGhpcy5oYXNTZW5kJiZ0aGlzLmxheW91dD09RXh0ZXJuYWxO b2RlQ29ubmVjdFdpZGdldC5TVEFOREFSRF9MQVlPVVQpYS5wcmVDb21wdXRlZFdp ZHRoT2Zmc2V0PXRoaXMuaW52ZXJ0ZWRCdXR0b25zPzA6NjU7VW52ZXJpZmllZFhE LnNlbmQoYSk7dGhpcy5jb21tZW50V2lkZ2V0T3Blbj10cnVlO3RoaXMuY29tbWVu dFdpZGdldFZpc2libGU9dHJ1ZTt0aGlzLmNvbW1lbnRXaWRnZXRFeHBhbmRlZD10 cnVlO31lbHNlIGlmKHRoaXMudXNpbmdJbmxpbmVDb21tZW50aW5nKWlmKCF0aGlz LmlubGluZUNvbW1lbnRMaXN0ZW5lcnNJbml0aWFsaXplZCl7dGhpcy51bndyYXBN YXJrdXAoJ2Nvbm5lY3Qtd2lkZ2V0LWNvbW1lbnQtYm94LW1hcmt1cCcpO3RoaXMu aW5pdGlhbGl6ZUlubGluZUNvbW1lbnRMaXN0ZW5lcnMoKTt0aGlzLm9wZW5Jbmxp bmVDb21tZW50Rmx5b3V0KCk7dGhpcy5wb3NpdGlvbklubGluZUNvbW1lbnRGbHlv dXQoKTt0aGlzLmlubGluZUNvbW1lbnRMaXN0ZW5lcnNJbml0aWFsaXplZD10cnVl O31lbHNle3RoaXMucG9zaXRpb25JbmxpbmVDb21tZW50Rmx5b3V0KCk7dGhpcy5v cGVuSW5saW5lQ29tbWVudEZseW91dCgpO319LHVud3JhcE1hcmt1cDpmdW5jdGlv bihhKXtpZih0aGlzLnVud3JhcHBlZE1hcmt1cFthXSlyZXR1cm47dmFyIGM9JChh KSxiPWMuaW5uZXJIVE1MO2I9Yi5zdWJzdHIoNCxiLmxlbmd0aC03KTtjLmlubmVy SFRNTD1iO3RoaXMudW53cmFwcGVkTWFya3VwW2FdPXRydWU7fSxpbml0aWFsaXpl SW5saW5lQ29tbWVudExpc3RlbmVyczpmdW5jdGlvbigpe3RoaXMuaW5saW5lQ29t bWVudEZseW91dD1ET00uZmluZCh0aGlzLndpZGdldCwnLmNvbm5lY3Rfd2lkZ2V0 X2NvbW1lbnRfYm94Jyk7dGhpcy5pbmxpbmVDb21tZW50SW5wdXQ9RE9NLmZpbmQo dGhpcy5pbmxpbmVDb21tZW50Rmx5b3V0LCcuY29ubmVjdF93aWRnZXRfY29tbWVu dF90ZXh0aW5wdXQnKTt0aGlzLmlubGluZUNvbW1lbnRCdXR0b249RE9NLmZpbmQo dGhpcy5pbmxpbmVDb21tZW50Rmx5b3V0LCcuY29ubmVjdF93aWRnZXRfY29tbWVu dF9idXR0b24nKTt0aGlzLmlubGluZUNvbW1lbnRDbG9zZT1ET00uc2NyeSh0aGlz LmlubGluZUNvbW1lbnRGbHlvdXQsJy5jb25uZWN0X3dpZGdldF9jb21tZW50X2Ns b3NlX2J1dHRvbicpO2lmKHRoaXMuaW5saW5lQ29tbWVudENsb3NlLmxlbmd0aD4w KXRoaXMuaW5saW5lQ29tbWVudENsb3NlPXRoaXMuaW5saW5lQ29tbWVudENsb3Nl WzBdO3RoaXMuY29tbWVudEJ1dHRvbklzQWN0aXZlPWZhbHNlO0V2ZW50Lmxpc3Rl bih0aGlzLmlubGluZUNvbW1lbnRJbnB1dCwna2V5dXAnLHRoaXMuY29uZGl0aW9u YWxseUFjdGl2YXRlQnV0dG9uLmJpbmQodGhpcykpO0V2ZW50Lmxpc3Rlbih0aGlz LmlubGluZUNvbW1lbnRJbnB1dCwnZm9jdXMnLHRoaXMuZXhwb3NlQ29tbWVudEJ1 dHRvbi5iaW5kKHRoaXMpKTtFdmVudC5saXN0ZW4odGhpcy5pbmxpbmVDb21tZW50 QnV0dG9uLCdjbGljaycsdGhpcy51cGRhdGVDb25uZWN0aW9uV2l0aENvbW1lbnQu YmluZCh0aGlzKSk7RXZlbnQubGlzdGVuKHRoaXMud2lkZ2V0LCdtb3VzZW91dCcs dGhpcy5oaWRlSW5saW5lQ29tbWVudC5iaW5kKHRoaXMpKTtFdmVudC5saXN0ZW4o dGhpcy53aWRnZXQsJ21vdXNlb3ZlcicsdGhpcy5zaG93SW5saW5lQ29tbWVudC5i aW5kKHRoaXMpKTtpZih0aGlzLmlubGluZUNvbW1lbnRDbG9zZSlFdmVudC5saXN0 ZW4odGhpcy5pbmxpbmVDb21tZW50Q2xvc2UsJ2NsaWNrJyxmdW5jdGlvbihldmVu dCl7Zm9yKHZhciBhPTA7YTx0aGlzLnNoYXJlQ29tbWVudFNwYW5zLmxlbmd0aDth KyspQ1NTLnJlbW92ZUNsYXNzKHRoaXMuc2hhcmVDb21tZW50U3BhbnNbYV0sJ2hp ZGRlbl9lbGVtJyk7dGhpcy5jbG9zZUlubGluZUNvbW1lbnQoKTt9LmJpbmQodGhp cykpO30sZXhwb3NlQ29tbWVudEJ1dHRvbjpmdW5jdGlvbihldmVudCl7aWYoIUNT Uy5oYXNDbGFzcyh0aGlzLmlubGluZUNvbW1lbnRCdXR0b24sJ2hpZGRlbl9lbGVt JykpcmV0dXJuO0NTUy5yZW1vdmVDbGFzcyh0aGlzLmlubGluZUNvbW1lbnRCdXR0 b24sJ2hpZGRlbl9lbGVtJyk7Q1NTLnNldFN0eWxlKHRoaXMuaW5saW5lQ29tbWVu dElucHV0LCd3aWR0aCcsdGhpcy50ZXh0SW5wdXRXaWR0aFdpdGhCdXR0b24rJ3B4 Jyk7Q1NTLnNldFN0eWxlKHRoaXMuaW5saW5lQ29tbWVudElucHV0LCdtYXJnaW4t cmlnaHQnLHRoaXMudGV4dElucHV0TWFyZ2luV2l0aEJ1dHRvbisncHgnKTt9LG9w ZW5JbmxpbmVDb21tZW50Rmx5b3V0OmZ1bmN0aW9uKCl7Q1NTLnNob3codGhpcy5p bmxpbmVDb21tZW50Rmx5b3V0KTt0aGlzLmlubGluZUNvbW1lbnRGbHlvdXRPcGVu PXRydWU7dGhpcy5pbmxpbmVDb21tZW50Rmx5b3V0VmlzaWJsZT10cnVlO30sbWFu YWdlQm94Q291bnRCdXR0b25BbmltYXRpb246ZnVuY3Rpb24oYSl7aWYoYSYmIXRo aXMuc2hvd0NvbmZpcm0pe3RoaXMuYW5pbWF0ZUJveENvdW50QnV0dG9uRGlzYXBw ZWFyYW5jZSgpO31lbHNlIHRoaXMuYW5pbWF0ZUJveENvdW50QnV0dG9uUmVhcHBl YXJhbmNlKCk7fSxhbmltYXRlQm94Q291bnRCdXR0b25EaXNhcHBlYXJhbmNlOmZ1 bmN0aW9uKCl7aWYodGhpcy5ncmF5T3V0KXJldHVybjtDU1MuYWRkQ2xhc3ModGhp cy5jb25uZWN0QnV0dG9uLCdoaWRkZW5fZWxlbScpO0NTUy5zZXRTdHlsZSh0aGlz Lm51bWJlckNsb3VkRXh0ZW5zaW9uLCdvcGFjaXR5JywwKTtDU1MucmVtb3ZlQ2xh c3ModGhpcy5udW1iZXJDbG91ZEV4dGVuc2lvbiwnaGlkZGVuX2VsZW0nKTtDU1Mu YWRkQ2xhc3ModGhpcy5udW1iZXJDbG91ZE51YiwnaGlkZGVuX2VsZW0nKTtDU1Mu YWRkQ2xhc3ModGhpcy5udW1iZXJDbG91ZFVubGlrZVNwYW4sJ2hpZGRlbl9lbGVt Jyk7Q1NTLnJlbW92ZUNsYXNzKHRoaXMubnVtYmVyQ2xvdWRSZW1pbmRlclNwYW4s J2hpZGRlbl9lbGVtJyk7YW5pbWF0aW9uKHRoaXMubnVtYmVyQ2xvdWQpLnRvKCdo ZWlnaHQnLHRoaXMuZXhwYW5kZWROdW1iZXJDbG91ZEhlaWdodCkuZHVyYXRpb24o MTAwKS5vbmRvbmUoZnVuY3Rpb24oKXthbmltYXRpb24odGhpcy5udW1iZXJDbG91 ZEV4dGVuc2lvbikuZnJvbSgnb3BhY2l0eScsMCkudG8oJ29wYWNpdHknLDEpLmR1 cmF0aW9uKDEwMCkuZ28oKTt9LmJpbmQodGhpcykpLmdvKCk7fSxhbmltYXRlQm94 Q291bnRCdXR0b25SZWFwcGVhcmFuY2U6ZnVuY3Rpb24oKXtDU1MuYWRkQ2xhc3Mo dGhpcy5udW1iZXJDbG91ZEV4dGVuc2lvbiwnaGlkZGVuX2VsZW0nKTthbmltYXRp b24odGhpcy5udW1iZXJDbG91ZCkudG8oJ2hlaWdodCcsdGhpcy5jb2xsYXBzZWRO dW1iZXJDbG91ZEhlaWdodCkuZHVyYXRpb24oNzUpLm9uZG9uZShmdW5jdGlvbigp e2lmKHRoaXMuc2hvd0NvbmZpcm0pe2Zvcih2YXIgYT0wO2E8dGhpcy5jb25maXJt U3BhbnMubGVuZ3RoO2ErKylDU1MucmVtb3ZlQ2xhc3ModGhpcy5jb25maXJtU3Bh bnNbYV0sJ2hpZGRlbl9lbGVtJyk7fWVsc2V7Q1NTLnNldFN0eWxlKHRoaXMuY29u bmVjdEJ1dHRvbiwnb3BhY2l0eScsMCk7Q1NTLnJlbW92ZUNsYXNzKHRoaXMuY29u bmVjdEJ1dHRvbiwnaGlkZGVuX2VsZW0nKTthbmltYXRpb24odGhpcy5jb25uZWN0 QnV0dG9uKS5mcm9tKCdvcGFjaXR5JywwKS50bygnb3BhY2l0eScsMSkuZHVyYXRp b24oNzUpLm9uZG9uZShmdW5jdGlvbigpe0NTUy5zZXRTdHlsZSh0aGlzLm51bWJl ckNsb3VkTnViLCdvcGFjaXR5JywwKTtDU1MucmVtb3ZlQ2xhc3ModGhpcy5udW1i ZXJDbG91ZE51YiwnaGlkZGVuX2VsZW0nKTthbmltYXRpb24odGhpcy5udW1iZXJD bG91ZE51YikuZnJvbSgnb3BhY2l0eScsMCkudG8oJ29wYWNpdHknLDEpLmR1cmF0 aW9uKDUwKS5nbygpO30uYmluZCh0aGlzKSkuZ28oKTt9fS5iaW5kKHRoaXMpKS5n bygpO30sbWFuYWdlQnV0dG9uQ291bnRCdXR0b25BbmltYXRpb246ZnVuY3Rpb24o YSl7aWYoYSYmIXRoaXMuc2hvd0NvbmZpcm0pe3RoaXMuYW5pbWF0ZUJ1dHRvbkNv dW50QnV0dG9uRGlzYXBwZWFyYW5jZSgpO31lbHNlIHRoaXMuYW5pbWF0ZUJ1dHRv bkNvdW50QnV0dG9uUmVhcHBlYXJhbmNlKCk7aWYoIXRoaXMuZ3JheU91dCl7Q1NT LnJlbW92ZUNsYXNzKHRoaXMudGh1bWJzVXBJY29uLCdoaWRkZW5fZWxlbScpO0NT Uy5hZGRDbGFzcyh0aGlzLnVuZG9SZWdpb24sJ2hpZGRlbl9lbGVtJyk7fX0sbWFu YWdlU2ltcGxlQnV0dG9uQW5pbWF0aW9uOmZ1bmN0aW9uKGEpe2lmKHRoaXMuZ3Jh eU91dClyZXR1cm47aWYoYSYmIXRoaXMuc2hvd0NvbmZpcm0pe3RoaXMuYW5pbWF0 ZVNpbXBsZUJ1dHRvbkRpc2FwcGVhcmFuY2UoKTt9ZWxzZSB0aGlzLmFuaW1hdGVT aW1wbGVCdXR0b25SZWFwcGVhcmFuY2UoKTt9LGFuaW1hdGVCdXR0b25Db3VudEJ1 dHRvbkRpc2FwcGVhcmFuY2U6ZnVuY3Rpb24oKXtpZighdGhpcy5ncmF5T3V0KWFu aW1hdGlvbih0aGlzLmNvbm5lY3RCdXR0b24pLmZyb20oJ29wYWNpdHknLDEpLnRv KCdvcGFjaXR5JywwKS5mcm9tKCd3aWR0aCcsdGhpcy5vcmlnaW5hbEJ1dHRvbldp ZHRoKS50bygnd2lkdGgnLCcwcHgnKS5vbmRvbmUoZnVuY3Rpb24oKXtDU1MuYWRk Q2xhc3ModGhpcy5jb25uZWN0QnV0dG9uLCdoaWRkZW5fZWxlbScpO30uYmluZCh0 aGlzKSkuZHVyYXRpb24oMTAwKS5nbygpO2FuaW1hdGlvbih0aGlzLm51bWJlckV4 Y2x1ZGluZykuZnJvbSgnb3BhY2l0eScsMSkudG8oJ29wYWNpdHknLDApLmR1cmF0 aW9uKDEwMCkub25kb25lKGZ1bmN0aW9uKCl7Q1NTLmFkZENsYXNzKHRoaXMubnVt YmVyRXhjbHVkaW5nLCdoaWRkZW5fZWxlbScpO0NTUy5zZXRTdHlsZSh0aGlzLnN1 bW1hcnlJbmNsdWRpbmcsJ29wYWNpdHknLDApO0NTUy5yZW1vdmVDbGFzcyh0aGlz LnN1bW1hcnlJbmNsdWRpbmcsJ2hpZGRlbl9lbGVtJyk7YW5pbWF0aW9uKHRoaXMu c3VtbWFyeUluY2x1ZGluZykuZnJvbSgnb3BhY2l0eScsMCkudG8oJ29wYWNpdHkn LDEpLmR1cmF0aW9uKDEwMCkuZ28oKTt9LmJpbmQodGhpcykpLmdvKCk7Zm9yKHZh ciBhPTA7YTx0aGlzLmNvbmZpcm1TcGFucy5sZW5ndGg7YSsrKUNTUy5hZGRDbGFz cyh0aGlzLmNvbmZpcm1TcGFuc1thXSwnaGlkZGVuX2VsZW0nKTtpZih0aGlzLmdy YXlPdXQpQ1NTLnJlbW92ZUNsYXNzKHRoaXMuY29ubmVjdEJ1dHRvbiwnaGlkZGVu X2VsZW0nKTt9LGFuaW1hdGVTaW1wbGVCdXR0b25EaXNhcHBlYXJhbmNlOmZ1bmN0 aW9uKCl7YW5pbWF0aW9uKHRoaXMuY29ubmVjdEJ1dHRvbikuZnJvbSgnb3BhY2l0 eScsMSkudG8oJ29wYWNpdHknLDApLmZyb20oJ3dpZHRoJyx0aGlzLm9yaWdpbmFs QnV0dG9uV2lkdGgpLnRvKCd3aWR0aCcsJzBweCcpLm9uZG9uZShmdW5jdGlvbigp e0NTUy5hZGRDbGFzcyh0aGlzLmNvbm5lY3RCdXR0b24sJ2hpZGRlbl9lbGVtJyk7 Q1NTLnNldFN0eWxlKHRoaXMuc3VtbWFyeUluY2x1ZGluZywnb3BhY2l0eScsMCk7 Q1NTLnJlbW92ZUNsYXNzKHRoaXMuc3VtbWFyeUluY2x1ZGluZywnaGlkZGVuX2Vs ZW0nKTthbmltYXRpb24odGhpcy5zdW1tYXJ5SW5jbHVkaW5nKS5mcm9tKCdvcGFj aXR5JywwKS50bygnb3BhY2l0eScsMSkuZHVyYXRpb24oMTAwKS5nbygpO30uYmlu ZCh0aGlzKSkuZHVyYXRpb24oNTApLmdvKCk7Zm9yKHZhciBhPTA7YTx0aGlzLmNv bmZpcm1TcGFucy5sZW5ndGg7YSsrKUNTUy5hZGRDbGFzcyh0aGlzLmNvbmZpcm1T cGFuc1thXSwnaGlkZGVuX2VsZW0nKTtpZih0aGlzLmdyYXlPdXQpQ1NTLnJlbW92 ZUNsYXNzKHRoaXMuY29ubmVjdEJ1dHRvbiwnaGlkZGVuX2VsZW0nKTt9LGNvbXB1 dGVCdXR0b25EaW1lbnNpb25zOmZ1bmN0aW9uKCl7dmFyIGM9Q1NTLmhhc0NsYXNz KHRoaXMuY29ubmVjdEJ1dHRvbiwnaGlkZGVuX2VsZW0nKTtpZihjKXtDU1MuYWRk Q2xhc3ModGhpcy5jb25uZWN0QnV0dG9uLCdjb25uZWN0X3dpZGdldF9vZmZzY3Jl ZW4nKTtDU1MucmVtb3ZlQ2xhc3ModGhpcy5jb25uZWN0QnV0dG9uLCdoaWRkZW5f ZWxlbScpO312YXIgYT1WZWN0b3IyLmdldEVsZW1lbnREaW1lbnNpb25zKHRoaXMu Y29ubmVjdEJ1dHRvbik7dmFyIGQ9YS54O3ZhciBiPWEueTt2YXIgZj1wYXJzZUlu dChDU1MuZ2V0U3R5bGUodGhpcy5jb25uZWN0QnV0dG9uLCdwYWRkaW5nTGVmdCcp LDEwKTt2YXIgZz1wYXJzZUludChDU1MuZ2V0U3R5bGUodGhpcy5jb25uZWN0QnV0 dG9uLCdwYWRkaW5nUmlnaHQnKSwxMCk7dmFyIGg9cGFyc2VJbnQoQ1NTLmdldFN0 eWxlKHRoaXMuY29ubmVjdEJ1dHRvbiwncGFkZGluZ1RvcCcpLDEwKTt2YXIgZT1w YXJzZUludChDU1MuZ2V0U3R5bGUodGhpcy5jb25uZWN0QnV0dG9uLCdwYWRkaW5n Qm90dG9tJyksMTApO2lmKGMpe0NTUy5hZGRDbGFzcyh0aGlzLmNvbm5lY3RCdXR0 b24sJ2hpZGRlbl9lbGVtJyk7Q1NTLnJlbW92ZUNsYXNzKHRoaXMuY29ubmVjdEJ1 dHRvbiwnY29ubmVjdF93aWRnZXRfb2Zmc2NyZWVuJyk7fXJldHVybiB7d2lkdGg6 ZC1mLWctMixoZWlnaHQ6Yn07fSxjb21wdXRlQnV0dG9uRGltZW5zaW9uc1dpdGhQ YWRkaW5nOmZ1bmN0aW9uKCl7dmFyIGM9Q1NTLmhhc0NsYXNzKHRoaXMuY29ubmVj dEJ1dHRvbiwnaGlkZGVuX2VsZW0nKTtpZihjKXtDU1MuYWRkQ2xhc3ModGhpcy5j b25uZWN0QnV0dG9uLCdjb25uZWN0X3dpZGdldF9vZmZzY3JlZW4nKTtDU1MucmVt b3ZlQ2xhc3ModGhpcy5jb25uZWN0QnV0dG9uLCdoaWRkZW5fZWxlbScpO312YXIg YT1WZWN0b3IyLmdldEVsZW1lbnREaW1lbnNpb25zKHRoaXMuY29ubmVjdEJ1dHRv bik7dmFyIGQ9YS54O3ZhciBiPWEueTtpZih1YS5pZSgpKWQrPTM7aWYoYyl7Q1NT LmFkZENsYXNzKHRoaXMuY29ubmVjdEJ1dHRvbiwnaGlkZGVuX2VsZW0nKTtDU1Mu cmVtb3ZlQ2xhc3ModGhpcy5jb25uZWN0QnV0dG9uLCdjb25uZWN0X3dpZGdldF9v ZmZzY3JlZW4nKTt9cmV0dXJuIHt3aWR0aDpkLGhlaWdodDpifTt9LGFuaW1hdGVC dXR0b25Db3VudEJ1dHRvblJlYXBwZWFyYW5jZTpmdW5jdGlvbigpe2lmKHRoaXMu c2hvd0NvbmZpcm0pe2Zvcih2YXIgYT0wO2E8dGhpcy5jb25maXJtU3BhbnMubGVu Z3RoO2ErKylDU1MucmVtb3ZlQ2xhc3ModGhpcy5jb25maXJtU3BhbnNbYV0sJ2hp ZGRlbl9lbGVtJyk7fWVsc2UgaWYoIXRoaXMuZ3JheU91dCl7Q1NTLnJlbW92ZUNs YXNzKHRoaXMuY29ubmVjdEJ1dHRvbiwnaGlkZGVuX2VsZW0nKTthbmltYXRpb24o dGhpcy5jb25uZWN0QnV0dG9uKS5mcm9tKCd3aWR0aCcsJzBweCcpLnRvKCd3aWR0 aCcsdGhpcy5vcmlnaW5hbEJ1dHRvbldpZHRoKS5mcm9tKCdvcGFjaXR5JywwKS50 bygnb3BhY2l0eScsMSkuZHVyYXRpb24oMTAwKS5nbygpO31DU1Muc2V0U3R5bGUo dGhpcy5zdW1tYXJ5SW5jbHVkaW5nLCdvcGFjaXR5JywxKTthbmltYXRpb24odGhp cy5zdW1tYXJ5SW5jbHVkaW5nKS5mcm9tKCdvcGFjaXR5JywxKS50bygnb3BhY2l0 eScsMCkuZHVyYXRpb24oMTAwKS5vbmRvbmUoZnVuY3Rpb24oKXtDU1MuYWRkQ2xh c3ModGhpcy5zdW1tYXJ5SW5jbHVkaW5nLCdoaWRkZW5fZWxlbScpO0NTUy5zZXRT dHlsZSh0aGlzLm51bWJlckV4Y2x1ZGluZywnb3BhY2l0eScsMCk7Q1NTLnJlbW92 ZUNsYXNzKHRoaXMubnVtYmVyRXhjbHVkaW5nLCdoaWRkZW5fZWxlbScpO2FuaW1h dGlvbih0aGlzLm51bWJlckV4Y2x1ZGluZykuZnJvbSgnb3BhY2l0eScsMCkudG8o J29wYWNpdHknLDEpLmR1cmF0aW9uKDEwMCkuZ28oKTt9LmJpbmQodGhpcykpLmdv KCk7fSxhbmltYXRlU2ltcGxlQnV0dG9uUmVhcHBlYXJhbmNlOmZ1bmN0aW9uKCl7 aWYodGhpcy5zaG93Q29uZmlybSl7Zm9yKHZhciBhPTA7YTx0aGlzLmNvbmZpcm1T cGFucy5sZW5ndGg7YSsrKUNTUy5yZW1vdmVDbGFzcyh0aGlzLmNvbmZpcm1TcGFu c1thXSwnaGlkZGVuX2VsZW0nKTt9ZWxzZXtDU1MucmVtb3ZlQ2xhc3ModGhpcy5j b25uZWN0QnV0dG9uLCdoaWRkZW5fZWxlbScpO2FuaW1hdGlvbih0aGlzLmNvbm5l Y3RCdXR0b24pLmZyb20oJ3dpZHRoJywnMHB4JykudG8oJ3dpZHRoJyx0aGlzLm9y aWdpbmFsQnV0dG9uV2lkdGgpLmZyb20oJ29wYWNpdHknLDApLnRvKCdvcGFjaXR5 JywxKS5kdXJhdGlvbigxMDApLmdvKCk7fUNTUy5zZXRTdHlsZSh0aGlzLnN1bW1h cnlJbmNsdWRpbmcsJ29wYWNpdHknLDEpO2FuaW1hdGlvbih0aGlzLnN1bW1hcnlJ bmNsdWRpbmcpLmZyb20oJ29wYWNpdHknLDEpLnRvKCdvcGFjaXR5JywwKS5kdXJh dGlvbigxMDApLm9uZG9uZShmdW5jdGlvbigpe0NTUy5hZGRDbGFzcyh0aGlzLnN1 bW1hcnlJbmNsdWRpbmcsJ2hpZGRlbl9lbGVtJyk7fS5iaW5kKHRoaXMpKS5nbygp O30saW5qZWN0Q29tbWVudFdpZGdldE1hcmt1cDpmdW5jdGlvbihhKXt0aGlzLmNv bW1lbnREb2N1bWVudD1hO3RoaXMuY29tbWVudERvY3VtZW50LmJvZHkuaW5uZXJI VE1MPXRoaXMuY29tbWVudFdpZGdldE1hcmt1cDt0aGlzLnRyYW5zZmVyQ1NTU3R5 bGVzKCk7aWYodGhpcy5uZXdQcm9maWxlUGljKXt2YXIgYz1ET00uZmluZCh0aGlz LmNvbW1lbnREb2N1bWVudCwnaW1nLmNvbm5lY3RfY29tbWVudF93aWRnZXRfdXNl cl9waWMnKTtjLnNyYz10aGlzLm5ld1Byb2ZpbGVQaWM7ZGVsZXRlIHRoaXMubmV3 UHJvZmlsZVBpYzt9aWYodWEuaWUoKSl7dmFyIGY9RE9NLnNjcnkodGhpcy5jb21t ZW50RG9jdW1lbnQsJy5jb25uZWN0X2NvbW1lbnRfc2hhcmVfcHJldmlld19waWMn KTtpZihmLmxlbmd0aD4wKXtmPWZbMF07dmFyIGU9NTA7dmFyIGQ9VmVjdG9yMi5n ZXRFbGVtZW50RGltZW5zaW9ucyhmKTt2YXIgZz1lL2QueDtpZihnPDEpe0NTUy5z ZXRTdHlsZShmLCd3aWR0aCcsZSk7Q1NTLnNldFN0eWxlKGYsJ2hlaWdodCcsZC55 KmcpO319fXRoaXMuc2V0dXBDb21tZW50SG9va3ModGhpcy5jb21tZW50RG9jdW1l bnQpO3RoaXMuY29tbWVudFdpZGdldElzRXhwYW5kZWQ9IXRoaXMuaW5saW5lVW5s aWtlTGluazt2YXIgYj10aGlzLmdldENvbW1lbnRBY3RpdmF0aW5nQ29tcG9uZW50 KCk7Yi5vbm1vdXNlb3V0PXRoaXMuaGlkZUNvbW1lbnRXaWRnZXQuYmluZCh0aGlz KTtiLm9ubW91c2VvdmVyPXRoaXMuc2hvd0NvbW1lbnRXaWRnZXQuYmluZCh0aGlz KTt0aGlzLmNvbW1lbnREb2N1bWVudC5ib2R5Lm9ubW91c2VvdXQ9dGhpcy5oaWRl Q29tbWVudFdpZGdldC5iaW5kKHRoaXMpO3RoaXMuY29tbWVudERvY3VtZW50LmJv ZHkub25tb3VzZW92ZXI9dGhpcy5zaG93Q29tbWVudFdpZGdldC5iaW5kKHRoaXMp O3RoaXMuaW5HcmFjZVBlcmlvZD1mYWxzZTt9LHNldHVwQ29tbWVudEhvb2tzOmZ1 bmN0aW9uKGEpe3RoaXMucGxhY2Vob2xkZXJJbnB1dFJlZ2lvbj1ET00uZmluZChh LCdkaXYuY29ubmVjdF9jb21tZW50X3dpZGdldF9wbGFjZWhvbGRlcl9pbnB1dF9y ZWdpb24nKTt0aGlzLnBsYWNlaG9sZGVySW5wdXQ9RE9NLmZpbmQodGhpcy5wbGFj ZWhvbGRlcklucHV0UmVnaW9uLCdpbnB1dC5jb25uZWN0X2NvbW1lbnRfd2lkZ2V0 X3BsYWNlaG9sZGVyX2lucHV0Jyk7dGhpcy5mdWxsSW5wdXRSZWdpb249RE9NLmZp bmQoYSwnZGl2LmNvbm5lY3RfY29tbWVudF93aWRnZXRfZnVsbF9pbnB1dF9yZWdp b24nKTt0aGlzLmZ1bGxJbnB1dFRleHRhcmVhPURPTS5maW5kKHRoaXMuZnVsbElu cHV0UmVnaW9uLCd0ZXh0YXJlYS5jb25uZWN0X2NvbW1lbnRfd2lkZ2V0X2Z1bGxf aW5wdXRfdGV4dGFyZWEnKTt0aGlzLndpZGdldEJ1dHRvblJlZ2lvbj1ET00uZmlu ZChhLCdkaXYuY29ubmVjdF9jb21tZW50X3dpZGdldF9idXR0b25fcmVnaW9uJyk7 dGhpcy5wb3N0VG9GYWNlYm9va0J1dHRvbj1ET00uZmluZCh0aGlzLndpZGdldEJ1 dHRvblJlZ2lvbiwnLmNvbm5lY3RfY29tbWVudF93aWRnZXRfcG9zdF9idXR0b24g aW5wdXQnKTt0aGlzLmlubGluZVVubGlrZUxpbms9RE9NLnNjcnkoYSwnYS5jb25u ZWN0X2NvbW1lbnRfd2lkZ2V0X3VubGlrZV9saW5rJyk7aWYodGhpcy5pbmxpbmVV bmxpa2VMaW5rLmxlbmd0aD4wKXRoaXMuaW5saW5lVW5saWtlTGluaz10aGlzLmlu bGluZVVubGlrZUxpbmtbMF07dGhpcy5kZWZhdWx0SW5wdXRUZXh0PXRoaXMucGxh Y2Vob2xkZXJJbnB1dC52YWx1ZTt0aGlzLnBsYWNlaG9sZGVySW5wdXQub25mb2N1 cz10aGlzLnRyYW5zaXRpb25Ub0Z1bGxJbnB1dE1vZGUuYmluZCh0aGlzKTt0aGlz LmZ1bGxJbnB1dFRleHRhcmVhLm9uZm9jdXM9dGhpcy5yZW1vdmVQbGFjZWhvbGRl clRleHQuYmluZCh0aGlzKTt0aGlzLmZ1bGxJbnB1dFRleHRhcmVhLm9uYmx1cj10 aGlzLnJlc3RvcmVQbGFjZWhvbGRlclRleHQuYmluZCh0aGlzKTt0aGlzLnBvc3RU b0ZhY2Vib29rQnV0dG9uLm9uY2xpY2s9dGhpcy51cGRhdGVVc2VyQ29tbWVudC5i aW5kKHRoaXMpO2lmKHRoaXMuaW5saW5lVW5saWtlTGluayl0aGlzLmlubGluZVVu bGlrZUxpbmsub25jbGljaz10aGlzLmNvbm5lY3RUb05vZGVPbkNsaWNrLmJpbmQo dGhpcyk7fSxnZXRDb21tZW50QWN0aXZhdGluZ0NvbXBvbmVudDpmdW5jdGlvbigp e2lmKHRoaXMubGF5b3V0PT09RXh0ZXJuYWxOb2RlQ29ubmVjdFdpZGdldC5CT1hf Q09VTlRfTEFZT1VUfHx0aGlzLmxheW91dD09PUV4dGVybmFsTm9kZUNvbm5lY3RX aWRnZXQuQlVUVE9OX0NPVU5UX0xBWU9VVCl7cmV0dXJuIHRoaXMud2lkZ2V0O31l bHNlIGlmKHRoaXMubGF5b3V0PT09RXh0ZXJuYWxOb2RlQ29ubmVjdFdpZGdldC5T SU1QTEVfTEFZT1VUKXtyZXR1cm4gdGhpcy53aWRnZXQ7fWVsc2UgaWYodGhpcy5n cmF5T3V0KXtyZXR1cm4gRE9NLmZpbmQodGhpcy53aWRnZXQsJ3RhYmxlLmNvbm5l Y3Rfd2lkZ2V0X2ludGVyYWN0aXZlX2FyZWEnKTt9ZWxzZSByZXR1cm4gdGhpcy5j b25maXJtYXRpb25DZWxsO30sc2hvd0NvbW1lbnRXaWRnZXQ6ZnVuY3Rpb24oZXZl bnQpe2lmKHRoaXMub3RoZXJDb21tZW50V2lkZ2V0T3BlbilyZXR1cm4gZmFsc2U7 dGhpcy5pbkdyYWNlUGVyaW9kPXRydWU7dGhpcy5raWxsQ2xvc2VUaHJlYWQoKTtp Zih0aGlzLmNvbW1lbnRXaWRnZXRPcGVuJiYhdGhpcy5jb21tZW50V2lkZ2V0Vmlz aWJsZSl7dGhpcy5jb21tZW50V2lkZ2V0VmlzaWJsZT10cnVlO0NTUy5zaG93KHRo aXMuY29tbWVudERvY3VtZW50LmJvZHkpO1VudmVyaWZpZWRYRC5zZW5kKHt0eXBl OidzaG93RWRnZUNvbW1lbnREaWFsb2cnfSk7fXJldHVybiBmYWxzZTt9LGhpZGVD b21tZW50V2lkZ2V0OmZ1bmN0aW9uKGV2ZW50KXtpZih0aGlzLm90aGVyQ29tbWVu dFdpZGdldE9wZW4pcmV0dXJuIGZhbHNlO3RoaXMuaW5HcmFjZVBlcmlvZD1mYWxz ZTtpZih0aGlzLmNvbW1lbnRXaWRnZXRPcGVuJiZ0aGlzLmNvbW1lbnRXaWRnZXRW aXNpYmxlKXt2YXIgYT1mdW5jdGlvbigpe2lmKCF0aGlzLmluR3JhY2VQZXJpb2Qm JnRoaXMuc2hvdWxkSGlkZUV4cGFuZGVkV2lkZ2V0KCkpe3RoaXMuZnVsbElucHV0 VGV4dGFyZWEuYmx1cigpO3RoaXMuY29tbWVudFdpZGdldFZpc2libGU9ZmFsc2U7 aWYoIXRoaXMuc29jaWFsQmFyKUNTUy5oaWRlKHRoaXMuY29tbWVudERvY3VtZW50 LmJvZHkpO1VudmVyaWZpZWRYRC5zZW5kKHt0eXBlOidoaWRlRWRnZUNvbW1lbnRE aWFsb2cnfSk7fXRoaXMuaW5HcmFjZVBlcmlvZD1mYWxzZTt0aGlzLmtpbGxDbG9z ZVRocmVhZCgpO30uYmluZCh0aGlzKTt0aGlzLmNsb3NlVGhyZWFkSUQ9c2V0VGlt ZW91dChhLDEwMCk7fXJldHVybiBmYWxzZTt9LHNob3VsZEhpZGVFeHBhbmRlZFdp ZGdldDpmdW5jdGlvbigpe3JldHVybiAhdGhpcy5jb21tZW50V2lkZ2V0SXNFeHBh bmRlZHx8dGhpcy5mdWxsSW5wdXRUZXh0YXJlYS52YWx1ZT09PScnfHx0aGlzLmZ1 bGxJbnB1dFRleHRhcmVhLnZhbHVlPT09dGhpcy5kZWZhdWx0SW5wdXRUZXh0O30s a2lsbENsb3NlVGhyZWFkOmZ1bmN0aW9uKCl7aWYodGhpcy5jbG9zZVRocmVhZElE KXtjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRocmVhZElEKTtkZWxldGUgdGhpcy5j bG9zZVRocmVhZElEO319LHRyYW5zZmVyQ1NTU3R5bGVzOmZ1bmN0aW9uKCl7dmFy IGQ9RE9NLnNjcnkod2luZG93LmRvY3VtZW50LCdsaW5rJyk7dmFyIGU9RE9NLnNj cnkod2luZG93LmRvY3VtZW50LCdzdHlsZScpO3ZhciBjPURPTS5maW5kKHdpbmRv dy5kb2N1bWVudCwnaHRtbCcpO3ZhciBnPURPTS5maW5kKHRoaXMuY29tbWVudERv Y3VtZW50LCdodG1sJyk7dmFyIGY9RE9NLmZpbmQodGhpcy5jb21tZW50RG9jdW1l bnQsJ2hlYWQnKTtmb3IodmFyIGE9MDthPGQubGVuZ3RoO2ErKylpZihkW2FdLnJl bD09J3N0eWxlc2hlZXQnKXt2YXIgYj10aGlzLmNvbW1lbnREb2N1bWVudC5jcmVh dGVFbGVtZW50KCdsaW5rJyk7Yi5yZWw9ZFthXS5yZWw7Yi5ocmVmPWRbYV0uaHJl ZjtiLnR5cGU9ZFthXS50eXBlO2YuYXBwZW5kQ2hpbGQoYik7fWlmKHdpbmRvdy5S ZXNvdXJjZUJ1bmRsZXIpUmVzb3VyY2VCdW5kbGVyLmFwcGx5Q1NTVG9Eb2N1bWVu dCh0aGlzLmNvbW1lbnREb2N1bWVudCk7Zy5pZD1jLmlkO2cuY2xhc3NOYW1lPWMu Y2xhc3NOYW1lO3RoaXMuY29tbWVudERvY3VtZW50LmJvZHkuY2xhc3NOYW1lPXdp bmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTmFtZTt9LHRyYW5zaXRpb25Ub0Z1bGxJ bnB1dE1vZGU6ZnVuY3Rpb24oZXZlbnQpe3RoaXMuY29tbWVudFdpZGdldElzRXhw YW5kZWQ9dHJ1ZTtDU1MuaGlkZSh0aGlzLnBsYWNlaG9sZGVySW5wdXRSZWdpb24p O0NTUy5zaG93KHRoaXMuZnVsbElucHV0UmVnaW9uKTtDU1Muc2hvdyh0aGlzLndp ZGdldEJ1dHRvblJlZ2lvbik7dGhpcy5mdWxsSW5wdXRUZXh0YXJlYS5mb2N1cygp O3JldHVybiBmYWxzZTt9LHJlbW92ZVBsYWNlaG9sZGVyVGV4dDpmdW5jdGlvbihl dmVudCl7aWYoQ1NTLmhhc0NsYXNzKHRoaXMuZnVsbElucHV0VGV4dGFyZWEsJ2Nv bm5lY3RfY29tbWVudF93aWRnZXRfZGlzYWJsZWQnKSl7Q1NTLnJlbW92ZUNsYXNz KHRoaXMuZnVsbElucHV0VGV4dGFyZWEsJ2Nvbm5lY3RfY29tbWVudF93aWRnZXRf ZGlzYWJsZWQnKTt0aGlzLmZ1bGxJbnB1dFRleHRhcmVhLnZhbHVlPScnO31yZXR1 cm4gZmFsc2U7fSxyZXN0b3JlUGxhY2Vob2xkZXJUZXh0OmZ1bmN0aW9uKGV2ZW50 KXtpZih0aGlzLmZ1bGxJbnB1dFRleHRhcmVhLnZhbHVlLnRyaW0oKT09Jycpe3Ro aXMuZnVsbElucHV0VGV4dGFyZWEudmFsdWU9dGhpcy5kZWZhdWx0SW5wdXRUZXh0 O0NTUy5hZGRDbGFzcyh0aGlzLmZ1bGxJbnB1dFRleHRhcmVhLCdjb25uZWN0X2Nv bW1lbnRfd2lkZ2V0X2Rpc2FibGVkJyk7fXJldHVybiBmYWxzZTt9LHVwZGF0ZVVz ZXJDb21tZW50OmZ1bmN0aW9uKGV2ZW50KXt2YXIgYT10aGlzLmZ1bGxJbnB1dFRl eHRhcmVhLnZhbHVlLnRyaW0oKTtpZihhIT0nJyYmYSE9dGhpcy5kZWZhdWx0SW5w dXRUZXh0KXRoaXMucG9zdFVzZXJDb21tZW50KGEpO3JldHVybiBmYWxzZTt9LGRp c21pc3NDb21tZW50V2lkZ2V0OmZ1bmN0aW9uKGV2ZW50KXt0aGlzLmNsb3NlQ29t bWVudFdpZGdldCgpO3JldHVybiBmYWxzZTt9LGdldEFqYXhFbmRwb2ludDpmdW5j dGlvbigpe3JldHVybiAnL2FqYXgvY29ubmVjdC9leHRlcm5hbF9ub2RlX2Nvbm5l Y3QucGhwJzt9LGdldENvbW1lbnRBamF4RW5kcG9pbnQ6ZnVuY3Rpb24oKXtyZXR1 cm4gJy9hamF4L2Nvbm5lY3QvZXh0ZXJuYWxfZWRnZV9jb21tZW50LnBocCc7fSxn ZXRDb25maXJtVVJMOmZ1bmN0aW9uKCl7dmFyIGE9e2hyZWY6dGhpcy5leHRlcm5h bFVybCxwYWdlX2lkOnRoaXMucGFnZUlkLG5vZGVfdHlwZTp0aGlzLm5vZGVUeXBl LGVkZ2VfdHlwZTp0aGlzLmVkZ2VUeXBlLHdpZGdldF9pZDp0aGlzLndpZGdldElE fTtpZih0aGlzLnJlZilhLnJlZj10aGlzLnJlZjtyZXR1cm4gVVJJKCcvcGx1Z2lu cy9saWtlX2NvbmZpcm0ucGhwJykuYWRkUXVlcnlEYXRhKGEpLnRvU3RyaW5nKCk7 fSx1cGRhdGVMb2dnZWRJblVzZXI6ZnVuY3Rpb24oYixhKXtFeHRlcm5hbE5vZGVD b25uZWN0V2lkZ2V0LnVwZGF0ZUxvZ2dlZEluVXNlcihiLGEpO30sc3luY1NlbmRX aWRnZXRXaWR0aDpmdW5jdGlvbihpLGIpe3ZhciBhPXRoaXMuY29tcHV0ZUJ1dHRv bkRpbWVuc2lvbnNXaXRoUGFkZGluZygpLndpZHRoO3ZhciBjPWIuYnV0dG9uX3dp ZHRoLWE7aWYodGhpcy5sYXlvdXQ9PT1FeHRlcm5hbE5vZGVDb25uZWN0V2lkZ2V0 LkJPWF9DT1VOVF9MQVlPVVQmJmM+MCYmYzw9NSl7Q1NTLnNldFN0eWxlKHRoaXMu Y29ubmVjdEJ1dHRvbiwnd2lkdGgnLChiLmJ1dHRvbl93aWR0aC1wYXJzZUludChD U1MuZ2V0U3R5bGUodGhpcy5jb25uZWN0QnV0dG9uLCdwYWRkaW5nTGVmdCcpKS1w YXJzZUludChDU1MuZ2V0U3R5bGUodGhpcy5jb25uZWN0QnV0dG9uLCdwYWRkaW5n UmlnaHQnKSktcGFyc2VJbnQoQ1NTLmdldFN0eWxlKHRoaXMuY29ubmVjdEJ1dHRv biwnYm9yZGVyTGVmdFdpZHRoJykpLXBhcnNlSW50KENTUy5nZXRTdHlsZSh0aGlz LmNvbm5lY3RCdXR0b24sJ2JvcmRlclJpZ2h0V2lkdGgnKSkpKydweCcpO3RoaXMu c2l6ZU51bWJlckNsb3VkKCk7fWlmKHRoaXMubGF5b3V0PT09RXh0ZXJuYWxOb2Rl Q29ubmVjdFdpZGdldC5TVEFOREFSRF9MQVlPVVQpe3ZhciBkPVZlY3RvcjIuZ2V0 RWxlbWVudERpbWVuc2lvbnModGhpcy53aWRnZXQpLnk7Q1NTLnNldFN0eWxlKHRo aXMud2lkZ2V0LCdoZWlnaHQnLChkKzUpKydweCcpO3ZhciBlPXVhLmZpcmVmb3go KTt2YXIgZj11YS5pZSgpO3ZhciBnPWludGxfbG9jYWxlX2lzX3J0bCgpO3ZhciBo PWc/J3JpZ2h0JzonbGVmdCc7aWYoZiYmZjw5KXtDU1Muc2V0U3R5bGUodGhpcy5j b25uZWN0QnV0dG9uLCdwb3NpdGlvbicsJ2Fic29sdXRlJyk7Q1NTLnNldFN0eWxl KHRoaXMuY29ubmVjdEJ1dHRvbixoLC0oYi5idXR0b25fd2lkdGgrMTApKydweCcp O31lbHNle0NTUy5zZXRTdHlsZSh0aGlzLmNvbm5lY3RCdXR0b24sJ3Bvc2l0aW9u JywnZml4ZWQnKTtDU1Muc2V0U3R5bGUodGhpcy5jb25uZWN0QnV0dG9uLGgsJzBw eCcpO31pZihmJiZ0aGlzLmNvbm5lY3RCdXR0b25TbGlkZXIpe0NTUy5zZXRTdHls ZSh0aGlzLmNvbm5lY3RCdXR0b25TbGlkZXIsaCxiLmJ1dHRvbl93aWR0aCsncHgn KTtpZihmPD03KXRoaXMuZml4SUVCdXR0b25Eb3VibGVMaW5lQnVnKCk7fUNTUy5z ZXRTdHlsZSh0aGlzLmNvbmZpcm1hdGlvbkNlbGwsJ3Bvc2l0aW9uJywnYWJzb2x1 dGUnKTtDU1Muc2V0U3R5bGUodGhpcy5jb25maXJtYXRpb25DZWxsLGgsKGIuYnV0 dG9uX3dpZHRoK2ErNSkrJ3B4Jyk7Q1NTLnNldFN0eWxlKHRoaXMuY29uZmlybWF0 aW9uQ2VsbCwndG9wJywnNXB4Jyk7aWYodGhpcy5zYW1wbGVDb25uZWN0aW9ucyl7 Q1NTLnNldFN0eWxlKHRoaXMuc2FtcGxlQ29ubmVjdGlvbnMsJ3Bvc2l0aW9uJywn Zml4ZWQnKTtDU1Muc2V0U3R5bGUodGhpcy5zYW1wbGVDb25uZWN0aW9ucyxoLCcw Jyk7fXRoaXMuaW52ZXJ0ZWRCdXR0b25zPXRydWU7dGhpcy5yZXBvc2l0aW9uRmFj ZXBpbGVWZXJ0aWNhbGx5KCk7fX0scmVwb3NpdGlvbkZhY2VwaWxlVmVydGljYWxs eTpmdW5jdGlvbigpe2lmKHRoaXMuaW52ZXJ0ZWRCdXR0b25zJiZ0aGlzLnNhbXBs ZUNvbm5lY3Rpb25zKXt2YXIgYT1WZWN0b3IyLmdldEVsZW1lbnREaW1lbnNpb25z KHRoaXMuc3VtbWFyeVRleHQpLnk7Q1NTLnNldFN0eWxlKHRoaXMuc2FtcGxlQ29u bmVjdGlvbnMsJ21hcmdpbi10b3AnLCg1K2ErNSkrJ3B4Jyk7fX19KTsKdmFyIEV4 dGVybmFsUGFnZUxpa2VXaWRnZXQ9ZnVuY3Rpb24oYSl7YS5lZGdlVHlwZT0nbGlr ZSc7dGhpcy5wYXJlbnQuY29uc3RydWN0KHRoaXMsYSk7dGhpcy51bmFjdGlvbkxp bms9RE9NLnNjcnkodGhpcy53aWRnZXQsJ3NwYW4udW5saWtlX2xpbmsnKVswXTtp Zih0aGlzLnVuYWN0aW9uTGluaylFdmVudC5saXN0ZW4odGhpcy51bmFjdGlvbkxp bmssJ2NsaWNrJyx0aGlzLmNvbm5lY3RUb05vZGVPbkNsaWNrLmJpbmQodGhpcykp O3RoaXMuaGFzU2hvd2VkSW5zaWdodHM9ZmFsc2U7dGhpcy5zaG93SW5zaWdodHMo KTt9O0V4dGVybmFsUGFnZUxpa2VXaWRnZXQuZXh0ZW5kKCdFeHRlcm5hbE5vZGVD b25uZWN0V2lkZ2V0Jyk7Y29weV9wcm9wZXJ0aWVzKEV4dGVybmFsUGFnZUxpa2VX aWRnZXQucHJvdG90eXBlLHtnZXRTeW5jRW5kcG9pbnROYW1lOmZ1bmN0aW9uKCl7 cmV0dXJuICdwbGF0Zm9ybS9saWtlL3N5bmMnO30sZ2V0Q29ubmVjdGlvbkVuZHBv aW50TmFtZTpmdW5jdGlvbigpe3JldHVybiAncGxhdGZvcm0vbGlrZS9jb25uZWN0 aW9uJzt9LGdldFBsdWdpbk5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gJ2xpa2UnO30s cHJlc2VudEluc2lnaHRzUGFnZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuYWRtaW5V cmwuc3BsaXQoJy8nKTt2YXIgYj1hW2EubGVuZ3RoLTFdO3dpbmRvdy5vcGVuKCcv aW5zaWdodHMvP3NrPXBvXycrYiwnX2JsYW5rJyk7fSxzaG93SW5zaWdodHM6ZnVu Y3Rpb24oKXtpZih0aGlzLmhhc1Nob3dlZEluc2lnaHRzKXJldHVybjt2YXIgYj1E T00uc2NyeSh0aGlzLndpZGdldCwnYS5jb25uZWN0X3dpZGdldF9pbnNpZ2h0c19s aW5rJyk7aWYoYilmb3IodmFyIGE9MDthPGIubGVuZ3RoO2ErKyl7Q1NTLnNob3co YlthXS5wYXJlbnROb2RlKTtFdmVudC5saXN0ZW4oYlthXSwnY2xpY2snLHRoaXMu cHJlc2VudEluc2lnaHRzUGFnZS5iaW5kKHRoaXMpKTt9dGhpcy5oYXNTaG93ZWRJ bnNpZ2h0cz10cnVlO30scmVwb3NpdGlvbkZhY2VwaWxlVmVydGljYWxseTpmdW5j dGlvbigpe3RoaXMuc2hvd0luc2lnaHRzKCk7dGhpcy5wYXJlbnQucmVwb3NpdGlv bkZhY2VwaWxlVmVydGljYWxseSgpO319KTsKZnVuY3Rpb24gRE9NQ29udHJvbChh KXt0aGlzLnJvb3Q9JChhKTt0aGlzLnVwZGF0aW5nPWZhbHNlO0RhdGFTdG9yZS5z ZXQoYSwnRE9NQ29udHJvbCcsdGhpcyk7fURPTUNvbnRyb2wucHJvdG90eXBlPXtn ZXRSb290OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdDt9LGJlZ2luVXBkYXRl OmZ1bmN0aW9uKCl7aWYodGhpcy51cGRhdGluZylyZXR1cm4gZmFsc2U7dGhpcy51 cGRhdGluZz10cnVlO3JldHVybiB0cnVlO30sZW5kVXBkYXRlOmZ1bmN0aW9uKCl7 dGhpcy51cGRhdGluZz1mYWxzZTt9LHVwZGF0ZTpmdW5jdGlvbihhKXtpZighdGhp cy5iZWdpblVwZGF0ZSgpKXJldHVybiB0aGlzO3RoaXMub251cGRhdGUoYSk7dGhp cy5lbmRVcGRhdGUoKTt9fTtET01Db250cm9sLmdldEluc3RhbmNlPWZ1bmN0aW9u KGEpe3JldHVybiBEYXRhU3RvcmUuZ2V0KGEsJ0RPTUNvbnRyb2wnKTt9OwphZGRf cHJvcGVydGllcygnSW5wdXQnLHtmb2N1czpmdW5jdGlvbihhKXt0cnl7YS5mb2N1 cygpO31jYXRjaChiKXt9fSxpc0VtcHR5OmZ1bmN0aW9uKGEpe3JldHVybiAhKC9c Uy8pLnRlc3QoYS52YWx1ZXx8JycpfHxDU1MuaGFzQ2xhc3MoYSwnRE9NQ29udHJv bF9wbGFjZWhvbGRlcicpO30sZ2V0VmFsdWU6ZnVuY3Rpb24oYSl7cmV0dXJuIElu cHV0LmlzRW1wdHkoYSk/Jyc6YS52YWx1ZTt9LHNldFZhbHVlOmZ1bmN0aW9uKGIs Yyl7Q1NTLnJlbW92ZUNsYXNzKGIsJ0RPTUNvbnRyb2xfcGxhY2Vob2xkZXInKTti LnZhbHVlPWM7dmFyIGE9RE9NQ29udHJvbC5nZXRJbnN0YW5jZShiKTthJiZhLnJl c2V0SGVpZ2h0JiZhLnJlc2V0SGVpZ2h0KCk7fSxzZXRQbGFjZWhvbGRlcjpmdW5j dGlvbihhLGIpe2Euc2V0QXR0cmlidXRlKCd0aXRsZScsYik7YS5zZXRBdHRyaWJ1 dGUoJ3BsYWNlaG9sZGVyJyxiKTtpZihhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50 KXJldHVybjtpZihJbnB1dC5pc0VtcHR5KGEpKXtDU1MuY29uZGl0aW9uQ2xhc3Mo YSwnRE9NQ29udHJvbF9wbGFjZWhvbGRlcicsYik7YS52YWx1ZT1iO319LHJlc2V0 OmZ1bmN0aW9uKGEpe0lucHV0LnNldFZhbHVlKGEsJycpO3ZhciBiPWEuZ2V0QXR0 cmlidXRlKCdwbGFjZWhvbGRlcicpO2ImJklucHV0LnNldFBsYWNlaG9sZGVyKGEs Yik7YS5zdHlsZS5oZWlnaHQ9Jyc7fSxzZXRTdWJtaXRPbkVudGVyOmZ1bmN0aW9u KGEsYil7Q1NTLmNvbmRpdGlvbkNsYXNzKGEsJ2VudGVyX3N1Ym1pdCcsYik7fSxn ZXRTdWJtaXRPbkVudGVyOmZ1bmN0aW9uKGEpe3JldHVybiBDU1MuaGFzQ2xhc3Mo YSwnZW50ZXJfc3VibWl0Jyk7fX0pOwpvbmxvYWRSZWdpc3RlcihmdW5jdGlvbigp e0V2ZW50Lmxpc3Rlbihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsJ3N1Ym1pdCcs ZnVuY3Rpb24oYil7dmFyIGE9Yi5nZXRUYXJnZXQoKS5nZXRFbGVtZW50c0J5VGFn TmFtZSgnKicpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10uZ2V0 QXR0cmlidXRlKCdwbGFjZWhvbGRlcicpJiZJbnB1dC5pc0VtcHR5KGFbY10pKWFb Y10udmFsdWU9Jyc7fSk7fSk7 ------------qfT33CQvrzOilNZq3SIUxQ Content-Disposition: inline; filename=WzO4x8ghoO7.js Content-Type: application/x-javascript; charset=utf-8; name=WzO4x8ghoO7.js Content-Location: http://static.ak.fbcdn.net/rsrc.php/v1/yG/r/WzO4x8ghoO7.js Content-Transfer-Encoding: Base64 LyoxMzA4MDY1NDEwLDE3NjgzMjY5OCovCgppZiAod2luZG93LkNhdmFscnlMb2dn ZXIpIHsgQ2F2YWxyeUxvZ2dlci5zdGFydF9qcyhbInFFaXBOIl0pOyB9CgpXaW5k b3dDb21tPXtfY2FsbGJhY2tzOnt9LG1ha2VIYW5kbGVyOmZ1bmN0aW9uKGEsYyl7 Yz1jfHwnb3BlbmVyJzt2YXIgYj0nZicrKE1hdGgucmFuZG9tKCkqKDE8PDMwKSku dG9TdHJpbmcoMTYpLnJlcGxhY2UoJy4nLCcnKTtXaW5kb3dDb21tLl9jYWxsYmFj a3NbYl09YTtyZXR1cm4gbmV3IFVSSSgnL2Nvbm5lY3Qvd2luZG93X2NvbW0ucGhw Jykuc2V0UXVlcnlEYXRhKHtfaWQ6YixfcmVsYXRpb246Y30pLmdldFF1YWxpZmll ZFVSSSgpLnRvU3RyaW5nKCk7fSxfcmVjdjpmdW5jdGlvbihiKXt2YXIgYT1uZXcg VVJJKGIpLmdldFF1ZXJ5RGF0YSgpO1dpbmRvd0NvbW0uX2NhbGxiYWNrc1thLl9p ZF0oYSk7fX07CmZ1bmN0aW9uIEtleUV2ZW50Q29udHJvbGxlcigpe3RoaXMuaGFu ZGxlcnM9e307ZG9jdW1lbnQub25rZXl1cD10aGlzLm9ua2V5ZXZlbnQuYmluZCh0 aGlzLCdvbmtleXVwJyk7ZG9jdW1lbnQub25rZXlkb3duPXRoaXMub25rZXlldmVu dC5iaW5kKHRoaXMsJ29ua2V5ZG93bicpO2RvY3VtZW50Lm9ua2V5cHJlc3M9dGhp cy5vbmtleWV2ZW50LmJpbmQodGhpcywnb25rZXlwcmVzcycpO31jb3B5X3Byb3Bl cnRpZXMoS2V5RXZlbnRDb250cm9sbGVyLHtpbnN0YW5jZTpudWxsLGdldEluc3Rh bmNlOmZ1bmN0aW9uKCl7cmV0dXJuIEtleUV2ZW50Q29udHJvbGxlci5pbnN0YW5j ZXx8KEtleUV2ZW50Q29udHJvbGxlci5pbnN0YW5jZT1uZXcgS2V5RXZlbnRDb250 cm9sbGVyKCkpO30sZGVmYXVsdEZpbHRlcjpmdW5jdGlvbihldmVudCxhKXtldmVu dD0kRShldmVudCk7cmV0dXJuIEtleUV2ZW50Q29udHJvbGxlci5maWx0ZXJFdmVu dFR5cGVzKGV2ZW50LGEpJiZLZXlFdmVudENvbnRyb2xsZXIuZmlsdGVyRXZlbnRU YXJnZXRzKGV2ZW50LGEpJiZLZXlFdmVudENvbnRyb2xsZXIuZmlsdGVyRXZlbnRN b2RpZmllcnMoZXZlbnQsYSk7fSxmaWx0ZXJFdmVudFR5cGVzOmZ1bmN0aW9uKGV2 ZW50LGEpe2lmKGE9PT0nb25rZXlkb3duJylyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFs c2U7fSxmaWx0ZXJFdmVudFRhcmdldHM6ZnVuY3Rpb24oZXZlbnQsYil7dmFyIGE9 ZXZlbnQuZ2V0VGFyZ2V0KCk7cmV0dXJuICFET00uaXNOb2RlKGEsS2V5RXZlbnRD b250cm9sbGVyLl9pbnRlcmFjdGl2ZUVsZW1lbnRzKXx8KGEudHlwZSBpbiBLZXlF dmVudENvbnRyb2xsZXIuX3VuaW50ZXJlc3RpbmdUeXBlcyl8fChET00uaXNOb2Rl KGEsWydpbnB1dCcsJ3RleHRhcmVhJ10pJiZhLnZhbHVlLmxlbmd0aD09PTAmJmV2 ZW50LmtleUNvZGUgaW4gS2V5RXZlbnRDb250cm9sbGVyLl9jb250cm9sS2V5cyk7 fSxmaWx0ZXJFdmVudE1vZGlmaWVyczpmdW5jdGlvbihldmVudCxhKXtpZihldmVu dC5jdHJsS2V5fHxldmVudC5hbHRLZXl8fGV2ZW50Lm1ldGFLZXl8fGV2ZW50LnJl cGVhdClyZXR1cm4gZmFsc2U7cmV0dXJuIHRydWU7fSxyZWdpc3RlcktleTpmdW5j dGlvbihmLGEsZCxnKXtpZihkPT09dW5kZWZpbmVkKWQ9S2V5RXZlbnRDb250cm9s bGVyLmRlZmF1bHRGaWx0ZXI7dmFyIGI9S2V5RXZlbnRDb250cm9sbGVyLmdldElu c3RhbmNlKCk7dmFyIGM9Yi5tYXBLZXkoZik7aWYoaXNfZW1wdHkoYi5oYW5kbGVy cykpb25sZWF2ZVJlZ2lzdGVyKGIucmVzZXRIYW5kbGVycy5iaW5kKGIpKTtmb3Io dmFyIGU9MDtlPGMubGVuZ3RoO2UrKyl7Zj1jW2VdO2lmKCFiLmhhbmRsZXJzW2Zd fHxnKWIuaGFuZGxlcnNbZl09W107Yi5oYW5kbGVyc1tmXS5wdXNoKHtjYWxsYmFj azphLGZpbHRlcjpkfSk7fX0sa2V5Q29kZU1hcDp7QkFDS1NQQUNFOls4XSxUQUI6 WzldLFJFVFVSTjpbMTNdLEVTQ0FQRTpbMjddLExFRlQ6WzM3LDYzMjM0XSxVUDpb MzgsNjMyMzJdLFJJR0hUOlszOSw2MzIzNV0sRE9XTjpbNDAsNjMyMzNdLERFTEVU RTpbNDZdLENPTU1BOlsxODhdLFBFUklPRDpbMTkwXSwnYCc6WzE5Ml0sJ1snOlsy MTldLCddJzpbMjIxXX0sX2ludGVyYWN0aXZlRWxlbWVudHM6WydpbnB1dCcsJ3Nl bGVjdCcsJ3RleHRhcmVhJywnb2JqZWN0JywnZW1iZWQnXSxfdW5pbnRlcmVzdGlu Z1R5cGVzOntjaGVja2JveDoxLHJhZGlvOjEsc3VibWl0OjF9LF9jb250cm9sS2V5 czp7ODoxLDk6MSwxMzoxLDI3OjEsMzc6MSw2MzIzNDoxLDM4OjEsNjMyMzI6MSwz OToxLDYzMjM1OjEsNDA6MSw2MzIzMzoxLDQ2OjF9fSk7Y29weV9wcm9wZXJ0aWVz KEtleUV2ZW50Q29udHJvbGxlci5wcm90b3R5cGUse21hcEtleTpmdW5jdGlvbihh KXtpZih0eXBlb2YoYSk9PSdudW1iZXInKXJldHVybiBbNDgrYSw5NithXTt2YXIg Yj1LZXlFdmVudENvbnRyb2xsZXIua2V5Q29kZU1hcFthLnRvVXBwZXJDYXNlKCld O2lmKGIpcmV0dXJuIGI7cmV0dXJuIFthLnRvVXBwZXJDYXNlKCkuY2hhckNvZGVB dCgwKV07fSxvbmtleWV2ZW50OmZ1bmN0aW9uKGksYyl7Yz0kRShjKTt2YXIgZD1u dWxsO3ZhciBnPXRoaXMuaGFuZGxlcnNbYy5rZXlDb2RlXTt2YXIgYixmLGE7aWYo Zylmb3IodmFyIGg9MDtoPGcubGVuZ3RoO2grKyl7Yj1nW2hdLmNhbGxiYWNrO2Y9 Z1toXS5maWx0ZXI7dHJ5e2lmKCFmfHxmKGMsaSkpe3ZhciBub2RlPW51bGw7aWYo d2luZG93LlBhcmVudCYmUGFyZW50LmJ5VGFnJiZjLmdldFRhcmdldClub2RlPVBh cmVudC5ieVRhZyhjLmdldFRhcmdldCgpLCdhJyk7dXNlcl9hY3Rpb24obm9kZSwn a2V5JyxjKTthPWIoYyxpKTtpZihhPT09ZmFsc2UpcmV0dXJuIEV2ZW50LmtpbGwo Yyk7fX1jYXRjaChlKXt9fXJldHVybiB0cnVlO30scmVzZXRIYW5kbGVyczpmdW5j dGlvbigpe3RoaXMuaGFuZGxlcnM9e307fX0pOwphZGRfcHJvcGVydGllcygnQ1NT Jyx7c3VwcG9ydHNCb3JkZXJSYWRpdXM6ZnVuY3Rpb24oKXt2YXIgYz1bJ0todG1s Qm9yZGVyUmFkaXVzJywnT0JvcmRlclJhZGl1cycsJ01vekJvcmRlclJhZGl1cycs J1dlYmtpdEJvcmRlclJhZGl1cycsJ21zQm9yZGVyUmFkaXVzJywnYm9yZGVyUmFk aXVzJ107dmFyIGQ9ZmFsc2UsYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn KTtmb3IodmFyIGI9Yy5sZW5ndGg7Yj49MDtiLS0paWYoZD1hLnN0eWxlW2NbYl1d IT09dW5kZWZpbmVkKWJyZWFrO0NTUy5zdXBwb3J0c0JvcmRlclJhZGl1cz1iYWdv ZihkKTtyZXR1cm4gZDt9fSk7CmZ1bmN0aW9uIHNob3coKXtmb3IodmFyIGI9MDti PGFyZ3VtZW50cy5sZW5ndGg7YisrKXt2YXIgYT1nZShhcmd1bWVudHNbYl0pO2lm KGEmJmEuc3R5bGUpYS5zdHlsZS5kaXNwbGF5PScnO31yZXR1cm4gZmFsc2U7fWZ1 bmN0aW9uIGhpZGUoKXtmb3IodmFyIGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7Yisr KXt2YXIgYT1nZShhcmd1bWVudHNbYl0pO2lmKGEmJmEuc3R5bGUpYS5zdHlsZS5k aXNwbGF5PSdub25lJzt9cmV0dXJuIGZhbHNlO31mdW5jdGlvbiBzaG93bihhKXth PWdlKGEpO3JldHVybiAoYS5zdHlsZS5kaXNwbGF5IT0nbm9uZScmJiEoYS5zdHls ZS5kaXNwbGF5PT0nJyYmYS5vZmZzZXRXaWR0aD09MCkpO31mdW5jdGlvbiB0b2dn bGUoKXtmb3IodmFyIGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7YisrKXt2YXIgYT0k KGFyZ3VtZW50c1tiXSk7YS5zdHlsZS5kaXNwbGF5PUNTUy5nZXRTdHlsZShhLCJk aXNwbGF5Iik9PSdibG9jayc/J25vbmUnOidibG9jayc7fXJldHVybiBmYWxzZTt9 ZnVuY3Rpb24gdG9nZ2xlRGlzcGxheU5vbmUoKXtmb3IodmFyIGI9MDtiPGFyZ3Vt ZW50cy5sZW5ndGg7YisrKXt2YXIgYT0kKGFyZ3VtZW50c1tiXSk7aWYoc2hvd24o YSkpe2hpZGUoYSk7fWVsc2Ugc2hvdyhhKTt9cmV0dXJuIGZhbHNlO30KdmFyIEtF WVM9e0JBQ0tTUEFDRTo4LFRBQjo5LFJFVFVSTjoxMyxFU0M6MjcsU1BBQ0U6MzIs UEFHRV9VUDozMyxQQUdFX0RPV046MzQsTEVGVDozNyxVUDozOCxSSUdIVDozOSxE T1dOOjQwLERFTEVURTo0NixDT01NQToxODh9Owp2YXIgRXJyb3JEaWFsb2c9e3No b3dBc3luY0Vycm9yOmZ1bmN0aW9uKGIpe3RyeXtyZXR1cm4gRXJyb3JEaWFsb2cu c2hvdyhiLmdldEVycm9yU3VtbWFyeSgpLGIuZ2V0RXJyb3JEZXNjcmlwdGlvbigp KTt9Y2F0Y2goYSl7YWxlcnQoYik7fX0sc2hvdzpmdW5jdGlvbihkLGMsYixhKXty ZXR1cm4gKG5ldyBEaWFsb2coKSkuc2V0VGl0bGUoZCkuc2V0Qm9keShjKS5zZXRC dXR0b25zKFtEaWFsb2cuT0tdKS5zZXRTdGFja2FibGUodHJ1ZSkuc2V0Q2xhc3NO YW1lKCdlcnJvckRpYWxvZycpLnNldE1vZGFsKHRydWUpLnNldEhhbmRsZXIoYnx8 YmFnb2Zob2xkaW5nKS5zZXRCdXR0b25zTWVzc2FnZShhfHwnJykuc2hvdygpO319 OwphZGRfcHJvcGVydGllcygnRm9ybScse2dldElucHV0czpmdW5jdGlvbihhKXth PWF8fGRvY3VtZW50O3JldHVybiBbXS5jb25jYXQoJEEoRE9NLnNjcnkoYSwnaW5w dXQnKSksJEEoRE9NLnNjcnkoYSwnc2VsZWN0JykpLCRBKERPTS5zY3J5KGEsJ3Rl eHRhcmVhJykpLCRBKERPTS5zY3J5KGEsJ2J1dHRvbicpKSk7fSxnZXRTZWxlY3RW YWx1ZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5vcHRpb25zW2Euc2VsZWN0ZWRJbmRl eF0udmFsdWU7fSxzZXRTZWxlY3RWYWx1ZTpmdW5jdGlvbihiLGMpe2Zvcih2YXIg YT0wO2E8Yi5vcHRpb25zLmxlbmd0aDsrK2EpaWYoYi5vcHRpb25zW2FdLnZhbHVl PT1jKXtiLnNlbGVjdGVkSW5kZXg9YTticmVhazt9fSxnZXRSYWRpb1ZhbHVlOmZ1 bmN0aW9uKGIpe2Zvcih2YXIgYT0wO2E8Yi5sZW5ndGg7YSsrKWlmKGJbYV0uY2hl Y2tlZClyZXR1cm4gYlthXS52YWx1ZTtyZXR1cm4gbnVsbDt9LGdldEVsZW1lbnRz OmZ1bmN0aW9uKGEpe3JldHVybiAkQShhLnRhZ05hbWU9PSdGT1JNJz9hLmVsZW1l bnRzOkZvcm0uZ2V0SW5wdXRzKGEpKTt9LGdldEF0dHJpYnV0ZTpmdW5jdGlvbihi LGEpe3JldHVybiAoYi5nZXRBdHRyaWJ1dGVOb2RlKGEpfHx7fSkudmFsdWV8fG51 bGw7fSxzZXREaXNhYmxlZDpmdW5jdGlvbihiLGEpe0Zvcm0uZ2V0RWxlbWVudHMo YikuZm9yRWFjaChmdW5jdGlvbihjKXtpZihjLmRpc2FibGVkIT11bmRlZmluZWQp e3ZhciBkPURhdGFTdG9yZS5nZXQoYywnb3JpZ0Rpc2FibGVkU3RhdGUnKTtpZihh KXtpZihkPT09dW5kZWZpbmVkKURhdGFTdG9yZS5zZXQoYywnb3JpZ0Rpc2FibGVk U3RhdGUnLGMuZGlzYWJsZWQpO2MuZGlzYWJsZWQ9YTt9ZWxzZXtpZihkIT09dHJ1 ZSljLmRpc2FibGVkPWZhbHNlO0RhdGFTdG9yZS5yZW1vdmUoYywnb3JpZ0Rpc2Fi bGVkU3RhdGUnKTt9fX0pO30sYm9vdHN0cmFwOmZ1bmN0aW9uKGQsZSl7dmFyIGY9 KEZvcm0uZ2V0QXR0cmlidXRlKGQsJ21ldGhvZCcpfHwnR0VUJykudG9VcHBlckNh c2UoKTtlPVBhcmVudC5ieVRhZyhlLCdidXR0b24nKXx8ZTt2YXIgZz1ET01QYXRo LmZpbmROb2RlUGF0aChkKTt2YXIgaT1QYXJlbnQuYnlDbGFzcyhlLCdzdGF0X2Vs ZW0nKXx8ZDtpZihDU1MuaGFzQ2xhc3MoaSwnYXN5bmNfc2F2aW5nJykpcmV0dXJu O2lmKGUmJihlLmZvcm0hPT1kfHwoZS5ub2RlTmFtZSE9J0lOUFVUJyYmZS5ub2Rl TmFtZSE9J0JVVFRPTicpfHxlLnR5cGUhPSdzdWJtaXQnKSl7dmFyIGo9RE9NLnNj cnkoZCwnLmVudGVyX3N1Ym1pdF90YXJnZXQnKVswXTt2YXIgYj1lO2omJihlPWop O312YXIgYz1Gb3JtLnNlcmlhbGl6ZShkLGUpO0Zvcm0uc2V0RGlzYWJsZWQoZCx0 cnVlKTt2YXIgYT1Gb3JtLmdldEF0dHJpYnV0ZShkLCdhamF4aWZ5Jyl8fEZvcm0u Z2V0QXR0cmlidXRlKGQsJ2FjdGlvbicpO3ZhciBoPW5ldyBBc3luY1JlcXVlc3Qo YSk7aC5zZXREYXRhKGMpLnNldE5lY3Rhck1vZHVsZURhdGFTYWZlKGQpLnNldFJl YWRPbmx5KGY9PSdHRVQnKS5zZXRNZXRob2QoZikuc2V0UmVsYXRpdmVUbyhkKS5z ZXRTdGF0dXNFbGVtZW50KGkpLnNldEhhbmRsZXIoZnVuY3Rpb24oayl7aWYoay5p c1JlcGxheSgpKWguc2V0UmVsYXRpdmVUbyhET01QYXRoLnJlc29sdmVOb2RlUGF0 aChnKSk7fSkuc2V0RmluYWxseUhhbmRsZXIoRm9ybS5zZXREaXNhYmxlZC5iaW5k KG51bGwsZCxmYWxzZSkpLnNlbmQoKTt9LHNlcmlhbGl6ZTpmdW5jdGlvbihiLGMp e3ZhciBhPXt9O0Zvcm0uZ2V0RWxlbWVudHMoYikuZm9yRWFjaChmdW5jdGlvbihk KXtpZihkLm5hbWUmJiFkLmRpc2FibGVkJiZkLnR5cGUhPSdzdWJtaXQnKWlmKCFk LnR5cGV8fCgoZC50eXBlPT0ncmFkaW8nfHxkLnR5cGU9PSdjaGVja2JveCcpJiZk LmNoZWNrZWQpfHxkLnR5cGU9PSd0ZXh0J3x8ZC50eXBlPT0ncGFzc3dvcmQnfHxk LnR5cGU9PSdoaWRkZW4nfHxkLnRhZ05hbWU9PSdURVhUQVJFQScpe0Zvcm0uX3Nl cmlhbGl6ZUhlbHBlcihhLGQubmFtZSxJbnB1dC5nZXRWYWx1ZShkKSk7fWVsc2Ug aWYoZC50YWdOYW1lPT0nU0VMRUNUJylmb3IodmFyIGU9MCxmPWQub3B0aW9ucy5s ZW5ndGg7ZTxmOysrZSl7dmFyIGc9ZC5vcHRpb25zW2VdO2lmKGcuc2VsZWN0ZWQp Rm9ybS5fc2VyaWFsaXplSGVscGVyKGEsZC5uYW1lLGcudmFsdWUpO319KTtpZihj JiZjLm5hbWUmJidzdWJtaXQnPT1jLnR5cGUmJkRPTS5jb250YWlucyhiLGMpJiZE T00uaXNOb2RlKGMsWydpbnB1dCcsJ2J1dHRvbiddKSlGb3JtLl9zZXJpYWxpemVI ZWxwZXIoYSxjLm5hbWUsYy52YWx1ZSk7cmV0dXJuIEZvcm0uX3NlcmlhbGl6ZUZp eChhKTt9LF9zZXJpYWxpemVIZWxwZXI6ZnVuY3Rpb24oYSxkLGUpe3ZhciBjPS8o W15cXV0rKVxbKFteXF1dKilcXSguKikvLmV4ZWMoZCk7aWYoYyl7YVtjWzFdXT1h W2NbMV1dfHx7fTtpZihjWzJdPT0nJyl7dmFyIGI9MDt3aGlsZShhW2NbMV1dW2Jd IT11bmRlZmluZWQpYisrO31lbHNlIGI9Y1syXTtpZihjWzNdPT0nJyl7YVtjWzFd XVtiXT1lO31lbHNlIEZvcm0uX3NlcmlhbGl6ZUhlbHBlcihhW2NbMV1dLGIuY29u Y2F0KGNbM10pLGUpO31lbHNlIGFbZF09ZTt9LF9zZXJpYWxpemVGaXg6ZnVuY3Rp b24oYSl7dmFyIGU9W107Zm9yKHZhciBiIGluIGEpe2lmKGEgaW5zdGFuY2VvZiBP YmplY3QpYVtiXT1Gb3JtLl9zZXJpYWxpemVGaXgoYVtiXSk7ZS5wdXNoKGIpO312 YXIgZD0wLGM9dHJ1ZTtlLnNvcnQoKS5lYWNoKGZ1bmN0aW9uKGcpe2lmKGchPWQr KyljPWZhbHNlO30pO2lmKGMpe3ZhciBmPXt9O2UuZWFjaChmdW5jdGlvbihnKXtm W2ddPWFbZ107fSk7cmV0dXJuIGY7fWVsc2UgcmV0dXJuIGE7fSxwb3N0OmZ1bmN0 aW9uKGQsYixjKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7 YS5hY3Rpb249ZC50b1N0cmluZygpO2EubWV0aG9kPSdQT1NUJzthLnN0eWxlLmRp c3BsYXk9J25vbmUnO2lmKGMpYS50YXJnZXQ9YztpZihnZSgncG9zdF9mb3JtX2lk JykpYi5wb3N0X2Zvcm1faWQ9JCgncG9zdF9mb3JtX2lkJykudmFsdWU7Yi5mYl9k dHNnPUVudi5mYl9kdHNnO2IucG9zdF9mb3JtX2lkX3NvdXJjZT0nZHluYW1pY19w b3N0JztiLm5leHQ9aHRtbHNwZWNpYWxjaGFycyhkb2N1bWVudC5sb2NhdGlvbi5o cmVmKTtGb3JtLmNyZWF0ZUhpZGRlbklucHV0cyhiLGEpO0RPTS5nZXRSb290RWxl bWVudCgpLmFwcGVuZENoaWxkKGEpO2Euc3VibWl0KCk7cmV0dXJuIGZhbHNlO30s Y3JlYXRlSGlkZGVuSW5wdXRzOmZ1bmN0aW9uKGcsYSxkLGYpe2Q9ZHx8e307dmFy IGM7dmFyIGg9VVJJLmltcGxvZGVRdWVyeShnLCcnLGZhbHNlKTt2YXIgaT1oLnNw bGl0KCcmJyk7Zm9yKHZhciBiPTA7YjxpLmxlbmd0aDtiKyspaWYoaVtiXSl7dmFy IGo9aVtiXS5zcGxpdCgnPScpO3ZhciBlPWpbMF07dmFyIGs9alsxXTtpZihlPT09 dW5kZWZpbmVkfHxrPT09dW5kZWZpbmVkKWNvbnRpbnVlO2s9VVJJLmRlY29kZUNv bXBvbmVudChrKTtpZihkW2VdJiZmKXtkW2VdLnZhbHVlPWs7fWVsc2V7Yz0kTign aW5wdXQnLHt0eXBlOidoaWRkZW4nLG5hbWU6ZSx2YWx1ZTprfSk7ZFtlXT1jO2Eu YXBwZW5kQ2hpbGQoYyk7fX1yZXR1cm4gZDt9LGdldEZpcnN0RWxlbWVudDpmdW5j dGlvbihiKXt2YXIgZj1bJ2lucHV0W3R5cGU9InRleHQiXScsJ3RleHRhcmVhJywn aW5wdXRbdHlwZT0icGFzc3dvcmQiXScsJ2lucHV0W3R5cGU9ImJ1dHRvbiJdJywn aW5wdXRbdHlwZT0ic3VibWl0Il0nXTt2YXIgZT1bXTtmb3IodmFyIGM9MDtjPGYu bGVuZ3RoJiZlLmxlbmd0aD09MDtjKyspZT1ET00uc2NyeShiLGZbY10pO2lmKGUu bGVuZ3RoPjApe3ZhciBkPWVbMF07dHJ5e2lmKGVsZW1lbnRZKGQpPjAmJmVsZW1l bnRYKGQpPjApcmV0dXJuIGQ7fWNhdGNoKGEpe319cmV0dXJuIG51bGw7fSxmb2N1 c0ZpcnN0OmZ1bmN0aW9uKGIpe3ZhciBhPUZvcm0uZ2V0Rmlyc3RFbGVtZW50KGIp O2lmKGEpe2EuZm9jdXMoKTtyZXR1cm4gdHJ1ZTt9cmV0dXJuIGZhbHNlO319KTt2 YXIgRE9NUGF0aD17ZmluZE5vZGVQYXRoOmZ1bmN0aW9uKGMsZSl7ZT1lfHxbXTtp ZihjLmlkfHwhRE9NLmlzTm9kZShjLnBhcmVudE5vZGUpKXJldHVybiB7aWQ6Yy5p ZCxwYXRoOmUucmV2ZXJzZSgpfTt2YXIgZD1jLnBhcmVudE5vZGU7dmFyIGI9ZC5j aGlsZE5vZGVzO2Zvcih2YXIgYT0wO2E8Yi5sZW5ndGg7KythKWlmKGJbYV09PT1j KXtlLnB1c2goYSk7cmV0dXJuIERPTVBhdGguZmluZE5vZGVQYXRoKGQsZSk7fXJl dHVybiBudWxsO30scmVzb2x2ZU5vZGVQYXRoOmZ1bmN0aW9uKGEpe3ZhciBiPWdl KGEuaWQpfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIERPTVBhdGgu X3Jlc29sdmVOb2RlUGF0aENoaWxkcmVuKGEucGF0aCxiLDApO30sX3Jlc29sdmVO b2RlUGF0aENoaWxkcmVuOmZ1bmN0aW9uKGMsZCxiKXtpZihiPT09Yy5sZW5ndGgp cmV0dXJuIGQ7dmFyIGE9ZC5jaGlsZE5vZGVzW2NbYl1dO2lmKCFhKXJldHVybiBu dWxsO3JldHVybiBET01QYXRoLl9yZXNvbHZlTm9kZVBhdGhDaGlsZHJlbihjLGEs YisxKTt9fTsKZnVuY3Rpb24gRGlhbG9nKGEpe3RoaXMuX3Nob3dfbG9hZGluZz10 cnVlO3RoaXMuX2xvYWRpbmdfd2FzX3Nob3duPWZhbHNlO3RoaXMuX2F1dG9fZm9j dXM9dHJ1ZTt0aGlzLl9mYWRlX2VuYWJsZWQ9dHJ1ZTt0aGlzLl9vbmxvYWRfaGFu ZGxlcnM9W107dGhpcy5fdG9wPTEyNTt0aGlzLl91bmlxdWVJRD0nZGlhbG9nXycr RGlhbG9nLl9nbG9iYWxDb3VudCsrO3RoaXMuX2NvbnRlbnQ9bnVsbDt0aGlzLl9v Ymo9bnVsbDt0aGlzLl9wb3B1cD1udWxsO3RoaXMuX292ZXJsYXk9bnVsbDt0aGlz Ll9zaGltPW51bGw7dGhpcy5faGlkZGVuX29iamVjdHM9W107dGhpcy5fY2F1c2Fs X2VsZW09bnVsbDtpZihhKXRoaXMuX3NldEZyb21Nb2RlbChhKTt9TWV0YXByb3Rv dHlwZS5tYWtlRmluYWwoRGlhbG9nKTtjb3B5X3Byb3BlcnRpZXMoRGlhbG9nLHtP Szp7bmFtZTonb2snLGxhYmVsOl90eCgiT2theSIpfSxDQU5DRUw6e25hbWU6J2Nh bmNlbCcsbGFiZWw6X3R4KCJDYW5jZWwiKSxjbGFzc05hbWU6J2lucHV0YXV4J30s Q0xPU0U6e25hbWU6J2Nsb3NlJyxsYWJlbDpfdHgoIkNsb3NlIil9LE5FWFQ6e25h bWU6J25leHQnLGxhYmVsOl90eCgiTmV4dCIpfSxTQVZFOntuYW1lOidzYXZlJyxs YWJlbDpfdHgoIlNhdmUiKX0sU1VCTUlUOntuYW1lOidzdWJtaXQnLGxhYmVsOl90 eCgiU3VibWl0Iil9LENPTkZJUk06e25hbWU6J2NvbmZpcm0nLGxhYmVsOl90eCgi Q29uZmlybSIpfSxERUxFVEU6e25hbWU6J2RlbGV0ZScsbGFiZWw6X3R4KCJEZWxl dGUiKX0sX2dsb2JhbENvdW50OjAsX2JvdHRvbXM6WzBdLG1heF9ib3R0b206MCxf dXBkYXRlTWF4Qm90dG9tOmZ1bmN0aW9uKCl7RGlhbG9nLm1heF9ib3R0b209TWF0 aC5tYXguYXBwbHkoTWF0aCxEaWFsb2cuX2JvdHRvbXMpO319KTtjb3B5X3Byb3Bl cnRpZXMoRGlhbG9nLHtPS19BTkRfQ0FOQ0VMOltEaWFsb2cuT0ssRGlhbG9nLkNB TkNFTF0sX1NUQU5EQVJEX0JVVFRPTlM6W0RpYWxvZy5PSyxEaWFsb2cuQ0FOQ0VM LERpYWxvZy5DTE9TRSxEaWFsb2cuU0FWRSxEaWFsb2cuU1VCTUlULERpYWxvZy5D T05GSVJNLERpYWxvZy5ERUxFVEVdLFNIT1VMRF9ISURFX09CSkVDVFM6IXVhLndp bmRvd3MoKSxfdXNlQ1NTQm9yZGVyczpDU1Muc3VwcG9ydHNCb3JkZXJSYWRpdXMo KXx8dWEuaWUoKTw9NixTSVpFOntXSURFOjU1NSxTVEFOREFSRDo0NDV9LF9IQUxP X1dJRFRIOjEwLF9CT1JERVJfV0lEVEg6MSxfUEFERElOR19XSURUSDoxMCxNT0RB TElUWTp7REFSSzonZGFyaycsV0hJVEU6J3doaXRlJ30sZGlhbG9nU3RhY2s6bnVs bCxuZXdCdXR0b246ZnVuY3Rpb24oZSxkLGIsYyl7dmFyIGE9e25hbWU6ZSxsYWJl bDpkfTtpZihiKWEuY2xhc3NOYW1lPWI7aWYoYylhLmhhbmRsZXI9YztyZXR1cm4g YTt9LGdldEN1cnJlbnQ6ZnVuY3Rpb24oKXt2YXIgYT1EaWFsb2cuZGlhbG9nU3Rh Y2s7aWYoIWF8fCFhLmxlbmd0aClyZXR1cm4gbnVsbDtyZXR1cm4gYVthLmxlbmd0 aC0xXTt9LGJvb3RzdHJhcDpmdW5jdGlvbihpLGEsZixkLGUsYyl7YT1hfHx7fTt2 YXIgaj1jJiZjLnJlbD09J2RpYWxvZy1waXBlJztjb3B5X3Byb3BlcnRpZXMoYSxu ZXcgVVJJKGkpLmdldFF1ZXJ5RGF0YSgpKTtkPWR8fChmPydHRVQnOidQT1NUJyk7 dmFyIGg9UGFyZW50LmJ5Q2xhc3MoYywnc3RhdF9lbGVtJyl8fGM7aWYoaCYmQ1NT Lmhhc0NsYXNzKGgsJ2FzeW5jX3NhdmluZycpKXJldHVybiBmYWxzZTt2YXIgZztp ZihqKXtnPW5ldyBBamF4UGlwZVJlcXVlc3QoKTt9ZWxzZSBnPW5ldyBBc3luY1Jl cXVlc3QoKS5zZXRSZWFkT25seSghIWYpLnNldE1ldGhvZChkKS5zZXRSZWxhdGl2 ZVRvKGMpLnNldFN0YXR1c0VsZW1lbnQoaCk7Zy5zZXRVUkkoaSkuc2V0TmVjdGFy TW9kdWxlRGF0YVNhZmUoYykuc2V0RGF0YShhKTt2YXIgYj1uZXcgRGlhbG9nKGUp LnNldENhdXNhbEVsZW1lbnQoYykuc2V0QXN5bmMoZyxqKTtiLnNob3coKTtyZXR1 cm4gZmFsc2U7fSxfYmFzaWNNdXRhdG9yOmZ1bmN0aW9uKGEpe3JldHVybiBmdW5j dGlvbihiKXt0aGlzW2FdPWI7dGhpcy5fZGlydHkoKTtyZXR1cm4gdGhpczt9O30s X2ZpbmRCdXR0b246ZnVuY3Rpb24oYSxjKXtpZihhKWZvcih2YXIgYj0wO2I8YS5s ZW5ndGg7KytiKWlmKGFbYl0ubmFtZT09YylyZXR1cm4gYVtiXTtyZXR1cm4gbnVs bDt9LF9rZXlEb3duRmlsdGVyOmZ1bmN0aW9uKGV2ZW50LGEpe3JldHVybiBhPT0n b25rZXlkb3duJyYmS2V5RXZlbnRDb250cm9sbGVyLmZpbHRlckV2ZW50TW9kaWZp ZXJzKGV2ZW50LGEpO30sX3RlYXJEb3duOmZ1bmN0aW9uKCl7RGlhbG9nLl9oaWRl QWxsKCk7RGlhbG9nLmRpYWxvZ1N0YWNrPW51bGw7fSxfaGlkZUFsbDpmdW5jdGlv bigpe2lmKERpYWxvZy5kaWFsb2dTdGFjayE9PW51bGwmJkRpYWxvZy5kaWFsb2dT dGFjay5sZW5ndGgpe3ZhciBiPURpYWxvZy5kaWFsb2dTdGFjay5jbG9uZSgpO0Rp YWxvZy5kaWFsb2dTdGFjaz1udWxsO2Zvcih2YXIgYT1iLmxlbmd0aC0xO2E+PTA7 YS0tKWJbYV0uaGlkZSgpO319LF9oYW5kbGVFc2NhcGVLZXk6ZnVuY3Rpb24oZXZl bnQsYSl7RGlhbG9nLl9lc2NhcGUoKTt9LF9lc2NhcGU6ZnVuY3Rpb24oKXt2YXIg ZD1EaWFsb2cuZ2V0Q3VycmVudCgpO2lmKCFkKXJldHVybiB0cnVlO3ZhciBlPWQu X3NlbWlfbW9kYWw7dmFyIGI9ZC5fYnV0dG9ucztpZighYiYmIWUpcmV0dXJuIHRy dWU7aWYoZSYmIWIpe2QuaGlkZSgpO3JldHVybiBmYWxzZTt9dmFyIGE7dmFyIGM9 RGlhbG9nLl9maW5kQnV0dG9uKGIsJ2NhbmNlbCcpO2lmKGQuX2NhbmNlbEhhbmRs ZXIpe2QuY2FuY2VsKCk7cmV0dXJuIGZhbHNlO31lbHNlIGlmKGMpe2E9Yzt9ZWxz ZSBpZihiLmxlbmd0aD09MSl7YT1iWzBdO31lbHNlIHJldHVybiB0cnVlO2QuX2hh bmRsZUJ1dHRvbihhKTtyZXR1cm4gZmFsc2U7fSxjYWxsX29yX2V2YWw6ZnVuY3Rp b24ob2JqLGZ1bmMsYXJncyl7aWYoIWZ1bmMpcmV0dXJuIHVuZGVmaW5lZDthcmdz PWFyZ3N8fHt9O2lmKHR5cGVvZihmdW5jKT09J3N0cmluZycpe3ZhciBwYXJhbXM9 a2V5cyhhcmdzKS5qb2luKCcsICcpO2Z1bmM9ZXZhbCgnKHtmOiBmdW5jdGlvbign K3BhcmFtcysnKSB7ICcrZnVuYysnfX0pJykuZjt9cmV0dXJuIGZ1bmMuYXBwbHko b2JqLHZhbHVlcyhhcmdzKSk7fX0pO2NvcHlfcHJvcGVydGllcyhEaWFsb2cucHJv dG90eXBlLHtzaG93OmZ1bmN0aW9uKGEpe3RoaXMuX3Nob3dpbmc9dHJ1ZTtpZihh KXtpZih0aGlzLl9vdmVybGF5KXRoaXMuX292ZXJsYXkuc3R5bGUuZGlzcGxheT0n JztpZih0aGlzLl9mYWRlX2VuYWJsZWQpQ1NTLnNldFN0eWxlKHRoaXMuX29iaiwn b3BhY2l0eScsMSk7dGhpcy5fb2JqLnN0eWxlLmRpc3BsYXk9Jyc7fWVsc2UgdGhp cy5fZGlydHkoKTtyZXR1cm4gdGhpczt9LHNob3dMb2FkaW5nOmZ1bmN0aW9uKCl7 dGhpcy5fbG9hZGluZ193YXNfc2hvd249dHJ1ZTt0aGlzLl9yZW5kZXJEaWFsb2co JE4oJ2Rpdicse2NsYXNzTmFtZTonZGlhbG9nX2xvYWRpbmcnfSxfdHgoIkxvYWRp bmcuLi4iKSkpO3JldHVybiB0aGlzO30saGlkZTpmdW5jdGlvbihhKXtpZighdGhp cy5fc2hvd2luZylyZXR1cm4gdGhpczt0aGlzLl9zaG93aW5nPWZhbHNlO2lmKHRo aXMuX2F1dG9oaWRlX3RpbWVvdXQpe2NsZWFyVGltZW91dCh0aGlzLl9hdXRvaGlk ZV90aW1lb3V0KTt0aGlzLl9hdXRvaGlkZV90aW1lb3V0PW51bGw7fWlmKHRoaXMu X2ZhZGVfZW5hYmxlZCYmKCFEaWFsb2cuZGlhbG9nU3RhY2t8fERpYWxvZy5kaWFs b2dTdGFjay5sZW5ndGg8PTEpKXt0aGlzLl9mYWRlT3V0KGEpO31lbHNlIHRoaXMu X2hpZGUoYSk7cmV0dXJuIHRoaXM7fSxjYW5jZWw6ZnVuY3Rpb24oKXtpZighdGhp cy5fY2FuY2VsSGFuZGxlcnx8dGhpcy5fY2FuY2VsSGFuZGxlcigpIT09ZmFsc2Up dGhpcy5oaWRlKCk7fSxnZXRSb290OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29i ajt9LGdldEJvZHk6ZnVuY3Rpb24oKXtyZXR1cm4gRE9NLnNjcnkodGhpcy5fb2Jq LCdkaXYuZGlhbG9nX2JvZHknKVswXTt9LGdldEJ1dHRvbkVsZW1lbnQ6ZnVuY3Rp b24oYSl7aWYodHlwZW9mIGE9PSdzdHJpbmcnKWE9RGlhbG9nLl9maW5kQnV0dG9u KHRoaXMuX2J1dHRvbnMsYSk7aWYoIWF8fCFhLm5hbWUpcmV0dXJuIG51bGw7dmFy IGI9RE9NLnNjcnkodGhpcy5fcG9wdXAsJ2lucHV0Jyk7dmFyIGM9ZnVuY3Rpb24o ZCl7cmV0dXJuIGQubmFtZT09YS5uYW1lO307cmV0dXJuIGIuZmlsdGVyKGMpWzBd fHxudWxsO30sZ2V0Q29udGVudE5vZGU6ZnVuY3Rpb24oKXtyZXR1cm4gRE9NLmZp bmQodGhpcy5fY29udGVudCwnZGl2LmRpYWxvZ19jb250ZW50Jyk7fSxnZXRGb3Jt RGF0YTpmdW5jdGlvbigpe3JldHVybiBGb3JtLnNlcmlhbGl6ZSh0aGlzLmdldENv bnRlbnROb2RlKCkpO30sc2V0U2hvd2luZzpmdW5jdGlvbigpe3RoaXMuc2hvdygp O3JldHVybiB0aGlzO30sc2V0SGlkaW5nOmZ1bmN0aW9uKCl7dGhpcy5oaWRlKCk7 cmV0dXJuIHRoaXM7fSxzZXRUaXRsZTpEaWFsb2cuX2Jhc2ljTXV0YXRvcignX3Rp dGxlJyksc2V0Qm9keTpEaWFsb2cuX2Jhc2ljTXV0YXRvcignX2JvZHknKSxzZXRF eHRyYURhdGE6RGlhbG9nLl9iYXNpY011dGF0b3IoJ19leHRyYV9kYXRhJyksc2V0 UmV0dXJuRGF0YTpEaWFsb2cuX2Jhc2ljTXV0YXRvcignX3JldHVybl9kYXRhJyks c2V0U2hvd0xvYWRpbmc6RGlhbG9nLl9iYXNpY011dGF0b3IoJ19zaG93X2xvYWRp bmcnKSxzZXRGdWxsQmxlZWQ6RGlhbG9nLl9iYXNpY011dGF0b3IoJ19mdWxsX2Js ZWVkJyksc2V0SW1tZWRpYXRlUmVuZGVyaW5nOmZ1bmN0aW9uKGEpe3RoaXMuX2lt bWVkaWF0ZV9yZW5kZXJpbmc9YTtyZXR1cm4gdGhpczt9LHNldENhdXNhbEVsZW1l bnQ6ZnVuY3Rpb24oYSl7dGhpcy5fY2F1c2FsX2VsZW09YTtyZXR1cm4gdGhpczt9 LHNldFVzZXJEYXRhOkRpYWxvZy5fYmFzaWNNdXRhdG9yKCdfdXNlcl9kYXRhJyks Z2V0VXNlckRhdGE6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdXNlcl9kYXRhO30s c2V0QXV0b2hpZGU6ZnVuY3Rpb24oYSl7aWYoYSl7aWYodGhpcy5fc2hvd2luZyl7 dGhpcy5fYXV0b2hpZGVfdGltZW91dD1zZXRUaW1lb3V0KHRoaXMuaGlkZS5zaGll bGQodGhpcyksYSk7fWVsc2UgdGhpcy5fYXV0b2hpZGU9YTt9ZWxzZXt0aGlzLl9h dXRvaGlkZT1udWxsO2lmKHRoaXMuX2F1dG9oaWRlX3RpbWVvdXQpe2NsZWFyVGlt ZW91dCh0aGlzLl9hdXRvaGlkZV90aW1lb3V0KTt0aGlzLl9hdXRvaGlkZV90aW1l b3V0PW51bGw7fX1yZXR1cm4gdGhpczt9LHNldFN1bW1hcnk6RGlhbG9nLl9iYXNp Y011dGF0b3IoJ19zdW1tYXJ5Jyksc2V0QnV0dG9uczpmdW5jdGlvbihhKXt2YXIg YztpZighKGEgaW5zdGFuY2VvZiBBcnJheSkpe2M9JEEoYXJndW1lbnRzKTt9ZWxz ZSBjPWE7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDsrK2QpaWYodHlwZW9mIGNbZF09 PSdzdHJpbmcnKXt2YXIgYj1EaWFsb2cuX2ZpbmRCdXR0b24oRGlhbG9nLl9TVEFO REFSRF9CVVRUT05TLGNbZF0pO2NbZF09Yjt9dGhpcy5fYnV0dG9ucz1jO3RoaXMu X3VwZGF0ZUJ1dHRvbnMoKTtyZXR1cm4gdGhpczt9LHNldEJ1dHRvbnNNZXNzYWdl OkRpYWxvZy5fYmFzaWNNdXRhdG9yKCdfYnV0dG9uc19tZXNzYWdlJyksc2V0Q2xp Y2tCdXR0b25PbkVudGVyOmZ1bmN0aW9uKGIsYSl7dGhpcy5fY2xpY2tCdXR0b25P bkVudGVyPWE7dGhpcy5fY2xpY2tCdXR0b25PbkVudGVySW5wdXROYW1lPWI7cmV0 dXJuIHRoaXM7fSxzZXRTdGFja2FibGU6ZnVuY3Rpb24oYixhKXt0aGlzLl9pc19z dGFja2FibGU9Yjt0aGlzLl9zaG93bl93aGlsZV9zdGFja2VkPWImJmE7cmV0dXJu IHRoaXM7fSxzZXRIYW5kbGVyOmZ1bmN0aW9uKGEpe3RoaXMuX2hhbmRsZXI9YTty ZXR1cm4gdGhpczt9LHNldENhbmNlbEhhbmRsZXI6ZnVuY3Rpb24oYSl7dGhpcy5f Y2FuY2VsSGFuZGxlcj1EaWFsb2cuY2FsbF9vcl9ldmFsLmJpbmQobnVsbCx0aGlz LGEpO3JldHVybiB0aGlzO30sc2V0Q2xvc2VIYW5kbGVyOmZ1bmN0aW9uKGEpe3Ro aXMuX2Nsb3NlX2hhbmRsZXI9RGlhbG9nLmNhbGxfb3JfZXZhbC5iaW5kKG51bGws dGhpcyxhKTtyZXR1cm4gdGhpczt9LGNsZWFySGFuZGxlcjpmdW5jdGlvbigpe3Jl dHVybiB0aGlzLnNldEhhbmRsZXIobnVsbCk7fSxzZXRQb3N0VVJJOmZ1bmN0aW9u KGIsYSl7aWYoYT09PXVuZGVmaW5lZClhPXRydWU7aWYoYSl7dGhpcy5zZXRIYW5k bGVyKHRoaXMuX3N1Ym1pdEZvcm0uYmluZCh0aGlzLCdQT1NUJyxiKSk7fWVsc2Ug dGhpcy5zZXRIYW5kbGVyKGZ1bmN0aW9uKCl7Rm9ybS5wb3N0KGIsdGhpcy5nZXRG b3JtRGF0YSgpKTt0aGlzLmhpZGUoKTt9LmJpbmQodGhpcykpO3JldHVybiB0aGlz O30sc2V0R2V0VVJJOmZ1bmN0aW9uKGEpe3RoaXMuc2V0SGFuZGxlcih0aGlzLl9z dWJtaXRGb3JtLmJpbmQodGhpcywnR0VUJyxhKSk7cmV0dXJuIHRoaXM7fSxzZXRN b2RhbDpmdW5jdGlvbihhLGIpe2lmKGE9PT11bmRlZmluZWQpYT10cnVlO2lmKGEm JmIpc3dpdGNoKGIpe2Nhc2UgRGlhbG9nLk1PREFMSVRZLkRBUks6dGhpcy5fbW9k YWxfY2xhc3M9J2RhcmsnO2JyZWFrO2Nhc2UgRGlhbG9nLk1PREFMSVRZLldISVRF OnRoaXMuX21vZGFsX2NsYXNzPSd3aGl0ZSc7YnJlYWs7fXRoaXMuX21vZGFsPWE7 cmV0dXJuIHRoaXM7fSxzZXRTZW1pTW9kYWw6ZnVuY3Rpb24oYSl7aWYoYT09PXVu ZGVmaW5lZClhPXRydWU7aWYoYSl0aGlzLnNldE1vZGFsKHRydWUsRGlhbG9nLk1P REFMSVRZLkRBUkspO3RoaXMuX3NlbWlfbW9kYWw9YTtyZXR1cm4gdGhpczt9LHNl dFdpZGVEaWFsb2c6RGlhbG9nLl9iYXNpY011dGF0b3IoJ193aWRlX2RpYWxvZycp LHNldENvbnRlbnRXaWR0aDpEaWFsb2cuX2Jhc2ljTXV0YXRvcignX2NvbnRlbnRf d2lkdGgnKSxzZXRUaXRsZUxvYWRpbmc6ZnVuY3Rpb24oYil7aWYoYj09PXVuZGVm aW5lZCliPXRydWU7dmFyIGE9RE9NLmZpbmQodGhpcy5fcG9wdXAsJ2gyLmRpYWxv Z190aXRsZScpO2lmKGEpQ1NTLmNvbmRpdGlvbkNsYXNzKGEsJ2xvYWRpbmcnLGIp O3JldHVybiB0aGlzO30sc2V0U2VjdXJlOkRpYWxvZy5fYmFzaWNNdXRhdG9yKCdf c2VjdXJlJyksc2V0Q2xhc3NOYW1lOkRpYWxvZy5fYmFzaWNNdXRhdG9yKCdfY2xh c3NfbmFtZScpLHNldEZhZGVFbmFibGVkOkRpYWxvZy5fYmFzaWNNdXRhdG9yKCdf ZmFkZV9lbmFibGVkJyksc2V0Rm9vdGVyOkRpYWxvZy5fYmFzaWNNdXRhdG9yKCdf Zm9vdGVyJyksc2V0QXV0b0ZvY3VzOkRpYWxvZy5fYmFzaWNNdXRhdG9yKCdfYXV0 b19mb2N1cycpLHNldFRvcDpEaWFsb2cuX2Jhc2ljTXV0YXRvcignX3RvcCcpLG9u bG9hZFJlZ2lzdGVyOmZ1bmN0aW9uKGEpeyRBKGEpLmZvckVhY2goZnVuY3Rpb24o Yil7aWYodHlwZW9mIGI9PSdzdHJpbmcnKWI9bmV3IEZ1bmN0aW9uKGIpO3RoaXMu X29ubG9hZF9oYW5kbGVycy5wdXNoKGIuYmluZCh0aGlzKSk7fS5iaW5kKHRoaXMp KTtyZXR1cm4gdGhpczt9LHNldEFzeW5jVVJMOmZ1bmN0aW9uKGEpe3JldHVybiB0 aGlzLnNldEFzeW5jKG5ldyBBc3luY1JlcXVlc3QoYSkpO30sc2V0QXN5bmM6ZnVu Y3Rpb24oYSxmKXt2YXIgYz1mdW5jdGlvbihqKXtpZih0aGlzLl9hc3luY19yZXF1 ZXN0IT1hKXJldHVybjt0aGlzLl9hc3luY19yZXF1ZXN0PW51bGw7dmFyIGk9ai5n ZXRQYXlsb2FkKCk7dmFyIGc9aTt2YXIgaD1mdW5jdGlvbigpe2lmKHR5cGVvZiBn PT0nc3RyaW5nJyl7dGhpcy5zZXRCb2R5KGcpO31lbHNlIHRoaXMuX3NldEZyb21N b2RlbChnKTt0aGlzLl91cGRhdGUodHJ1ZSk7fS5iaW5kKHRoaXMpO2lmKGYpe2c9 aS5kaWFsb2c7Qm9vdGxvYWRlci5zZXRSZXNvdXJjZU1hcChpLnJlc291cmNlX21h cCk7Qm9vdGxvYWRlci5sb2FkUmVzb3VyY2VzKGkuY3NzLGgpO31lbHNlIGgoKTt9 LmJpbmQodGhpcyk7dmFyIGI9YS5nZXREYXRhKCk7Yi5fX2Q9MTthLnNldERhdGEo Yik7dmFyIGQ9YmluZCh0aGlzLCdoaWRlJyk7dmFyIGU7aWYoZil7YS5zZXRGaXJz dFJlc3BvbnNlSGFuZGxlcihjKTtlPWEuZ2V0QXN5bmNSZXF1ZXN0KCk7fWVsc2V7 YS5zZXRIYW5kbGVyKGNoYWluKGEuZ2V0SGFuZGxlcigpLGMpKTtlPWE7fWUuc2V0 RXJyb3JIYW5kbGVyKGNoYWluKGQsZS5nZXRFcnJvckhhbmRsZXIoKSkpLnNldFRy YW5zcG9ydEVycm9ySGFuZGxlcihjaGFpbihkLGUuZ2V0VHJhbnNwb3J0RXJyb3JI YW5kbGVyKCkpKTthLnNlbmQoKTt0aGlzLl9hc3luY19yZXF1ZXN0PWE7dGhpcy5f ZGlydHkoKTtyZXR1cm4gdGhpczt9LF9kaXJ0eTpmdW5jdGlvbigpe2lmKCF0aGlz Ll9pc19kaXJ0eSl7dGhpcy5faXNfZGlydHk9dHJ1ZTtpZih0aGlzLl9pbW1lZGlh dGVfcmVuZGVyaW5nKXt0aGlzLl91cGRhdGUoKTt9ZWxzZSBiaW5kKHRoaXMsJ191 cGRhdGUnLGZhbHNlKS5kZWZlcigpO319LF9mb3JtYXQ6ZnVuY3Rpb24oYSl7aWYo dHlwZW9mIGE9PSdzdHJpbmcnKXthPUhUTUwoYSk7fWVsc2UgYT1IVE1MLnJlcGxh Y2VKU09OV3JhcHBlcihhKTtpZihhIGluc3RhbmNlb2YgSFRNTClhLnNldERlZmVy cmVkKHRydWUpO3JldHVybiBhO30sX3VwZGF0ZTpmdW5jdGlvbihkKXtpZighdGhp cy5faXNfZGlydHkmJmQhPT10cnVlKXJldHVybjt0aGlzLl9pc19kaXJ0eT1mYWxz ZTtpZighdGhpcy5fc2hvd2luZylyZXR1cm47aWYodGhpcy5fYXV0b2hpZGUmJiF0 aGlzLl9hc3luY19yZXF1ZXN0JiYhdGhpcy5fYXV0b2hpZGVfdGltZW91dCl0aGlz Ll9hdXRvaGlkZV90aW1lb3V0PXNldFRpbWVvdXQoYmluZCh0aGlzLCdoaWRlJyks dGhpcy5fYXV0b2hpZGUpO2lmKCF0aGlzLl9hc3luY19yZXF1ZXN0fHwhdGhpcy5f c2hvd19sb2FkaW5nKXtpZih0aGlzLl9sb2FkaW5nX3dhc19zaG93bj09PXRydWUp e3RoaXMuX2hpZGUodHJ1ZSk7dGhpcy5fbG9hZGluZ193YXNfc2hvd249ZmFsc2U7 fXZhciBiPVtdO2lmKHRoaXMuX3N1bW1hcnkpYi5wdXNoKCROKCdkaXYnLHtjbGFz c05hbWU6J2RpYWxvZ19zdW1tYXJ5J30sdGhpcy5fZm9ybWF0KHRoaXMuX3N1bW1h cnkpKSk7Yi5wdXNoKCROKCdkaXYnLHtjbGFzc05hbWU6J2RpYWxvZ19ib2R5J30s dGhpcy5fZm9ybWF0KHRoaXMuX2JvZHkpKSk7dmFyIGE9dGhpcy5fZ2V0QnV0dG9u Q29udGVudCgpO2lmKGEubGVuZ3RoKWIucHVzaCgkTignZGl2Jyx7Y2xhc3NOYW1l OidkaWFsb2dfYnV0dG9ucyBjbGVhcmZpeCd9LGEpKTtpZih0aGlzLl9mb290ZXIp Yi5wdXNoKCROKCdkaXYnLHtjbGFzc05hbWU6J2RpYWxvZ19mb290ZXInfSx0aGlz Ll9mb3JtYXQodGhpcy5fZm9vdGVyKSkpO2I9JE4oJ2Rpdicse2NsYXNzTmFtZTon ZGlhbG9nX2NvbnRlbnQnfSxiKTtpZih0aGlzLl90aXRsZSl7dmFyIGc9JE4oJ3Nw YW4nLHRoaXMuX2Zvcm1hdCh0aGlzLl90aXRsZSkpO3ZhciBoPSROKCdoMicse2Ns YXNzTmFtZTonZGlhbG9nX3RpdGxlJyxpZDondGl0bGVfJyt0aGlzLl91bmlxdWVJ RH0sZyk7Q1NTLmNvbmRpdGlvbkNsYXNzKGgsJ3NlY3VyZScsdGhpcy5fc2VjdXJl KTtiPVtoLGJdO31lbHNlIGI9W2JdO3RoaXMuX3JlbmRlckRpYWxvZyhiKTtDU1Mu Y29uZGl0aW9uQ2xhc3ModGhpcy5nZXRSb290KCksJ29taXREaWFsb2dGb290ZXIn LCFhLmxlbmd0aCk7aWYodGhpcy5fY2xpY2tCdXR0b25PbkVudGVySW5wdXROYW1l JiZ0aGlzLl9jbGlja0J1dHRvbk9uRW50ZXImJmdlKHRoaXMuX2NsaWNrQnV0dG9u T25FbnRlcklucHV0TmFtZSkpRXZlbnQubGlzdGVuKGdlKHRoaXMuX2NsaWNrQnV0 dG9uT25FbnRlcklucHV0TmFtZSksJ2tleXByZXNzJyxmdW5jdGlvbihpKXtpZihF dmVudC5nZXRLZXlDb2RlKGkpPT1LRVlTLlJFVFVSTil0aGlzLl9oYW5kbGVCdXR0 b24odGhpcy5fY2xpY2tCdXR0b25PbkVudGVyKTtyZXR1cm4gdHJ1ZTt9LmJpbmQo dGhpcykpO2Zvcih2YXIgZj0wO2Y8dGhpcy5fb25sb2FkX2hhbmRsZXJzLmxlbmd0 aDsrK2YpdHJ5e3RoaXMuX29ubG9hZF9oYW5kbGVyc1tmXSgpO31jYXRjaChlKXt9 dGhpcy5fb25sb2FkX2hhbmRsZXJzPVtdO31lbHNlIHRoaXMuc2hvd0xvYWRpbmco KTt2YXIgYz0yKkRpYWxvZy5fQk9SREVSX1dJRFRIO2lmKERpYWxvZy5fdXNlQ1NT Qm9yZGVycyljKz0yKkRpYWxvZy5fSEFMT19XSURUSDtpZih0aGlzLl9jb250ZW50 X3dpZHRoKXtjKz10aGlzLl9jb250ZW50X3dpZHRoO2lmKCF0aGlzLl9mdWxsX2Js ZWVkKWMrPTIqRGlhbG9nLl9QQURESU5HX1dJRFRIO31lbHNlIGlmKHRoaXMuX3dp ZGVfZGlhbG9nKXtjKz1EaWFsb2cuU0laRS5XSURFO31lbHNlIGMrPURpYWxvZy5T SVpFLlNUQU5EQVJEO3RoaXMuX3BvcHVwLnN0eWxlLndpZHRoPWMrJ3B4Jzt9LF91 cGRhdGVCdXR0b25zOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX3Nob3dpbmcpcmV0dXJu O3ZhciBiPXRoaXMuX2dldEJ1dHRvbkNvbnRlbnQoKTt2YXIgYz1udWxsO2lmKCF0 aGlzLmdldFJvb3QoKSl0aGlzLl9idWlsZERpYWxvZygpO0NTUy5jb25kaXRpb25D bGFzcyh0aGlzLmdldFJvb3QoKSwnb21pdERpYWxvZ0Zvb3RlcicsIWIubGVuZ3Ro KTtpZihiLmxlbmd0aCljPSROKCdkaXYnLHtjbGFzc05hbWU6J2RpYWxvZ19idXR0 b25zIGNsZWFyZml4J30sYik7dmFyIGQ9RE9NLnNjcnkodGhpcy5fY29udGVudCwn ZGl2LmRpYWxvZ19idXR0b25zJylbMF18fG51bGw7aWYoIWQpe2lmKCFjKXJldHVy bjt2YXIgYT10aGlzLmdldEJvZHkoKTtpZihhKURPTS5pbnNlcnRBZnRlcihhLGMp O31lbHNlIGlmKGMpe0RPTS5yZXBsYWNlKGQsYyk7fWVsc2UgRE9NLnJlbW92ZShk KTt9LF9nZXRCdXR0b25Db250ZW50OmZ1bmN0aW9uKCl7dmFyIGI9W107aWYoKHRo aXMuX2J1dHRvbnMmJnRoaXMuX2J1dHRvbnMubGVuZ3RoPjApfHx0aGlzLl9idXR0 b25zX21lc3NhZ2Upe2lmKHRoaXMuX2J1dHRvbnNfbWVzc2FnZSliLnB1c2goJE4o J2Rpdicse2NsYXNzTmFtZTonZGlhbG9nX2J1dHRvbnNfbXNnJ30sdGhpcy5fZm9y bWF0KHRoaXMuX2J1dHRvbnNfbWVzc2FnZSkpKTtpZih0aGlzLl9idXR0b25zKWZv cih2YXIgZT0wO2U8dGhpcy5fYnV0dG9ucy5sZW5ndGg7ZSsrKXt2YXIgYT10aGlz Ll9idXR0b25zW2VdO3ZhciBjPSROKCdpbnB1dCcse3R5cGU6J2J1dHRvbicsbmFt ZTphLm5hbWV8fCcnLHZhbHVlOmEubGFiZWx9KTt2YXIgZD0kTignbGFiZWwnLHtj bGFzc05hbWU6J3VpQnV0dG9uIHVpQnV0dG9uTGFyZ2UgdWlCdXR0b25Db25maXJt J30sYyk7aWYoYS5jbGFzc05hbWUpe2EuY2xhc3NOYW1lLnNwbGl0KC9ccysvKS5l YWNoKGZ1bmN0aW9uKGYpe0NTUy5hZGRDbGFzcyhkLGYpO30pO2lmKENTUy5oYXND bGFzcyhkLCdpbnB1dGF1eCcpKXtDU1MucmVtb3ZlQ2xhc3MoZCwnaW5wdXRhdXgn KTtDU1MucmVtb3ZlQ2xhc3MoZCwndWlCdXR0b25Db25maXJtJyk7fX1pZihhLmlj b24pRE9NLnByZXBlbmRDb250ZW50KGQsJE4oJ2ltZycse3NyYzphLmljb24sY2xh c3NOYW1lOidpbWcgbXJzJ30pKTtFdmVudC5saXN0ZW4oYywnY2xpY2snLHRoaXMu X2hhbmRsZUJ1dHRvbi5iaW5kKHRoaXMsYS5uYW1lKSk7Yi5wdXNoKGQpO319cmV0 dXJuIGI7fSxfcmVuZGVyRGlhbG9nOmZ1bmN0aW9uKGIpe2lmKERpYWxvZy5kaWFs b2dTdGFjaz09PW51bGwpe0tleUV2ZW50Q29udHJvbGxlci5yZWdpc3RlcktleSgn RVNDQVBFJyxEaWFsb2cuX2hhbmRsZUVzY2FwZUtleSxEaWFsb2cuX2tleURvd25G aWx0ZXIpO29ubGVhdmVSZWdpc3RlcihEaWFsb2cuX3RlYXJEb3duKTtBcmJpdGVy LnN1YnNjcmliZSgncGFnZV90cmFuc2l0aW9uJyxEaWFsb2cuX3RlYXJEb3duKTt9 aWYoIXRoaXMuX29iail0aGlzLl9idWlsZERpYWxvZygpO2lmKHRoaXMuX2NsYXNz X25hbWUpQ1NTLmFkZENsYXNzKHRoaXMuX29iaix0aGlzLl9jbGFzc19uYW1lKTtD U1MuY29uZGl0aW9uQ2xhc3ModGhpcy5fb2JqLCdmdWxsX2JsZWVkJyx0aGlzLl9m dWxsX2JsZWVkKTtpZih0eXBlb2YgYj09J3N0cmluZycpYj1IVE1MKGIpLnNldERl ZmVycmVkKHRoaXMuX2ltbWVkaWF0ZV9yZW5kZXJpbmchPT10cnVlKTtET00uc2V0 Q29udGVudCh0aGlzLl9jb250ZW50LGIpO3RoaXMuX3Nob3dEaWFsb2coKTtpZih0 aGlzLl9hdXRvX2ZvY3VzKUZvcm0uZm9jdXNGaXJzdC5iaW5kKHRoaXMsdGhpcy5f Y29udGVudCkuZGVmZXIoKTt2YXIgYT1WZWN0b3IyLmdldEVsZW1lbnREaW1lbnNp b25zKHRoaXMuX2NvbnRlbnQpLnkrVmVjdG9yMi5nZXRFbGVtZW50UG9zaXRpb24o dGhpcy5fY29udGVudCkueTtEaWFsb2cuX2JvdHRvbXMucHVzaChhKTt0aGlzLl9i b3R0b209YTtEaWFsb2cuX3VwZGF0ZU1heEJvdHRvbSgpO3JldHVybiB0aGlzO30s X2J1aWxkRGlhbG9nOmZ1bmN0aW9uKCl7dGhpcy5fb2JqPSROKCdkaXYnLHtjbGFz c05hbWU6J2dlbmVyaWNfZGlhbG9nJyx0YWJJbmRleDonMCd9KTt0aGlzLl9vYmou c2V0QXR0cmlidXRlKCdyb2xlJywnYWxlcnRkaWFsb2cnKTt0aGlzLl9vYmouc2V0 QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCd0aXRsZV8nK3RoaXMuX3VuaXF1 ZUlEKTt0aGlzLl9vYmouc3R5bGUuZGlzcGxheT0nbm9uZSc7RE9NLmdldFJvb3RF bGVtZW50KCkuYXBwZW5kQ2hpbGQodGhpcy5fb2JqKTtpZighdGhpcy5fcG9wdXAp dGhpcy5fcG9wdXA9JE4oJ2Rpdicse2NsYXNzTmFtZTonZ2VuZXJpY19kaWFsb2df cG9wdXAnfSk7dGhpcy5fcG9wdXAuc3R5bGUubGVmdD10aGlzLl9wb3B1cC5zdHls ZS50b3A9Jyc7dGhpcy5fb2JqLmFwcGVuZENoaWxkKHRoaXMuX3BvcHVwKTtpZih1 YS5pZSgpPDcmJiF0aGlzLl9zaGltKUJvb3Rsb2FkZXIubG9hZENvbXBvbmVudHMo J2lmcmFtZS1zaGltJyxmdW5jdGlvbigpe3RoaXMuX3NoaW09bmV3IElmcmFtZVNo aW0odGhpcy5fcG9wdXApO30pO3RoaXMuX2J1aWxkRGlhbG9nQ29udGVudCgpO30s X3Nob3dEaWFsb2c6ZnVuY3Rpb24oKXtpZih0aGlzLl9tb2RhbClpZih0aGlzLl9v dmVybGF5KXt0aGlzLl9vdmVybGF5LnN0eWxlLmRpc3BsYXk9Jyc7fWVsc2UgdGhp cy5fYnVpbGRPdmVybGF5KCk7aWYodGhpcy5fb2JqJiZ0aGlzLl9vYmouc3R5bGUu ZGlzcGxheSl7dGhpcy5fb2JqLnN0eWxlLnZpc2liaWxpdHk9J2hpZGRlbic7dGhp cy5fb2JqLnN0eWxlLmRpc3BsYXk9Jyc7dGhpcy5yZXNldERpYWxvZ1Bvc2l0aW9u KCk7dGhpcy5fb2JqLnN0eWxlLnZpc2liaWxpdHk9Jyc7dGhpcy5fb2JqLmRpYWxv Zz10aGlzO31lbHNlIHRoaXMucmVzZXREaWFsb2dQb3NpdGlvbigpO2NsZWFySW50 ZXJ2YWwodGhpcy5hY3RpdmVfaGlkaW5nKTt0aGlzLmFjdGl2ZV9oaWRpbmc9c2V0 SW50ZXJ2YWwodGhpcy5fYWN0aXZlUmVzaXplLmJpbmQodGhpcyksNTAwKTtBcmJp dGVyLmluZm9ybSgnbmV3X2xheWVyJyk7aWYoIURpYWxvZy5kaWFsb2dTdGFjaylE aWFsb2cuZGlhbG9nU3RhY2s9W107dmFyIGM9RGlhbG9nLmRpYWxvZ1N0YWNrO2lm KGMubGVuZ3RoKXt2YXIgYT1jW2MubGVuZ3RoLTFdO2lmKGEhPXRoaXMmJighYS5f aXNfc3RhY2thYmxlfHwoYS5fc2hvd19sb2FkaW5nJiZhLl9sb2FkaW5nX3dhc19z aG93bikpKWEuX2hpZGUoKTtmb3IodmFyIGI9Yy5sZW5ndGgtMTtiPj0wO2ItLSlp ZihjW2JdPT10aGlzKXtjLnNwbGljZShiLDEpO31lbHNlIGlmKCFjW2JdLl9zaG93 bl93aGlsZV9zdGFja2VkKWNbYl0uX2hpZGUodHJ1ZSk7fWMucHVzaCh0aGlzKTty ZXR1cm4gdGhpczt9LF91cGRhdGVTaGltOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu X3NoaW0mJnRoaXMuX3NoaW0uc2hvdygpO30sX2FjdGl2ZVJlc2l6ZTpmdW5jdGlv bigpe2lmKHRoaXMubGFzdF9vZmZzZXRfaGVpZ2h0IT10aGlzLl9jb250ZW50Lm9m ZnNldEhlaWdodCl7dGhpcy5sYXN0X29mZnNldF9oZWlnaHQ9dGhpcy5fY29udGVu dC5vZmZzZXRIZWlnaHQ7dGhpcy5fdXBkYXRlU2hpbSgpO319LF9idWlsZERpYWxv Z0NvbnRlbnQ6ZnVuY3Rpb24oKXtDU1MuYWRkQ2xhc3ModGhpcy5fb2JqLCdwb3Bf ZGlhbG9nJyk7aWYoaW50bF9sb2NhbGVfaXNfcnRsKCkpQ1NTLmFkZENsYXNzKHRo aXMuX29iaiwncG9wX2RpYWxvZ19ydGwnKTt2YXIgYTtpZihEaWFsb2cuX3VzZUNT U0JvcmRlcnMpe2E9JzxkaXYgY2xhc3M9InBvcF9jb250YWluZXJfYWR2YW5jZWQi PicrJzxkaXYgY2xhc3M9InBvcF9jb250ZW50IiBpZD0icG9wX2NvbnRlbnQiPjwv ZGl2PicrJzwvZGl2Pic7fWVsc2UgYT0nPGRpdiBjbGFzcz0icG9wX2NvbnRhaW5l ciI+JysnPGRpdiBjbGFzcz0icG9wX3ZlcnRpY2Fsc2xhYiI+PC9kaXY+JysnPGRp diBjbGFzcz0icG9wX2hvcml6b250YWxzbGFiIj48L2Rpdj4nKyc8ZGl2IGNsYXNz PSJwb3BfdG9wbGVmdCI+PC9kaXY+JysnPGRpdiBjbGFzcz0icG9wX3RvcHJpZ2h0 Ij48L2Rpdj4nKyc8ZGl2IGNsYXNzPSJwb3BfYm90dG9tcmlnaHQiPjwvZGl2Picr JzxkaXYgY2xhc3M9InBvcF9ib3R0b21sZWZ0Ij48L2Rpdj4nKyc8ZGl2IGNsYXNz PSJwb3BfY29udGVudCBwb3BfY29udGVudF9vbGQiIGlkPSJwb3BfY29udGVudCI+ PC9kaXY+JysnPC9kaXY+JztET00uc2V0Q29udGVudCh0aGlzLl9wb3B1cCxIVE1M KGEpKTt0aGlzLl9mcmFtZT1ET00uZmluZCh0aGlzLl9wb3B1cCwnZGl2LnBvcF9j b250ZW50Jyk7dGhpcy5fY29udGVudD10aGlzLl9mcmFtZTt9LF9idWlsZE92ZXJs YXk6ZnVuY3Rpb24oKXt0aGlzLl9vdmVybGF5PSROKCdkaXYnLHtpZDonZ2VuZXJp Y19kaWFsb2dfb3ZlcmxheSd9KTtpZih0aGlzLl9tb2RhbF9jbGFzcylDU1MuYWRk Q2xhc3ModGhpcy5fb3ZlcmxheSx0aGlzLl9tb2RhbF9jbGFzcyk7aWYodGhpcy5f c2VtaV9tb2RhbCl7dmFyIGE9ZnVuY3Rpb24oYil7aWYoYi5nZXRUYXJnZXQoKT09 dGhpcy5fb2JqfHxiLmdldFRhcmdldCgpPT10aGlzLl9vdmVybGF5KXRoaXMuaGlk ZSgpO30uYmluZCh0aGlzKTtFdmVudC5saXN0ZW4odGhpcy5fb2JqLCdjbGljaycs YSk7RXZlbnQubGlzdGVuKHRoaXMuX292ZXJsYXksJ2NsaWNrJyxhKTt9aWYodWEu aWUoKTw3KXRoaXMuX292ZXJsYXkuc3R5bGUuaGVpZ2h0PVZlY3RvcjIuZ2V0RG9j dW1lbnREaW1lbnNpb25zKCkueSsncHgnO29ubG9hZFJlZ2lzdGVyKGZ1bmN0aW9u KCl7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9vdmVybGF5KTt9LmJp bmQodGhpcykpO30scmVzZXREaWFsb2dQb3NpdGlvbjpmdW5jdGlvbigpe2lmKCF0 aGlzLl9wb3B1cClyZXR1cm47dGhpcy5fcmVzZXREaWFsb2dPYmooKTt0aGlzLl91 cGRhdGVTaGltKCk7fSxfcmVzZXREaWFsb2dPYmo6ZnVuY3Rpb24oKXt2YXIgYT1E T00uZmluZCh0aGlzLl9wb3B1cCwnZGl2LnBvcF9jb250ZW50Jyk7dmFyIGQ9VmVj dG9yMi5nZXRTY3JvbGxQb3NpdGlvbigpLnk7dmFyIGY9MjA7dmFyIGc9VmVjdG9y Mi5nZXRWaWV3cG9ydERpbWVuc2lvbnMoKS55O3ZhciBiPVZlY3RvcjIuZ2V0RWxl bWVudERpbWVuc2lvbnMoYSkueStmO3ZhciBlPWQrdGhpcy5fdG9wKydweCc7aWYo dGhpcy5fdG9wK2I+Zyl7dmFyIGM9TWF0aC5tYXgoZy1iLDApO2U9KChjLzIpK2Qp KydweCc7fXRoaXMuX3BvcHVwLnN0eWxlLnRvcD1lO30sX2ZhZGVPdXQ6ZnVuY3Rp b24oYil7aWYoIXRoaXMuX3BvcHVwKXJldHVybjt0cnl7YW5pbWF0aW9uKHRoaXMu X29iaikuZHVyYXRpb24oMCkuY2hlY2twb2ludCgpLnRvKCdvcGFjaXR5JywwKS5o aWRlKCkuZHVyYXRpb24oMjUwKS5vbmRvbmUodGhpcy5faGlkZS5iaW5kKHRoaXMs YikpLmdvKCk7fWNhdGNoKGEpe3RoaXMuX2hpZGUoYik7fX0sX2hpZGU6ZnVuY3Rp b24oZCl7aWYodGhpcy5fb2JqKXRoaXMuX29iai5zdHlsZS5kaXNwbGF5PSdub25l JztpZih0aGlzLl9vdmVybGF5KWlmKGQpe3RoaXMuX292ZXJsYXkuc3R5bGUuZGlz cGxheT0nbm9uZSc7fWVsc2V7RE9NLnJlbW92ZSh0aGlzLl9vdmVybGF5KTt0aGlz Ll9vdmVybGF5PW51bGw7fXRoaXMuX3VwZGF0ZVNoaW0oKTtpZih0aGlzLnRpbWVv dXQpe2NsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO3RoaXMudGltZW91dD1udWxs O31pZih0aGlzLl9oaWRkZW5fb2JqZWN0cy5sZW5ndGgpe2Zvcih2YXIgYj0wLGM9 dGhpcy5faGlkZGVuX29iamVjdHMubGVuZ3RoO2I8YztiKyspdGhpcy5faGlkZGVu X29iamVjdHNbYl0uc3R5bGUudmlzaWJpbGl0eT0nJzt0aGlzLl9oaWRkZW5fb2Jq ZWN0cz1bXTt9Y2xlYXJJbnRlcnZhbCh0aGlzLmFjdGl2ZV9oaWRpbmcpO2lmKHRo aXMuX2JvdHRvbSl7dmFyIGE9RGlhbG9nLl9ib3R0b21zO2Euc3BsaWNlKGEuaW5k ZXhPZih0aGlzLl9ib3R0b20pLDEpO0RpYWxvZy5fdXBkYXRlTWF4Qm90dG9tKCk7 fWlmKGQpcmV0dXJuO3RoaXMuZGVzdHJveSgpO30sZGVzdHJveTpmdW5jdGlvbigp e2lmKERpYWxvZy5kaWFsb2dTdGFjayYmRGlhbG9nLmRpYWxvZ1N0YWNrLmxlbmd0 aCl7dmFyIGI9RGlhbG9nLmRpYWxvZ1N0YWNrO2Zvcih2YXIgYT1iLmxlbmd0aC0x O2E+PTA7YS0tKWlmKGJbYV09PXRoaXMpYi5zcGxpY2UoYSwxKTtpZihiLmxlbmd0 aCliW2IubGVuZ3RoLTFdLl9zaG93RGlhbG9nKCk7fWlmKHRoaXMuX29iail7RE9N LnJlbW92ZSh0aGlzLl9vYmopO3RoaXMuX29iaj1udWxsO3RoaXMuX3NoaW0mJnRo aXMuX3NoaW0uaGlkZSgpO3RoaXMuX3NoaW09bnVsbDt9aWYodGhpcy5fY2xvc2Vf aGFuZGxlcil0aGlzLl9jbG9zZV9oYW5kbGVyKHtyZXR1cm5fZGF0YTp0aGlzLl9y ZXR1cm5fZGF0YX0pO30sX2hhbmRsZUJ1dHRvbjpmdW5jdGlvbihhKXtpZih0eXBl b2YgYT09J3N0cmluZycpYT1EaWFsb2cuX2ZpbmRCdXR0b24odGhpcy5fYnV0dG9u cyxhKTt2YXIgYj1EaWFsb2cuY2FsbF9vcl9ldmFsKGEsYS5oYW5kbGVyKTtpZihi PT09ZmFsc2UpcmV0dXJuO2lmKGEubmFtZT09J2NhbmNlbCcpe3RoaXMuY2FuY2Vs KCk7fWVsc2UgaWYoRGlhbG9nLmNhbGxfb3JfZXZhbCh0aGlzLHRoaXMuX2hhbmRs ZXIse2J1dHRvbjphfSkhPT1mYWxzZSl0aGlzLmhpZGUoKTt9LF9zdWJtaXRGb3Jt OmZ1bmN0aW9uKGQsZSxiKXt2YXIgYz10aGlzLmdldEZvcm1EYXRhKCk7aWYoYilj W2IubmFtZV09Yi5sYWJlbDtpZih0aGlzLl9leHRyYV9kYXRhKWNvcHlfcHJvcGVy dGllcyhjLHRoaXMuX2V4dHJhX2RhdGEpO3ZhciBhPW5ldyBBc3luY1JlcXVlc3Qo KS5zZXRVUkkoZSkuc2V0RGF0YShjKS5zZXRNZXRob2QoZCkuc2V0TmVjdGFyTW9k dWxlRGF0YVNhZmUodGhpcy5fY2F1c2FsX2VsZW0pLnNldFJlYWRPbmx5KGQ9PSdH RVQnKTt0aGlzLnNldEFzeW5jKGEpO3JldHVybiBmYWxzZTt9LF9zZXRGcm9tTW9k ZWw6ZnVuY3Rpb24oYyl7dmFyIGE9e307Y29weV9wcm9wZXJ0aWVzKGEsYyk7aWYo YS5pbW1lZGlhdGVSZW5kZXJpbmcpe3RoaXMuc2V0SW1tZWRpYXRlUmVuZGVyaW5n KGEuaW1tZWRpYXRlUmVuZGVyaW5nKTtkZWxldGUgYS5pbW1lZGlhdGVSZW5kZXJp bmc7fWZvcih2YXIgZCBpbiBhKXtpZihkPT0nb25sb2FkUmVnaXN0ZXInKXt0aGlz Lm9ubG9hZFJlZ2lzdGVyKGFbZF0pO2NvbnRpbnVlO312YXIgYj10aGlzWydzZXQn K2Quc3Vic3RyKDAsMSkudG9VcHBlckNhc2UoKStkLnN1YnN0cigxKV07Yi5hcHBs eSh0aGlzLCRBKGFbZF0pKTt9fSxfdXBkYXRlQm90dG9tOmZ1bmN0aW9uKCl7dmFy IGE9VmVjdG9yMi5nZXRFbGVtZW50RGltZW5zaW9ucyh0aGlzLl9jb250ZW50KS55 K1ZlY3RvcjIuZ2V0RWxlbWVudFBvc2l0aW9uKHRoaXMuX2NvbnRlbnQpLnk7RGlh bG9nLl9ib3R0b21zW0RpYWxvZy5fYm90dG9tcy5sZW5ndGgtMV09YTtEaWFsb2cu X3VwZGF0ZU1heEJvdHRvbSgpO319KTsKZnVuY3Rpb24gQXN5bmNSZXF1ZXN0KHVy aSl7dmFyIGRpc3BhdGNoUmVzcG9uc2U9YmluZCh0aGlzLGZ1bmN0aW9uKGFzeW5j UmVzcG9uc2Upe3RyeXt0aGlzLmNsZWFyU3RhdHVzSW5kaWNhdG9yKCk7dGhpcy5f bWVhc3VyZVNhdmVkJiZ0aGlzLl9tZWFzdXJlU2F2ZWQoKTtpZih0aGlzLl9pc1By ZWZldGNoKXt0aGlzLl9pc1ByZWZldGNoPWZhbHNlO3JldHVybjt9aWYoIXRoaXMu aXNSZWxldmFudCgpKXtpbnZva2VFcnJvckhhbmRsZXIoMTAxMCk7cmV0dXJuO31p Zih0aGlzLmluaXRpYWxIYW5kbGVyKGFzeW5jUmVzcG9uc2UpIT09ZmFsc2Upe2Ns ZWFyVGltZW91dCh0aGlzLnRpbWVyKTthc3luY1Jlc3BvbnNlLmpzY2MmJmludm9r ZV9jYWxsYmFja3MoW2FzeW5jUmVzcG9uc2UuanNjY10pO2lmKHRoaXMuaGFuZGxl cil0cnl7dmFyIHN1cHByZXNzX29ubG9hZD10aGlzLmhhbmRsZXIoYXN5bmNSZXNw b25zZSk7fWNhdGNoKGV4Y2VwdGlvbil7YXN5bmNSZXNwb25zZS5pc19sYXN0JiZ0 aGlzLmZpbmFsbHlIYW5kbGVyKGFzeW5jUmVzcG9uc2UpO3Rocm93IGV4Y2VwdGlv bjt9YXN5bmNSZXNwb25zZS5pc19sYXN0JiZ0aGlzLmZpbmFsbHlIYW5kbGVyKGFz eW5jUmVzcG9uc2UpO2lmKHN1cHByZXNzX29ubG9hZCE9PUFzeW5jUmVxdWVzdC5z dXBwcmVzc09ubG9hZFRva2VuKXt2YXIgb25sb2FkPWFzeW5jUmVzcG9uc2Uub25s b2FkO2lmKG9ubG9hZClmb3IodmFyIGlpPTA7aWk8b25sb2FkLmxlbmd0aDtpaSsr KXRyeXsobmV3IEZ1bmN0aW9uKG9ubG9hZFtpaV0pKS5hcHBseSh0aGlzKTt9Y2F0 Y2goZXhjZXB0aW9uKXt9aWYodGhpcy5saWQmJiFhc3luY1Jlc3BvbnNlLmlzUmVw bGF5KCkpQXJiaXRlci5pbmZvcm0oJ3R0aV9hamF4Jyx7czp0aGlzLmxpZCxkOlt0 aGlzLl9zZW5kVGltZVN0YW1wfHwwLCh0aGlzLl9zZW5kVGltZVN0YW1wJiZ0aGlz Ll9yZXNwb25zZVRpbWUpPyh0aGlzLl9yZXNwb25zZVRpbWUtdGhpcy5fc2VuZFRp bWVTdGFtcCk6MF19LEFyYml0ZXIuQkVIQVZJT1JfRVZFTlQpO3ZhciBvbmFmdGVy bG9hZD1hc3luY1Jlc3BvbnNlLm9uYWZ0ZXJsb2FkO2lmKG9uYWZ0ZXJsb2FkKWZv cih2YXIgaWk9MDtpaTxvbmFmdGVybG9hZC5sZW5ndGg7aWkrKyl0cnl7KG5ldyBG dW5jdGlvbihvbmFmdGVybG9hZFtpaV0pKS5hcHBseSh0aGlzKTt9Y2F0Y2goZXhj ZXB0aW9uKXt9fXZhciBpbnZhbGlkYXRlX2NhY2hlPWFzeW5jUmVzcG9uc2UuaW52 YWxpZGF0ZV9jYWNoZTtpZighdGhpcy5nZXRPcHRpb24oJ3N1cHByZXNzQ2FjaGVJ bnZhbGlkYXRpb24nKSYmaW52YWxpZGF0ZV9jYWNoZSYmaW52YWxpZGF0ZV9jYWNo ZS5sZW5ndGgpQXJiaXRlci5pbmZvcm0oQXJiaXRlci5QQUdFQ0FDSEVfSU5WQUxJ REFURSxpbnZhbGlkYXRlX2NhY2hlKTt9aWYoYXN5bmNSZXNwb25zZS5jYWNoZU9i c2VydmF0aW9uJiZ0eXBlb2YoVGFiQ29uc29sZUNhY2hlb2JzZXJ2ZXIpIT0ndW5k ZWZpbmVkJyYmVGFiQ29uc29sZUNhY2hlb2JzZXJ2ZXIuaW5zdGFuY2UpVGFiQ29u c29sZUNhY2hlb2JzZXJ2ZXIuZ2V0SW5zdGFuY2UoKS5hZGRBc3luY09ic2VydmF0 aW9uKGFzeW5jUmVzcG9uc2UuY2FjaGVPYnNlcnZhdGlvbik7fWNhdGNoKGV4Y2Vw dGlvbil7fX0pO3ZhciByZXBsYXlSZXNwb25zZXM9YmluZCh0aGlzLGZ1bmN0aW9u KCl7aWYoaXNfZW1wdHkodGhpcy5fYXN5bmNSZXNwb25zZXMpKXJldHVybjt0aGlz LnNldE5ld1NlcmlhbCgpO2Zvcih2YXIgaWk9MDtpaTx0aGlzLl9hc3luY1Jlc3Bv bnNlcy5sZW5ndGg7KytpaSl7dmFyIHI9dGhpcy5fYXN5bmNSZXNwb25zZXNbaWld O2ludm9rZVJlc3BvbnNlSGFuZGxlcihyLHRydWUpO319KTt2YXIgZGlzcGF0Y2hF cnJvclJlc3BvbnNlPWJpbmQodGhpcyxmdW5jdGlvbihhc3luY1Jlc3BvbnNlLGlz VHJhbnNwb3J0KXt0cnl7dGhpcy5jbGVhclN0YXR1c0luZGljYXRvcigpO3ZhciBh c3luY19lcnJvcj1hc3luY1Jlc3BvbnNlLmdldEVycm9yKCk7aWYodGhpcy5fc2Vu ZFRpbWVTdGFtcCl7dmFyIF9kdXJhdGlvbj0oK25ldyBEYXRlKCkpLXRoaXMuX3Nl bmRUaW1lU3RhbXA7dmFyIHhmYl9pcD10aGlzLl94RmJTZXJ2ZXJ8fCctJzthc3lu Y1Jlc3BvbnNlLmxvZ0Vycm9yKCdhc3luY19lcnJvcicsX2R1cmF0aW9uKyc6Jyt4 ZmJfaXApO31lbHNlIGFzeW5jUmVzcG9uc2UubG9nRXJyb3IoJ2FzeW5jX2Vycm9y Jyk7aWYoKCF0aGlzLmlzUmVsZXZhbnQoKSl8fGFzeW5jX2Vycm9yPT09MTAxMCly ZXR1cm47aWYoYXN5bmNfZXJyb3I9PTEzNTcwMDh8fGFzeW5jX2Vycm9yPT0xMzU3 MDA3fHxhc3luY19lcnJvcj09MTQ0MjAwMnx8YXN5bmNfZXJyb3I9PTEzNTcwMDEp e3ZhciBpc19jb25maXJtYXRpb249ZmFsc2U7aWYoYXN5bmNfZXJyb3I9PTEzNTcw MDh8fGFzeW5jX2Vycm9yPT0xMzU3MDA3KWlzX2NvbmZpcm1hdGlvbj10cnVlO3Zh ciBwYXlsb2FkPWFzeW5jUmVzcG9uc2UuZ2V0UGF5bG9hZCgpO3RoaXMuX2Rpc3Bs YXlTZXJ2ZXJEaWFsb2cocGF5bG9hZC5fX2RpYWxvZyxpc19jb25maXJtYXRpb24p O31lbHNlIGlmKHRoaXMuaW5pdGlhbEhhbmRsZXIoYXN5bmNSZXNwb25zZSkhPT1m YWxzZSl7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO3RyeXtpZihpc1RyYW5zcG9y dCl7dGhpcy50cmFuc3BvcnRFcnJvckhhbmRsZXIoYXN5bmNSZXNwb25zZSk7fWVs c2UgdGhpcy5lcnJvckhhbmRsZXIoYXN5bmNSZXNwb25zZSk7fWNhdGNoKGV4Y2Vw dGlvbil7dGhpcy5maW5hbGx5SGFuZGxlcihhc3luY1Jlc3BvbnNlKTt0aHJvdyBl eGNlcHRpb247fXRoaXMuZmluYWxseUhhbmRsZXIoYXN5bmNSZXNwb25zZSk7fX1j YXRjaChleGNlcHRpb24pe319KTt2YXIgX2ludGVycHJldFRyYW5zcG9ydFJlc3Bv bnNlPWJpbmQodGhpcyxmdW5jdGlvbigpe2lmKHRoaXMuZ2V0T3B0aW9uKCdzdXBw cmVzc0V2YWx1YXRpb24nKSl7dmFyIHI9bmV3IEFzeW5jUmVzcG9uc2UodGhpcyx0 aGlzLnRyYW5zcG9ydCk7cmV0dXJuIHthc3luY1Jlc3BvbnNlOnJ9O312YXIgX3Nl bmRFcnJvcj1mdW5jdGlvbihwLGVycm9yX2NvZGUsc3RyKXtpZighd2luZG93LnNl bmRfZXJyb3Jfc2lnbmFsKXJldHVybjtpZih0aGlzLl94RmJTZXJ2ZXIpe2Vycm9y X2NvZGU9JzEwMDhfJytlcnJvcl9jb2RlO31lbHNlIGVycm9yX2NvZGU9JzEwMTJf JytlcnJvcl9jb2RlO3NlbmRfZXJyb3Jfc2lnbmFsKCdhc3luY194cG9ydF9yZXNw JyxlcnJvcl9jb2RlKyc6JysodGhpcy5feEZiU2VydmVyfHwnLScpKyc6JytwLmdl dFVSSSgpKyc6JytzdHIubGVuZ3RoKyc6JytzdHIuc3Vic3RyKDAsMTYwMCkpO307 dmFyIHNoaWVsZD0iZm9yICg7Oyk7Ijt2YXIgc2hpZWxkbGVuPXNoaWVsZC5sZW5n dGg7dmFyIHRleHQ9dGhpcy50cmFuc3BvcnQucmVzcG9uc2VUZXh0O2lmKHRleHQu bGVuZ3RoPD1zaGllbGRsZW4pe19zZW5kRXJyb3IodGhpcywnZW1wdHknLHRleHQp O3JldHVybiB7dHJhbnNwb3J0RXJyb3I6J1Jlc3BvbnNlIHRvbyBzaG9ydCBvbiBh c3luYyB0byAnK3RoaXMuZ2V0VVJJKCl9O312YXIgb2Zmc2V0PTA7d2hpbGUodGV4 dC5jaGFyQXQob2Zmc2V0KT09IiAifHx0ZXh0LmNoYXJBdChvZmZzZXQpPT0iXG4i KW9mZnNldCsrO29mZnNldCYmdGV4dC5zdWJzdHJpbmcob2Zmc2V0LG9mZnNldCtz aGllbGRsZW4pPT1zaGllbGQ7dmFyIHNhZmVSZXNwb25zZT10ZXh0LnN1YnN0cmlu ZyhvZmZzZXQrc2hpZWxkbGVuKTt0cnl7dmFyIHJlc3BvbnNlPWV2YWwoJygnK3Nh ZmVSZXNwb25zZSsnKScpO31jYXRjaChleGNlcHRpb24pe19zZW5kRXJyb3IodGhp cywnZXhjZXAnLHRleHQpO3JldHVybiB7dHJhbnNwb3J0RXJyb3I6J2V2YWwoKSBm YWlsZWQgb24gYXN5bmMgdG8gJyt0aGlzLmdldFVSSSgpfTt9cmV0dXJuIGludGVy cHJldFJlc3BvbnNlKHJlc3BvbnNlKTt9KTt2YXIgaW50ZXJwcmV0UmVzcG9uc2U9 YmluZCh0aGlzLGZ1bmN0aW9uKHJlc3BvbnNlKXtpZihyZXNwb25zZS5yZWRpcmVj dClyZXR1cm4ge3JlZGlyZWN0OnJlc3BvbnNlLnJlZGlyZWN0fTt2YXIgcj1uZXcg QXN5bmNSZXNwb25zZSh0aGlzKTtpZihyZXNwb25zZS5fX2FyIT0xKXtyLnBheWxv YWQ9cmVzcG9uc2U7fWVsc2V7Y29weV9wcm9wZXJ0aWVzKHIscmVzcG9uc2UpO2lm KHJlc3BvbnNlLnRwbHRzKWlmKHdpbmRvdy5EeW5hVGVtcGxhdGUpRHluYVRlbXBs YXRlLnJlZ2lzdGVyVGVtcGxhdGVzKHJlc3BvbnNlLnRwbHRzKTt9cmV0dXJuIHth c3luY1Jlc3BvbnNlOnJ9O30pO3ZhciBpbnZva2VSZXNwb25zZUhhbmRsZXI9Ymlu ZCh0aGlzLGZ1bmN0aW9uKGludGVycCxpc19yZXBsYXkpe2lmKHR5cGVvZihpbnRl cnAucmVkaXJlY3QpIT0ndW5kZWZpbmVkJyl7KGZ1bmN0aW9uKCl7dGhpcy5zZXRV UkkoaW50ZXJwLnJlZGlyZWN0KS5zZW5kKCk7fSkuYmluZCh0aGlzKS5kZWZlcigp O3JldHVybjt9aWYodGhpcy5oYW5kbGVyfHx0aGlzLmVycm9ySGFuZGxlcnx8dGhp cy50cmFuc3BvcnRFcnJvckhhbmRsZXIpaWYodHlwZW9mKGludGVycC5hc3luY1Jl c3BvbnNlKSE9J3VuZGVmaW5lZCcpe3ZhciByPWludGVycC5hc3luY1Jlc3BvbnNl O3Iuc2V0UmVwbGF5KCEhaXNfcmVwbGF5KTtpZighdGhpcy5pc1JlbGV2YW50KCkp e2ludm9rZUVycm9ySGFuZGxlcigxMDEwKTtyZXR1cm47fWlmKHIuaW5saW5lanMp ZXZhbF9nbG9iYWwoci5pbmxpbmVqcyk7aWYoci5saWQpe3RoaXMuX3Jlc3BvbnNl VGltZT0oK25ldyBEYXRlKCkpO2lmKHdpbmRvdy5DYXZhbHJ5TG9nZ2VyKXRoaXMu Y2F2YWxyeT1DYXZhbHJ5TG9nZ2VyLmdldEluc3RhbmNlKHIubGlkKTt0aGlzLmxp ZD1yLmxpZDt9aWYoci5nZXRFcnJvcigpJiYhci5nZXRFcnJvcklzV2FybmluZygp KXt2YXIgZm49ZGlzcGF0Y2hFcnJvclJlc3BvbnNlO31lbHNle3ZhciBmbj1kaXNw YXRjaFJlc3BvbnNlO2lmKHRoaXMuX3JlcGxheWFibGUmJiFpc19yZXBsYXkmJiFy LmRvbnRSZXBsYXkpe3RoaXMuX2FzeW5jUmVzcG9uc2VzPXRoaXMuX2FzeW5jUmVz cG9uc2VzfHxbXTt0aGlzLl9hc3luY1Jlc3BvbnNlcy5wdXNoKGludGVycCk7fX1C b290bG9hZGVyLnNldFJlc291cmNlTWFwKHIucmVzb3VyY2VfbWFwKTtpZihyLmJv b3Rsb2FkYWJsZSlCb290bG9hZGVyLmVuYWJsZUJvb3Rsb2FkKHIuYm9vdGxvYWRh YmxlKTtmbj1mbi5zaGllbGQobnVsbCxyKTtmbj1mbi5kZWZlci5iaW5kKGZuKTt2 YXIgaXNfdHJhbnNpdGlvbmFsPWZhbHNlO2lmKHRoaXMucHJlQm9vdGxvYWRIYW5k bGVyKWlzX3RyYW5zaXRpb25hbD10aGlzLnByZUJvb3Rsb2FkSGFuZGxlcihyKTty LmNzcz1yLmNzc3x8W107ci5qcz1yLmpzfHxbXTtCb290bG9hZGVyLmxvYWRSZXNv dXJjZXMoci5jc3MuY29uY2F0KHIuanMpLGZuLGlzX3RyYW5zaXRpb25hbCx0aGlz LmdldFVSSSgpKTt9ZWxzZSBpZih0eXBlb2YoaW50ZXJwLnRyYW5zcG9ydEVycm9y KSE9J3VuZGVmaW5lZCcpe2lmKHRoaXMuX3hGYlNlcnZlcil7aW52b2tlRXJyb3JI YW5kbGVyKDEwMDgpO31lbHNlIGludm9rZUVycm9ySGFuZGxlcigxMDEyKTt9ZWxz ZSBpbnZva2VFcnJvckhhbmRsZXIoMTAwNyk7fSk7dmFyIGludm9rZUVycm9ySGFu ZGxlcj1iaW5kKHRoaXMsZnVuY3Rpb24oZXhwbGljaXRFcnJvcil7dHJ5e2lmKCF3 aW5kb3cubG9hZGVkJiYhdGhpcy5nZXRPcHRpb24oJ2hhbmRsZUVycm9yQWZ0ZXJV bmxvYWQnKSlyZXR1cm47fWNhdGNoKGV4KXtyZXR1cm47fXZhciByPW5ldyBBc3lu Y1Jlc3BvbnNlKHRoaXMpO3ZhciBlcnI7dHJ5e2Vycj1leHBsaWNpdEVycm9yfHx0 aGlzLnRyYW5zcG9ydC5zdGF0dXN8fDEwMDQ7fWNhdGNoKGV4KXtlcnI9MTAwNTt9 aWYodGhpcy5fcmVxdWVzdEFib3J0ZWQpZXJyPTEwMTE7dHJ5e2lmKHRoaXMucmVz cG9uc2VUZXh0PT0nJyllcnI9MTAwMjt9Y2F0Y2goaWdub3JlKXt9aWYodGhpcy50 cmFuc3BvcnRFcnJvckhhbmRsZXIpe3ZhciBkZXNjLHN1bW1hcnk7dmFyIHNpbGVu dD10cnVlO2lmKGZhbHNlPT09bmF2aWdhdG9yLm9uTGluZSl7c3VtbWFyeT1fdHgo Ik5vIE5ldHdvcmsgQ29ubmVjdGlvbiIpO2Rlc2M9X3R4KCJZb3VyIGJyb3dzZXIg YXBwZWFycyB0byBiZSBvZmZsaW5lLiBQbGVhc2UgY2hlY2sgeW91ciBpbnRlcm5l dCBjb25uZWN0aW9uIGFuZCB0cnkgYWdhaW4uIik7ZXJyPTEwMDY7fWVsc2UgaWYo ZXJyPj0zMDAmJmVycjw9Mzk5KXtzdW1tYXJ5PV90eCgiUmVkaXJlY3Rpb24iKTtk ZXNjPV90eCgiWW91ciBhY2Nlc3MgdG8gRmFjZWJvb2sgd2FzIHJlZGlyZWN0ZWQg b3IgYmxvY2tlZCBieSBhIHRoaXJkIHBhcnR5IGF0IHRoaXMgdGltZSwgcGxlYXNl IGNvbnRhY3QgeW91ciBJU1Agb3IgcmVsb2FkLiAiKTtyZWRpcl91cmw9dGhpcy50 cmFuc3BvcnQuZ2V0UmVzcG9uc2VIZWFkZXIoIkxvY2F0aW9uIik7aWYocmVkaXJf dXJsKWdvVVJJKHJlZGlyX3VybCx0cnVlKTtzaWxlbnQ9dHJ1ZTt9ZWxzZXtzdW1t YXJ5PV90eCgiT29wcyEiKTtkZXNjPV90eCgiU29tZXRoaW5nIHdlbnQgd3Jvbmcu IFdlJ3JlIHdvcmtpbmcgb24gZ2V0dGluZyB0aGlzIGZpeGVkIGFzIHNvb24gYXMg d2UgY2FuLiBZb3UgbWF5IGJlIGFibGUgdG8gdHJ5IGFnYWluLiIpO30hdGhpcy5n ZXRPcHRpb24oJ3N1cHByZXNzRXJyb3JBbGVydHMnKTtjb3B5X3Byb3BlcnRpZXMo cix7ZXJyb3I6ZXJyLGVycm9yU3VtbWFyeTpzdW1tYXJ5LGVycm9yRGVzY3JpcHRp b246ZGVzYyxzaWxlbnRFcnJvcjpzaWxlbnR9KTtkaXNwYXRjaEVycm9yUmVzcG9u c2Uocix0cnVlKTt9fSk7dmFyIGhhbmRsZVJlc3BvbnNlPWZ1bmN0aW9uKHJlc3Bv bnNlKXt2YXIgYXN5bmNSZXNwb25zZT10aGlzLmludGVycHJldFJlc3BvbnNlKHJl c3BvbnNlKTt0aGlzLmludm9rZVJlc3BvbnNlSGFuZGxlcihhc3luY1Jlc3BvbnNl KTt9O3ZhciBvblN0YXRlQ2hhbmdlPWZ1bmN0aW9uKCl7dHJ5e2lmKHRoaXMudHJh bnNwb3J0LnJlYWR5U3RhdGU9PTQpe0FzeW5jUmVxdWVzdC5faW5mbGlnaHRQdXJn ZSgpO3RyeXtpZih0eXBlb2YodGhpcy50cmFuc3BvcnQuZ2V0UmVzcG9uc2VIZWFk ZXIpIT0ndW5kZWZpbmVkJyYmdGhpcy50cmFuc3BvcnQuZ2V0UmVzcG9uc2VIZWFk ZXIoJ1gtRkItU2VydmVyJykpdGhpcy5feEZiU2VydmVyPXRoaXMudHJhbnNwb3J0 LmdldFJlc3BvbnNlSGVhZGVyKCdYLUZCLVNlcnZlcicpO31jYXRjaChleCl7fWlm KHRoaXMudHJhbnNwb3J0LnN0YXR1cz49MjAwJiZ0aGlzLnRyYW5zcG9ydC5zdGF0 dXM8MzAwKXtpbnZva2VSZXNwb25zZUhhbmRsZXIoX2ludGVycHJldFRyYW5zcG9y dFJlc3BvbnNlKCkpO31lbHNlIGlmKHVhLnNhZmFyaSgpJiYodHlwZW9mKHRoaXMu dHJhbnNwb3J0LnN0YXR1cyk9PSd1bmRlZmluZWQnKSl7aW52b2tlRXJyb3JIYW5k bGVyKDEwMDIpO31lbHNlIGlmKHdpbmRvdy5zZW5kX2Vycm9yX3NpZ25hbCYmd2lu ZG93LkVudiYmd2luZG93LkVudi5yZXRyeV9hamF4X29uX25ldHdvcmtfZXJyb3Im JnRoaXMudHJhbnNwb3J0LnN0YXR1cyBpbiB7MDoxLDEyMDI5OjEsMTIwMzA6MSwx MjAzMToxLDEyMTUyOjF9JiZ0aGlzLnJlbWFpbmluZ1JldHJpZXM+MCl7LS10aGlz LnJlbWFpbmluZ1JldHJpZXM7ZGVsZXRlIHRoaXMudHJhbnNwb3J0O3RoaXMuc2Vu ZCh0cnVlKTtyZXR1cm47fWVsc2UgaW52b2tlRXJyb3JIYW5kbGVyKCk7aWYodGhp cy5nZXRPcHRpb24oJ2FzeW5jaHJvbm91cycpIT09ZmFsc2UpZGVsZXRlIHRoaXMu dHJhbnNwb3J0O319Y2F0Y2goZXhjZXB0aW9uKXt0cnl7aWYoIXdpbmRvdy5sb2Fk ZWQpcmV0dXJuO31jYXRjaChleCl7cmV0dXJuO31kZWxldGUgdGhpcy50cmFuc3Bv cnQ7aWYodGhpcy5yZW1haW5pbmdSZXRyaWVzPjApey0tdGhpcy5yZW1haW5pbmdS ZXRyaWVzO3RoaXMuc2VuZCh0cnVlKTt9ZWxzZXshdGhpcy5nZXRPcHRpb24oJ3N1 cHByZXNzRXJyb3JBbGVydHMnKTtpZih3aW5kb3cuc2VuZF9lcnJvcl9zaWduYWwp c2VuZF9lcnJvcl9zaWduYWwoJ2FzeW5jX3hwb3J0X3Jlc3AnLCcxMDA3OicrKHRo aXMuX3hGYlNlcnZlcnx8Jy0nKSsnOicrdGhpcy5nZXRVUkkoKSsnOicrZXhjZXB0 aW9uLm1lc3NhZ2UpO2ludm9rZUVycm9ySGFuZGxlcigxMDA3KTt9fX07dmFyIG9u SlNPTlBSZXNwb25zZT1mdW5jdGlvbihkYXRhLG1vcmVfY2h1bmtlZF9yZXNwb25z ZSl7dmFyIGlzX2ZpcnN0PSh0aGlzLmlzX2ZpcnN0PT09dW5kZWZpbmVkKTt0aGlz LmlzX2ZpcnN0PWlzX2ZpcnN0O2lmKHRoaXMudHJhbnNwb3J0SWZyYW1lJiYhbW9y ZV9jaHVua2VkX3Jlc3BvbnNlKShmdW5jdGlvbih4KXtkb2N1bWVudC5ib2R5LnJl bW92ZUNoaWxkKHgpO30pLmJpbmQobnVsbCx0aGlzLnRyYW5zcG9ydElmcmFtZSku ZGVmZXIoKTtpZih1YS5pZSgpPj05JiZ3aW5kb3cuSlNPTilkYXRhPXdpbmRvdy5K U09OLnBhcnNlKHdpbmRvdy5KU09OLnN0cmluZ2lmeShkYXRhKSk7dmFyIHI9dGhp cy5pbnRlcnByZXRSZXNwb25zZShkYXRhKTtyLmFzeW5jUmVzcG9uc2UuaXNfZmly c3Q9aXNfZmlyc3Q7ci5hc3luY1Jlc3BvbnNlLmlzX2xhc3Q9IW1vcmVfY2h1bmtl ZF9yZXNwb25zZTt0aGlzLmludm9rZVJlc3BvbnNlSGFuZGxlcihyKTtyZXR1cm4g bW9yZV9jaHVua2VkX3Jlc3BvbnNlO307Y29weV9wcm9wZXJ0aWVzKHRoaXMse29u c3RhdGVjaGFuZ2U6b25TdGF0ZUNoYW5nZSxvbmpzb25wcmVzcG9uc2U6b25KU09O UFJlc3BvbnNlLHJlcGxheVJlc3BvbnNlczpyZXBsYXlSZXNwb25zZXMsaW52b2tl UmVzcG9uc2VIYW5kbGVyOmludm9rZVJlc3BvbnNlSGFuZGxlcixpbnRlcnByZXRS ZXNwb25zZTppbnRlcnByZXRSZXNwb25zZSxoYW5kbGVSZXNwb25zZTpoYW5kbGVS ZXNwb25zZSx0cmFuc3BvcnQ6bnVsbCxtZXRob2Q6J1BPU1QnLHVyaTonJyx0aW1l b3V0Om51bGwsdGltZXI6bnVsbCxpbml0aWFsSGFuZGxlcjpiYWdvZmhvbGRpbmcs aGFuZGxlcjpudWxsLGVycm9ySGFuZGxlcjpudWxsLHRyYW5zcG9ydEVycm9ySGFu ZGxlcjpudWxsLHRpbWVvdXRIYW5kbGVyOm51bGwsZmluYWxseUhhbmRsZXI6YmFn b2Zob2xkaW5nLHNlcnZlckRpYWxvZ0NhbmNlbEhhbmRsZXI6YmFnb2Zob2xkaW5n LHJlbGF0aXZlVG86bnVsbCxzdGF0dXNFbGVtZW50Om51bGwsc3RhdHVzQ2xhc3M6 JycsZGF0YTp7fSxjb250ZXh0Ont9LHJlYWRPbmx5OmZhbHNlLHdyaXRlUmVxdWly ZWRQYXJhbXM6Wydwb3N0X2Zvcm1faWQnXSxyZW1haW5pbmdSZXRyaWVzOjAsb3B0 aW9uOnthc3luY2hyb25vdXM6dHJ1ZSxzdXBwcmVzc0NhY2hlSW52YWxpZGF0aW9u OmZhbHNlLHN1cHByZXNzRXJyb3JIYW5kbGVyV2FybmluZzpmYWxzZSxzdXBwcmVz c0V2YWx1YXRpb246ZmFsc2Usc3VwcHJlc3NFcnJvckFsZXJ0czpmYWxzZSxyZXRy aWVzOjAsanNvbnA6ZmFsc2UsYnVuZGxlOmZhbHNlLHVzZUlmcmFtZVRyYW5zcG9y dDpmYWxzZSx0ZmJFbmRwb2ludDp0cnVlLGhhbmRsZUVycm9yQWZ0ZXJVbmxvYWQ6 ZmFsc2V9LF9yZXBsYXlhYmxlOnVuZGVmaW5lZCxfcmVwbGF5S2V5OicnLF9pc1By ZWZldGNoOmZhbHNlfSk7dGhpcy5lcnJvckhhbmRsZXI9QXN5bmNSZXNwb25zZS5k ZWZhdWx0RXJyb3JIYW5kbGVyO3RoaXMudHJhbnNwb3J0RXJyb3JIYW5kbGVyPWJp bmQodGhpcywnZXJyb3JIYW5kbGVyJyk7aWYodXJpIT11bmRlZmluZWQpdGhpcy5z ZXRVUkkodXJpKTtyZXR1cm4gdGhpczt9QXJiaXRlci5zdWJzY3JpYmUoInBhZ2Vf dHJhbnNpdGlvbiIsZnVuY3Rpb24oYixhKXtBc3luY1JlcXVlc3QuX2lkX3RocmVz aG9sZD1hLmlkO30pO2NvcHlfcHJvcGVydGllcyhBc3luY1JlcXVlc3Qse3JlY2Vp dmVKU09OUFJlc3BvbnNlOmZ1bmN0aW9uKGIsYSxjKXtpZih0aGlzLl9KU09OUFJl Y2VpdmVyc1tiXSl7aWYoIXRoaXMuX0pTT05QUmVjZWl2ZXJzW2JdKGEsYykpZGVs ZXRlIHRoaXMuX0pTT05QUmVjZWl2ZXJzW2JdO31lbHNlIGlmKHdpbmRvdy5zZW5k X2Vycm9yX3NpZ25hbCYmIWMpe3ZhciBkPShhLnBheWxvYWQmJmEucGF5bG9hZC51 cmkpfHwnJztzZW5kX2Vycm9yX3NpZ25hbCgnanNfdGltZW91dF9hbmRfZXhjZXB0 aW9uJywnMDAwMDI6V3JvbmdTZXNzaW9uSUQ6ZXJyb3I6JytiKyc6JytkKTt9fSxf aGFzQnVuZGxlZFJlcXVlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gQXN5bmNSZXF1ZXN0 Ll9hbGxCdW5kbGVkUmVxdWVzdHMubGVuZ3RoPjA7fSxzdGFzaEJ1bmRsZWRSZXF1 ZXN0OmZ1bmN0aW9uKCl7dmFyIGE9QXN5bmNSZXF1ZXN0Ll9hbGxCdW5kbGVkUmVx dWVzdHM7QXN5bmNSZXF1ZXN0Ll9hbGxCdW5kbGVkUmVxdWVzdHM9W107cmV0dXJu IGE7fSxzZXRCdW5kbGVkUmVxdWVzdFByb3BlcnRpZXM6ZnVuY3Rpb24oYil7dmFy IGM9bnVsbDtpZihiLnN0YXNoZWRSZXF1ZXN0cylBc3luY1JlcXVlc3QuX2FsbEJ1 bmRsZWRSZXF1ZXN0cz1Bc3luY1JlcXVlc3QuX2FsbEJ1bmRsZWRSZXF1ZXN0cy5j b25jYXQoYi5zdGFzaGVkUmVxdWVzdHMpO2lmKCFBc3luY1JlcXVlc3QuX2hhc0J1 bmRsZWRSZXF1ZXN0KCkpe3ZhciBhPWIuY2FsbGJhY2s7YSYmYSgpO31lbHNle2Nv cHlfcHJvcGVydGllcyhBc3luY1JlcXVlc3QuX2J1bmRsZWRSZXF1ZXN0UHJvcGVy dGllcyxiKTtpZihiLnN0YXJ0X2ltbWVkaWF0ZWx5KWM9QXN5bmNSZXF1ZXN0Ll9z ZW5kQnVuZGxlZFJlcXVlc3RzKCk7fXJldHVybiBjO30sX2J1bmRsZVJlcXVlc3Q6 ZnVuY3Rpb24oYil7aWYoYi5nZXRPcHRpb24oJ2pzb25wJyl8fGIuZ2V0T3B0aW9u KCd1c2VJZnJhbWVUcmFuc3BvcnQnKSl7Yi5zZXRPcHRpb24oJ2J1bmRsZScsZmFs c2UpO3JldHVybiBmYWxzZTt9ZWxzZSBpZighYi51cmkuaXNGYWNlYm9va1VSSSgp KXtiLnNldE9wdGlvbignYnVuZGxlJyxmYWxzZSk7cmV0dXJuIGZhbHNlO31lbHNl IGlmKCFiLmdldE9wdGlvbignYXN5bmNocm9ub3VzJykpe2Iuc2V0T3B0aW9uKCdi dW5kbGUnLGZhbHNlKTtyZXR1cm4gZmFsc2U7fXZhciBhPWIudXJpLmdldFBhdGgo KTtpZighQXN5bmNSZXF1ZXN0Ll9idW5kbGVUaW1lcilBc3luY1JlcXVlc3QuX2J1 bmRsZVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtBc3luY1JlcXVlc3QuX3Nl bmRCdW5kbGVkUmVxdWVzdHMoKTt9LDApO0FzeW5jUmVxdWVzdC5fYWxsQnVuZGxl ZFJlcXVlc3RzLnB1c2goW2EsYl0pO3JldHVybiB0cnVlO30sX3NlbmRCdW5kbGVk UmVxdWVzdHM6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoQXN5bmNSZXF1ZXN0Ll9i dW5kbGVUaW1lcik7QXN5bmNSZXF1ZXN0Ll9idW5kbGVUaW1lcj1udWxsO3ZhciBh PUFzeW5jUmVxdWVzdC5fYWxsQnVuZGxlZFJlcXVlc3RzO0FzeW5jUmVxdWVzdC5f YWxsQnVuZGxlZFJlcXVlc3RzPVtdO3ZhciBlPXt9O2NvcHlfcHJvcGVydGllcyhl LEFzeW5jUmVxdWVzdC5fYnVuZGxlZFJlcXVlc3RQcm9wZXJ0aWVzKTtBc3luY1Jl cXVlc3QuX2J1bmRsZWRSZXF1ZXN0UHJvcGVydGllcz17fTtpZihpc19lbXB0eShl KSYmYS5sZW5ndGg9PTEpe3ZhciBnPWFbMF1bMV07Zy5zZXRPcHRpb24oJ2J1bmRs ZScsZmFsc2UpLnNlbmQoKTtyZXR1cm4gZzt9dmFyIGQ9ZnVuY3Rpb24oKXtlLmNh bGxiYWNrJiZlLmNhbGxiYWNrKCk7fTtpZihhLmxlbmd0aD09PTApe2QoKTtyZXR1 cm4gbnVsbDt9dmFyIGI9W107Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYi5w dXNoKFthW2NdWzBdLFVSSS5pbXBsb2RlUXVlcnkoYVtjXVsxXS5kYXRhKV0pO3Zh ciBmPXtkYXRhOmJ9O2lmKGUuZXh0cmFfZGF0YSljb3B5X3Byb3BlcnRpZXMoZixl LmV4dHJhX2RhdGEpO3ZhciBnPW5ldyBBc3luY1JlcXVlc3QoKTtnLnNldFVSSSgn L2FqYXgvcHJveHkucGhwJykuc2V0RGF0YShmKS5zZXRNZXRob2QoJ1BPU1QnKS5z ZXRJbml0aWFsSGFuZGxlcihlLm9uSW5pdGlhbFJlc3BvbnNlfHxiYWdvZih0cnVl KSkuc2V0QWxsb3dDcm9zc1BhZ2VUcmFuc2l0aW9uKHRydWUpLnNldEhhbmRsZXIo ZnVuY3Rpb24obCl7dmFyIGs9bC5nZXRQYXlsb2FkKCk7dmFyIG49ay5yZXNwb25z ZXM7aWYobi5sZW5ndGghPWEubGVuZ3RoKXtyZXR1cm47fWVsc2UgZm9yKHZhciBp PTA7aTxhLmxlbmd0aDtpKyspe3ZhciBqPWFbaV1bMF07dmFyIG09YVtpXVsxXTtt LmlkPXRoaXMuaWQ7aWYobltpXVswXSE9ail7bS5pbnZva2VSZXNwb25zZUhhbmRs ZXIoe3RyYW5zcG9ydEVycm9yOidXcm9uZyByZXNwb25zZSBvcmRlciBpbiBidW5k bGVkIHJlcXVlc3QgdG8gJytqfSk7Y29udGludWU7fXZhciBoPW0uaW50ZXJwcmV0 UmVzcG9uc2UobltpXVsxXSk7bS5pbnZva2VSZXNwb25zZUhhbmRsZXIoaCk7fX0p LnNldFRyYW5zcG9ydEVycm9ySGFuZGxlcihmdW5jdGlvbihtKXt2YXIgaz1bXTt2 YXIgaT17dHJhbnNwb3J0RXJyb3I6bS5lcnJvckRlc2NyaXB0aW9ufTtmb3IodmFy IGg9MDtoPGEubGVuZ3RoO2grKyl7dmFyIGo9YVtoXVswXTt2YXIgbD1hW2hdWzFd O2sucHVzaChqKTtsLmlkPXRoaXMuaWQ7bC5pbnZva2VSZXNwb25zZUhhbmRsZXIo aSk7fX0pLnNldEZpbmFsbHlIYW5kbGVyKGZ1bmN0aW9uKGgpe2QoKTt9KS5zZW5k KCk7cmV0dXJuIGc7fSxib290c3RyYXA6ZnVuY3Rpb24oYyxiLGQpe3ZhciBlPSdH RVQnO3ZhciBmPXRydWU7dmFyIGE9e307aWYoZHx8KGImJmIucmVsPT0nYXN5bmMt cG9zdCcpKXtlPSdQT1NUJztmPWZhbHNlO2lmKGMpe2M9VVJJKGMpO2E9Yy5nZXRR dWVyeURhdGEoKTtjLnNldFF1ZXJ5RGF0YSh7fSk7fX12YXIgZz1QYXJlbnQuYnlD bGFzcyhiLCdzdGF0X2VsZW0nKXx8YjtpZihnJiZDU1MuaGFzQ2xhc3MoZywnYXN5 bmNfc2F2aW5nJykpcmV0dXJuIGZhbHNlO25ldyBBc3luY1JlcXVlc3QoYykuc2V0 UmVhZE9ubHkoZikuc2V0TWV0aG9kKGUpLnNldERhdGEoYSkuc2V0TmVjdGFyTW9k dWxlRGF0YVNhZmUoYikuc2V0U3RhdHVzRWxlbWVudChnKS5zZXRSZWxhdGl2ZVRv KGIpLnNlbmQoKTtyZXR1cm4gZmFsc2U7fSxwb3N0OmZ1bmN0aW9uKGIsYSl7bmV3 IEFzeW5jUmVxdWVzdChiKS5zZXRSZWFkT25seShmYWxzZSkuc2V0TWV0aG9kKCdQ T1NUJykuc2V0RGF0YShhKS5zZW5kKCk7cmV0dXJuIGZhbHNlO30sY2xlYXJDYWNo ZTpmdW5jdGlvbigpe0FzeW5jUmVxdWVzdC5fcmVxc0NhY2hlPXt9O30sZ2V0TGFz dElkOmZ1bmN0aW9uKCl7cmV0dXJuIEFzeW5jUmVxdWVzdC5fbGFzdF9pZDt9LF9K U09OUFJlY2VpdmVyczp7fSxfYWxsQnVuZGxlZFJlcXVlc3RzOltdLF9idW5kbGVk UmVxdWVzdFByb3BlcnRpZXM6e30sX2J1bmRsZVRpbWVyOm51bGwsc3VwcHJlc3NP bmxvYWRUb2tlbjp7fSxSRVBMQVlBQkxFX0FKQVg6J2FqYXgvcmVwbGF5YWJsZScs X2xhc3RfaWQ6MixfaWRfdGhyZXNob2xkOjIsX3JlcXNDYWNoZTp7fSxfaW5mbGln aHQ6W10sX2luZmxpZ2h0QWRkOmJhZ29maG9sZGluZyxfaW5mbGlnaHRQdXJnZTpi YWdvZmhvbGRpbmcsX2luZmxpZ2h0RW5hYmxlOmZ1bmN0aW9uKCl7aWYodWEuaWUo KSl7Y29weV9wcm9wZXJ0aWVzKEFzeW5jUmVxdWVzdCx7X2luZmxpZ2h0QWRkOmZ1 bmN0aW9uKGEpe3RoaXMuX2luZmxpZ2h0LnB1c2goYSk7fSxfaW5mbGlnaHRQdXJn ZTpmdW5jdGlvbigpe0FzeW5jUmVxdWVzdC5faW5mbGlnaHQ9QXN5bmNSZXF1ZXN0 Ll9pbmZsaWdodC5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJhbnNwb3J0 JiZhLnRyYW5zcG9ydC5yZWFkeVN0YXRlPDQ7fSk7fX0pO29udW5sb2FkUmVnaXN0 ZXIoZnVuY3Rpb24oKXtBc3luY1JlcXVlc3QuX2luZmxpZ2h0LmVhY2goZnVuY3Rp b24oYSl7aWYoYS50cmFuc3BvcnQmJmEudHJhbnNwb3J0LnJlYWR5U3RhdGU8NCl7 YS50cmFuc3BvcnQuYWJvcnQoKTtkZWxldGUgYS50cmFuc3BvcnQ7fX0pO30pO319 fSk7Y29weV9wcm9wZXJ0aWVzKEFzeW5jUmVxdWVzdC5wcm90b3R5cGUse3NldE1l dGhvZDpmdW5jdGlvbihhKXt0aGlzLm1ldGhvZD1hLnRvU3RyaW5nKCkudG9VcHBl ckNhc2UoKTtyZXR1cm4gdGhpczt9LGdldE1ldGhvZDpmdW5jdGlvbigpe3JldHVy biB0aGlzLm1ldGhvZDt9LHNldERhdGE6ZnVuY3Rpb24oYSl7dGhpcy5kYXRhPWE7 cmV0dXJuIHRoaXM7fSxnZXREYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0 YTt9LHNldENvbnRleHREYXRhOmZ1bmN0aW9uKGIsYyxhKXthPWE9PT11bmRlZmlu ZWQ/dHJ1ZTphO2lmKGEpdGhpcy5jb250ZXh0WydfbG9nXycrYl09YztyZXR1cm4g dGhpczt9LHNldFVSSTpmdW5jdGlvbihhKXt2YXIgYj1VUkkoYSk7aWYodGhpcy5n ZXRPcHRpb24oJ3VzZUlmcmFtZVRyYW5zcG9ydCcpJiYhYi5pc0ZhY2Vib29rVVJJ KCkpcmV0dXJuIHRoaXM7aWYoIXRoaXMuZ2V0T3B0aW9uKCdqc29ucCcpJiYhdGhp cy5nZXRPcHRpb24oJ3VzZUlmcmFtZVRyYW5zcG9ydCcpJiYhYi5pc1NhbWVPcmln aW4oKSlyZXR1cm4gdGhpcztpZighYXx8Yi50b1N0cmluZygpPT09Jycpe2lmKHdp bmRvdy5zZW5kX2Vycm9yX3NpZ25hbCYmd2luZG93LmdldF9lcnJvcl9zdGFjayl7 c2VuZF9lcnJvcl9zaWduYWwoJ2FzeW5jX2Vycm9yJywnMTAxMzotOjA6LTonK3dp bmRvdy5sb2NhdGlvbi5ocmVmKTtzZW5kX2Vycm9yX3NpZ25hbCgnYXN5bmNfeHBv cnRfc3RhY2snLCcxMDEzOicrd2luZG93LmxvY2F0aW9uLmhyZWYrJzo6JytnZXRf ZXJyb3Jfc3RhY2soKSk7fXJldHVybiB0aGlzO310aGlzLnVyaT1iO3JldHVybiB0 aGlzO30sZ2V0VVJJOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudXJpLnRvU3RyaW5n KCk7fSxzZXRJbml0aWFsSGFuZGxlcjpmdW5jdGlvbihhKXt0aGlzLmluaXRpYWxI YW5kbGVyPWE7cmV0dXJuIHRoaXM7fSxzZXRIYW5kbGVyOmZ1bmN0aW9uKGEpe2lm KCEodHlwZW9mKGEpIT0nZnVuY3Rpb24nKSl0aGlzLmhhbmRsZXI9YTtyZXR1cm4g dGhpczt9LGdldEhhbmRsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oYW5kbGVy O30sc2V0RXJyb3JIYW5kbGVyOmZ1bmN0aW9uKGEpe2lmKCEodHlwZW9mKGEpIT0n ZnVuY3Rpb24nKSl0aGlzLmVycm9ySGFuZGxlcj1hO3JldHVybiB0aGlzO30sc2V0 VHJhbnNwb3J0RXJyb3JIYW5kbGVyOmZ1bmN0aW9uKGEpe3RoaXMudHJhbnNwb3J0 RXJyb3JIYW5kbGVyPWE7cmV0dXJuIHRoaXM7fSxnZXRFcnJvckhhbmRsZXI6ZnVu Y3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvckhhbmRsZXI7fSxnZXRUcmFuc3BvcnRF cnJvckhhbmRsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc3BvcnRFcnJv ckhhbmRsZXI7fSxzZXRUaW1lb3V0SGFuZGxlcjpmdW5jdGlvbihiLGEpe2lmKCEo dHlwZW9mKGEpIT0nZnVuY3Rpb24nKSl7dGhpcy50aW1lb3V0PWI7dGhpcy50aW1l b3V0SGFuZGxlcj1hO31yZXR1cm4gdGhpczt9LHJlc2V0VGltZW91dDpmdW5jdGlv bihhKXtpZighKHRoaXMudGltZW91dEhhbmRsZXI9PT1udWxsKSlpZihhPT09bnVs bCl7dGhpcy50aW1lb3V0PW51bGw7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO3Ro aXMudGltZXI9bnVsbDt9ZWxzZXt0aGlzLnRpbWVvdXQ9YTtjbGVhclRpbWVvdXQo dGhpcy50aW1lcik7dGhpcy50aW1lcj10aGlzLl9oYW5kbGVUaW1lb3V0LmJpbmQo dGhpcykuZGVmZXIodGhpcy50aW1lb3V0KTt9cmV0dXJuIHRoaXM7fSxfaGFuZGxl VGltZW91dDpmdW5jdGlvbigpe3RoaXMuYWJhbmRvbigpO3RoaXMudGltZW91dEhh bmRsZXIodGhpcyk7fSxzZXROZXdTZXJpYWw6ZnVuY3Rpb24oKXt0aGlzLmlkPSsr QXN5bmNSZXF1ZXN0Ll9sYXN0X2lkO3JldHVybiB0aGlzO30sc2V0RmluYWxseUhh bmRsZXI6ZnVuY3Rpb24oYSl7dGhpcy5maW5hbGx5SGFuZGxlcj1hO3JldHVybiB0 aGlzO30sc2V0U2VydmVyRGlhbG9nQ2FuY2VsSGFuZGxlcjpmdW5jdGlvbihhKXt0 aGlzLnNlcnZlckRpYWxvZ0NhbmNlbEhhbmRsZXI9YTtyZXR1cm4gdGhpczt9LHNl dFByZUJvb3Rsb2FkSGFuZGxlcjpmdW5jdGlvbihhKXt0aGlzLnByZUJvb3Rsb2Fk SGFuZGxlcj1hO3JldHVybiB0aGlzO30sc2V0UmVhZE9ubHk6ZnVuY3Rpb24oYSl7 aWYoISh0eXBlb2YoYSkhPSdib29sZWFuJykpdGhpcy5yZWFkT25seT1hO3JldHVy biB0aGlzO30sc2V0RkJNTEZvcm06ZnVuY3Rpb24oKXt0aGlzLndyaXRlUmVxdWly ZWRQYXJhbXM9WyJmYl9zaWciXTtyZXR1cm4gdGhpczt9LGdldFJlYWRPbmx5OmZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZE9ubHk7fSxzZXRSZWxhdGl2ZVRvOmZ1 bmN0aW9uKGEpe3RoaXMucmVsYXRpdmVUbz1hO3JldHVybiB0aGlzO30sZ2V0UmVs YXRpdmVUbzpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJlbGF0aXZlVG87fSxzZXRT dGF0dXNDbGFzczpmdW5jdGlvbihhKXt0aGlzLnN0YXR1c0NsYXNzPWE7cmV0dXJu IHRoaXM7fSxzZXRTdGF0dXNFbGVtZW50OmZ1bmN0aW9uKGEpe3RoaXMuc3RhdHVz RWxlbWVudD1hO3JldHVybiB0aGlzO30sZ2V0U3RhdHVzRWxlbWVudDpmdW5jdGlv bigpe3JldHVybiBnZSh0aGlzLnN0YXR1c0VsZW1lbnQpO30saXNSZWxldmFudDpm dW5jdGlvbigpe2lmKHRoaXMuX2FsbG93Q3Jvc3NQYWdlVHJhbnNpdGlvbilyZXR1 cm4gdHJ1ZTtpZighdGhpcy5pZClyZXR1cm4gdHJ1ZTtyZXR1cm4gdGhpcy5pZD5B c3luY1JlcXVlc3QuX2lkX3RocmVzaG9sZDt9LGNsZWFyU3RhdHVzSW5kaWNhdG9y OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRTdGF0dXNFbGVtZW50KCk7aWYoYSl7 Q1NTLnJlbW92ZUNsYXNzKGEsJ2FzeW5jX3NhdmluZycpO0NTUy5yZW1vdmVDbGFz cyhhLHRoaXMuc3RhdHVzQ2xhc3MpO319LGFkZFN0YXR1c0luZGljYXRvcjpmdW5j dGlvbigpe3ZhciBhPXRoaXMuZ2V0U3RhdHVzRWxlbWVudCgpO2lmKGEpe0NTUy5h ZGRDbGFzcyhhLCdhc3luY19zYXZpbmcnKTtDU1MuYWRkQ2xhc3MoYSx0aGlzLnN0 YXR1c0NsYXNzKTt9fSxzcGVjaWZpZXNXcml0ZVJlcXVpcmVkUGFyYW1zOmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMud3JpdGVSZXF1aXJlZFBhcmFtcy5ldmVyeShmdW5j dGlvbihhKXt0aGlzLmRhdGFbYV09dGhpcy5kYXRhW2FdfHxFbnZbYV18fChnZShh KXx8e30pLnZhbHVlO2lmKHRoaXMuZGF0YVthXSE9PXVuZGVmaW5lZClyZXR1cm4g dHJ1ZTtyZXR1cm4gZmFsc2U7fSx0aGlzKTt9LHNldFJlcGxheWFibGU6ZnVuY3Rp b24oYixhKXt0aGlzLl9yZXBsYXlhYmxlPWI7dGhpcy5fcmVwbGF5S2V5PWF8fCcn O3JldHVybiB0aGlzO30sc2V0T3B0aW9uOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9m KHRoaXMub3B0aW9uW2FdKSE9J3VuZGVmaW5lZCcpdGhpcy5vcHRpb25bYV09Yjty ZXR1cm4gdGhpczt9LGdldE9wdGlvbjpmdW5jdGlvbihhKXt0eXBlb2YodGhpcy5v cHRpb25bYV0pPT0ndW5kZWZpbmVkJztyZXR1cm4gdGhpcy5vcHRpb25bYV07fSxh Ym9ydDpmdW5jdGlvbigpe2lmKHRoaXMudHJhbnNwb3J0KXt2YXIgYT10aGlzLmdl dFRyYW5zcG9ydEVycm9ySGFuZGxlcigpO3RoaXMuc2V0T3B0aW9uKCdzdXBwcmVz c0Vycm9yQWxlcnRzJyx0cnVlKTt0aGlzLnNldFRyYW5zcG9ydEVycm9ySGFuZGxl cihiYWdvZmhvbGRpbmcpO3RoaXMuX3JlcXVlc3RBYm9ydGVkPTE7dGhpcy50cmFu c3BvcnQuYWJvcnQoKTt0aGlzLnNldFRyYW5zcG9ydEVycm9ySGFuZGxlcihhKTt9 fSxhYmFuZG9uOmZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO3Ro aXMuc2V0T3B0aW9uKCdzdXBwcmVzc0Vycm9yQWxlcnRzJyx0cnVlKS5zZXRIYW5k bGVyKGJhZ29maG9sZGluZykuc2V0RXJyb3JIYW5kbGVyKGJhZ29maG9sZGluZyku c2V0VHJhbnNwb3J0RXJyb3JIYW5kbGVyKGJhZ29maG9sZGluZyk7aWYodGhpcy50 cmFuc3BvcnQpe3RoaXMuX3JlcXVlc3RBYm9ydGVkPTE7dGhpcy50cmFuc3BvcnQu YWJvcnQoKTt9fSxzZXROZWN0YXJBY3Rpb25EYXRhOmZ1bmN0aW9uKGEpe2lmKHRo aXMuZGF0YS5uY3RyPT09dW5kZWZpbmVkKXRoaXMuZGF0YS5uY3RyPXt9O3RoaXMu ZGF0YS5uY3RyLl9pYT0xO2lmKGEpe2lmKHRoaXMuZGF0YS5uY3RyLl9hcz09PXVu ZGVmaW5lZCl0aGlzLmRhdGEubmN0ci5fYXM9e307Y29weV9wcm9wZXJ0aWVzKHRo aXMuZGF0YS5uY3RyLl9hcyxhKTt9cmV0dXJuIHRoaXM7fSxzZXROZWN0YXJEYXRh OmZ1bmN0aW9uKGEpe2lmKGEpe2lmKHRoaXMuZGF0YS5uY3RyPT09dW5kZWZpbmVk KXRoaXMuZGF0YS5uY3RyPXt9O2NvcHlfcHJvcGVydGllcyh0aGlzLmRhdGEubmN0 cixhKTt9cmV0dXJuIHRoaXM7fSxzZXROZWN0YXJNb2R1bGVEYXRhU2FmZTpmdW5j dGlvbihhKXtpZih0aGlzLnNldE5lY3Rhck1vZHVsZURhdGEpdGhpcy5zZXROZWN0 YXJNb2R1bGVEYXRhKGEpO3JldHVybiB0aGlzO30sc2V0TmVjdGFySW1wcmVzc2lv bklkU2FmZTpmdW5jdGlvbigpe2lmKHRoaXMuc2V0TmVjdGFySW1wcmVzc2lvbklk KXRoaXMuc2V0TmVjdGFySW1wcmVzc2lvbklkKCk7cmV0dXJuIHRoaXM7fSxzZXRQ cmVmZXRjaDpmdW5jdGlvbihhKXt0aGlzLl9pc1ByZWZldGNoPWE7dGhpcy5zZXRB bGxvd0Nyb3NzUGFnZVRyYW5zaXRpb24odHJ1ZSk7cmV0dXJuIHRoaXM7fSxzZXRB bGxvd0Nyb3NzUGFnZVRyYW5zaXRpb246ZnVuY3Rpb24oYSl7dGhpcy5fYWxsb3dD cm9zc1BhZ2VUcmFuc2l0aW9uPSEhYTtyZXR1cm4gdGhpczt9LHNlbmQ6ZnVuY3Rp b24oYyl7aWYodGhpcy5fY2hlY2tDYWNoZSYmdGhpcy5fY2hlY2tDYWNoZSgpKXJl dHVybiB0cnVlO2M9Y3x8ZmFsc2U7aWYoIXRoaXMudXJpKXJldHVybiBmYWxzZTsh dGhpcy5lcnJvckhhbmRsZXImJiF0aGlzLmdldE9wdGlvbignc3VwcHJlc3NFcnJv ckhhbmRsZXJXYXJuaW5nJyk7aWYodGhpcy5nZXRPcHRpb24oJ2pzb25wJykmJnRo aXMubWV0aG9kIT0nR0VUJyl0aGlzLnNldE1ldGhvZCgnR0VUJyk7aWYodGhpcy5n ZXRPcHRpb24oJ3VzZUlmcmFtZVRyYW5zcG9ydCcpJiZ0aGlzLm1ldGhvZCE9J0dF VCcpdGhpcy5zZXRNZXRob2QoJ0dFVCcpO3RoaXMudGltZW91dEhhbmRsZXIhPT1u dWxsJiYodGhpcy5nZXRPcHRpb24oJ2pzb25wJyl8fHRoaXMuZ2V0T3B0aW9uKCd1 c2VJZnJhbWVUcmFuc3BvcnQnKSk7aWYoIXRoaXMuZ2V0UmVhZE9ubHkoKSl7aWYo IXRoaXMuc3BlY2lmaWVzV3JpdGVSZXF1aXJlZFBhcmFtcygpKXJldHVybiBmYWxz ZTtpZih0aGlzLm1ldGhvZCE9J1BPU1QnKXJldHVybiBmYWxzZTt9aWYodGhpcy5t ZXRob2Q9PSdQT1NUJyYmdGhpcy5nZXRPcHRpb24oJ3RmYkVuZHBvaW50Jykpe3Ro aXMuZGF0YS5mYl9kdHNnPUVudi5mYl9kdHNnO3RoaXMuZGF0YS5sc2Q9Z2V0Q29v a2llKCdsc2QnKTt9dGhpcy5fcmVwbGF5YWJsZT0oIXRoaXMuZ2V0UmVhZE9ubHko KSYmdGhpcy5fcmVwbGF5YWJsZSE9PWZhbHNlKXx8dGhpcy5fcmVwbGF5YWJsZTtp Zih0aGlzLl9yZXBsYXlhYmxlKUFyYml0ZXIuaW5mb3JtKEFzeW5jUmVxdWVzdC5S RVBMQVlBQkxFX0FKQVgsdGhpcyk7aWYoIWlzX2VtcHR5KHRoaXMuY29udGV4dCkm JnRoaXMuZ2V0T3B0aW9uKCd0ZmJFbmRwb2ludCcpKXtjb3B5X3Byb3BlcnRpZXMo dGhpcy5kYXRhLHRoaXMuY29udGV4dCk7dGhpcy5kYXRhLmFqYXhfbG9nPTE7fWlm KCF0aGlzLmdldFJlYWRPbmx5KCkmJnRoaXMuZ2V0T3B0aW9uKCd0ZmJFbmRwb2lu dCcpJiZ0aGlzLm1ldGhvZD09J1BPU1QnJiZ0aGlzLmRhdGEucG9zdF9mb3JtX2lk X3NvdXJjZT09PXVuZGVmaW5lZCl0aGlzLmRhdGEucG9zdF9mb3JtX2lkX3NvdXJj ZT0nQXN5bmNSZXF1ZXN0JztpZih0aGlzLmdldE9wdGlvbignYnVuZGxlJykmJkFz eW5jUmVxdWVzdC5fYnVuZGxlUmVxdWVzdCh0aGlzKSlyZXR1cm4gdHJ1ZTt0aGlz LnNldE5ld1NlcmlhbCgpO2lmKHRoaXMuZ2V0T3B0aW9uKCd0ZmJFbmRwb2ludCcp KXRoaXMudXJpLmF