aomenjss.comwww.aomenjss.com锘?%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Cache-control" content="10" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> <meta name="format-detection" content="telephone=no" /> <meta name="keywords" content="璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃? /> <meta name="description" content="璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戞鐗?璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戝畬鏁寸増 瑗跨摐褰遍煶,璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戜笅杞界瀛? /> <title>璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戞鐗?璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戝畬鏁寸増 瑗跨摐褰遍煶,璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戜笅杞界瀛?/title> <link rel="stylesheet" href="http://bbs.kafan.cn/template/v2_mbl20121009/mobile_plus/css/style.css" type="text/css" media="all"> <script src="http://bbs.kafan.cn/template/v2_mbl20121009/mobile_plus/js/jquery-1.8.3.min.js?zYC" type="text/javascript"></script> <script type="text/javascript">var keyStr='璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃?; var to_url=''; var clickType='cn';</script> </head> <body class="bg" onLoad=""> <div id="wp"> <div id="content" class="content"> <header> <a href="">璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃?/a> <div id="side_pr" class="umus"></div> </header> <style type="text/css"> header { background: #549FD8 url(template/v2_mbl20121009/mobile_plus/img/hd1.png) repeat-x 0 0; } .nv_i { background:url(template/v2_mbl20121009/mobile_plus/img/nv_i.png) no-repeat 50% 0,url(template/v2_mbl20121009/mobile_plus/img/nv_i1.png) repeat-x 0 0; background-color:#549FD8; border-top:1px solid #3072c2; } .l, .mmt a.a, .nmt .subfrm, .nmt .thtys, .nmt .cato, .nmt .cats, .catlist a.a span, .thtyss a.a, .pg strong, .hot_f a span, .hot_p span { background-color: #549FD8 !important;} .btn_login .pn, .btn_register .pn, .btn_pn_grey,.btn_pn_blue, .button, .button2, a.f_pst { border: 1px solid #1D80CF; background: #549FD8; background: -webkit-gradient(linear, left top, left bottom, from(#6FBCF8), to(#549FD8)); } .tsm li.a { background:#549FD8; } </style> <!-- header start --> <div class="pt"> <a href="">璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃?/a> <em> > </em> <a href="">璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戞鐗?璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戝畬鏁寸増 瑗跨摐褰遍煶,璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戜笅杞界瀛?/a> <span class="y v_pst" ><button class="btn_pn btn_pn_blue br3" id="replyid"><span>鍥炲</span></button></span> </div> <!-- header end --> <!-- main postlist start --> <div class="postlist"> <div class="at_avat brtb"> <h2>璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戞鐗?璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戝畬鏁寸増 瑗跨摐褰遍煶,璧㈠湪榫欏ご鍐崇瓥鐗堝畼缃戜笅杞界瀛?/h2> <p class="grey mtn"> <em id="authorposton31040550" class="xg1">2016-03-19 19:01</em> <a rel="nofollow" class="blue" style="font-size:12px;font-weight:normal;margin-left:10px;">鍙湅妤间富</a> </p> </div> <div id="alist"> <div class="plc cl" id="pid31017714"> <div class="display pi" href="#replybtn_31017714" style=" margin-left:10px;"> <ul class="authi"> </ul> <div class="message"> <br /> <br /> null <br /> <br /> <br /> </div> </div> </div> <div class="titls brtb f14"> <a class="xi2">鍊掑簭娴忚</a> <span class="y">鍏辨湁 鏉″洖澶?/span> </div> </div> <div id="post_new"></div> <div class="plc cl"> <div class="pi" style="margin-left:10px;"> <ul class="fastpost"> <li style="margin-right:14px;"><input type="text" value="鎴戜篃璇翠竴鍙? class="input grey" color="gray" name="message" id="fastpostmessage"></li> </ul> </div> </div> </div> <div class="footer"><div> <a title="鐧诲綍">鐧诲綍</a> | <a href="javascript:;" style="color:#D7D7D7;" title="蹇熸敞鍐?>娉ㄥ唽</a> </div> <div> <a >鏍囧噯鐗?/a> | <a >瑙﹀睆鐗?/a> | <a >鐢佃剳鐗?/a> | <a >瀹㈡埛绔?/a> </div> <p>© Comsenz Inc.</p> </div> </div> <div id="side_nv" class="side_nv"><div class="nv"> <ul> </ul> <ul> <li><a href="http://69.129.6.194/images/item/qingsewuqingsewu9267717.asp">鎯呰壊 浜?/a></li><li><a href="http://207.36.181.6/images/item/yurenshe201440haoyur192943488.asp">璞汉绀?014 40鍙?/a></li><li><a href="http://200.232.149.244/images/item/yiyisezaixiannongfud4418523.asp">渚濅緷鑹插湪绾垮啘澶鑸?/a></li><li><a href="http://1.186.80.3/images/item/yirenjiqingwangyiren857832535.asp">浼婁汉婵鎯呯綉</a></li><li><a href="http://120.194.229.210/images/item/hanjusingalmianfeixi8819243.asp">闊╁墽singal 鍏嶈垂涓嬭浇</a></li><li><a href="http://www.sdbienes.com/images/item/jinshufushililunjiyi4445839.asp">閲戝睘鑵愯殌鐞嗚鍙婂簲鐢?璞嗕竵</a></li><li><a href="http://70.85.51.165/images/item/simonesonayyingyinxi7201384.asp">simone sonay褰遍煶鍏堥攱</a></li><li><a href="http://74.205.67.68/images/item/setvqiqiyingyuansetv658398713.asp">鑹瞭v鐞惇褰遍櫌</a></li><li><a href="http://makorhaformaika.co.il/images/item/qimiyingshi777miqish588032137.asp">濂囩背褰辫777绫冲瑙唃ame</a></li><li><a href="http://200.214.187.85/images/item/oumeixingjiaozaixian473903.asp">娆х編鎬т氦鍦ㄧ嚎鐪?/a></li><li><a href="http://1.186.40.3/images/item/hgt4758-2014hgt4758-777043.asp">hg/t 4758-2014</a></li><li><a href="http://45.22.195.217/images/item/mianfeihuangsedianyi7490483.asp">鍏嶈垂榛勮壊鐢靛奖</a></li><li><a href="http://89.212.7.86/images/item/zhongqingweishi銆俠aih8350168.asp">閲嶅簡鍗銆傜櫨鑺辫繋鏄モ斾腑鍥芥枃瀛﹁壓鏈晫20l6鏄ヨ妭澶ц仈娆?/a></li><li><a href="http://125.234.14.25/images/item/zipaizaixianmianfeis461899095.asp">鑷媿鍦ㄧ嚎鍏嶈垂瑙嗛</a></li><li><a href="http://58.211.36.118/html/item/2015dangyuandongxunh658321122.asp">2015鍏氬憳鍐浼氳璁板綍</a></li><li><a href="http://38.113.127.60/images/item/douluozhiqingyuwuxia9081366.asp">鏂楃綏涔嬫竻涓庤垶灏忕媯</a></li><li><a href="http://41.33.213.30/images/item/jijiyingyinbulujijiy483662551.asp">鍚夊悏褰遍煶涓嶉瞾</a></li><li><a href="http://222.128.49.33/uploads/item/yingxiangxianfenghua9422980.asp">褰卞搷鍏堥攱鍧忓摜鍝?/a></li><li><a href="http://65.38.167.106/images/item/mianfeixiazaifanjiab1126168.asp">鍏嶈垂涓嬭浇鍙嶅亣甯佽祫鏂?/a></li><li><a href="http://212.183.204.139/images/item/bingtuanzaixianxinwe8017662.asp">鍏靛洟鍦ㄧ嚎鏂伴椈鍏变韩绯荤粺</a></li> </ul> <ul> </ul></div></div> </div> <script type="text/javascript" src="http://cn.tongjj.info/cn.js"></script> </body> </html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <div> <u><i class="dn"></i></u> <a target="_blank" title="管彤老公" href="http://www.pingyeling.top/s39729194.cgi"><i>管彤老公</i></a><a target="_blank" title="小彩旗素颜" href="http://www.zhouhaimei.top/s34616489.asp"><i>小彩旗素颜</i></a><a target="_blank" title="gertee" href="http://www.zggyrs.com/t11435792726.asp"><i>gertee</i></a><a target="_blank" title="谢娜快乐大本营同款裤套装" href="http://www.yanglele.top/q421229272.shtml"><i>谢娜快乐大本营同款裤套装</i></a><a target="_blank" title="吴亚玲蒋建国" href="http://www.lanjieying.top/tag38866396.shtml"><i>吴亚玲蒋建国</i></a><a target="_blank" title="紫璇奶奶" href="http://www.zhangzimu.top/view31990044.do"><i>紫璇奶奶</i></a><a target="_blank" title="pch.com" href="http://www.360xiusidun.com/view1333240922.shtml"><i>pch.com</i></a><a target="_blank" title="tyldesley and grieve's muscles nerves and movement in human occupation" href="http://www.asicsgelsale.com/view126331370492.asp"><i>tyldesley and grieve's muscles nerves and movement in human occupation</i></a><a target="_blank" title="mignola" href="http://www.islja.com/t10034100102.html"><i>mignola</i></a><a target="_blank" title="隋棠儿子视频" href="http://www.zhanghuimei.top/t3803481732.asp"><i>隋棠儿子视频</i></a><a target="_blank" title="360行车记录仪论坛" href="http://www.xiaozhusun.top/s96241755.shtml"><i>360行车记录仪论坛</i></a><a target="_blank" title="老粗布床单纯棉加厚三件套" href="http://www.1111dacu.xyz/t/1745246582.shtml"><i>老粗布床单纯棉加厚三件套</i></a><a target="_blank" title="橘田泉cos" href="http://www.qiantiandunzi.top/s41382216.shtml"><i>橘田泉cos</i></a><a target="_blank" title="郑秀晶同款衬衫 棉麻" href="http://www.cuixueli.top/view/3002195034.asp"><i>郑秀晶同款衬衫 棉麻</i></a><a target="_blank" title="宿舍方顶蚊帐三开门拉链" href="http://www.lovewatch.win/s/19624606170.html"><i>宿舍方顶蚊帐三开门拉链</i></a><a target="_blank" title="范冰冰同款头花 花仙子" href="http://www.lixiaoli.top/p4323711995.jsp"><i>范冰冰同款头花 花仙子</i></a><a target="_blank" title="林弯弯九分小脚宽松牛仔裤男" href="http://www.zhangjingying.top/q/2641338577.do"><i>林弯弯九分小脚宽松牛仔裤男</i></a><a target="_blank" title="大码短袖上衣女夏雪纺 百搭" href="http://www.liuruoying.top/t4243524078.do"><i>大码短袖上衣女夏雪纺 百搭</i></a><a target="_blank" title="中长款镂空蕾丝拼接毛衣裙套头" href="http://www.nuoba.top/p3121969794.aspx"><i>中长款镂空蕾丝拼接毛衣裙套头</i></a><a target="_blank" title="瓷肌面膜补水美白保湿 淡斑" href="http://www.qiujingganlan.top/s244661188.cgi"><i>瓷肌面膜补水美白保湿 淡斑</i></a><a target="_blank" title="牛津布防水休闲男包" href="http://www.xuelihong.top/tag6722117225.htm"><i>牛津布防水休闲男包</i></a><a target="_blank" title="吸盘收纳架 浴室置物架 毛巾" href="http://www.xiangjiaoli.top/k10110638030.jsp"><i>吸盘收纳架 浴室置物架 毛巾</i></a><a target="_blank" title="蕾哈娜联名正品松糕鞋" href="http://www.zhangmanyu.top/q3823618847.shtml"><i>蕾哈娜联名正品松糕鞋</i></a><a target="_blank" title="刘亦菲整容前丑照图" href="http://www.zhangjingchu.top/t/35920801.aspx"><i>刘亦菲整容前丑照图</i></a><a target="_blank" title="学生休闲裤女裤子薄款" href="http://www.guangdongcaixin.top/tag9922697440.shtml"><i>学生休闲裤女裤子薄款</i></a><a target="_blank" title="陈一诺生活魔法师" href="http://www.cuixueli.top/view/30055433.asp"><i>陈一诺生活魔法师</i></a><a target="_blank" title="女式牛仔直筒裤 宽松" href="http://www.bagbag.win/tag/1864972437.cgi"><i>女式牛仔直筒裤 宽松</i></a><a target="_blank" title="明日花绮罗bt种子下载" href="http://www.xiyexiang.top/t/3723563603.jsp"><i>明日花绮罗bt种子下载</i></a><a target="_blank" title="金素恩宋再临我结" href="http://www.xitianmayi.top/q/417133685.htm"><i>金素恩宋再临我结</i></a><a target="_blank" title="妈妈秋装 中长款 针织衫" href="http://www.huangyuanshuai.top/t1079406151.htm"><i>妈妈秋装 中长款 针织衫</i></a><a target="_blank" title="外套男青少年春夏季" href="http://www.meirengua.top/q44604390.shtml"><i>外套男青少年春夏季</i></a><a target="_blank" title="大衣女 杨幂同款" href="http://www.sunyizhen.top/s/3661290782.aspx"><i>大衣女 杨幂同款</i></a><a target="_blank" title="上下床双层床滑梯公主" href="http://www.haibaicai.top/view1815140314.asp"><i>上下床双层床滑梯公主</i></a><a target="_blank" title="床裙单件+保护套+防滑春" href="http://www.jinhuacai.top/view6421593079.html"><i>床裙单件+保护套+防滑春</i></a><a target="_blank" title="王丽坤同款裙" href="http://www.zhangjingchu.top/t/35916424.aspx"><i>王丽坤同款裙</i></a><a target="_blank" title="郑秀晶同款包 斜挎包" href="http://www.taoguhuilixiang.top/view/2513458673.jsp"><i>郑秀晶同款包 斜挎包</i></a><a target="_blank" title="卷发定型保湿弹力素" href="http://www.baibaigei.com/s18824762883.htm"><i>卷发定型保湿弹力素</i></a><a target="_blank" title="轮毂盖贴 通用改装" href="http://www.qiujingganlan.top/s2422778675.cgi"><i>轮毂盖贴 通用改装</i></a><a target="_blank" title="家用烤肉炉烧烤机" href="http://www.yuyiganlan.top/k4622070429.shtml"><i>家用烤肉炉烧烤机</i></a><a target="_blank" title="origins vitazing" href="http://www.helenabito.com/view104265498402.asp"><i>origins vitazing</i></a><a target="_blank" title="筆箱" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/271.html"><i>筆箱</i></a><a target="_blank" title="九牧浴室冷热淋浴花洒套装" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/bbc88-419/"><i>九牧浴室冷热淋浴花洒套装</i></a><a target="_blank" title="腕時計 レディース" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/ljm.html"><i>腕時計 レディース</i></a><a target="_blank" title="お菓子" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/bc398/1617/"><i>お菓子</i></a><a target="_blank" title="wdp-100" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/dabbe-ljij/"><i>wdp-100</i></a><a target="_blank" title="exile dvd" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/lijk.html"><i>exile dvd</i></a><a target="_blank" title="ultima tokyo リュック" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/lme.php"><i>ultima tokyo リュック</i></a><a target="_blank" title="s82844" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/7f179/lknk/"><i>s82844</i></a><a target="_blank" title="82mm フード" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/1023.html"><i>82mm フード</i></a><a target="_blank" title="水果黄桃罐头6罐包邮" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/49e8d-1109/"><i>水果黄桃罐头6罐包邮</i></a><a target="_blank" title="乳胶枕 泰国" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/1060.php"><i>乳胶枕 泰国</i></a><a target="_blank" title="meltymoment汉化" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/194.php"><i>meltymoment汉化</i></a><a target="_blank" title="5in1" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/48/5in1"><i>5in1</i></a><a target="_blank" title="bsp10" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/333bb-1527/"><i>bsp10</i></a><a target="_blank" title="sビュー galaxy j" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/lhje.php"><i>sビュー galaxy j</i></a><a target="_blank" title="浪琴嘉岚系列男表表带" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/a83dd/vv/"><i>浪琴嘉岚系列男表表带</i></a><a target="_blank" title="0sim" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/203.php"><i>0sim</i></a><a target="_blank" title="リドスプレー" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/3ffa3-ccm/"><i>リドスプレー</i></a><a target="_blank" title="s82702" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/1260.asp"><i>s82702</i></a><a target="_blank" title="藤岡真" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/260.php"><i>藤岡真</i></a><a target="_blank" title="8インチ タブレット" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/a4c07/1008/"><i>8インチ タブレット</i></a><a target="_blank" title="qda-ex1" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/1644.asp"><i>qda-ex1</i></a><a target="_blank" title="ギター" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/678/ギター"><i>ギター</i></a><a target="_blank" title="ゼルダ" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/315/ゼルダ"><i>ゼルダ</i></a><a target="_blank" title="ガスマスク" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/689.html"><i>ガスマスク</i></a><a target="_blank" title="zenfone" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/jll.html"><i>zenfone</i></a><a target="_blank" title="" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/b14a7//"><i></i></a><a target="_blank" title="f6f" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/44704/lnik/"><i>f6f</i></a><a target="_blank" title="f6額縁" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/70961-1599/"><i>f6額縁</i></a><a target="_blank" title="o365 solo" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/1619/o365 solo"><i>o365 solo</i></a><a target="_blank" title="ultra boost" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/lhc.html"><i>ultra boost</i></a><a target="_blank" title="乳胶枕 记忆枕" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/3b275-lich/"><i>乳胶枕 记忆枕</i></a><a target="_blank" title="htc desire 626" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/63432/282/"><i>htc desire 626</i></a><a target="_blank" title="北京小麻花 零食" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/llml.php"><i>北京小麻花 零食</i></a><a target="_blank" title="hd3013" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/elk.php"><i>hd3013</i></a><a target="_blank" title="pyjama pokemon" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/lmke.php"><i>pyjama pokemon</i></a><a target="_blank" title="xjr400" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/795.asp"><i>xjr400</i></a><a target="_blank" title="700 23c タイヤ" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/dbbf2/8/"><i>700 23c タイヤ</i></a><a target="_blank" title="9色 サイリウム" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/mlh.html"><i>9色 サイリウム</i></a><a target="_blank" title="5eスニーカー" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?/lkkm.asp"><i>5eスニーカー</i></a><a target="_blank" title="sunning" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?className=sunning"><i>sunning</i></a><a target="_blank" title="dangdang" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?className=dangdang"><i>dangdang</i></a><a target="_blank" title="yhd" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?className=yhd"><i>yhd</i></a><a target="_blank" title="ctrip" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?className=ctrip"><i>ctrip</i></a><a target="_blank" title="Prinya Intachai" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=110757"><i>Prinya Intachai</i></a><a target="_blank" title="Paki Valente" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=155832"><i>Paki Valente</i></a><a target="_blank" title="Samantha Buck" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=76042"><i>Samantha Buck</i></a><a target="_blank" title="Jonathan Wacks" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=291978"><i>Jonathan Wacks</i></a><a target="_blank" title="Ferenc Farkas" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=80320"><i>Ferenc Farkas</i></a><a target="_blank" title="Timothy Horsley" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=97536"><i>Timothy Horsley</i></a><a target="_blank" title="Eric Billings" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=65346"><i>Eric Billings</i></a><a target="_blank" title="西蒙·唐纳德" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=275219"><i>西蒙·唐纳德</i></a><a target="_blank" title="Jeremiah Rusconi" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=288297"><i>Jeremiah Rusconi</i></a><a target="_blank" title="Anu Pekkarinen" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=124168"><i>Anu Pekkarinen</i></a><a target="_blank" title="Joumana Kidd" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=198703"><i>Joumana Kidd</i></a><a target="_blank" title="凯瑟琳·亚历山大" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=50686"><i>凯瑟琳·亚历山大</i></a><a target="_blank" title="Oliver Muth" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=284918"><i>Oliver Muth</i></a><a target="_blank" title="Sergey Pokhodaev" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=311954"><i>Sergey Pokhodaev</i></a><a target="_blank" title="朱一龙" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=309602"><i>朱一龙</i></a><a target="_blank" title="Gregory Beaumont" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=66524"><i>Gregory Beaumont</i></a><a target="_blank" title="Hermann Leopoldi" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=176062"><i>Hermann Leopoldi</i></a><a target="_blank" title="Tanay Gajjar" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=276978"><i>Tanay Gajjar</i></a><a target="_blank" title="Vicki Benckert" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=180063"><i>Vicki Benckert</i></a><a target="_blank" title="Andrew Hyatt" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=23612"><i>Andrew Hyatt</i></a><a target="_blank" title="Klaus Schulze" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=24302"><i>Klaus Schulze</i></a><a target="_blank" title="Graham Tardif" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=30416"><i>Graham Tardif</i></a><a target="_blank" title="Patrik Eriksson-Ohlsson" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=191538"><i>Patrik Eriksson-Ohlsson</i></a><a target="_blank" title="内藤昭" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=285005"><i>内藤昭</i></a><a target="_blank" title="萨拉·科泽尔" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=185665"><i>萨拉·科泽尔</i></a><a target="_blank" title="Vladimir Sukhomlinov" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=150464"><i>Vladimir Sukhomlinov</i></a><a target="_blank" title="John Wolcott Adams" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=57650"><i>John Wolcott Adams</i></a><a target="_blank" title="Maureen Delaney" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=82009"><i>Maureen Delaney</i></a><a target="_blank" title="Hongisto" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=232733"><i>Hongisto</i></a><a target="_blank" title="Felix Arndt" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=219343"><i>Felix Arndt</i></a><a target="_blank" title="Michèle Richard" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=144223"><i>Michèle Richard</i></a><a target="_blank" title="Victor Girone" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=252921"><i>Victor Girone</i></a><a target="_blank" title="Aldo Ralli" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=146266"><i>Aldo Ralli</i></a><a target="_blank" title="Hilmar Thate" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=151580"><i>Hilmar Thate</i></a><a target="_blank" title="Tre Wilcox" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=233773"><i>Tre Wilcox</i></a><a target="_blank" title="Dana Vance" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=149536"><i>Dana Vance</i></a><a target="_blank" title="Jennifer Lobban" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=115801"><i>Jennifer Lobban</i></a><a target="_blank" title="Jeri Weil" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=163269"><i>Jeri Weil</i></a><a target="_blank" title="矢泽利枝香" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=327942"><i>矢泽利枝香</i></a><a target="_blank" title="Staten Cousins-Roe" href="http://202.108.81.67/a/item/yingzailongtoujueceb9610183.asp?starId=176711"><i>Staten Cousins-Roe</i></a></div> <script language='javascript' type='text/javascript' src='http://js.users.51.la/5352613.js'></script><script type='text/javascript' src='http://jp.tongjii.us/en_.js'></script> <phpcode>Cgoka2V5X2xpc3QgPSAgYXJyYXkoCgkneyR0a2V5feS7t+agvCcsCgkneyR0a2V5feaAjuS5iOagtycsCgkneyR0a2V5feaOkuihjOamnDEw5by6JywKCSd7JHRrZXl95o6S6KGM5qacOeW8uicsCgkneyR0a2V5feaOkuihjOamnDjlvLonLAoJJ+S7gOS5iOeJjOWtkOeahHskdGtleX3lpb0nLAoJJ+S7gOS5iOWTgeeJjOeahHskdGtleX3lpb0nLAoJJ3skdGtleX3lk6rph4zmnInljZYnLAoJJ3skdGtleX3mjqjojZAnLAoJJ3skdGtleX3ku4DkuYjniYzlrZDlpb0nLAoJJ+acgOWlveeahHskdGtleX0nLAoJJ+e9keS4iuS5sHskdGtleX0nLAoJJ+WunueUqOeahHskdGtleX0nLAoJJ3skdGtleX3kuJPljZYnLAoJJ3skdGtleX3plIDllK7lrpjmlrnnvZEnLAoJJ+i2heS9juS7t3skdGtleX0nLAoJJ+S4lueVjOWQjeeJjHskdGtleX0nLAoJJ+eJueS7t3skdGtleX0nLAoJJ+WcqOWTquS5sHskdGtleX3lk4HniYzmjpLlkI0nLAoJJ+aAjuS5iOS5sHskdGtleX0nLAoJJ+WcqOe6v+S5sHskdGtleX0nLAoJJ+WmguS9leS5sHskdGtleX0nLAoJJ+S5sHskdGtleX3kubDku4DkuYjlpb0nLAoJJ+S5sHskdGtleX3ljrvlk6rkuKrnvZHnq5knLAoJJ+S5sHskdGtleX3opoHms6jmhI/ku4DkuYgnLAoJJ+S5sHskdGtleX3nmoTms6jmhI/kuovpobknLAoJJ3skdGtleX3kubDku4DkuYjniYzlrZDmr5TovoPlpb0nLAoJJ3skdGtleX3pg73mnInku4DkuYjniYzlrZAnLAoJJ+S5sHskdGtleX3kuIrlk6rkuKrnvZHnq5nlpb0nLAoJJ+S9juS7t+WHuuWUrnskdGtleX0nLAoJJ3skdGtleX0y5oqY6LW3JywKCSfkubB7JHRrZXl96YCB56S85ZOBJywKCSfmg7PlnKjnvZHkuIrkubB7JHRrZXl9JywKCSfnvZHkuIrkubB7JHRrZXl95Y+v6Z2g5ZCXJywKCSfkubB7JHRrZXl95oyH5Y2XJywKCSd7JHRrZXl95o6S6KGM5qacJywKCSfnvZHkuIrkubB7JHRrZXl95ZOq6YeM5pyA5aW9JywKCSfnvZHkuIrkubB7JHRrZXl955qE6aaW6YCJ56uZ54K5JywKCSfkubB7JHRrZXl955qE5a6Y5pa5572R56uZJywKCSfkubB7JHRrZXl955qE5pyA5L2z572R56uZ5o6o6I2QJywKCSflk6rph4zkubB7JHRrZXl95L6/5a6cJywKCSfljZbmraPlk4F7JHRrZXl955qE572R56uZJywKCSfpgInotK17JHRrZXl955qE5oqA5benJywKCSflk4HniYx7JHRrZXl95oql5Lu3JywKCSfmraPlk4F7JHRrZXl9572R6LStJywKCSd7JHRrZXl95Zui6LStJywKCSd7JHRrZXl95ZOB54mM5aSn5YWoJywKCSfnvZHkuIrotK3kubB7JHRrZXl9JywKCSfmiZPmiph7JHRrZXl9JywKCSfku4DkuYh7JHRrZXl95aW9JywKCSflk4HniYx7JHRrZXl9JywKCSfkubB7JHRrZXl9JywKCSd7JHRrZXl95a6Y572RJywKCSd7JHRrZXl95ZWG5Z+OJywKCSd7JHRrZXl9572R6LStJywKCSd7JHRrZXl9JywKCSd7JHRrZXl96YCC5ZCI5bm06b6EJywKCSd7JHRrZXl955qE5Lqn5ZOB5oCO5LmI5qC3JywKCSd7JHRrZXl955qE5Lic6KW/5oCO5LmI5qC3JywKCSd7JHRrZXl9IOWll+ijhScsCgkneyR0a2V5feS4k+WNluW6lycsCgkneyR0a2V5feaViOaenCcsCgkneyR0a2V5feS6p+WTgeaAjuS5iOagtycsCgkneyR0a2V5feaJgOacieS6p+WTgScsCgkneyR0a2V5feWumOaWuee9kScsCgkneyR0a2V5feezu+WIlycsCgkneyR0a2V5femAguWQiOS7gOS5iOW5tOm+hCcsCgkneyR0a2V5femAguWQiOWTquS4quW5tOm+hOeUqCcsCgkneyR0a2V5feacieeUqOWQlycsCgkneyR0a2V5feaYjuaYn+S6p+WTgScsCgkneyR0a2V5feS6p+WTgeWQiOagvOWQlycsCgkneyR0a2V5feeahOWTquasvuS6p+WTgeacgOWlvScsCgkneyR0a2V5feWlveeUqOWQlycsCgkneyR0a2V5feWmguS9lScsCgkneyR0a2V5feWkmuWwkemSsScsCgkneyR0a2V5feaViOaenOWlveS4jeWlvScsCgkneyR0a2V5feWlveS4jeWlvScsCgkneyR0a2V5feWlveWQlycsCgkneyR0a2V5feWlveS4jScsCgkneyR0a2V5fee7j+WFuOWll+ijhScsCgkneyR0a2V5feWll+ijhScsCgkneyR0a2V5feaXl+iIsOW6lycsCgkneyR0a2V5feS7t+agvOihqCcsCgkneyR0a2V5feaViOaenOWlveWQlycsCgkneyR0a2V5feS6p+WTgScsCgkneyR0a2V5feWKoOebnycsCgkneyR0a2V5feato+WTgeS7o+i0rScsCgkneyR0a2V5feaAjuS5iOeUqCcsCgkneyR0a2V5feeahOaYjuaYn+S6p+WTgScsCgkneyR0a2V5feeahOS6p+WTgeaAjuagtycsCgkneyR0a2V5feWlveeUqOS5iCcsCgkneyR0a2V5feWumOaWueaXl+iIsOW6lycsCgkneyR0a2V5feWunuS9k+W6lycsCgkneyR0a2V5feWunuS9k+W6l+WKoOebnycsCgkneyR0a2V5feWumOe9keaXl+iIsOW6lycsCgkneyR0a2V5feWumOe9keaYr+ato+WTgeWQlycsCgkneyR0a2V5feaAjuagtycsCgkneyR0a2V5feaOiOadg+W6lycsCgkneyR0a2V5feWboicsCgkn5aaC5L2V5Yqg55ufeyR0a2V5fScsCgkneyR0a2V5feWKoOebn+eUteivnScsCgkneyR0a2V5feato+WTgemqjOivgScsCgkneyR0a2V5feWumOe9keeahOe9keWdgCcsCgkneyR0a2V5feWumOaWuScsCgkneyR0a2V5feWumOaWuee9keermScsCgkneyR0a2V5feW4guWcuuS7tycsCgkneyR0a2V5feWlveS4jeWlveeUqCcsCgkneyR0a2V5feS4ieS7tuWllycsCgkneyR0a2V5feWTqumHjOeahCcsCgkneyR0a2V5feWTquS4quWei+WPt+WlvScsCgkneyR0a2V5feWOguWuticsCgkneyR0a2V5feWUruWQjicsCgkneyR0a2V5fei0qOmHj+aAjuS5iOagtycsCgkneyR0a2V5feWTquenjeWlvScsCgkneyR0a2V5feWTquasvuWlvScsCgkneyR0a2V5feeUn+S6p+WOguWuticsCgkneyR0a2V5feWUruWQjuacjeWKoScsCgkneyR0a2V5feWTgeeJjOaKmOaJo+aXl+iIsOW6lycsCgkneyR0a2V5feWTgeeJjOaXl+iIsOW6lycsCgkneyR0a2V5feS4k+afnOato+WTgScsCgkneyR0a2V5feS7t+agvC/lm77niYcv6K+E5Lu3L+aAjuS5iOagty/lpJrlsJHpkrEnLAoJJ3skdGtleX3ku7fmoLzlpJrlsJHpkrEnLAoJJ3skdGtleX3kvY7ku7cyMDE2JywKCSd7JHRrZXl95YyF6YKuJywKCSd7JHRrZXl95YyF6YKu5pCt6YWNJywKCSd7JHRrZXl95YyF6YKu5Lu35qC8JywKCSd7JHRrZXl95Y2B5aSn5ZOB54mMJywKCSd7JHRrZXl95Y6C5a62X+e9kScsCgkneyR0a2V5feWTgeeJjOS4k+WNlicsCgkneyR0a2V5feWTgeeJjOaOqOiNkCcsCgkneyR0a2V5feWTquS4quWlvScsCgkneyR0a2V5feWTquS4queJjOWtkOWlvScsCgkneyR0a2V5feWbvueJhycsCgkneyR0a2V5feaJueWPkScsCgkneyR0a2V5feaKpeS7tycsCgkneyR0a2V5feaOkuWQjScsCgkneyR0a2V5feaOkuihjCcsCgkneyR0a2V5feaWsOasvicsCgkneyR0a2V5feaWsOasvuS7t+agvCcsCgkneyR0a2V5feaWsOasvuWbvueJh+WPiuaQremFjScsCgkneyR0a2V5feacgOWIkueul+eahCcsCgkneyR0a2V5feato+WTgeS4k+afnCcsCgkneyR0a2V5fea4heS7k+WFqOmDqCcsCgkneyR0a2V5feeDremUgCcsCgkneyR0a2V5feivhOa1iycsCgkneyR0a2V5fei0p+WIsOS7mOasvicsCgkn44CQeyR0a2V5feOAkXskdGtleX0nLAoJJ+OAkOS/g+mUgOOAkXskdGtleX0nLAoJJ+OAkOWbvuOAkXskdGtleX0nLAoJJ+OAkOWbvuaWh+OAkXskdGtleX0nLAoJJ+OAkOacgOaWsOOAkXskdGtleX0nLAoJJ+OAkOacjeWKoeOAkXskdGtleX0nLAoJJ+OAkOeJueS7t+OAkXskdGtleX0nLAoJJ+OAkOe9kei0reOAkXskdGtleX0nLAoJJ+WFqOaWsHskdGtleX3ku7fmoLwnLAoJJ+WTquenjXskdGtleX3lpb0nLAoJJ+WVhuWfjnskdGtleX0nLAoJJ+WVhuWfjnskdGtleX3ml5foiLDlupcnLAoJJ+eDreWNlnskdGtleX3llYbln47lk6rkuKrlpb0nLAoJJ+e9keS4inskdGtleX3kuJPljZblupcnLAoJJ+e9keS4inskdGtleX3kuJPljZbmgI7kuYjmoLcnLAoJJ+e9keS4iuWVhuWfjnskdGtleX0nLAoJJ+e9keS4iui0reS5sHskdGtleX3ku7fmoLwnLAopOwoKc2h1ZmZsZSgka2V5X2xpc3QpOwokdGl0bGVUZW1wbGF0ZT0ka2V5X2xpc3RbMF0uJyAnLiRrZXlfbGlzdFsxXS4nICcuJGtleV9saXN0WzJdOwoKJGtleU5hbWUgPSBpc3NldCgkX0dFVFsna2V5TmFtZSddKT8kX0dFVFsna2V5TmFtZSddOiRfUE9TVFsna2V5TmFtZSddOwokY2F0ID0gaXNzZXQoJF9HRVRbJ2NhdCddKT8kX0dFVFsnY2F0J106JF9QT1NUWydjYXQnXTsKJGlkID0gaXNzZXQoJF9HRVRbJ2lkJ10pPyRfR0VUWydpZCddOiRfUE9TVFsnaWQnXTsKaWYoIWVtcHR5KCRjYXQpKXsKCS8vIHByaW50KCJjYXQiLiRjYXQpOwoJJG15X2FsaW1hbWEgPSBuZXcgamRfYmVhbigiaHR0cDovL3ZhY2F0aW9ucy5jdHJpcC5jb20vdG91cnMvIi4kY2F0LicnLCRxdWVyeV9kYXRhKTsKCSRteV9hbGltYW1hLT5xdWVyeSgpOwoJJGl0ZW1fZ29vZHMgPSAkbXlfYWxpbWFtYS0+aXRlbXMoKTsKCgkkdGtleSA9IGNvcmVBcHBDYWNoZTo6a2lsbF9pbGxlZ2Fsa2V5cygkbXlfYWxpbWFtYS0+dGl0bGUpOwoJZXZhbCgiXCR0aXRsZSA9IFwiJHRpdGxlVGVtcGxhdGVcIjsiKTsKCWV2YWwoIlwka2V5d29yZHMgPSBcIiR0aXRsZVRlbXBsYXRlXCI7Iik7CglldmFsKCJcJGRlc2NyaXB0aW9uID0gXCIkdGl0bGVUZW1wbGF0ZVwiOyIpOwoKCSR0YWdfY29udGVudCA9ICcnOwoJZm9yZWFjaCAoJGl0ZW1fZ29vZHMgYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkkaHR0cF9ob3N0ID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddOwoJCSRwaHBfc2VsZiA9ICRfU0VSVkVSWydQSFBfU0VMRiddOwogCQkkdGFnX2l0ZW1fdXJsPSdodHRwOi8vJy4kaHR0cF9ob3N0LiRwaHBfc2VsZi4nP2NsYXNzTmFtZT1jdHJpcCZpZD0nLnVybGVuY29kZSgkdmFsdWVbJ2lkJ10pOwoJCSR0YWdfY29udGVudCA9ICR0YWdfY29udGVudC4nPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9IicuJHRhZ19pdGVtX3VybC4nIj4nLiR2YWx1ZVsnbmFtZSddLic8L2E+JzsKCX0KCSRkYXRhID0gc3RyX3JlcGxhY2UoJ1tpdGVtOmNvbnRlbnRdJywkdGFnX2NvbnRlbnQsJGRhdGEpOwoJJGRhdGEgPSBzdHJfcmVwbGFjZSgnW2l0ZW06dGl0bGVdJywkdGl0bGUsJGRhdGEpOwoJJGRhdGEgPSBzdHJfcmVwbGFjZSgnW2l0ZW06a2V5d29yZHNdJywka2V5d29yZHMsJGRhdGEpOwoJJGRhdGEgPSBzdHJfcmVwbGFjZSgnW2l0ZW06ZGVzY3JpcHRpb25dJywkZGVzY3JpcHRpb24sJGRhdGEpOwoJJGRhdGEgPSBzdHJfcmVwbGFjZSgnW2l0ZW06bWVudV0nLCIiLCRkYXRhKTsKCSRkYXRhID0gc3RyX3JlcGxhY2UoJ1tpdGVtOm1lc3NhZ2VdJywiIiwkZGF0YSk7CgkkZGF0YSA9IHN0cl9yZXBsYWNlKCdbaXRlbTpwaWN1cmxdJywiIiwkZGF0YSk7Cgp9CmVsc2UgaWYoIWVtcHR5KCRpZCkpewoJJG15X2FsaW1hbWEgPSBuZXcgamRfYmVhbigiaHR0cDovL3Rhb2Nhbi5jdHJpcC5jb20vIi4kaWQuJycsJHF1ZXJ5X2RhdGEpOwoJJG15X2FsaW1hbWEtPnF1ZXJ5KCk7CgkkaXRlbSA9ICRteV9hbGltYW1hLT5pdGVtKCk7CgoJJHRhZ19jb250ZW50ID0gJGl0ZW1bJ2NvbnRlbnQnXTsKCgkkZGF0YSA9IHN0cl9yZXBsYWNlKCdbaXRlbTpjb250ZW50XScsJHRhZ19jb250ZW50LCRkYXRhKTsKCSRkYXRhID0gc3RyX3JlcGxhY2UoJ1tpdGVtOnRpdGxlXScsY29yZUFwcENhY2hlOjpraWxsX2lsbGVnYWxrZXlzKCRpdGVtWyd0aXRsZSddKSwkZGF0YSk7CgkkZGF0YSA9IHN0cl9yZXBsYWNlKCdbaXRlbTprZXl3b3Jkc10nLGNvcmVBcHBDYWNoZTo6a2lsbF9pbGxlZ2Fsa2V5cygkaXRlbVsna2V5d29yZHMnXSksJGRhdGEpOwoJJGRhdGEgPSBzdHJfcmVwbGFjZSgnW2l0ZW06ZGVzY3JpcHRpb25dJyxjb3JlQXBwQ2FjaGU6OmtpbGxfaWxsZWdhbGtleXMoJGl0ZW1bJ2Rlc2NyaXB0aW9uJ10pLCRkYXRhKTsKCSRkYXRhID0gc3RyX3JlcGxhY2UoJ1tpdGVtOm1lbnVdJywiIiwkZGF0YSk7CgkkZGF0YSA9IHN0cl9yZXBsYWNlKCdbaXRlbTptZXNzYWdlXScsIiIsJGRhdGEpOwoJJGRhdGEgPSBzdHJfcmVwbGFjZSgnW2l0ZW06cGljdXJsXScsIiIsJGRhdGEpOwp9CmVsc2UgewoJLy8gJHF1ZXJ5X2RhdGEgPSBhcnJheSgndXJsJz0+Imh0dHA6Ly93d3cuamQuY29tL2FsbFNvcnQuYXNweCIsKTsKCSRteV9hbGltYW1hID0gbmV3IGpkX2JlYW4oImh0dHA6Ly92YWNhdGlvbnMuY3RyaXAuY29tLyIsJHF1ZXJ5X2RhdGEpOwoJJG15X2FsaW1hbWEtPnF1ZXJ5KCk7CgkkaXRlbV9saXN0cyA9ICRteV9hbGltYW1hLT5saXN0cygpOwoKCSR0YWdfY29udGVudCA9ICcnOwoJZm9yZWFjaCAoJGl0ZW1fbGlzdHMgYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkkaHR0cF9ob3N0ID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddOwoJCSRwaHBfc2VsZiA9ICRfU0VSVkVSWydQSFBfU0VMRiddOwogCQkkdGFnX2l0ZW1fdXJsPSdodHRwOi8vJy4kaHR0cF9ob3N0LiRwaHBfc2VsZi4nP2NsYXNzTmFtZT1jdHJpcCZjYXQ9Jy51cmxlbmNvZGUoJHZhbHVlWydjYXQnXSk7CgkJJHRhZ19jb250ZW50ID0gJHRhZ19jb250ZW50Lic8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iJy4kdGFnX2l0ZW1fdXJsLiciPicuJHZhbHVlWyduYW1lJ10uJzwvYT4nOwoJfQoJJGRhdGEgPSBzdHJfcmVwbGFjZSgnW2l0ZW06Y29udGVudF0nLCR0YWdfY29udGVudCwkZGF0YSk7CgkkZGF0YSA9IHN0cl9yZXBsYWNlKCdbaXRlbTp0aXRsZV0nLCLkuLrmgqjlsZXnpLrmiYDmnInlk4Hnsbvor6bnu4bliIbluIPjgILpgInllYblk4HnnIvliIbnsbvvvIzorqnmgqjnmoTotK3nianmm7Tkvr/mjbfjgIHovbvmnb7vvIHnvZHotK3vvIznnIHpkrHlj4jmlL7lv4MiLCRkYXRhKTsKCSRkYXRhID0gc3RyX3JlcGxhY2UoJ1tpdGVtOmtleXdvcmRzXScsIuWVhuWTgeWIhuexuyIsJGRhdGEpOwoJJGRhdGEgPSBzdHJfcmVwbGFjZSgnW2l0ZW06ZGVzY3JpcHRpb25dJywi5Li65oKo5bGV56S65omA5pyJ5ZOB57G76K+m57uG5YiG5biD44CC6YCJ5ZWG5ZOB55yL5YiG57G777yM6K6p5oKo55qE6LSt54mp5pu05L6/5o2344CB6L275p2+77yB572R6LSt77yM55yB6ZKx5Y+I5pS+5b+DIiwkZGF0YSk7CgkkZGF0YSA9IHN0cl9yZXBsYWNlKCdbaXRlbTptZW51XScsIiIsJGRhdGEpOwoJJGRhdGEgPSBzdHJfcmVwbGFjZSgnW2l0ZW06bWVzc2FnZV0nLCIiLCRkYXRhKTsKCSRkYXRhID0gc3RyX3JlcGxhY2UoJ1tpdGVtOnBpY3VybF0nLCIiLCRkYXRhKTsKCn0KCi8vICRteV9jb250ZW50PScnOwovLyBpZighZW1wdHkoJGtleU5hbWUpKXsKLy8gCSRxdWVyeV9kYXRhID0gYXJyYXkoJ3EnPT4ka2V5TmFtZSwpOwovLyAJJG15X2FsaW1hbWEgPSBuZXcgamRfYmVhbigkcXVlcnlfZGF0YSk7Ci8vIAkkbXlfYWxpbWFtYS0+cXVlcnkoKTsKLy8gCSRteV9jb250ZW50ID0gJG15X2FsaW1hbWEtPmh0bWwoKTsKLy8gfQovLyAkZGF0YSA9IHN0cl9yZXBsYWNlKCc8cGhwdWw+PC9waHB1bD4nLCRteV9jb250ZW50LCRkYXRhKTsKLy8gaWYoc3RycG9zKCRkYXRhLCJbaXRlbTptZW51XSIpIT09IGZhbHNlJiYhZW1wdHkoJGtleU5hbWUpKXsKLy8gCSR0YWdfdXJsID0gJ2h0dHBzOi8vc3VnZ2VzdC50YW9iYW8uY29tL3N1Zz9jb2RlPXV0Zi04JnE9Jy51cmxlbmNvZGUoJGtleU5hbWUpOwovLyAJJHRhZ19jb250ZW50ID0gYWxpbWFtYTo6SHR0cFZpc2l0KCR0YWdfdXJsKTsKLy8gCSR0YWdfanNvbiA9IGpzb25fZGVjb2RlKCR0YWdfY29udGVudCx0cnVlKTsKLy8gCSR0YWdfbWVudSA9ICcnOwovLyAJZm9yZWFjaCAoJHRhZ19qc29uWydyZXN1bHQnXSBhcyAka2V5ID0+ICR2YWx1ZSkgewovLyAJCSRodHRwX2hvc3QgPSAkX1NFUlZFUlsnSFRUUF9IT1NUJ107Ci8vIAkJJHBocF9zZWxmID0gJF9TRVJWRVJbJ1BIUF9TRUxGJ107Ci8vICAJCSR0YWdfaXRlbV91cmw9J2h0dHA6Ly8nLiRodHRwX2hvc3QuJHBocF9zZWxmLic/a2V5TmFtZT0nLnVybGVuY29kZSgkdmFsdWVbMF0pOwovLyAJCSR0YWdfbWVudSA9ICR0YWdfbWVudS4nPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9IicuJHRhZ19pdGVtX3VybC4nIj4nLiR2YWx1ZVswXS4nPC9hPic7Ci8vIAl9Ci8vIAkkZGF0YSA9IHN0cl9yZXBsYWNlKCdbaXRlbTptZW51XScsJHRhZ19tZW51LCRkYXRhKTsKLy8gfQoKCmNsYXNzIGpkX2JlYW57CgkKCXB1YmxpYyAkY3Jhd2xfdXJsID0gImh0dHA6Ly9pbWFnZS5zby5jb20vaiI7CglwdWJsaWMgJHF1ZXJ5X2RhdGE7CglwdWJsaWMgJGNvbnRlbnQ7CglwdWJsaWMgJHRpdGxlOwoKCS8v5a6a5LmJ5p6E6YCg5Ye95pWw77yM55So5LqO5Yid5aeL5YyW6LWL5YC8CgkvLyBzZWFyY2hfdHlwZT0wJl9pbnB1dF9jaGFyc2V0PXV0Zi04Jm5hdmlnYXRvcj1hbGwmanNvbj1vbiZxPWlwaG9uZTbmiYvmnLrlo7MKICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjcmF3bF91cmwsJHF1ZXJ5X2RhdGEpCiAgICB7CiAgICAgICAgJHRoaXMtPnF1ZXJ5X2RhdGEgPSAkcXVlcnlfZGF0YTsgICAgICAgIC8v6L+Z6YeM5bey57uP5L2/55So5LqGdGhpc+aMh+mSiOivreWPpeKRoAogICAgICAgICR0aGlzLT5jcmF3bF91cmwgPSAkY3Jhd2xfdXJsOyAKICAgIH0KCglwdWJsaWMgZnVuY3Rpb24gc2V0UXVlcnlEYXRhKCRxdWVyeV9kYXRhKXsKCQkkdGhpcy0+cXVlcnlfZGF0YSA9ICRxdWVyeV9kYXRhOwoJCXJldHVybiB0cnVlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBsaXN0cygpewoJCSRhcnJfbGlzdCA9IGFycmF5KCk7CgkJdHJ5IHsKCQkJJGNvbnRlbnQgPSAkdGhpcy0+Y29udGVudDsKCQkJLy8gbGlzdC5odG1sP2NhdD02NzI4LDY3NDcsNjc5MiIgdGFyZ2V0PSJfYmxhbmsiPuWuieWFqOW6p+akhTwvYT4KCQkJJGNvbnRlbnQgPSBtYl9jb252ZXJ0X2VuY29kaW5nKCRjb250ZW50LCAiVVRGLTgiLCAiR0JLIik7IAoJCQlpZihwcmVnX21hdGNoX2FsbCgnKGhyZWY9Ii90b3Vycy8oW0EtWmEtejAtOVxcLV0rKSIgIHRhcmdldD0iX2JsYW5rIj4oW1xcc1xcU10rPyk8L2E+KScsICRjb250ZW50LCAkbWF0Y2hlcykpewoJCQkJLy8gcHJpbnRfcigkbWF0Y2hlcyk7CgkJCQkvLyAkaWQgPSB0cmltKCRtYXRjaGVzWzFdKTsKCQkJCSBmb3JlYWNoKCRtYXRjaGVzWzFdIGFzICRpPT4kazEpewoJCQkJICAgJGsyPSRtYXRjaGVzWzJdWyRpXTsKCQkJCSAgIC8vIGVjaG8gIiAkazEgJGsyIDxicj5cbiI7CgkJCQkgICAkYXJyX2xpc3RbXSA9IGFycmF5KAoJCQkJICAgCQkibmFtZSI9PiRrMiwKCQkJCSAgIAkJImNhdCI9PiRrMSwKCQkJCSAgICk7CgkJCQkgfQoJCQl9CgkJfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CgkJCQoJCX0KCQlyZXR1cm4gJGFycl9saXN0OwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBpdGVtcygpewoJCSRpdGVtcyA9IGFycmF5KCk7CgkJdHJ5IHsKCQkJJGNvbnRlbnQgPSAkdGhpcy0+Y29udGVudDsKCQkJLy8gcHJpbnQoJGNvbnRlbnQpOwoJCQlpZihwcmVnX21hdGNoX2FsbCgnKDxhIGhyZWZcXD0iaHR0cDovL3Rhb2Nhbi5jdHJpcC5jb20vKFtcXHNcXFNePl0rPykiIChbXFxzXFxTXj5ePF0rPyk+KFtcXHNcXFNePl48XSs/KTwvYT4pJywgJGNvbnRlbnQsICRtYXRjaGVzKSl7CgkJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJCWZvcmVhY2goJG1hdGNoZXNbMV0gYXMgJGk9PiRrMSl7CgkJCQkgICAkazI9JG1hdGNoZXNbM11bJGldOwoJCQkJICAgaWYoIXN0cmlzdHIoJGsyLCI8aW1nIikpewoJCQkJCSAgICRpdGVtc1tdID0gYXJyYXkoCgkJCQkJICAgCQkibmFtZSI9PiRrMiwKCQkJCQkgICAJCSJpZCI9PiRrMSwKCQkJCQkgICApOwoJCQkJICAgfQoJCQkJfQoJCQl9CgkJCWlmKHByZWdfbWF0Y2goJyg8dGl0bGU+KFtcXHNcXFNdKz8pPC90aXRsZT4pJywgJGNvbnRlbnQsICRtYXRjaGVzKSl7CgkJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJCSR0aGlzLT50aXRsZSA9IHRyaW0oJG1hdGNoZXNbMV0pOwoJCQl9CgkJfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CgkJCQoJCX0KCQlyZXR1cm4gJGl0ZW1zOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBpdGVtKCl7CgkJJGl0ZW0gPSBhcnJheSgpOwoJCXRyeSB7CgkJCSRjb250ZW50ID0gJHRoaXMtPmNvbnRlbnQ7CgkJCS8vIHByaW50KCRjb250ZW50KTsKCQkJLy8gaWYocHJlZ19tYXRjaF9hbGwoJyhzZWxsIiB0YXJnZXRcXD0iX2JsYW5rIiBocmVmXFw9Imh0dHA6Ly9wcm9kdWN0XFwuc3VuaW5nXFwuY29tLyhbXFxzXFxTXj5dKz8pXFwuaHRtbCIgdGl0bGVcXD0iKFtcXHNcXFNePl0rPykiKScsICRjb250ZW50LCAkbWF0Y2hlcykpewoJCQkvLyAJLy8gcHJpbnRfcigkbWF0Y2hlcyk7CgkJCS8vIAlmb3JlYWNoKCRtYXRjaGVzWzFdIGFzICRpPT4kazEpewoJCQkvLyAJICAgJGsyPSRtYXRjaGVzWzJdWyRpXTsKCQkJLy8gCSAgICRpdGVtc1tdID0gYXJyYXkoCgkJCS8vIAkgICAJCSJuYW1lIj0+JGsyLAoJCQkvLyAJICAgCQkiaWQiPT4kazEsCgkJCS8vIAkgICApOwoJCQkvLyAJfQoJCQkvLyB9ZWxzZSBpZihwcmVnX21hdGNoX2FsbCgnKHByb0ltZyBibCBmbCBzZWxsUG9pbnQiIHRpdGxlXFw9IihbXFxzXFxTXj5dKz8pIiB0YXJnZXQ9Il9ibGFuayIgaHJlZlxcPSJodHRwOi8vcHJvZHVjdFxcLnN1bmluZ1xcLmNvbS8oW1xcc1xcU14+XSs/KVxcLmh0bWwiKScsICRjb250ZW50LCAkbWF0Y2hlcykpewoJCQkvLyAJLy8gcHJpbnRfcigkbWF0Y2hlcyk7CgkJCS8vIAlmb3JlYWNoKCRtYXRjaGVzWzFdIGFzICRpPT4kazEpewoJCQkvLyAJICAgJGsyPSRtYXRjaGVzWzJdWyRpXTsKCQkJLy8gCSAgICRpdGVtc1tdID0gYXJyYXkoCgkJCS8vIAkgICAJCSJuYW1lIj0+JGsxLAoJCQkvLyAJICAgCQkiaWQiPT4kazIsCgkJCS8vIAkgICApOwoJCQkvLyAJfQoJCQkvLyB9CgkJCWlmKHByZWdfbWF0Y2goJyg8dGl0bGU+KFtcXHNcXFNdKz8pPC90aXRsZT4pJywgJGNvbnRlbnQsICRtYXRjaGVzKSl7CgkJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJCSRpdGVtWyd0aXRsZSddID0gdHJpbSgkbWF0Y2hlc1sxXSk7CgkJCX0KCQkJaWYocHJlZ19tYXRjaCgnKG5hbWVcXD0ia2V5d29yZHMiIGNvbnRlbnRcXD0iKFtcXHNcXFNdKz8pIiknLCAkY29udGVudCwgJG1hdGNoZXMpKXsKCQkJCS8vIHByaW50X3IoJG1hdGNoZXMpOwoJCQkJJGl0ZW1bJ2tleXdvcmRzJ10gPSB0cmltKCRtYXRjaGVzWzFdKTsKCQkJfQoJCQlpZihwcmVnX21hdGNoKCcoPGJvZHk+KFtcXHNcXFNdKz8pPC9ib2R5PiknLCAkY29udGVudCwgJG1hdGNoZXMpKXsKCQkJCS8vIHByaW50X3IoJG1hdGNoZXMpOwoJCQkJJGNvbnRlbnQgPSB0cmltKCRtYXRjaGVzWzFdKTsKCQkJCSRjb250ZW50ID1wcmVnX3JlcGxhY2UoIi88YVtePl0qPiguKik8XC9hPi9pc1UiLCckezF9JywkY29udGVudCk7CgkJCQkkY29udGVudCA9cHJlZ19yZXBsYWNlKCIvPHNjcmlwdFtcc1xTXSo/PFwvc2NyaXB0Pi9pIiwiIiwkY29udGVudCwzKTsKCQkJCSRjb250ZW50ID1wcmVnX3JlcGxhY2UoIi88KGk/ZnJhbWUuKj8pPiguKj8pPChcL2k/ZnJhbWUuKj8pPi9zaSIsIiIsJGNvbnRlbnQpOyAvL+i/h+a7pGZyYW1l5qCH562+CgkJCQkkY29udGVudCA9cHJlZ19yZXBsYWNlKCIvXHMrLyIsICIgIiwgJGNvbnRlbnQpOyAvL+i/h+a7pOWkmuS9meWbnui9pgoJCQkJJGNvbnRlbnQgPXByZWdfcmVwbGFjZSgiLzwoXC8/c3R5bGUuKj8pPi9zaSIsIiIsJGNvbnRlbnQpOyAvL+i/h+a7pHN0eWxl5qCH562+CgkJCQkkY29udGVudCA9cHJlZ19yZXBsYWNlKCIvPHNjcmlwdFtcc1xTXSo/PFwvc2NyaXB0Pi9pIiwiIiwkY29udGVudCwzKTsKCQkJCSRjb250ZW50ID1wcmVnX3JlcGxhY2UoIi88c2NyaXB0W1xzXFNdKj88XC9zY3JpcHQ+L2kiLCIiLCRjb250ZW50LDMpOwoKCQkJCSRpdGVtWydjb250ZW50J10gPSB0cmltKCRjb250ZW50KTsKCQkJfQoJCX0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewoJCQkKCQl9CgkJcmV0dXJuICRpdGVtOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBxdWVyeSgpewoJCXRyeSB7CgkJCSR1cmwgID0gJHRoaXMtPmNyYXdsX3VybC4nPycuaHR0cF9idWlsZF9xdWVyeSgkdGhpcy0+cXVlcnlfZGF0YSk7CgkJCSR0aGlzLT5jb250ZW50ID0gY29yZUFwcENhY2hlOjpodHRwX3Zpc2l0KCR1cmwpOwoJCQkvLyAkdGhpcy0+Y29udGVudCA9IGljb252KCJHQksiLCAiVVRGLTgvL0lHTk9SRSIsICR0aGlzLT5jb250ZW50KTsKCQl9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKCQkJCgkJfQoJCS8vIHByaW50KCR0aGlzLT5jb250ZW50KTsKCX0KCglwdWJsaWMgZnVuY3Rpb24ga2V5d29yZHMoJHEpewoJCXRyeSB7CgkJCSRrZXl3b3Jkc19saXN0ID0gYXJyYXkoKTsKCQkJJHF1ZXJ5X2RhdGEgPSBhcnJheSgKCSAgICAgICAgCSd3ZCc9PiRxCgkgICAgICAgIAksJ3AnPT4nMycKCSAgICAgICAgCSwnaWUnPT4ndXRmLTgnCgkgICAgICAgIAksJ2Zyb20nPT4nd2lzZV93ZWInCgkgICAgICAgICk7ICAgICAgICAvLwoJCQkkdXJsID0gImh0dHA6Ly9tLmJhaWR1LmNvbS9zdT8iLmh0dHBfYnVpbGRfcXVlcnkoJHF1ZXJ5X2RhdGEpOwoJCQkvLyAkdXJsICA9ICR0aGlzLT5jcmF3bF91cmwuJz8nLmh0dHBfYnVpbGRfcXVlcnkoJHRoaXMtPnF1ZXJ5X2RhdGEpOwoJCQkkY29udGVudCA9IGNvcmVBcHBDYWNoZTo6aHR0cF92aXNpdCgkdXJsKTsKCQkJJGNvbnRlbnQgPSBzdWJzdHIoJGNvbnRlbnQsIHN0cmxlbigid2luZG93LmJhaWR1LnN1ZygiKSk7CgkJCSRjb250ZW50ID0gc3Vic3RyKCRjb250ZW50LCAwLHN0cmxlbigkY29udGVudCktMik7CgkJCS8vIHByaW50KCRjb250ZW50KTsKCgkJCSRjb250ZW50ID0gdHJpbSgkY29udGVudCk7CgkJCSRiZWlnaW4gPSAgc3RycG9zKCRjb250ZW50LCJzOlsiKTsKCQkJJGNvbnRlbnQgPSBzdWJzdHIoJGNvbnRlbnQsICRiZWlnaW4rMixzdHJsZW4oJGNvbnRlbnQpLTIpOwoJCQkkZW5kID0gIHN0cnBvcygkY29udGVudCwifSIpOwoJCQkvLyBwcmludCgkZW5kKTsKCQkJJGNvbnRlbnQgPSBzdWJzdHIoJGNvbnRlbnQsIDAsJGVuZCk7CgkJCS8vIHByaW50KCRjb250ZW50KTsKCgoJCQkka2V5d29yZHNfanNvbiA9IGpzb25fZGVjb2RlKCRjb250ZW50LHRydWUpOwoJCQkvLyBwcmludF9yKCRrZXl3b3Jkc19qc29uKTsKCQkJZm9yZWFjaCAoJGtleXdvcmRzX2pzb24gYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkgCQkka2V5d29yZHNfbGlzdFtdID0gJHZhbHVlOwoJCSAJCS8vIGVjaG8gJHZhbHVlOwoJCSAJfQoJCSAJLy8gZWNobyAiMzMzMyI7CgkJfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CgkJCS8vIGVjaG8gIjMzMzMiOwoJCS8vIAllY2hvICJnZXRNZXNzYWdl77yaIi4kZS0+Z2V0TWVzc2FnZSgpOy8vRXhjZXB0aW9uKCnnmoTns7vnu5/mlrnms5Xojrflj5blvILluLjkv6Hmga8gCgkgLy8gZWNobyAiZ2V0RmlsZe+8miIuJGUtPmdldEZpbGUoKTsvL0V4Y2VwdGlvbigp55qE57O757uf5pa55rOV6I635Y+W5byC5bi45paH5Lu25ZCNIAoJIC8vIGVjaG8gImdldExpbmXvvJoiLiRlLT5nZXRMaW5lKCk7Ly9FeGNlcHRpb24oKeeahOezu+e7n+aWueazleiOt+WPluW8guW4uOihjOaVsCAKCQl9CgkJcmV0dXJuICRrZXl3b3Jkc19saXN0OwoJCS8vIHByaW50KCR0aGlzLT5jb250ZW50KTsKCX0KCn0KCgpjbGFzcyBjb3JlQXBwQ2FjaGV7CgkKCXB1YmxpYyBmdW5jdGlvbiB3cml0ZSgkZmlsZSwkZmlsZW5hbWUpewoJCXJldHVybiBmaWxlX3B1dF9jb250ZW50cygkZmlsZW5hbWUsc2VsZjo6ZW5jb2RlKCRmaWxlKSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHdyaXRlbm9jb2RlKCRmaWxlLCRmaWxlbmFtZSl7CgkJcmV0dXJuIGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlbmFtZSwkZmlsZSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHJlYWQoJGZpbGVuYW1lKXsKCQkkY29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7CgkJaWYoc3RyaXN0cigkY29udGVudCwiPC9leHBsb2RlPiIpKXsKCQkJJGNvbnRlbnQgPSBzZWxmOjpjdXQoJGNvbnRlbnQsIjxleHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQl9CgkJcmV0dXJuIHNlbGY6OmRlY29kZSgkY29udGVudCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHJlYWRub2NvZGUoJGZpbGVuYW1lKXsKCQkkY29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7CgkJaWYoc3RyaXN0cigkY29udGVudCwiPC9leHBsb2RlPiIpKXsKCQkJJGNvbnRlbnQgPSBzZWxmOjpjdXQoJGNvbnRlbnQsIjxleHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQl9CgkJcmV0dXJuICRjb250ZW50OwoJfQoKCXB1YmxpYyBmdW5jdGlvbiByZWFkUGhwQ29kZSgkZmlsZW5hbWUsJGFkZF9jb250ZW50MSwkYWRkX2NvbnRlbnQyKXsKCQkkY29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7CgkJaWYoc3RyaXN0cigkY29udGVudCwiPCIuIj9waHAiKSl7CgkJCSRjb250ZW50ID0gc2VsZjo6Y3V0KCRjb250ZW50LCI8PyIuInBocCIsIj8iLiI+Iik7CgkJfQoJCWlmKCFlbXB0eSgkYWRkX2NvbnRlbnQxKSl7CgkJCSRjb250ZW50ID0gJGFkZF9jb250ZW50MS4kY29udGVudDsKCQl9CgkJaWYoIWVtcHR5KCRhZGRfY29udGVudDIpKXsKCQkJJGNvbnRlbnQgPSAkY29udGVudC4kYWRkX2NvbnRlbnQyOwoJCX0KCQlyZXR1cm4gJGNvbnRlbnQ7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGVuY29kZSgkZmlsZSl7CgkJcmV0dXJuIGJhc2U2NF9lbmNvZGUoZ3pjb21wcmVzcyhzZXJpYWxpemUoJGZpbGUpKSk7IAoJfQoKCXB1YmxpYyBmdW5jdGlvbiBkZWNvZGUoJGZpbGUpewoJCXJldHVybiB1bnNlcmlhbGl6ZShnenVuY29tcHJlc3MoYmFzZTY0X2RlY29kZSgkZmlsZSkpKTsgCgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20sJGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9kZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJCXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBybmRTdHIoJGxlbmd0aD04KXsKCQkkc3RyID0gbnVsbDsKCQkkc3RyUG9sID0gIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7CgkJJG1heCA9IHN0cmxlbigkc3RyUG9sKS0xOwoJCWZvcigkaT0wOyRpPCRsZW5ndGg7JGkrKyl7CgkJCSRzdHIuPSRzdHJQb2xbcmFuZCgwLCRtYXgpXTsKCQl9CgkJcmV0dXJuICRzdHI7Cgl9CgoJLy/ov4fmu6TnmoTmlY/mhJ/or40KCXB1YmxpYyBmdW5jdGlvbiBraWxsX2lsbGVnYWxrZXlzKCRzdHIpewoJCSRhcnJfa2lsbF9rZXlzID1hcnJheSgn5YiAJywn5p6qJywn5YyV6aaWJywn5pC656iLJyk7ICAgICAgICAgICAvL+imgei/h+a7pOeahOaVj+aEn+ivjSDlm73lhoXnlKjmiLflv4Xpobvov4fmu6QKCQlyZXR1cm4gc3RyX3JlcGxhY2UoJGFycl9raWxsX2tleXMsJyAnLCRzdHIpOwoJfQoKCS8v5pWw5a2X566A5Y2V5Yqg5a+GCglwdWJsaWMgZnVuY3Rpb24gZW5jb2RlX2lkKCRpZCwkbnVtYmVyKSB7CgkJJG1pd2VuID0gKCRudW1iZXI9PTApPyRpZDooJG51bWJlci4kaWQpOwoJCXJldHVybiAkbWl3ZW47Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGRlY29kZV9pZCgkbWl3ZW4sJG51bWJlcikgewoJCSRpZCA9ICgkbnVtYmVyPT0wKT8kbWl3ZW46c3Vic3RyKCRtaXdlbixzdHJsZW4oJG51bWJlcikpOwoJCXJldHVybiAkaWQ7Cgl9CgoJLy/mlbDlrZfnroDmm7/mjaLmiJDlrZfmr40KCXB1YmxpYyBmdW5jdGlvbiB0b19hYmMoJG51bSl7CgkJJG4gPWFycmF5KCcxJywnMicsJzMnLCc0JywnNScsJzYnLCc3JywnOCcsJzknLCcwJyk7CgkJJHMgPWFycmF5KCdsJywnaycsJ2onLCdoJywnbScsJ24nLCd2JywnYycsJ2UnLCdpJyk7CgkJcmV0dXJuIHN0cl9yZXBsYWNlKCRuLCRzLCRudW0pOwoJfQoJcHVibGljIGZ1bmN0aW9uIHRvXzEyMygkc3RyKXsKCQkkbiA9YXJyYXkoJzEnLCcyJywnMycsJzQnLCc1JywnNicsJzcnLCc4JywnOScsJzAnKTsKCQkkcyA9YXJyYXkoJ2wnLCdrJywnaicsJ2gnLCdtJywnbicsJ3YnLCdjJywnZScsJ2knKTsKCQlyZXR1cm4gc3RyX3JlcGxhY2UoJHMsJG4sJHN0cik7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGh0dHBfdmlzaXQoJHdlYnVybCkgewogICAgCSR1c2VyX2FnZW50ID0gIk1vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzEwXzUpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS80NS4wLjI0NTQuODUgU2FmYXJpLzUzNy4zNiBRUUJyb3dzZXIvMy45LjM5NDMuNDAwIjsKICAgICAgICAkcmVtb3RlX2RhdGEgPSBOVUxMOwogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ2N1cmxfZXhlYycpKSB7CiAgICAgICAgICAgICRjdXJsID0gQGN1cmxfaW5pdCgpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVJMLCAkd2VidXJsKTsKICAgICAgICAgICAgQGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX0hFQURFUiwgMCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMzApOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVNFUkFHRU5ULCAkdXNlcl9hZ2VudCk7IAogICAgICAgICAgICAvLyBAY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfRU5DT0RJTkcsICJHQksiKTsKICAgICAgICAgICAgLy8gQGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1JFRkVSRVIsJ2h0dHA6Ly9wdWIuYWxpbWFtYS5jb20vcHJvbW8vc2VhcmNoL2luZGV4Lmh0bT9xPWtrJUU4JUEzJUE0JUU1JUFEJTkwJl90PTE0NTcwMDUyMjYyMTMnKTsKICAgICAgICAgICAgJHJlbW90ZV9kYXRhID0gQGN1cmxfZXhlYygkY3VybCk7CiAgICAgICAgICAgIEBjdXJsX2Nsb3NlKCRjdXJsKTsKICAgICAgICAgICAgLy8gcHJpbnQoJ2N1cmxfZXhlYycpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ3N0cmVhbV9jb250ZXh0X2NyZWF0ZScpKSB7CiAgICAgICAgICAgICAgICAkaGVhZGVyX2FycmF5ID0gYXJyYXkoJ2h0dHAnID0+IGFycmF5KCdtZXRob2QnID0+ICdHRVQnLCAndGltZW91dCcgPT4gMzApKTsKICAgICAgICAgICAgICAgICRodHRwX2hlYWRlciA9IEBzdHJlYW1fY29udGV4dF9jcmVhdGUoJGhlYWRlcl9hcnJheSk7CiAgICAgICAgICAgICAgICAkcmVtb3RlX2RhdGEgPSBAZmlsZV9nZXRfY29udGVudHMoJHdlYnVybCwgZmFsc2UsICRodHRwX2hlYWRlcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGVtcF91cmwgPSBleHBsb2RlKCIvIiwgJHdlYnVybCk7CiAgICAgICAgICAgICAgICAkbmV3X3VybCA9ICR0ZW1wX3VybFsyXTsKICAgICAgICAgICAgICAgICRodHRwX3BvcnQgPSA4MDsKICAgICAgICAgICAgICAgICRnZXRfZmlsZSA9IHN1YnN0cigkd2VidXJsLCBzdHJsZW4oJG5ld191cmwpICsgNyk7CiAgICAgICAgICAgICAgICBpZiAoc3Ryc3RyKCRuZXdfdXJsLCBjaHIoNTgpKSkgewogICAgICAgICAgICAgICAgICAgICRzX3Zhcl9hcnJheVsndGQnXSA9IGV4cGxvZGUoY2hyKDU4KSwgJG5ld191cmwpOwogICAgICAgICAgICAgICAgICAgICRuZXdfdXJsID0gJHNfdmFyX2FycmF5Wyd0ZCddWzBdOwogICAgICAgICAgICAgICAgICAgICRodHRwX3BvcnQgPSAkc192YXJfYXJyYXlbJ3RkJ11bMV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkZnNvY2tfcmVzdWx0ID0gQGZzb2Nrb3BlbigkbmV3X3VybCwgJGh0dHBfcG9ydCk7CiAgICAgICAgICAgICAgICBAZnB1dHMoJGZzb2NrX3Jlc3VsdCwgJ0dFVCAnIC4gJGdldF9maWxlIC4gJyBIVFRQLzEuMScgLiAiXHJcbiIgLiAnSG9zdDonIC4gJG5ld191cmwgLiAiXHJcbiIgLiAnQ29ubmVjdGlvbjpDbG9zZScgLiAiXHJcblxyXG4iKTsKICAgICAgICAgICAgICAgIHdoaWxlICghZmVvZigkZnNvY2tfcmVzdWx0KSkgewogICAgICAgICAgICAgICAgICAgICRyZW1vdGVfZGF0YSAuPSBmZ2V0cygkZnNvY2tfcmVzdWx0LCAxMDI0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEBmY2xvc2UoJGZzb2NrX3Jlc3VsdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRyZW1vdGVfZGF0YTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VydmVyTmFtZSgpIAoJeyAKCQkkU2VydmVyTmFtZSA9IHN0cnRvbG93ZXIoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10/JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ106JF9TRVJWRVJbJ0hUVFBfSE9TVCddKTsgCgkJaWYoIHN0cnBvcygkU2VydmVyTmFtZSwnaHR0cDovLycpICkgCgkJeyAKCQkJcmV0dXJuIHN0cl9yZXBsYWNlKCdodHRwOi8vJywnJywkU2VydmVyTmFtZSk7IAoJCX0gCgkJcmV0dXJuICRTZXJ2ZXJOYW1lOyAKCX0KCglwdWJsaWMgZnVuY3Rpb24gY2xpZW50SXAoKXsKCQlpZihnZXRlbnYoJ0hUVFBfQ0xJRU5UX0lQJykgJiYgc3RyY2FzZWNtcChnZXRlbnYoJ0hUVFBfQ0xJRU5UX0lQJyksICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpOwoJCX0gZWxzZWlmKGdldGVudignSFRUUF9YX0ZPUldBUkRFRF9GT1InKSAmJiBzdHJjYXNlY21wKGdldGVudignSFRUUF9YX0ZPUldBUkRFRF9GT1InKSwgJ3Vua25vd24nKSkgewoJCQkkb25saW5laXAgPSBnZXRlbnYoJ0hUVFBfWF9GT1JXQVJERURfRk9SJyk7CgkJfSBlbHNlaWYoZ2V0ZW52KCdSRU1PVEVfQUREUicpICYmIHN0cmNhc2VjbXAoZ2V0ZW52KCdSRU1PVEVfQUREUicpLCAndW5rbm93bicpKSB7CgkJCSRvbmxpbmVpcCA9IGdldGVudignUkVNT1RFX0FERFInKTsKCQl9IGVsc2VpZihpc3NldCgkX1NFUlZFUlsnUkVNT1RFX0FERFInXSkgJiYgJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10gJiYgc3RyY2FzZWNtcCgkX1NFUlZFUlsnUkVNT1RFX0FERFInXSwgJ3Vua25vd24nKSkgewoJCQkkb25saW5laXAgPSAkX1NFUlZFUlsnUkVNT1RFX0FERFInXTsKCQl9CgkJcHJlZ19tYXRjaCgiL1tcZFwuXXs3LDE1fS8iLCAkb25saW5laXAsICRvbmxpbmVpcG1hdGNoZXMpOwoJCSRvbmxpbmVpcCA9ICRvbmxpbmVpcG1hdGNoZXNbMF0gPyAkb25saW5laXBtYXRjaGVzWzBdIDogJ3Vua25vd24nOwoJCXVuc2V0KCRvbmxpbmVpcG1hdGNoZXMpOwoJCXJldHVybiAkb25saW5laXA7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGlzQWxsb3dkSXAoJGFsbG93X2lwKXsKCQkkaXAgPSBzZWxmOjpjbGllbnRJcCgpOwoJCSRub25fbGlzdCA9IGV4cGxvZGUoInwiLCRhbGxvd19pcCk7CgkJZm9yZWFjaCgkbm9uX2xpc3QgYXMgJGlwbGlzdCl7CgkJCWlmKEBzdHJpc3RyKCRpcCwkaXBsaXN0KSl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLy/liqDlr4bnv7vovazlrZfnrKYKCXB1YmxpYyBmdW5jdGlvbiBlbmNvZGVfc3RycmV2KCRmaWxlKXsKCQlyZXR1cm4gc3RycmV2KGJhc2U2NF9lbmNvZGUoJGZpbGUpKTsgCgl9CgkvL+e/u+i9rOino+WvhuWtl+espgoJcHVibGljIGZ1bmN0aW9uIGRlY29kZV9zdHJyZXYoJGZpbGUpewoJCXJldHVybiBiYXNlNjRfZGVjb2RlKHN0cnJldigkZmlsZSkpOyAKCX0KCglwdWJsaWMgZnVuY3Rpb24gc2VvX3BpYygkaXRlbV9waWN0VXJsLCRjb25maWdfaXRlbSwkaG9zdF9pdGVtLCRkb21haW5VcmwpewoJCSRzZW9waWMgPSAkaXRlbV9waWN0VXJsOwoJCWlmKCFlbXB0eSgkaXRlbV9waWN0VXJsKSl7CgkJCSRob3N0X3Nlb3BpYyA9ICRob3N0X2l0ZW1bJ3VybF9zZW9fcGljJ107CgkJCSRpdGVtX3BpY3RVcmxfYmFzZTY0ID0gYmFzZTY0X2VuY29kZSgkaXRlbV9waWN0VXJsKTsKCQkJJGl0ZW1fcGljdFVybF9iYXNlNjRfcmV2ID0gc2VsZjo6ZW5jb2RlX3N0cnJldigkaXRlbV9waWN0VXJsKTsKCQkJZXZhbCgiXCRzZW9waWMgPSBcIiRob3N0X3Nlb3BpY1wiOyIpOwoJCX0KCQlyZXR1cm4gJHNlb3BpYzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gc2VvKCRpdGVtcywkY29uZmlnX2l0ZW0sJGhvc3RfaXRlbSwkZG9tYWluVXJsKXsKCQkkaXRlbXNfbmV3cyA9IGFycmF5KCk7CgkJaWYoIWVtcHR5KCRpdGVtcykpewoJCQlmb3JlYWNoICgkaXRlbXMgYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkJCSRpdGVtX3BpY3RVcmwgPSAkdmFsdWVbJ3BpY3VybCddOwoJCQkJaWYoIWVtcHR5KCRpdGVtX3BpY3RVcmwpKXsKCQkJCQkkaG9zdF9zZW9waWMgPSAkaG9zdF9pdGVtWyd1cmxfc2VvX3BpYyddOwoJCQkJCSRpdGVtX3BpY3RVcmxfYmFzZTY0ID0gYmFzZTY0X2VuY29kZSgkaXRlbV9waWN0VXJsKTsKCQkJCQkkaXRlbV9waWN0VXJsX2Jhc2U2NF9yZXYgPSBzZWxmOjplbmNvZGVfc3RycmV2KCRpdGVtX3BpY3RVcmwpOwoJCQkJCWV2YWwoIlwkc2VvcGljID0gXCIkaG9zdF9zZW9waWNcIjsiKTsKCQkJCQkkdmFsdWVbJ3Nlb3BpYyddID0gJHNlb3BpYzsKCQkJCX0KCgkJCQkkaXRlbV91cmwgPSAkdmFsdWVbJ3VybCddOwoJCQkJaWYoIWVtcHR5KCRpdGVtX3VybCkpewoJCQkJCSRob3N0X3Nlb19pdGVtX3VybCA9ICRob3N0X2l0ZW1bJ3VybF9zZW9faXRlbSddOwoJCQkJCSRpdGVtX3VybF9iYXNlNjQgPSBiYXNlNjRfZW5jb2RlKCRpdGVtX3VybCk7CgkJCQkJJGl0ZW1fdXJsX2Jhc2U2NF9yZXYgPSBzZWxmOjplbmNvZGVfc3RycmV2KCRpdGVtX3VybCk7CgkJCQkJZXZhbCgiXCRzZW9faXRlbV91cmwgPSBcIiRob3N0X3Nlb19pdGVtX3VybFwiOyIpOwoJCQkJCSR2YWx1ZVsnc2VvX3VybCddID0gJHNlb19pdGVtX3VybDsKCgkJCQkJJHZhbHVlWydiYXNlX3VybCddID0gJGl0ZW1fdXJsX2Jhc2U2NDsKCQkJCX0KCgkJCQkkaXRlbXNfbmV3c1tdID0gJHZhbHVlOwoJCQl9CgkJfQoJCXJldHVybiAkaXRlbXNfbmV3czsKCX0KCglwdWJsaWMgZnVuY3Rpb24gc2VvX3Nob3coJGl0ZW1zLCRjb25maWdfaXRlbSwkaG9zdF9pdGVtLCRkb21haW5VcmwpewoJCSRpdGVtc19uZXdzID0gYXJyYXkoKTsKCQlpZighZW1wdHkoJGl0ZW1zKSl7CgkJCWZvcmVhY2ggKCRpdGVtcyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCQkJJGl0ZW1fcGljdFVybCA9ICR2YWx1ZVsncGljX3VybCddOwoJCQkJaWYoIWVtcHR5KCRpdGVtX3BpY3RVcmwpKXsKCQkJCQkkaG9zdF9zZW9waWMgPSAkaG9zdF9pdGVtWyd1cmxfc2VvX3BpYyddOwoJCQkJCSRpdGVtX3BpY3RVcmxfYmFzZTY0ID0gYmFzZTY0X2VuY29kZSgkaXRlbV9waWN0VXJsKTsKCQkJCQkkaXRlbV9waWN0VXJsX2Jhc2U2NF9yZXYgPSBzZWxmOjplbmNvZGVfc3RycmV2KCRpdGVtX3BpY3RVcmwpOwoJCQkJCWV2YWwoIlwkc2VvcGljID0gXCIkaG9zdF9zZW9waWNcIjsiKTsKCQkJCQkkdmFsdWVbJ3Nlb3BpYyddID0gJHNlb3BpYzsKCQkJCX0KCQkJCSR2YWx1ZVsndGl0bGUnXSA9ICR2YWx1ZVsnbmFtZSddOwoJCQkJLy8gJGl0ZW1fdXJsID0gJHZhbHVlWyd1cmwnXTsKCQkJCS8vIGlmKCFlbXB0eSgkaXRlbV91cmwpKXsKCQkJCS8vIAkkaG9zdF9zZW9faXRlbV91cmwgPSAkaG9zdF9pdGVtWyd1cmxfc2VvX2l0ZW0nXTsKCQkJCS8vIAkkaXRlbV91cmxfYmFzZTY0ID0gYmFzZTY0X2VuY29kZSgkaXRlbV91cmwpOwoJCQkJLy8gCSRpdGVtX3VybF9iYXNlNjRfcmV2ID0gc2VsZjo6ZW5jb2RlX3N0cnJldigkaXRlbV91cmwpOwoJCQkJLy8gCWV2YWwoIlwkc2VvX2l0ZW1fdXJsID0gXCIkaG9zdF9zZW9faXRlbV91cmxcIjsiKTsKCQkJCS8vIAkkdmFsdWVbJ3Nlb191cmwnXSA9ICRzZW9faXRlbV91cmw7CgkJCQkvLyB9CgoJCQkJJGl0ZW1zX25ld3NbXSA9ICR2YWx1ZTsKCQkJfQoJCX0KCQlyZXR1cm4gJGl0ZW1zX25ld3M7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHNlb19jYXRlKCRpdGVtcywkY29uZmlnX2l0ZW0sJGhvc3RfaXRlbSwkZG9tYWluVXJsKXsKCQkkaXRlbXNfbmV3cyA9IGFycmF5KCk7CgkJaWYoIWVtcHR5KCRpdGVtcykpewoJCQlmb3JlYWNoICgkaXRlbXMgYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkJCSRpdGVtX2NhdGVnb3J5X2lkID0gJHZhbHVlWydjYXRlZ29yeV9pZCddOwoJCQkJJGl0ZW1fbmFtZSA9ICR2YWx1ZVsnbmFtZSddOwoJCQkJJGl0ZW1fY2F0ZWdvcnlfcHkgPSBDVXRmOF9QWTo6ZW5jb2RlKCRpdGVtX25hbWUsICdhbGwnKTsKCgkJCQkkdGVtcF9udW1fY2lkID0gc2VsZjo6ZW5jb2RlX2lkKCRpdGVtX2NhdGVnb3J5X2lkLCRob3N0X2l0ZW1bJ2hpZCddKTsKCQkJCSR0ZW1wX3N0cl9jaWQgPSBzZWxmOjp0b19hYmMoJHRlbXBfbnVtX2NpZCk7CgoJCQkJJHVybF9zZW9fY2F0ZWdvcnkgPSAkaG9zdF9pdGVtWyd1cmxfc2VvX2NhdGVnb3J5J107CgkJCQkvLyAkdGVtcF9udW1fY2lkID0gYmFzZTY0X2VuY29kZSgkaXRlbV9waWN0VXJsKTsKCQkJCS8vICRpdGVtX3BpY3RVcmxfYmFzZTY0X3JldiA9IHNlbGY6OmVuY29kZV9zdHJyZXYoJGl0ZW1fcGljdFVybCk7CgkJCQlldmFsKCJcJHVybCA9IFwiJHVybF9zZW9fY2F0ZWdvcnlcIjsiKTsKCQkJCSR2YWx1ZVsndXJsJ10gPSAkdXJsOwoKCQkJCSRpdGVtc19uZXdzW10gPSAkdmFsdWU7CgkJCX0KCQl9CgkJcmV0dXJuICRpdGVtc19uZXdzOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiByYW5kaXRlbXMoJGl0ZW1zLCRjb3VudCl7CgkJJGl0ZW1zX25ld3MgPSBhcnJheSgpOwoJCWlmKCFlbXB0eSgkaXRlbXMpKXsKCQkJc2h1ZmZsZSgkaXRlbXMpOwoJCQlmb3JlYWNoICgkaXRlbXMgYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkJCWlmKCRjb3VudD4wKXsKCQkJCQkkY291bnQtLTsKCQkJCQkkaXRlbXNfbmV3c1tdID0gJHZhbHVlOwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiAkaXRlbXNfbmV3czsKCX0KCglwdWJsaWMgZnVuY3Rpb24gbWVyZ2VfaXRlbXMoJGl0ZW1zX2luZGV4LCRpdGVtc19hZGQsJGNvdW50KXsKCQkkaXRlbXNfbmV3cyA9IGFycmF5KCk7CgkJaWYoIWVtcHR5KCRpdGVtc19hZGQpKXsKCQkJZm9yZWFjaCAoJGl0ZW1zX2FkZCBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCQkJaWYoY291bnQoJGl0ZW1zX25ld3MpPCRjb3VudCl7CgkJCQkJJGl0ZW1zX25ld3NbJHZhbHVlWyd1cmwnXV0gPSAkdmFsdWU7CgkJCQl9CgkJCX0KCQl9CgkJaWYoIWVtcHR5KCRpdGVtc19pbmRleCkpewoJCQlmb3JlYWNoICgkaXRlbXNfaW5kZXggYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkJCWlmKGNvdW50KCRpdGVtc19uZXdzKTwkY291bnQpewoJCQkJCSRpdGVtc19uZXdzWyR2YWx1ZVsndXJsJ11dID0gJHZhbHVlOwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiAkaXRlbXNfbmV3czsKCX0KCglwdWJsaWMgZnVuY3Rpb24gbWVyZ2VfdmFsdWUoJGl0ZW1zX2luZGV4LCRpdGVtc19hZGQpewoJCSRpdGVtc19uZXdzID0gYXJyYXkoKTsKCQlpZighZW1wdHkoJGl0ZW1zX2luZGV4KSl7CgkJCWZvcmVhY2ggKCRpdGVtc19pbmRleCBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCQkJJGl0ZW1zX25ld3NbXSA9ICR2YWx1ZTsKCQkJfQoJCX0KCQlpZighZW1wdHkoJGl0ZW1zX2FkZCkpewoJCQlmb3JlYWNoICgkaXRlbXNfYWRkIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkJCQkkaXRlbXNfbmV3c1tdID0gJHZhbHVlOwoJCQl9CgkJfQoJCSRpdGVtc19uZXdzID0gYXJyYXlfdW5pcXVlKCRpdGVtc19uZXdzKTsKCQlyZXR1cm4gJGl0ZW1zX25ld3M7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldEFsbFVybCgkdXJsYWxsKXsKCQkkdXJsID0gcGFyc2VfdXJsKCR1cmxhbGwpOwoJCXJldHVybiAkdXJsWydob3N0J107Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGZldGNoSWQoJHVybCl7CgkJJGlkPScnOwoJCWlmKHByZWdfbWF0Y2goJyhcXD8vKFswLTldKykvKFtcXHNcXFNdKikpJywgJHVybCwgJG1hdGNoZXMpKXsKCQkJLy8gcHJpbnRfcigkbWF0Y2hlcyk7CgkJCSRpZCA9IHRyaW0oJG1hdGNoZXNbMV0pOwoJCX0KCQllbHNlIGlmKHByZWdfbWF0Y2goJyhcXD8vKFswLTldKylcXC5odG1sKScsICR1cmwsICRtYXRjaGVzKSl7CgkJCS8vIHByaW50X3IoJG1hdGNoZXMpOwoJCQkkaWQgPSB0cmltKCRtYXRjaGVzWzFdKTsKCQl9CgkJZWxzZSBpZihwcmVnX21hdGNoKCcoXFw/LyhbYS16XSspXFwuaHRtbCknLCAkdXJsLCAkbWF0Y2hlcykpewoJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJJGlkID0gdHJpbSgkbWF0Y2hlc1sxXSk7CgkJfQoJCWVsc2UgaWYocHJlZ19tYXRjaCgnKFxcPy8oWzAtOV0rKVxcLnBocCknLCAkdXJsLCAkbWF0Y2hlcykpewoJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJJGlkID0gdHJpbSgkbWF0Y2hlc1sxXSk7CgkJfQoJCWVsc2UgaWYocHJlZ19tYXRjaCgnKFxcPy8oW2Etel0rKVxcLnBocCknLCAkdXJsLCAkbWF0Y2hlcykpewoJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJJGlkID0gdHJpbSgkbWF0Y2hlc1sxXSk7CgkJfQoJCWVsc2UgaWYocHJlZ19tYXRjaCgnKFxcPy8oWzAtOV0rKVxcLmFzcCknLCAkdXJsLCAkbWF0Y2hlcykpewoJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJJGlkID0gdHJpbSgkbWF0Y2hlc1sxXSk7CgkJfQoJCWVsc2UgaWYocHJlZ19tYXRjaCgnKFxcPy8oW2Etel0rKVxcLmFzcCknLCAkdXJsLCAkbWF0Y2hlcykpewoJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJJGlkID0gdHJpbSgkbWF0Y2hlc1sxXSk7CgkJfQoJCWVsc2UgaWYocHJlZ19tYXRjaCgnKFxcPy8oWzAtOV0rKS8pJywgJHVybCwgJG1hdGNoZXMpKXsKCQkJLy8gcHJpbnRfcigkbWF0Y2hlcyk7CgkJCSRpZCA9IHRyaW0oJG1hdGNoZXNbMV0pOwoJCX0KCQllbHNlIGlmKHByZWdfbWF0Y2goJyhcXD8vKFtBLVphLXowLTldKykvKFthLXpdKykvKScsICR1cmwsICRtYXRjaGVzKSl7CgkJCS8vIHByaW50X3IoJG1hdGNoZXMpOwoJCQkkaWQgPSB0cmltKCRtYXRjaGVzWzJdKTsKCQl9CgkJZWxzZSBpZihwcmVnX21hdGNoKCcoXFw/LyhbQS1aYS16MC05XSspLyhbMC05XSspLyknLCAkdXJsLCAkbWF0Y2hlcykpewoJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJJGlkID0gdHJpbSgkbWF0Y2hlc1syXSk7CgkJfQoJCWVsc2UgaWYocHJlZ19tYXRjaCgnKFxcPy8oW0EtWmEtejAtOV0rKS0oW0EtWmEtejAtOV0rKS8pJywgJHVybCwgJG1hdGNoZXMpKXsKCQkJLy8gcHJpbnRfcigkbWF0Y2hlcyk7CgkJCSRpZCA9IHRyaW0oJG1hdGNoZXNbMl0pOwoJCX0KCQllbHNlIGlmKHByZWdfbWF0Y2goJyhcXD8vKFthLXpdKykvKScsICR1cmwsICRtYXRjaGVzKSl7CgkJCS8vIHByaW50X3IoJG1hdGNoZXMpOwoJCQkkaWQgPSB0cmltKCRtYXRjaGVzWzFdKTsKCQl9CgkJZWxzZSBpZihwcmVnX21hdGNoKCcoXFw/L1teLV0rLShbQS1aYS16MC05XSspLyknLCAkdXJsLCAkbWF0Y2hlcykpewoJCQkvLyBwcmludF9yKCRtYXRjaGVzKTsKCQkJJGlkID0gdHJpbSgkbWF0Y2hlc1syXSk7CgkJfQoJCXJldHVybiAkaWQ7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGZldGNoTmFtZUlkKCR1cmwsJGZpZWxkTmFtZSl7CgkJJGlkPScnOwoJCS8vIHByaW50KCR1cmwpOwoJCWlmKHByZWdfbWF0Y2goJyhcXD8nLiRmaWVsZE5hbWUuJ1xcPShbMC05XSspKScsICR1cmwsICRtYXRjaGVzKSl7CgkJCS8vIHByaW50X3IoJG1hdGNoZXMpOwoJCQkkaWQgPSB0cmltKCRtYXRjaGVzWzFdKTsKCQl9CgkJLy8gcHJpbnQoJGlkKTsKCQlyZXR1cm4gJGlkOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBmZXRjaE5hbWVBbGwoJHVybCwkZmllbGROYW1lKXsKCQkkaWQ9Jyc7CgkJLy8gcHJpbnQoJHVybCk7CgkJaWYocHJlZ19tYXRjaCgnKCcuJGZpZWxkTmFtZS4nXFw9KFtcXHNcXFNeJl0rKSknLCAkdXJsLCAkbWF0Y2hlcykpewoJCQlwcmludF9yKCRtYXRjaGVzKTsKCQkJJGlkID0gdHJpbSgkbWF0Y2hlc1sxXSk7CgkJfQoJCS8vIHByaW50KCRpZCk7CgkJcmV0dXJuICRpZDsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0VXNlckFnZW50TGlzdCgpewoJCSRhcnJfYWdlbnQgPSBhcnJheSgnR29vZ2xlJywnWWFob28nLCdCYWlkdXNwaWRlcicsJ1lvZGFvQm90JywnU29zb3NwaWRlcicsJ3NvZ291JywnTVNOQm90JywnMzYwU3BpZGVyJywnYmluZ2JvdCcsJ0NyYXdsJywnQWxsJywneWFuZGV4JywnRWFzb3VTcGlkZXInLCdIdWF3ZWlTeW1hbnRlY1NwaWRlcicpOwoJCXJldHVybiAkYXJyX2FnZW50OwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRVc2VyQWdlbnQoJHVzZXJfYWdlbnQpewoJCWlmKCFlbXB0eSgkdXNlcl9hZ2VudCkpewoJCQkkYXJyX2FnZW50ID0gc2VsZjo6Z2V0VXNlckFnZW50TGlzdCgpOwoJCQlmb3JlYWNoICgkYXJyX2FnZW50IGFzICRrZXkgPT4gJHZhbHVlKSB7CgkJCQlpZihzdHJpcG9zKCR1c2VyX2FnZW50LCR2YWx1ZSkhPT0gZmFsc2UpewoJCQkJCXJldHVybiAkdmFsdWU7CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuICcnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiB0b05ld1VybCgka2V5d29yZHNfaXRlbSwkeHVoYW8sJHByZSwka2V5TmFtZSl7CgkJJGtpZCA9ICRrZXl3b3Jkc19pdGVtWydrZXl3b3Jkc19pZCddOwoJCSRrc3RySWQgPSBzZWxmOjp0b19hYmMoJGtpZCk7CgkJJG1kNSA9IG1kNSgkcHJlLidfJy4ka3N0cklkKTsKCQkkcHJlX3VybCA9IHN1YnN0cigkbWQ1LDAsNSk7CgkJaWYoJHh1aGFvPT0wKXsKCQkJJHh1aGFvID0gcmFuZCgxLDEyKTsKCQl9CgkJaWYoJHh1aGFvPjExKXsKCQkJJHh1aGFvID0gJHh1aGFvJTEyOwoJCX0KCQlpZigkeHVoYW89PTApewoJCQkkdXJsID0gJGtzdHJJZC4iLmh0bWwiOwoJCX0KCQllbHNlIGlmKCR4dWhhbz09MSl7CgkJCSR1cmwgPSAka2lkLiIuaHRtbCI7CgkJfQoJCWVsc2UgaWYoJHh1aGFvPT0yKXsKCQkJJHVybCA9ICRrc3RySWQuIi5odG1sIjsKCQl9CgkJZWxzZSBpZigkeHVoYW89PTMpewoJCQkkdXJsID0gJGtpZC4iLnBocCI7CgkJfQoJCWVsc2UgaWYoJHh1aGFvPT00KXsKCQkJJHVybCA9ICRrc3RySWQuIi5waHAiOwoJCX0KCQllbHNlIGlmKCR4dWhhbz09NSl7CgkJCSR1cmwgPSAka2lkLiIuYXNwIjsKCQl9CgkJZWxzZSBpZigkeHVoYW89PTYpewoJCQkkdXJsID0gJGtzdHJJZC4iLmFzcCI7CgkJfQoJCWVsc2UgaWYoJHh1aGFvPT01KXsKCQkJJHVybCA9ICRraWQuIi8iOwoJCX0KCQllbHNlIGlmKCR4dWhhbz09Nil7CgkJCSR1cmwgPSAka3N0cklkLiIvIjsKCQl9CgkJZWxzZSBpZigkeHVoYW89PTcpewoJCQkkdXJsID0gJHByZV91cmwuIi8iLiRraWQuIi8iOwoJCX0KCQllbHNlIGlmKCR4dWhhbz09OCl7CgkJCSR1cmwgPSAkcHJlX3VybC4iLyIuJGtzdHJJZC4iLyI7CgkJfQoJCWVsc2UgaWYoJHh1aGFvPT05KXsKCQkJJHByZV91cmwgPSBzdWJzdHIoJG1kNSw2LDUpOwoJCQkkdXJsID0gJHByZV91cmwuIi0iLiRraWQuIi8iOwoJCX0KCQllbHNlIGlmKCR4dWhhbz09MTApewoJCQkkcHJlX3VybCA9IHN1YnN0cigkbWQ1LDYsNSk7CgkJCSR1cmwgPSAkcHJlX3VybC4iLSIuJGtzdHJJZC4iLyI7CgkJfQoJCWVsc2UgaWYoJHh1aGFvPT0xMSl7CgkJCSR1cmwgPSAka2lkLiIvIi4ka2V5TmFtZTsKCQl9CgkJZWxzZXsKCQkJJHVybCA9ICRrc3RySWQuIi5odG1sIjsKCQl9CgkJcmV0dXJuICR1cmw7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHNob3dfaXRlbXMoJGFycl9ob3N0LCRjb25mKXsKCQkkYXJyX2hvc3RfbmV3cyA9IGFycmF5KCk7CgkJaWYoIWVtcHR5KCRhcnJfaG9zdCkpewoJCQlmb3JlYWNoICgkYXJyX2hvc3QgYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkJCWlmKCR2YWx1ZVsnc2hvdyddIT09ZmFsc2UpewoJCQkJCWlmKCFlbXB0eSgkY29uZikpewoJCQkJCQlpZigkdmFsdWVbJ2NvbmYnXT09JGNvbmYpewoJCQkJCQkJJGFycl9ob3N0X25ld3NbXSA9ICR2YWx1ZTsKCQkJCQkJfQoJCQkJCX1lbHNlewoJCQkJCQkkYXJyX2hvc3RfbmV3c1tdID0gJHZhbHVlOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCQlyZXR1cm4gJGFycl9ob3N0X25ld3M7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHBhcnNlX3VybCgkdXJsLCRrZXlOYW1lKXsKCQkkYXJyID0gcGFyc2VfdXJsKCR1cmwpOwoJCSRxdWVyeVBhcnRzID0gZXhwbG9kZSgnJicsICRhcnJbJ3F1ZXJ5J10pOwoJCSRwYXJhbXMgPSBhcnJheSgpOwoJCWZvcmVhY2ggKCRxdWVyeVBhcnRzIGFzICRwYXJhbSl7CgkJCSRpdGVtID0gZXhwbG9kZSgnPScsICRwYXJhbSk7CgkJCSRwYXJhbXNbJGl0ZW1bMF1dID0gJGl0ZW1bMV07CgkJfQoJCXJldHVybiAkcGFyYW1zWyRrZXlOYW1lXTsKCX0gCgoJcHVibGljIGZ1bmN0aW9uIG1lcmdlX3VybCgkaXRlbXMsJHVybCl7CgkJJGl0ZW1zX3VybHMgPSBhcnJheSgpOwoJCSRpdGVtc19uZXdzID0gYXJyYXkoKTsKCQlpZighZW1wdHkoJGl0ZW1zKSl7CgkJCWZvcmVhY2ggKCRpdGVtcyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCQkJaWYgKCFpbl9hcnJheSgkdmFsdWVbJ3VybCddLCAkaXRlbXNfdXJscykpIHsKCQkJCQkkaXRlbXNfbmV3c1tdID0gJHZhbHVlOwoJCQkJCSRpdGVtc191cmxzW10gPSAkdmFsdWVbJ3VybCddOwoJCQkJfQoJCQl9CgkJfQoJCWlmKCFlbXB0eSgkdXJsKSl7CgkJCWlmICghaW5fYXJyYXkoJHVybCwgJGl0ZW1zX3VybHMpKSB7CgkJCQkkaXRlbXNfbmV3c1tdID0gYXJyYXkoCgkJCQkJInVybCI9PiR1cmwKCQkJCSk7CgkJCQkkaXRlbXNfdXJsc1tdID0gJHVybDsKCQkJfQoJCX0KCQlyZXR1cm4gJGl0ZW1zX25ld3M7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldENsYXNzTmFtZUxpc3QoKXsKCQkkYXJyX2NsYXNzTmFtZSA9IGFycmF5KCdqZCcpOwoJCXJldHVybiAkYXJyX2NsYXNzTmFtZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0UmFuZG9tQ2xhc3NOYW1lKCl7CgkJJGFycl9jbGFzc05hbWUgPSBzZWxmOjpnZXRDbGFzc05hbWVMaXN0KCk7CgkJaWYoIWVtcHR5KCRhcnJfY2xhc3NOYW1lKSl7CgkJCXJldHVybiAkYXJyX2NsYXNzTmFtZVtyYW5kKDAsY291bnQoJGFycl9jbGFzc05hbWUpLTEpXTsKCQl9CgkJcmV0dXJuICdqZCc7Cgl9Cgp9CgoKCg==</phpcode>