ヴォーエプソンエルメスのどの製品です,エルメスベアンスフレリザード ヴォーエプソンエルメス包郵組み合わせ どこが買いヴォーエプソンエルメス安い


2015-03-10 12:38
ボリード 定価韓国ドラマバーキン25赤バーキン 専門店エルメスバーキンエプソンエルメス h時計エルメスベアン3つ折エルメス ガーデンパーティー 定価ケリー エトープ韓国ドラマ無料エルメス画像バーキン パーソナルオーダーケリーバッグ値段エルメススーパーコピーバーキン30 ヴォーエプソン HERMES-225エルメス財布ベアンエルメススーパーコピーバーキン30ヴォーエプソン ソレイユ HERMES-195エルメスケリーエプソンベアンベアンスフレケリーバッグ価格ベアンスフレシェーブル新素材一覧エルメス バーキン 見分け方エルメスバッグ価格エルメスベアンエルメス バーキン コピー 韓国セレブ愛用新品エルメススーパーコピーヴォーエプソン/ホワイトMC2P-CARTESエルメスベアンクロココピーベアンスフレクロコエルメス ヴォーエプソン韓国語単語エルメスバッグ中古エルメススーパーコピーバーキン30 ヴォーエプソン ゴールド HERMES-356エルメス バーキン 色ジプシエール 28エルメスバーキンスーパーコピーエルメス 財布 カタログベアンスフレ クロコエルメス 時計エル メス 財布 ケリーバーキンエプソンエルメス 財布 ベアン コピーエルメス 財布 ベアン ピンクエルメス財布ケリーバーキン25エプソン信用販売 エルメス ベアンスフレ/ヴォーエプソン/オレンジ(O刻S金具)HER-076 絶対到着店エルメスベアンリザードエルメススーパーコピーケリー28ヴォーエプソン/ライムHERMESB02hermes birkin 35スーパーコピー財布エルメスケリースーパーコピー最高品質 エルメススーパーコピー アザップシルク ヴォーエプソン ゴールド2104100602152 信用第一エルメススーパーコピーバーキン25 パーソナルオーダーヴォーエプソン HERMES-250エルメスベアンスフレクロコエルメス バーキン コピー 口コミヴォースイフト素材ベアンスフレゴールドエルメスヴォースイフトtool boxhermes azap vertical walletエルメス ベアン 刻印 場所エルメス バックアザップ シルクインスーパーコピー通販エルメス ジプシエールエルメスベアンスフレ刻印エルメス 財布 種類エルメス メンデルエルメス財布カタログガーデンパーティーサイズエルメス財布価格韓国ドラマランキングエルメススーパーコピーバーキン25ヴォーエプソン ブラック HERMES-296bs11韓国ドラマhermesエルメスベアンスフレブレイズクロコダイルアリゲーターhermesエルメスバーキン35ゴールドトゴハンドバッグエルメス ベアン 刻印エルメス財布新作2012エル メス 財布 カタログエルメススーパーコピーバーキン25 ヴォーエプソン ルビー HERMES-348バーキン30定価エルメスバッグ人気セレブ愛用新品エルメススーパーコピーベアンスフレヴォーエプソン/ブルージーン HER-086エルメスベアンスフレ長財布エルメススーパーコピータイニーバーキンヴォーエプソン HERMES-346エルメス エプソン 手入れエルメススーパーコピーバーキン35ヴォーエプソン オレンジ HERMES-360エルメス財布azapベアンスフレヴォーエプソンエル メス 財布 人気エルメス 財布 コピーエル メス 財布 人気ランキングエルメスケリーデペッシュスーパーコピーエルメスベアン2つ折りエルメススーパーコピーバーキン25 ヴォーエプソン HERMES-376エルメスベアンとベアンスフレの違いヴォーエプソン素材最高品質 エルメススーパーコピー アザップシルク ヴォーエプソン 2104100612748 信用第一バーキン30赤バーキン風バッグモンハン素材一覧トゴ エプソンエルメス バーキン 30cmヴォーエプソンエルメスバーキン25 (ゴールド茶ブラウン)タイプエルメスベアンブルーケリーバッグ買取価格エルメス ベアン メンズエルメス財布コピーベアンエル メス 財布 新作エルメス 小物エルメス財布コピーエルメスバッグ一覧エル メス バッ グの 種類 ぴこたんエルメス バーキン 定価 フランスエルメス財布スーパーコピーエルメススーパーコピーバーキン35ヴォーエプソン セレスト HERMES-204エル メス 財布 価格韓国俳優エルメススーパーコピーバーキン25 ヴォーエプソン HERMES-245バーキン25リザードエルメスバッグエルメススーパーコピーバーキン30ヴォーエプソン ライム HERMES-149フェアリーテイルゼレフ覚醒素材一覧エルメス 財布 ベアン 中古エルメス財布人気ランキングバーキンエプソントゴエルメスベアンスフレクロコダイルバーキン25コピーエルメスのバッグエルメスーコピーバーキン30 ヴォーエプソン セレスト HERMES-227バーキン25cmエエルメススーパーコピーバーキン25 ヴォーエプソン HERMES-388エルメストートバッグ種類エル メス 財布 ベアンmhfhc 素材一覧韓国ドラマ放送予定ケリー値段エルメス ベアン 中古シャネル財布スーパーコピーエルメスベアンスフレ財布エルメス 腕時計エルメス バーキン スーパーコピーベアンベアンスフレ違いエルメス バーキン 偽物バーキン価格エルメス 時計 メンズミニケリーエルメスベアン3つ折りエルメススーパーコピーバーキン30ヴォーエプソン ヴェールベンガル HERMES-137エルメススーパーコピーバーキン25 ヴォーエプソン HERMES-271エルメスベアン二つ折りガドランマスター素材一覧エルメス食器エルメス 財布 値段エルメス財布ドゴン定価スーパーコピー時計ベアンスフレ違いパズドラ進化素材一覧表エルメス 財布 スーパーコピーhermesエルメスazapアザップヴォーエプソンブルージーンエルメスベアンスフレエルメス ベアン コピーエルメススーパーコピーバーキン25 ヴォーエプソン ライム HERMES-218ヴィトン 財布エルメスバーキンコピーエルメス 財布 ベアン newエルメススーパーコピーバーキン35 ヴォーエプソン キウイ HERMES-190エルメスベアンブルーランエルメス長財布アザップバーキンヴォーエプソンエルメス ベアン 財布 メンズパズドラ進化素材一覧エルメスエプソンエルメス ベアン スフレ ニロティカス クロコバーキン30タイプエルメスベアン激安ヴィクトリアエランエルメスバーキン30コピーエルメス 財布 ベアン 三つ折りエルメススーパーコピーバーキン30 パーソナルオーダー ヴォーエプソン HERMES-327hermesエルメスazapアザップエルメス 財布 ドゴン 使い勝手エル メス 財布 メンズエルメス長財布メンズベアンエルメス ベアン リザードダブルセンス 刻印エルメス長財布ベアンエルメス ベアン 三つ折りエルメス ベアン クロコエルメス 財布 ベアン リザードアザップazap韓国の天気エルメスコピーエルメス 財布ケリー定価バーキン30エプソンシャネル時計スーパーコピーエルメスヴォーエプソン素材エルメス 財布 メンズ 二つ折りエルメスベアンスフレ中古エルメス トゥイリーエルメス財布免税店価格韓国芸能人整形前エルメス財布ベアン中古エルメスベアンスフレクロコアリゲーターローズシェヘラザードゴールド金具エルメススカーフエルメス財布ベアン3つ折りエル メス 財布 新作2012エルメス時計エルメスベアン刻印なしベアンスフレヴォーエプソンピンクバーキン7新車エルメスの種類エルメストゥイリーエルメス クレマンスエルメスバッグ男性エルメス 財布 ベアン 定価エルメスの財布の種類エルメス 財布 ドゴンエルメススーパーコピーバーキン30 ヴォーエプソン ホワイト HERMES-351セレブ愛用新品エルメススーパーコピーベアンスフレ/ヴォーエプソン/オレンジ(O刻S金具)HER-076時計 レディースエルメス 財布 アザップ シルクインエル メス 財布 免税店価格エルメス 財布 ベアン スーパーコピーバーキン7エルメスのバッグの種類エルメス財布ベアン価格エルメス財布ベアンブルージーンエルメス 新色ベアンとベアンスフレの違いエルメスバーキンヴォーエプソンエルメス 財布 ドゴン 中古バーキン スーパーコピーhermes azap walletエルメス パスケースセレブ愛用新品エルメススーパーコピーベアンスフレヴォーエプソン/ルビー HER-074バーキン トゴエルメスのベアンhermes azapエルメス バーキン オーダー 価格エル メス 財布 スーパーコピーエルメスヴォースイフトhermes 時計 メンズエルメスヴォーエプソン財布ルイヴィトン信用販売 エルメス ベアンスフレヴォーエプソン/ブルージーン HER-086 絶対到着店エルメスベアン種類ケリーバッグ 使い方hermes エルメス azap アザップ ヴォーエプソン・ブルージーンエルメス 財布 ドゴン スーパーコピーエルメススーパーコピーバーキン30ヴォーエプソン キウイ HERMES-154エルメスベアン三つ折エルメススーパーコピーバーキン30 ヴォーエプソン HERMES-232バーキントゴエプソンエルメス 財布 女性エルメス バーキン メンズエルメスベアンスフレリザードエルメス 財布 ベアンエルメス 財布 ドゴン ブルージーンベアンスフレアリゲーターローズシェヘラザードゴールド金具エルメスベアンスフレアメジストクロコエルメスベアンスフレオレンジエルメススーパーコピーケリー28/ヴォーエプソン/ローズティリアン HERMESB22rolex スーパーコピーエルメス 時計 定価バーキン25定価エルメス ベアン スフレ 違いエルメスバーキン25スーパーコピーエルメス シルクイン 新作エルメスベアンヴォーエプソンエルメスの財布エルメス財布新作エルメススーパーコピーバーキン25 ヴォーエプソン ルビー HERMES-249バーキン ローズショッキングエルメスベアン二つ折り長財布スーパーコピー時計代引き最高品質 HERMESエルメススーパーコピー ベアンスフレ ヴォーエプソン 2104100607850 信用第一エルメス(hermes)エルメスバッグ新作バーキン25タイプエルメスベアン刻印エルメスベアンクロコ腕時計スーパーコピープラダ 財布エルメスベアンスフレ定価エルメスエプソン財布ヴォーエプソンブルージーン最高品質 HERMESエルメススーパーコピー ベアンスフレ ヴォーエプソン 2104100595065 信用第一エルメスベアンベアンスフレ違いエルメス ベアン 長財布エルメス ベアン 財布 定価エルメス ベアン 定価エルメスショルダーバッグ種類セレブ愛用新品エルメススーパーコピーベアンスフレヴォーエプソン/ルビー HER-095モンハンフロンティア素材一覧韓国ウォン日本円エルメスバッグ種類エルメスベアンエプソンエルメス財布ベアンコピー韓国ドラマ無料視聴ケリーバック価格エルメスベアンスフレエプソンケリーバッグ 定価エルメスバーキンスーパーコピー口コミエルメスバッグ定価エルメス バーキン レプリカエルメス財布ドゴンエルメス財布ベアンスーパーコピーエルメスベアンスフレブルージーンhc 素材一覧表エルメス財布ベアン値段エルメス財布ベアンスフレ定価エルメスブルージーンベアンスフレエプソンエルメスベアンブルージーンエルメス 時計 一覧エルメスバッグの種類バーキン財布エルメス バーキン オーダー パリベアンスフレ長財布エルメスバッグ人気ランキングエルメススーパーコピーバーキン30 エプソン HERMES-248ベアンスフレオーストリッチエルメス財布ベアンブルーエルメスベアンスフレアリゲーターエルメスエプソン素材mhf hc 素材一覧エルメスカタログモンスターハンターフロンティア素材一覧エルメス財布ベアン定価エルメススーパーコピーバーキン30ヴォーエプソン キウイ HERMES-205バーキン定価韓国語辞書エルメス バーキン25ベアンスフレメンズエルメスベアンスフレメンズヴォーエプソンエルメス 財布 ベアン 種類エルメススーパーコピーバーキン25 ヴォーエプソン ブルーマルタ HERMES-208グッチ 財布エルメス 時計 hウォッチエルメス 財布 エールラインエルメスヴォーエプソンスーパーコピー代引きエルメス長財布ベアンスフレエルメススーパーコピーバーキン30 ヴォーエプソン HERMES-393スーパーコピー腕時計バーキン25値段ヴォーエプソン財布エル メス 財布 コピーエルメスバーキン40スーパーコピーエルメス財布ベアン刻印セレブ愛用新品エルメススーパーコピーベアンスフレ ヴォーエプソン/ブラックHER-089エルメスバーキンスーパーコピー韓国バーキン値段エルメス ベアン カードケースシャネル 財布エルメス時計カタログ財布 ブランドエルメススーパーコピーバーキン30 エプソン ピンク HERMES-163エルメス バッグ 値段hermes バーキンエルメス 財布 ベアン エトープエルメス hウォッチエルメススーパーコピーバーキン30 ヴォーエプソン HERMES-187バーキン30エトゥープ銀座バーキンエルメス バーキン ケリーエルメスベアン二つ折り財布エルメス バーキン 銀座バーキン30ヴォーエプソンケリーバック値段エルメススーパーコピーバーキン30 ヴォーエプソン HERMES-265hermesアザップエルメス財布人気エルメス バーキン サイズエルメスベアンリザード黒エルメスhermesバーキンケリーウォレットヴォーエプソン 素材信用販売 エルメス ベアンスフレ ヴォーエプソン/ブラックHER-089 絶対到着店エルメスバーキン30スーパーコピーtwillyエルメス 財布 修理エルメス財布メンズエルメススーパーコピーバーキン30 ヴォーエプソン キューイ HERMES-171エルメスベアン刻印がないエルメス バーキン 使い方最高品質 HERMESエルメススーパーコピー ベアンスフレ ヴォーエプソン 2104100602213 信用第一エルメスヴォースイフト傷エルメス 財布 ドゴン コピーケリーバッグ 値段ロレックスバーキン 定価エルメスバーキンパーソナルオーダー最高品質 エルメススーパーコピー ベアンスフレ ヴォーエプソン 2104100602190 信用第一エルメス バーキン 偽物 見分け方バーキン35 定価韓国ドラマあらすじスーパーコピー代引き対応エルメス財布エルメス壁紙エルメス財布ベアンスフレアリゲーターベアンスフレアリゲーターエルメスバーキン オーダーバーキン風エルメス 革の種類エルメスazapベアンスフレリザードエルメススーパーコピーバーキン ヴォーエプソン ショコラHERMES-264エルメス 財布 ベアン スフレエルメス財布アザップエルメスバーキンコピー韓国エルメス ベアン リザード 価格エルメスベアンスフレニロティカスクロコエルメス財布ベアン種類代引きスーパーコピーエルメスベアンスーパーコピーセレブ愛用新品エルメススーパーコピーベアンスフレヴォーエプソン/エトープHER-078hc 素材一覧hermes 財布 見分け方エルメスバッグ種類一覧エルメス 財布 ベアン コンパクトエルメス財布ベアンエプソンエルメスバッグ値段スーパーコピー代引き通販エルメススーパーコピーバーキン30 ヴォーエプソン エトゥープ HERMES-274エルメスベアンスフレコピーエルメスベアン刻印位置韓国天気mhf 素材一覧エルメス 財布 メンズバーキン30人気色エルメススーパーコピーバーキン30 ヴォーエプソン HERMES-238エルメススーパーコピーバーキン30 ヴォーエプソン ブラックHERMES-172スーパーコピー販売エルメス バッグ カタログエルメス バーキン コピー 見分けエルメス ベアン 偽物 見分け方シャネル バッグエルメススーパーコピーバーキン25 ヴォーエプソン セレストHERMES-391バウモン進化素材一覧エルメスバーキンオーダー方法エルメススーパーコピーバーキン35 ヴォーエプソン キウイ HERMES-228エルメス 財布 楽天エルメスベアン三つ折り財布

ここから本文です

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

www.riollet.jp/

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

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

www.komehyo.jp/

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

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

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
[エルメス] HERMES バスティア 小銭入れ ローズコンフェッティ (金具:シルバー) ヴォーエプソン [並行輸入品]
__43,80000
[エルメス] HERMES バスティア 小銭入れ ローズコンフェッティ (金具:シルバー) ヴォーエプソン [並行輸入品] 
(エルメス) HERMES エルメス 財布 HERMES BEARN ベアン ヴォーエプソン 長財布 JAUNEDO[並行輸入品]
__368,00000
(エルメス) HERMES エルメス 財布 HERMES BEARN ベアン ヴォーエプソン 長財布 JAUNEDO[並行輸入品] 
[エルメス] HERMES ベアンスフレ 長財布 ヴェートアンギラス(金具:シルバー) ヴォーエプソン [並行輸入品]
__348,00000
[エルメス] HERMES ベアンスフレ 長財布 ヴェートアンギラス(金具:シルバー) ヴォーエプソン [並行輸入品] 
[エルメス] HERMES カルヴィ ケース ローズコンフェッティ ヴォーエプソン [並行輸入品]
__57,80000
[エルメス] HERMES カルヴィ ケース ローズコンフェッティ ヴォーエプソン [並行輸入品] 
エルメス HERMES 財布 長財布 レディース アザップ シルクイン ロング ヴォーエプソン ブラウン 064958CK AE COGNAC
__179,80000
エルメス HERMES 財布 長財布 レディース アザップ シルクイン ロング ヴォーエプソン ブラウン 064958CK AE COGNAC 
(エルメス) HERMES エルメス カードケース HERMES BASTIA バスティア ヴォーエプソン GOLD パスケース R刻印[並行輸入品]
__34,80000
(エルメス) HERMES エルメス カードケース HERMES BASTIA バスティア ヴォーエプソン GOLD パスケース R刻印[並行輸入品] 
本文はここまでです このページの先頭へ

夏装女 上衣 显瘦 纯棉水星家纺 四件套 磨毛 天丝24寸显示器二手 完美屏布衣柜 单人 小号 钢管加厚针织衫男长款外套开衫 红色红米note2卡通钢化模座椅电脑 升降mp4可爱有屏迷你播放器阳台吊篮吊椅+双人的日本大创粉扑海绵包邮葫芦电脑桌+移动用+可折叠别克车型大全图片及报价大创眉毛雨衣哪里有卖男裤牛仔裤魅族魅蓝notem1手机套瑜伽lululemon代购裤工程车宝宝巴士下载淑女之家电视剧下载16款上海大众途观报价洁面仪+电动 韩国长袖女款连衣裙秋冬新款修身防身刀 开刃 小直刀春装拼接连衣裙 甜美男士春季靴子 短靴冬季外套呢子大衣女 羊毛红色沙发床+可折叠+小户型 单人优派手机v500毛绒绒手机壳 s6书柜 实木 欧式 儿童九分裤 男 小脚裤 亚麻眼影 大地色 裸妆 韩国烤粉水面系路亚饵铅笔室内休闲吊椅拉夏贝尔2016年春款针织衫4岁女童春装外套上衣礼盒包装纸包邮 彩色索尼摄像机三角架支架帐篷 灯 充电 太阳能饼干模具 不锈钢 爱心补水控油套装正品女+收缩毛孔乐视1s手机壳前后玻璃钢化膜小汽车轮胎气压标准13-14岁小女孩冬季连衣裙女款长袖打底衫 纯棉 印花幻影忍者第四季51鞋架批发厂家直销亲子儿童卡通动物连体睡衣品牌香奈儿邂逅香水小样 黄色骆驼女鞋+中筒靴+牛皮男士保暖裤 紧身泳衣女+韩国高腰复古懒人鞋男 一脚蹬春 秋季鞋柜鞋架大容量收纳柜男女少女时代tiffany脚儿童秋衣上衣 纯棉男肩扣红茶礼盒包装盒批发 大红袍芭比公主娃娃 玩具diy车载充电器 一分三 120w纯棉保暖衬衫加绒加厚长袖衬衣聚拢调整型文胸收副乳前扣蝴蝶结鞋坡跟凉鞋春装上衣女甜美 宽松 泡泡袖性感少女文胸 学生 前扣眉毛里有痣好不好男士白衬衫修身韩版休闲鞋圆头系带男板鞋 真皮运动衣男 套装 户外夏汉堡玩具 面包超人女行李箱万向轮白色女牛仔裤春秋宽松九分裤bf成人 上下床 双层床 1.2发光水晶球音乐盒旋转越南特产新华园榴莲饼400g香港苹果笔记本报价pocky+巧克力棒包邮日本单鞋女 高跟夏季 性感新娘婚纱礼服 齐地 奢华吊带裤夏男童熊出没之春日对对碰视频播放酒吧墙贴纸+墙贴+创意折叠桌 餐桌 全实木 圆形七匹狼针扣皮带男士真皮宽腰带零钱包理财是非法集资睡夏季女睡裙蕾丝公主 日系女生衣服 春秋 少女装 t恤雅戈尔外套正品2015碧柔男士洗面奶150ml飞机玩具+遥控+超大1.3米百搭中跟单鞋 英伦女孕妇背带裤春 宽松水密码补水保湿美白淡斑套装赛车总动员2电影下载女士睡裙纯棉长袖韩版+花边婴儿毯子抱毯纯棉夏
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