LOGO
遮罩
null

BEEPLUS将工作与生活融合,打造顶级国际化社交场景,通过不断创造出丰富的内容和互动场景,让人在空间得到极致的享受和体验。一年500场在各地空间举办的高品质、国际化的交流学习活动,帮助企业会员与世界级品牌进行交流学习,增进各地空间会员之间的互动与黏性。2020年,BEEPLUS 各地办公空间接待了法国、巴西、瑞典等世界各地的顶尖科技、金融、时尚集团,展开了互动学习与交流。

  • false
    活动封面

    跃动自如 │能量瑜伽

    周四的晚上 从日常的工作中跳脱 lululemon携手BEEPLUS一起能量流动 分享智慧生活 享受一趟由内而外的舒缓之旅
    2020.09.17 19:30:00
    2020.09.17 19:30:00
    深圳市南山区粤海街道海德三道凯宾斯基大厦商场 BEEPLUS超级工坊二层
    报名二维码
活动封面
这里是活动的标题
在这里您可以放置一些关于列表详情页的简单概述或者列表文章的预览文字,让用户可以快速简单明了的了解文章大意
活动时间 :
2000.02.02 / 18:00 - 22:00
报名截止 :
2000.01.02 / 23:59
活动地点 :

珠海市横琴新区环岛东路横琴国际商务中心8层 大横琴@BEEPLUS空间

报名二维码
扫描小程序码报名

BEEPLUS 5周年电影活动回顾

往期活动回顾

  • false
    活动回顾缩略图

    BEEPLUS ICC 艺术音乐集市

  • false
    活动回顾缩略图

    BEEPLUS x 草地音乐会 听’心’音乐会

  • false
    活动回顾缩略图

    Mojito盛夏清凉夜 露台花艺体验

  • false
    活动回顾缩略图

    新媒体营销分享-商家如何实现抖音流量变现

  • false
    活动回顾缩略图

    创业分享-如何实现月入过万的抖音副业

  • false
    活动回顾缩略图

    企业管理沙龙-有限公司股权架构设计分享

活动回顾缩略图

这里是活动标题

珠海行政总部 :

PHN0eWxlPgogICAgLnppeHVuQnRue3dpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IGJvcmRlci1yYWRpdXM6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IGNvbG9yOiAjZmZmZmZmOyBwb3NpdGlvbjogZml4ZWQ7IHJpZ2h0OiAyMnB4OyBib3R0b206IDEwMHB4OyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogMTJweDt6LWluZGV4Ojk7fQogICAgLnppeHVuQnRuIHNwYW57cG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyBib3R0b206IDA7IHdpZHRoOiAxMDAlOyBsaW5lLWhlaWdodDogMzBweDsgdGV4dC1hbGlnbjogY2VudGVyO30KICAgIC56aXh1bkJ0bjo6YWZ0ZXJ7IGNvbnRlbnQ6ICIiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7IGJvcmRlci1sZWZ0OiBzb2xpZCAycHggI2ZmZmZmZjsgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICNmZmZmZmY7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IHRvcDoxNHB4O2xlZnQ6IDI2cHg7fQogICAgLnppeHVuVGFza3sgcG9zaXRpb246IGZpeGVkOyB3aWR0aDogNzYwcHg7IGhlaWdodDogNTAwcHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IGJveC1zaGFkb3c6IDEwcHggMTBweCAyMHB4IHJnYmEoMCwwLDAsLjIpOyBwYWRkaW5nOiAyMHB4OyB6LWluZGV4OiA5OTt9CiAgICAueml4dW5UYXNrIC56aXh1blRhc2tOYXYgLmJ0bnt3aWR0aDogMjAlOyBmbG9hdDogbGVmdDsgaGVpZ2h0OiA1MHB4OyBsaW5lLWhlaWdodDogNTBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBjdXJzb3I6IHBvaW50ZXI7IGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IGNvbG9yOiAjMzMzMzMzO30KICAgIC56aXh1blRhc2sgLnppeHVuVGFza05hdiAuYnRuLmFjdGl2ZXsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgY29sb3I6ICMzMzMzMzM7fQogICAgLnppeHVuVGFzayAuaW5wdXRib3h7IG1hcmdpbi10b3A6IDIwcHg7fQogICAgLnppeHVuVGFzayAuc3dpcGVyY29udHt3aWR0aDogMzgwcHg7IGhlaWdodDogMzEwcHg7fQogICAgLnppeHVuVGFzayAuc3dpcGVyY29udCAuc3dpcGVyLXdyYXBwZXIsLnppeHVuVGFzayAuc3dpcGVyY29udCAuc3dpcGVyLWNvbnRhaW5lciwueml4dW5UYXNrIC5zd2lwZXJjb250IC5zd2lwZXItc2xpZGV7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO30KICAgIC56aXh1blRhc2sgLnN3aXBlcmNvbnQgLnN3aXBlci1zbGlkZXsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDt9CiAgICAueml4dW5UYXNrIC5zd2lwZXJjb250IC5zd2lwZXItc2xpZGUgLnRpdGxle3BhZGRpbmc6IDgwcHggMzBweCAwOyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAyMHB4OyBjb2xvcjogI2ZmZmZmZjsgbWFyZ2luLWJvdHRvbTogMDsgdGV4dC1hbGlnbjogbGVmdDt9CiAgICAueml4dW5UYXNrIC5zd2lwZXJjb250IC5zd2lwZXItc2xpZGUgLnN1YnRpdGxle3BhZGRpbmc6IDEwcHggMzBweCAwOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjZmZmZmZmOyB0ZXh0LWFsaWduOiBsZWZ0O30KICAgIC56aXh1blRhc2sgLmlucHV0Ym94IC5pbnB1dGNvbnR7Zm9udC1zaXplOiAxNHB4OyB3aWR0aDogMzIwcHg7IG1hcmdpbi1sZWZ0OiAyMHB4O30KICAgIC56aXh1blRhc2sgLmlucHV0Ym94IC5pbnB1dGNvbnQgLmlucHV0X2JveHtwYWRkaW5nLXRvcDogMTVweDt9CiAgICAueml4dW5UYXNrIC5pbnB1dGJveCAuaW5wdXRjb250IC5pbnB1dF9ib3ggaW5wdXR7d2lkdGg6IDEwMCU7IGhlaWdodDogNDBweDsgYm9yZGVyOiBzb2xpZCAxcHggI2RkZGRkZDsgbWFyZ2luLWJvdHRvbTogMTlweDsgdGV4dC1pbmRlbnQ6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDNweDt9CiAgICAueml4dW5UYXNrIC5pbnB1dGJveCAuaW5wdXRjb250IC5idG5fYm94IGJ1dHRvbnt3aWR0aDogODBweDsgaGVpZ2h0OiA0MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiZDRhOyBjb2xvcjogI2ZmZmZmZjsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiA1cHg7IGN1cnNvcjogcG9pbnRlcjt9CiAgICAueml4dW50aXBzeyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OjEuNjsgcGFkZGluZzogMzBweCAwIDA7fQo8L3N0eWxlPgo8c2NyaXB0PgogICAgdmFyIHRoaXNzd2lwZXI7CiAgICB2YXIgaXNfZGV2ID0gaXNkZXYoKTsKICAgIGZ1bmN0aW9uIGlzZGV2KCl7CiAgICAgICAgdmFyIGRldnN0YXR1cyA9IGZhbHNlOwogICAgICAgIHZhciBsb2NhdGlvbmRhbWluID0gd2luZG93LmxvY2F0aW9uLmhyZWY7CiAgICAgICAgdmFyIGluZGV4MSA9IGxvY2F0aW9uZGFtaW4uaW5kZXhPZignd2ViJyk7CiAgICAgICAgdmFyIGluZGV4MiA9IGxvY2F0aW9uZGFtaW4uaW5kZXhPZignd2ViRWRpdCcpOwogICAgICAgIGlmKGluZGV4MT4wICYmIGluZGV4Mj4wKXsKICAgICAgICAgICAgZGV2c3RhdHVzID0gIHRydWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBkZXZzdGF0dXM7CiAgICB9CiAgICBpZighaXNfZGV2KXsKICAgICAgICBjcmVhdGVaaXh1bkJ0bigpOwogICAgfQogICAgZnVuY3Rpb24gY3JlYXRlWml4dW5CdG4oKXsKICAgICAgICB2YXIgeml4dW5CdG4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICB6aXh1bkJ0bi5jbGFzc05hbWUgPSAneml4dW5CdG4nOwogICAgICAgIHppeHVuQnRuLmlubmVySFRNTCA9ICc8c3Bhbj7lkqjor6I8L3NwYW4+JzsKICAgICAgICAkKCdib2R5JykuYXBwZW5kKHppeHVuQnRuKTsKICAgICAgICAvL+eCueWHu+aMiemSru+8jOWIm+W7uuW8ueeqlwogICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsJy56aXh1bkJ0bicsZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIHZhciBkYXRhQXJyYXkgPSBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcGljOicvL3NvdXJjZXMuc2lpaXRlLmNvbS8vVXBsb2Fkcy93ZWI1MzUvY2tud3R3YWxmdHR0emN6L29fMWUxamViZzk1Zjg2MWVlazExZ2oxbTdndXM1ZC5qcGcnLAogICAgICAgICAgICAgICAgICAgIG5hbWU6J+Wkp+S4reS8geS4muWumuWItuWPiualvOWuh+aJmOeuoScsCiAgICAgICAgICAgICAgICAgICAgc3VibmFtZTon5Yqe5YWs5a6k6K6+6K6h44CB6KOF5L+u44CB566h55CG5LiA56uZ5byP6Kej5Yaz5LiT5a62JwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwaWM6Jy8vc291cmNlcy5zaWlpdGUuY29tLy9VcGxvYWRzL3dlYjUzNS9ja253dHdhbGZ0dHR6Y3ovb18xZGd0dTE2b21ibGFlbGcxaWVuODA3ODVzZC5qcGcnLAogICAgICAgICAgICAgICAgICAgIG5hbWU6J+iBlOWQiOWKnuWFrOepuumXtCcsCiAgICAgICAgICAgICAgICAgICAgc3VibmFtZTon54G15rS756ef6LWB5pa55byP5L2/5b6X5Yqe5YWs5YOP5YWl5L2P6YWS5bqX5LiA5qC35pa55L6/JwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwaWM6Jy8vc291cmNlcy5zaWlpdGUuY29tLy9VcGxvYWRzL3dlYjUzNS9ja253dHdhbGZ0dHR6Y3ovb18xZTVjbmNnbGYxcnBlMTF1bWFjYnVoOTU4aGQuanBnJywKICAgICAgICAgICAgICAgICAgICBuYW1lOidCRUVQTFVT6LaF57qn5bel5Z2K5LyB5Lia5pyN5Yqh6K6h5YiSJywKICAgICAgICAgICAgICAgICAgICBzdWJuYW1lOifnmb7lrrbnn6XlkI3kvIHkuJrnmoTpgInmi6nvvIznu5nmgqjmnoHoh7TlsIrkuqvkvZPpqownCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHBpYzonLy9zb3VyY2VzLnNpaWl0ZS5jb20vL1VwbG9hZHMvd2ViNTM1L2Nrbnd0d2FsZnR0dHpjei9vXzFkZzJjOHR0MTF2NGlmazQxdTBsMmUyMWI1ZWQuanBnJywKICAgICAgICAgICAgICAgICAgICBuYW1lOiflm73pmYXljJbnmoTllYbliqHnpL7kuqQnLAogICAgICAgICAgICAgICAgICAgIHN1Ym5hbWU6J+S8geS4mumXtOWNj+WQjOWQiOS9nO+8jOebuOW+l+ebiuW9sCcKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcGljOicvL3NvdXJjZXMuc2lpaXRlLmNvbS8vVXBsb2Fkcy93ZWI1MzUvY2tud3R3YWxmdHR0emN6L29fMWUyNWpyNDJwMXRlNDVoZjFuOGx2czAxZW4zZi5qcGcnLAogICAgICAgICAgICAgICAgICAgIG5hbWU6J+S4jkJFRVBMVVPkuIDotbfmjqLntKLlkozlrprkuYnmnKrmnaUnLAogICAgICAgICAgICAgICAgICAgIHN1Ym5hbWU6JycKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXTsKICAgICAgICAgICAgaWYoJCh0aGlzKS5oYXNDbGFzcygnb3BlbicpKXsKICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ29wZW4nKTsKICAgICAgICAgICAgICAgICQoJy56aXh1blRhc2snKS5yZW1vdmUoKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdvcGVuJyk7CiAgICAgICAgICAgICQoJy56aXh1blRhc2snKS5yZW1vdmUoKTsKICAgICAgICAgICAgdmFyIHRoaXN0b3AgPSAkKHRoaXMpLm9mZnNldCgpLnRvcCAtICQod2luZG93KS5zY3JvbGxUb3AoKTsKICAgICAgICAgICAgdmFyIHRoaXNsZWZ0ID0gJCh0aGlzKS5vZmZzZXQoKS5sZWZ0OwogICAgICAgICAgICB2YXIgeml4dW5UYXNrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgICAgIHppeHVuVGFzay5jbGFzc05hbWUgPSAneml4dW5UYXNrJzsKICAgICAgICAgICAgeml4dW5UYXNrLnN0eWxlID0gJ2xlZnQ6JysodGhpc2xlZnQgLSA3ODApKydweDsgdG9wOicrKHRoaXN0b3AgLSA0NDApKydweDsnOwogICAgICAgICAgICB2YXIgc3dpcGVyc2xpZGUgPSAnJzsKICAgICAgICAgICAgZm9yKHZhciBpPTA7aTxkYXRhQXJyYXkubGVuZ3RoO2krKyl7CiAgICAgICAgICAgICAgICB2YXIgcGljID0gZGF0YUFycmF5W2ldLnBpYzsKICAgICAgICAgICAgICAgIHZhciBuYW1lID0gZGF0YUFycmF5W2ldLm5hbWU7CiAgICAgICAgICAgICAgICB2YXIgc3VibmFtZSA9IGRhdGFBcnJheVtpXS5zdWJuYW1lOwogICAgICAgICAgICAgICAgc3dpcGVyc2xpZGUgKz0gJzxkaXYgY2xhc3M9InN3aXBlci1zbGlkZSIgc3R5bGU9ImJhY2tncm91bmQ6IHVybCgnK3BpYysnKSBjZW50ZXIgY2VudGVyIC8gY292ZXIgbm8tcmVwZWF0OyI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0idGl0bGUiPicrbmFtZSsnPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic3VidGl0bGUiPicrc3VibmFtZSsnPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+XG4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB6aXh1bnRhc2tjb250ID0gJyAgICAgICAgPGRpdiBjbGFzcz0ieml4dW5UYXNrTmF2IGNsZWFyIj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4gYWN0aXZlIiBkYXRhLWluZGV4PSIwIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IGF1dG87Ij7lpKfkuK3kvIHkuJrlrprliLY8L2Rpdj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4iIGRhdGEtaW5kZXg9IjEiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogYXV0bzsiPuiBlOWQiOWKnuWFrOepuumXtDwvZGl2PlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0biIgZGF0YS1pbmRleD0iMiIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBhdXRvOyI+6LaF57qn5bel5Z2KPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuIiBkYXRhLWluZGV4PSIzIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IGF1dG87Ij7lj4Lop4Llj4rlnLrlnLDpooTlrpo8L2Rpdj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4iIGRhdGEtaW5kZXg9IjQiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogYXV0bzsiPuWKoOWFpeaIkeS7rDwvZGl2PlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgPC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dGJveCBjbGVhciI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyY29udCBmbCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1jb250YWluZXIiPjxkaXYgY2xhc3M9InN3aXBlci13cmFwcGVyIj4nK3N3aXBlcnNsaWRlKyc8L2Rpdj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICA8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dGNvbnQganMtY29udGFjdC1zdWJtaXQgZmwiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtX2JveCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIHRpcHMiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogYXV0bzsiPiog6K+355WZ5LiL5oKo55qE5L+h5oGv77yM5oiR5Lus5bCG5pyJ5LiT5Lq65LiO5oKo6IGU57O7PC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0X2JveCBjbGVhciI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibmFtZV8wIiBwbGFjZWhvbGRlcj0iKiDlkI3np7AiIHR5cGVuYW1lPSJjaGluZXNlIiBvbmJsdXI9ImRvQ2hpbmVzZSgpIiBjbGFzcz0ic2V0X2lucHV0Ij5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0ZWxwaG9uZV8wIiBwbGFjZWhvbGRlcj0iKiDmiYvmnLrlj7fnoIEiIHR5cGVuYW1lPSJtb2JpbGUiIG9uYmx1cj0iZG9Nb2JpbGUoKSIgY2xhc3M9InNldF9pbnB1dCI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZW1haWxfMCIgcGxhY2Vob2xkZXI9Iiog6YKu566xIiB0eXBlbmFtZT0iZW1haWwiIG9uYmx1cj0iZG9FbWFpbCgpIiBjbGFzcz0ic2V0X2lucHV0Ij5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJhZGRyZXNzXzAiIHBsYWNlaG9sZGVyPSIqIOWfjuW4giIgY2xhc3M9InNldF9pbnB1dCI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb250ZW50XzAiIHZhbHVlPSLlpKfkuK3kvIHkuJrlrprliLYiIGNsYXNzPSJzZXRfaW5wdXQiPlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgICA8L2Rpdj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuX2JveCBjbGVhciI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9Im1lc3NhZ2VCdG4iIHN0eWxlPSJwb2ludGVyLWV2ZW50czogYXV0bzsiPuaPkOS6pDwvYnV0dG9uPlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgICA8L2Rpdj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICA8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICA8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9InppeHVudGlwcyI+6K+35L2/55So5oiR55qE6IGU57O75L+h5oGv77yM6YCa6L+H55S16K+d44CB55S15a2Q6YKu5Lu244CB56S+5Lqk5aqS5L2T5oiW55+t5L+h5pa55byP5ZCR5oiR5Y+R6YCBIEJFRVBMVVMg5YWz6IGU5pa555qE54m55Yir5LyY5oOg5Y+K5YW25LuW5L+h5oGv44CCPGJyPumAmui/h+eCueWHu+aPkOS6pO+8jOaIkeW3sumYheivu+W5tueQhuinoyBCRUVQTFVTIOeahDxhIGhyZWY9Ii8vd3d3LmJlZXBsdXMuY29tL2U5OTFjNi5odG1sIiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gc3R5bGU9ImNvbG9yOiBjb3JhbCI+6ZqQ56eB5pS/562WPC9zcGFuPjwvYT7vvIzljIXmi6zpmpDnp4HmlL/nrZbkuK3miYDop4TlrprnmoTlpITnkIblkozkvKDovpPmiJHnmoTkv6Hmga/jgII8L2Rpdj4nOwogICAgICAgICAgICB6aXh1blRhc2suaW5uZXJIVE1MID0geml4dW50YXNrY29udDsKICAgICAgICAgICAgJCgnYm9keScpLmFwcGVuZCh6aXh1blRhc2spOwogICAgICAgICAgICB0aGlzc3dpcGVyID0gbmV3IFN3aXBlcignLnppeHVuVGFzayAuc3dpcGVyLWNvbnRhaW5lcicsIHsKICAgICAgICAgICAgICAgIHBhZ2luYXRpb25DbGlja2FibGU6IHRydWUsCiAgICAgICAgICAgICAgICBzcGVlZDogNzAwLAogICAgICAgICAgICAgICAgb25TbGlkZUNoYW5nZUVuZDogZnVuY3Rpb24odGhpc3N3aXBlcil7CiAgICAgICAgICAgICAgICAgICAgc3dpcGVyX2V4Y2hhbmdlKHRoaXNzd2lwZXIuYWN0aXZlSW5kZXgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICAkKGRvY3VtZW50KS5vbignY2xpY2snLCcueml4dW5UYXNrTmF2IC5idG4nLGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHZhciBpbmRleCA9ICQodGhpcykuYXR0cignZGF0YS1pbmRleCcpOwogICAgICAgICAgICBzd2lwZXJfZXhjaGFuZ2UoaW5kZXgpCiAgICAgICAgfSk7CgogICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsZnVuY3Rpb24oKXsKICAgICAgICAgICAgaWYoJCgnLnppeHVuQnRuJykuaGFzQ2xhc3MoJ29wZW4nKSl7CiAgICAgICAgICAgICAgICAkKCcueml4dW5UYXNrJykucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAkKCcueml4dW5CdG4nKS5yZW1vdmVDbGFzcygnb3BlbicpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywnLnppeHVuVGFzaycsZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgfSk7CiAgICB9CgogICAgZnVuY3Rpb24gc3dpcGVyX2V4Y2hhbmdlKGluZGV4KXsKICAgICAgICB0aGlzc3dpcGVyLnNsaWRlVG8oaW5kZXgsNzAwLGZhbHNlKTsKICAgICAgICB2YXIgX3RoaXNfaW5kZXggPSB0aGlzc3dpcGVyLmFjdGl2ZUluZGV4OwogICAgICAgIHZhciAkX3RoaXNfYnRuID0gJCgnLnppeHVuVGFza05hdiAuYnRuW2RhdGEtaW5kZXg9IicrX3RoaXNfaW5kZXgrJyJdJyk7CiAgICAgICAgdmFyICRfdGhpc192YWw7CiAgICAgICAgdmFyICRfdGhpc19jb250ZW50X2lucHV0ID0gJCgnLnppeHVuVGFzayBpbnB1dFtuYW1lPSJjb250ZW50XzAiXScpOwogICAgICAgICRfdGhpc19idG4uYWRkQ2xhc3MoJ2FjdGl2ZScpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwogICAgICAgIHN3aXRjaCAoX3RoaXNfaW5kZXgpewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAkX3RoaXNfdmFsID0gJF90aGlzX2J0bi50ZXh0KCk7CiAgICAgICAgICAgICAgICAkX3RoaXNfY29udGVudF9pbnB1dC52YWwoJF90aGlzX3ZhbCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgICAgJF90aGlzX3ZhbCA9ICRfdGhpc19idG4udGV4dCgpOwogICAgICAgICAgICAgICAgJF90aGlzX2NvbnRlbnRfaW5wdXQudmFsKCRfdGhpc192YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgICRfdGhpc192YWwgPSAkX3RoaXNfYnRuLnRleHQoKTsKICAgICAgICAgICAgICAgICRfdGhpc19jb250ZW50X2lucHV0LnZhbCgkX3RoaXNfdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgICAkX3RoaXNfdmFsID0gJF90aGlzX2J0bi50ZXh0KCk7CiAgICAgICAgICAgICAgICAkX3RoaXNfY29udGVudF9pbnB1dC52YWwoJF90aGlzX3ZhbCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgJF90aGlzX3ZhbCA9ICRfdGhpc19idG4udGV4dCgpOwogICAgICAgICAgICAgICAgJF90aGlzX2NvbnRlbnRfaW5wdXQudmFsKCRfdGhpc192YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQogICAgLy8g55S15a2Q6YKu566x55qE6aqM6K+BPT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIGZ1bmN0aW9uIGRvRW1haWwoKXsKICAgICAgICB2YXIgdCA9ICQoImlucHV0W3R5cGVuYW1lPSdlbWFpbCddIik7CiAgICAgICAgaWYoL15cdysoWy0rLl1cdyspKkBcdysoWy0uXVx3KykqXC5cdysoWy0uXVx3KykqJC8udGVzdCh0LnZhbCgpKSl7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH1lbHNlewogICAgICAgICAgICB0LmF0dHIoInBsYWNlaG9sZGVyIiwi6YKu566x5qC85byP6ZSZ6K+vIik7CiAgICAgICAgICAgIHQudmFsKCIiKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KICAgIC8q5Y+q6IO96L6T5YWl5Lit5paH6Lef5a2X5q+NKi8KICAgIGZ1bmN0aW9uIGRvQ2hpbmVzZSgpewogICAgICAgIHZhciB0ID0gJCgiaW5wdXRbdHlwZW5hbWU9J2NoaW5lc2UnXSIpOwogICAgICAgIGlmKC9eKFtBLVphLXpdfFtcdTRFMDAtXHU5RkE1XSkrJC8udGVzdCh0LnZhbCgpKSl7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH1lbHNlewogICAgICAgICAgICB0LnZhbCgiIik7CiAgICAgICAgICAgIHQuYXR0cigicGxhY2Vob2xkZXIiLCLlj6rog73ovpPlhaXkuK3mloflkozlrZfmr40iKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KICAgIC8q5omL5py65Y+356CB55qE6aqM6K+BPT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogICAgZnVuY3Rpb24gZG9Nb2JpbGUoKXsKICAgICAgICB2YXIgdCA9ICQoImlucHV0W3R5cGVuYW1lPSdtb2JpbGUnXSIpOwogICAgICAgIGlmKC9eKCgwXGR7MiwzfS1cZHs3LDh9KXwoMVszNDU2Nzg5XVswLTldezl9KSkkLy50ZXN0KHQudmFsKCkpKXsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIHQuYXR0cigicGxhY2Vob2xkZXIiLCLlj7fnoIHmoLzlvI/plJnor6/vvIzluqfmnLrljLrlj7flkI7or7fnlKjigJgt4oCZ56ym5Y+36L+e5o6lIik7CiAgICAgICAgICAgIHQudmFsKCIiKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KICAgIC8q5o+Q5Lqk55qESlM9PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAgICAkKGRvY3VtZW50KS5vbignY2hhbmdlJywnLnppeHVuVGFzayAuaW5wdXRfYm94IGlucHV0JyxmdW5jdGlvbigpewogICAgICAgIHZhciBuYW1lID0gJCgnLmNrbnd0d2FsZnR0dHpjeiBpbnB1dFtuYW1lPSJuYW1lXzAiXScpLnZhbCgpOwogICAgICAgIHZhciBwaG9uZSA9ICQoJy5ja253dHdhbGZ0dHR6Y3ogaW5wdXRbbmFtZT0idGVscGhvbmVfMCJdJykudmFsKCk7CiAgICAgICAgdmFyIGVtYWlsID0gJCgnLmNrbnd0d2FsZnR0dHpjeiBpbnB1dFtuYW1lPSJlbWFpbF8wIl0nKS52YWwoKTsKICAgICAgICB2YXIgYWRkcmVzcyA9ICQoJy5ja253dHdhbGZ0dHR6Y3ogaW5wdXRbbmFtZT0iYWRkcmVzc18wIl0nKS52YWwoKTsKICAgICAgICBpZihuYW1lIT09IiIgJiYgcGhvbmUhPT0iIiAmJiBlbWFpbCE9PSIiICYmIGFkZHJlc3MhPT0iIil7CiAgICAgICAgICAgICQoJ2J1dHRvbiNtZXNzYWdlQnRuJykuYWRkQ2xhc3MoJ21lc3NhZ2VTdWNjZXNzJyk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICQoJ2J1dHRvbiNtZXNzYWdlQnRuJykucmVtb3ZlQ2xhc3MoJ21lc3NhZ2VTdWNjZXNzJyk7CiAgICAgICAgfQogICAgfSk7CiAgICAkKGRvY3VtZW50KS5vbignY2xpY2snLCcuanMtY29udGFjdC1zdWJtaXQgYnV0dG9uJyxmdW5jdGlvbigpIHsKICAgICAgICB2YXIgc2VydmVySWQgPSAkKCcueml4dW5CdG4nKS5wYXJlbnRzKCcuY2FudmFzX2JveCcpLmF0dHIoJ2RhdGEtaWQnKTsKICAgICAgICB2YXIgbmFtZSA9ICQoJy56aXh1blRhc2sgaW5wdXRbbmFtZT0ibmFtZV8wIl0nKS52YWwoKTsKICAgICAgICB2YXIgcGhvbmUgPSAkKCcueml4dW5UYXNrIGlucHV0W25hbWU9InRlbHBob25lXzAiXScpLnZhbCgpOwogICAgICAgIHZhciBlbWFpbCA9ICQoJy56aXh1blRhc2sgaW5wdXRbbmFtZT0iZW1haWxfMCJdJykudmFsKCk7CiAgICAgICAgdmFyIGFkZHJlc3MgPSAkKCcueml4dW5UYXNrIGlucHV0W25hbWU9ImFkZHJlc3NfMCJdJykudmFsKCk7CiAgICAgICAgaWYobmFtZSE9PSIiICYmIHBob25lIT09IiIgJiYgZW1haWwhPT0iIiAmJiBhZGRyZXNzIT09IiIpewogICAgICAgICAgICB2YXIgZWxlcyA9ICQoJy56aXh1blRhc2snKS5maW5kKCcuc2V0X2lucHV0Jyk7CiAgICAgICAgICAgIHZhciBtc2dKc29uID0ge307CiAgICAgICAgICAgIGlmKGVsZXMubGVuZ3RoPjApewogICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG1zZ05hbWUgPSAkKGVsZXNbaV0pLmF0dHIoJ25hbWUnKTsKICAgICAgICAgICAgICAgICAgICB2YXIgbXNnVmFsdWUgPSAkKGVsZXNbaV0pLnZhbCgpOwogICAgICAgICAgICAgICAgICAgIGlmIChtc2dOYW1lICE9PSBudWxsICYmIG1zZ05hbWUgIT09ICdudWxsJykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAobXNnVmFsdWUgIT09ICfor7fpgInmi6knICYmIG1zZ1ZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2dKc29uW21zZ05hbWVdID0gbXNnVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgICAgIHR5cGU6ICdQT1NUJywKICAgICAgICAgICAgICAgIHVybDogc3VibWl0VXJsICsgJy9XZWIvSW50ZXJmYWNlL3NhdmVDb250YWN0JywKICAgICAgICAgICAgICAgIGRhdGE6IHsKICAgICAgICAgICAgICAgICAgICB3ZWJfaWQ6IHdlYl9pZCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBKU09OLnN0cmluZ2lmeShtc2dKc29uKSwKICAgICAgICAgICAgICAgICAgICBzY3JlZW5fdHlwZTogc2NyZWVuVHlwZSwKICAgICAgICAgICAgICAgICAgICBtb2R1bGVfaWQ6IHNlcnZlcklkCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gc3VjY2VzcyhkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzID09PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCfmgqjnmoTkv6Hmga/lt7Lmj5DkuqTmiJDlip/vvIzmiJHku6zlsIblsL3lv6vkuI7mgqjogZTns7snKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnppeHVuVGFzaycpLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIGFsZXJ0KCfkvaDloavlhpnnmoTkv6Hmga/kuI3lrozmlbQs6K+35qOA5p+l5piv5ZCm5pyJ5L+h5oGv5ryP5aGrJyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwo8L3NjcmlwdD4=
PHN0eWxlPgogIC56aXh1bkJ0bnt3aWR0aDogNjBweDsgaGVpZ2h0OiA2MHB4OyBib3JkZXItcmFkaXVzOiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyBjb2xvcjogI2ZmZmZmZjsgcG9zaXRpb246IGZpeGVkOyByaWdodDogMjJweDsgYm90dG9tOiAxMDBweDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDEycHg7ei1pbmRleDo5O30KICAueml4dW5CdG4gc3Bhbntwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDEwMCU7IGxpbmUtaGVpZ2h0OiAzMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7fQogIC56aXh1bkJ0bjo6YWZ0ZXJ7IGNvbnRlbnQ6ICIiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7IGJvcmRlci1sZWZ0OiBzb2xpZCAycHggI2ZmZmZmZjsgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICNmZmZmZmY7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IHRvcDoxNHB4O2xlZnQ6IDI2cHg7fQogIC56aXh1blRhc2t7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDc2MHB4OyBoZWlnaHQ6IDUwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyBib3gtc2hhZG93OiAxMHB4IDEwcHggMjBweCByZ2JhKDAsMCwwLC4yKTsgcGFkZGluZzogMjBweDsgei1pbmRleDogOTk7fQogIC56aXh1blRhc2sgLnppeHVuVGFza05hdiAuYnRue3dpZHRoOiAyMCU7IGZsb2F0OiBsZWZ0OyBoZWlnaHQ6IDUwcHg7IGxpbmUtaGVpZ2h0OiA1MHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgY29sb3I6ICMzMzMzMzM7fQogIC56aXh1blRhc2sgLnppeHVuVGFza05hdiAuYnRuLmFjdGl2ZXsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgY29sb3I6ICMzMzMzMzM7fQogIC56aXh1blRhc2sgLmlucHV0Ym94eyBtYXJnaW4tdG9wOiAyMHB4O30KICAueml4dW5UYXNrIC5zd2lwZXJjb250e3dpZHRoOiAzODBweDsgaGVpZ2h0OiAzMTBweDt9CiAgLnppeHVuVGFzayAuc3dpcGVyY29udCAuc3dpcGVyLXdyYXBwZXIsLnppeHVuVGFzayAuc3dpcGVyY29udCAuc3dpcGVyLWNvbnRhaW5lciwueml4dW5UYXNrIC5zd2lwZXJjb250IC5zd2lwZXItc2xpZGV7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO30KICAueml4dW5UYXNrIC5zd2lwZXJjb250IC5zd2lwZXItc2xpZGV7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7fQogIC56aXh1blRhc2sgLnN3aXBlcmNvbnQgLnN3aXBlci1zbGlkZSAudGl0bGV7cGFkZGluZzogODBweCAzMHB4IDA7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDIwcHg7IGNvbG9yOiAjZmZmZmZmOyBtYXJnaW4tYm90dG9tOiAwOyB0ZXh0LWFsaWduOiBsZWZ0O30KICAueml4dW5UYXNrIC5zd2lwZXJjb250IC5zd2lwZXItc2xpZGUgLnN1YnRpdGxle3BhZGRpbmc6IDEwcHggMzBweCAwOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjZmZmZmZmOyB0ZXh0LWFsaWduOiBsZWZ0O30KICAueml4dW5UYXNrIC5pbnB1dGJveCAuaW5wdXRjb250e2ZvbnQtc2l6ZTogMTRweDsgd2lkdGg6IDMyMHB4OyBtYXJnaW4tbGVmdDogMjBweDt9CiAgLnppeHVuVGFzayAuaW5wdXRib3ggLmlucHV0Y29udCAuaW5wdXRfYm94e3BhZGRpbmctdG9wOiAxNXB4O30KICAueml4dW5UYXNrIC5pbnB1dGJveCAuaW5wdXRjb250IC5pbnB1dF9ib3ggaW5wdXR7d2lkdGg6IDEwMCU7IGhlaWdodDogNDBweDsgYm9yZGVyOiBzb2xpZCAxcHggI2RkZGRkZDsgbWFyZ2luLWJvdHRvbTogMTlweDsgdGV4dC1pbmRlbnQ6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDNweDt9CiAgLnppeHVuVGFzayAuaW5wdXRib3ggLmlucHV0Y29udCAuYnRuX2JveCBidXR0b257d2lkdGg6IDgwcHg7IGhlaWdodDogNDBweDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmQ0YTsgY29sb3I6ICNmZmZmZmY7IGJvcmRlcjogbm9uZTsgYm9yZGVyLXJhZGl1czogNXB4OyBjdXJzb3I6IHBvaW50ZXI7fQogIC56aXh1bnRpcHN7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6MS42OyBwYWRkaW5nOiAzMHB4IDAgMDt9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgdmFyIHRoaXNzd2lwZXI7CiAgdmFyIGlzX2RldiA9IGlzZGV2KCk7CiAgZnVuY3Rpb24gaXNkZXYoKXsKICAgICAgdmFyIGRldnN0YXR1cyA9IGZhbHNlOwogICAgICB2YXIgbG9jYXRpb25kYW1pbiA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgICB2YXIgaW5kZXgxID0gbG9jYXRpb25kYW1pbi5pbmRleE9mKCd3ZWInKTsKICAgICAgdmFyIGluZGV4MiA9IGxvY2F0aW9uZGFtaW4uaW5kZXhPZignd2ViRWRpdCcpOwogICAgICBpZihpbmRleDE+MCAmJiBpbmRleDI+MCl7CiAgICAgICAgICBkZXZzdGF0dXMgPSAgdHJ1ZTsKICAgICAgfQogICAgICByZXR1cm4gZGV2c3RhdHVzOwogIH0KICBpZighaXNfZGV2KXsKICAgICAgY3JlYXRlWml4dW5CdG4oKTsKICB9CiAgZnVuY3Rpb24gY3JlYXRlWml4dW5CdG4oKXsKICAgICAgdmFyIHppeHVuQnRuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIHppeHVuQnRuLmNsYXNzTmFtZSA9ICd6aXh1bkJ0bic7CiAgICAgIHppeHVuQnRuLmlubmVySFRNTCA9ICc8c3Bhbj7lkqjor6I8L3NwYW4+JzsKICAgICAgJCgnYm9keScpLmFwcGVuZCh6aXh1bkJ0bik7CiAgICAgIC8v54K55Ye75oyJ6ZKu77yM5Yib5bu65by556qXCiAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsJy56aXh1bkJ0bicsZnVuY3Rpb24oZSl7CiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgdmFyIGRhdGFBcnJheSA9IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIHBpYzonLy9zb3VyY2VzLnNpaWl0ZS5jb20vL1VwbG9hZHMvd2ViNTM1L2Nrbnd0d2FsZnR0dHpjei9vXzFlMWplYmc5NWY4NjFlZWsxMWdqMW03Z3VzNWQuanBnJywKICAgICAgICAgICAgICAgICAgbmFtZTon5Yqe5YWs56m66Ze05a6a5Yi2JywKICAgICAgICAgICAgICAgICAgc3VibmFtZTon5Yqe5YWs5a6k6K6+6K6h44CB6KOF5L+u44CB566h55CG5LiA56uZ5byP6Kej5Yaz5LiT5a62JwogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICBwaWM6Jy8vc291cmNlcy5zaWlpdGUuY29tLy9VcGxvYWRzL3dlYjUzNS9ja253dHdhbGZ0dHR6Y3ovb18xZGd0dTE2b21ibGFlbGcxaWVuODA3ODVzZC5qcGcnLAogICAgICAgICAgICAgICAgICBuYW1lOiflip7lhaznqbrpl7Tnp5/otYEnLAogICAgICAgICAgICAgICAgICBzdWJuYW1lOifngbXmtLvnp5/otYHmlrnlvI/kvb/lvpflip7lhazlg4/lhaXkvY/phZLlupfkuIDmoLfmlrnkvr8nCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIHBpYzonLy9zb3VyY2VzLnNpaWl0ZS5jb20vL1VwbG9hZHMvd2ViNTM1L2Nrbnd0d2FsZnR0dHpjei9vXzFlNWNuY2dsZjFycGUxMXVtYWNidWg5NThoZC5qcGcnLAogICAgICAgICAgICAgICAgICBwaWM6Jy8vc291cmNlcy5zaWlpdGUuY29tLy9VcGxvYWRzL3dlYjUzNS9ja253dHdhbGZ0dHR6Y3ovb18xZTI1anI0MnAxdGU0NWhmMW44bHZzMDFlbjNmLmpwZycsCiAgICAgICAgICAgICAgICAgIG5hbWU6J+epuumXtOi/kOiQpeeuoeeQhicsCiAgICAgICAgICAgICAgICAgIHN1Ym5hbWU6J+eZvuWutuefpeWQjeS8geS4mueahOmAieaLqe+8jOe7meaCqOaegeiHtOWwiuS6q+S9k+mqjCcKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgcGljOicvL3NvdXJjZXMuc2lpaXRlLmNvbS8vVXBsb2Fkcy93ZWI1MzUvY2tud3R3YWxmdHR0emN6L29fMWRnMmM4dHQxMXY0aWZrNDF1MGwyZTIxYjVlZC5qcGcnLAogICAgICAgICAgICAgICAgICBuYW1lOiflj4Lop4Llj4rlnLrlnLDpooTlrponLAogICAgICAgICAgICAgICAgICBzdWJuYW1lOifkvIHkuJrpl7TljY/lkIzlkIjkvZzvvIznm7jlvpfnm4rlvbAnCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBwaWM6Jy8vc291cmNlcy5zaWlpdGUuY29tLy9VcGxvYWRzL3dlYjUzNS9ja253dHdhbGZ0dHR6Y3ovb18xZTVjbmNnbGYxcnBlMTF1bWFjYnVoOTU4aGQuanBnJywKICAgICAgICAgICAgICAgICAgbmFtZTon5LyB5Lia6Iy25q2H5pyN5YqhJywKICAgICAgICAgICAgICAgICAgc3VibmFtZTonJwogICAgICAgICAgICAgIH0KICAgICAgICAgIF07CiAgICAgICAgICBpZigkKHRoaXMpLmhhc0NsYXNzKCdvcGVuJykpewogICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ29wZW4nKTsKICAgICAgICAgICAgICAkKCcueml4dW5UYXNrJykucmVtb3ZlKCk7CiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgfQogICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnb3BlbicpOwogICAgICAgICAgJCgnLnppeHVuVGFzaycpLnJlbW92ZSgpOwogICAgICAgICAgdmFyIHRoaXN0b3AgPSAkKHRoaXMpLm9mZnNldCgpLnRvcCAtICQod2luZG93KS5zY3JvbGxUb3AoKTsKICAgICAgICAgIHZhciB0aGlzbGVmdCA9ICQodGhpcykub2Zmc2V0KCkubGVmdDsKICAgICAgICAgIHZhciB6aXh1blRhc2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgIHppeHVuVGFzay5jbGFzc05hbWUgPSAneml4dW5UYXNrJzsKICAgICAgICAgIHppeHVuVGFzay5zdHlsZSA9ICdsZWZ0OicrKHRoaXNsZWZ0IC0gNzgwKSsncHg7IHRvcDonKyh0aGlzdG9wIC0gNDQwKSsncHg7JzsKICAgICAgICAgIHZhciBzd2lwZXJzbGlkZSA9ICcnOwogICAgICAgICAgZm9yKHZhciBpPTA7aTxkYXRhQXJyYXkubGVuZ3RoO2krKyl7CiAgICAgICAgICAgICAgdmFyIHBpYyA9IGRhdGFBcnJheVtpXS5waWM7CiAgICAgICAgICAgICAgdmFyIG5hbWUgPSBkYXRhQXJyYXlbaV0ubmFtZTsKICAgICAgICAgICAgICB2YXIgc3VibmFtZSA9IGRhdGFBcnJheVtpXS5zdWJuYW1lOwogICAgICAgICAgICAgIHN3aXBlcnNsaWRlICs9ICc8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUiIHN0eWxlPSJiYWNrZ3JvdW5kOiB1cmwoJytwaWMrJykgY2VudGVyIGNlbnRlciAvIGNvdmVyIG5vLXJlcGVhdDsiPlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ0aXRsZSI+JytuYW1lKyc8L2Rpdj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic3VidGl0bGUiPicrc3VibmFtZSsnPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PlxuJzsKICAgICAgICAgIH0KICAgICAgICAgIHZhciB6aXh1bnRhc2tjb250ID0gJyAgICAgICAgPGRpdiBjbGFzcz0ieml4dW5UYXNrTmF2IGNsZWFyIj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuIGFjdGl2ZSIgZGF0YS1pbmRleD0iMCIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBhdXRvOyI+5Yqe5YWs56m66Ze05a6a5Yi2PC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0biIgZGF0YS1pbmRleD0iMSIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBhdXRvOyI+5Yqe5YWs56m66Ze056ef6LWBPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0biIgZGF0YS1pbmRleD0iMiIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBhdXRvOyI+56m66Ze06L+Q6JCl566h55CGPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0biIgZGF0YS1pbmRleD0iMyIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBhdXRvOyI+5Y+C6KeC5Y+K5Zy65Zyw6aKE5a6aPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0biIgZGF0YS1pbmRleD0iNCIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBhdXRvOyI+5LyB5Lia6Iy25q2H5pyN5YqhPC9kaXY+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgPC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgPGRpdiBjbGFzcz0iaW5wdXRib3ggY2xlYXIiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXJjb250IGZsIj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1jb250YWluZXIiPjxkaXYgY2xhc3M9InN3aXBlci13cmFwcGVyIj4nK3N3aXBlcnNsaWRlKyc8L2Rpdj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgPC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0Y29udCBqcy1jb250YWN0LXN1Ym1pdCBmbCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtX2JveCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciB0aXBzIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IGF1dG87Ij4qIOivt+eVmeS4i+aCqOeahOS/oeaBr++8jOaIkeS7rOWwhuacieS4k+S6uuS4juaCqOiBlOezuzwvZGl2PlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXRfYm94IGNsZWFyIj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibmFtZV8wIiBwbGFjZWhvbGRlcj0iKiDlkI3np7AiIHR5cGVuYW1lPSJjaGluZXNlIiBvbmJsdXI9ImRvQ2hpbmVzZSgpIiBjbGFzcz0ic2V0X2lucHV0Ij5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idGVscGhvbmVfMCIgcGxhY2Vob2xkZXI9Iiog5omL5py65Y+356CBIiB0eXBlbmFtZT0ibW9iaWxlIiBvbmJsdXI9ImRvTW9iaWxlKCkiIGNsYXNzPSJzZXRfaW5wdXQiPlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJlbWFpbF8wIiBwbGFjZWhvbGRlcj0iKiDpgq7nrrEiIHR5cGVuYW1lPSJlbWFpbCIgb25ibHVyPSJkb0VtYWlsKCkiIGNsYXNzPSJzZXRfaW5wdXQiPlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJhZGRyZXNzXzAiIHBsYWNlaG9sZGVyPSIqIOWfjuW4giIgY2xhc3M9InNldF9pbnB1dCI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29udGVudF8wIiB2YWx1ZT0i5aSn5Lit5LyB5Lia5a6a5Yi2IiBjbGFzcz0ic2V0X2lucHV0Ij5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgIDwvZGl2PlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuX2JveCBjbGVhciI+XG4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJtZXNzYWdlQnRuIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IGF1dG87Ij7mj5DkuqQ8L2J1dHRvbj5cbicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgIDwvZGl2PlxuJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICA8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgPC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0ieml4dW50aXBzIj7or7fkvb/nlKjmiJHnmoTogZTns7vkv6Hmga/vvIzpgJrov4fnlLXor53jgIHnlLXlrZDpgq7ku7bjgIHnpL7kuqTlqpLkvZPmiJbnn63kv6HmlrnlvI/lkJHmiJHlj5HpgIEgQkVFUExVUyDlhbPogZTmlrnnmoTnibnliKvkvJjmg6Dlj4rlhbbku5bkv6Hmga/jgII8YnI+6YCa6L+H54K55Ye75o+Q5Lqk77yM5oiR5bey6ZiF6K+75bm255CG6KejIEJFRVBMVVMg55qEPGEgaHJlZj0iLy93d3cuYmVlcGx1cy5jb20vZTk5MWM2Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj48c3BhbiBzdHlsZT0iY29sb3I6IGNvcmFsIj7pmpDnp4HmlL/nrZY8L3NwYW4+PC9hPu+8jOWMheaLrOmakOengeaUv+etluS4reaJgOinhOWumueahOWkhOeQhuWSjOS8oOi+k+aIkeeahOS/oeaBr+OAgjwvZGl2Pic7CiAgICAgICAgICB6aXh1blRhc2suaW5uZXJIVE1MID0geml4dW50YXNrY29udDsKICAgICAgICAgICQoJ2JvZHknKS5hcHBlbmQoeml4dW5UYXNrKTsKICAgICAgICAgIHRoaXNzd2lwZXIgPSBuZXcgU3dpcGVyKCcueml4dW5UYXNrIC5zd2lwZXItY29udGFpbmVyJywgewogICAgICAgICAgICAgIHBhZ2luYXRpb25DbGlja2FibGU6IHRydWUsCiAgICAgICAgICAgICAgc3BlZWQ6IDcwMCwKICAgICAgICAgICAgICBvblNsaWRlQ2hhbmdlRW5kOiBmdW5jdGlvbih0aGlzc3dpcGVyKXsKICAgICAgICAgICAgICAgICAgc3dpcGVyX2V4Y2hhbmdlKHRoaXNzd2lwZXIuYWN0aXZlSW5kZXgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICB9KTsKICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywnLnppeHVuVGFza05hdiAuYnRuJyxmdW5jdGlvbigpewogICAgICAgICAgdmFyIGluZGV4ID0gJCh0aGlzKS5hdHRyKCdkYXRhLWluZGV4Jyk7CiAgICAgICAgICBzd2lwZXJfZXhjaGFuZ2UoaW5kZXgpCiAgICAgIH0pOwoKICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJyxmdW5jdGlvbigpewogICAgICAgICAgaWYoJCgnLnppeHVuQnRuJykuaGFzQ2xhc3MoJ29wZW4nKSl7CiAgICAgICAgICAgICAgJCgnLnppeHVuVGFzaycpLnJlbW92ZSgpOwogICAgICAgICAgICAgICQoJy56aXh1bkJ0bicpLnJlbW92ZUNsYXNzKCdvcGVuJyk7CiAgICAgICAgICB9CiAgICAgIH0pOwogICAgICAkKGRvY3VtZW50KS5vbignY2xpY2snLCcueml4dW5UYXNrJyxmdW5jdGlvbihlKXsKICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gc3dpcGVyX2V4Y2hhbmdlKGluZGV4KXsKICAgICAgdGhpc3N3aXBlci5zbGlkZVRvKGluZGV4LDcwMCxmYWxzZSk7CiAgICAgIHZhciBfdGhpc19pbmRleCA9IHRoaXNzd2lwZXIuYWN0aXZlSW5kZXg7CiAgICAgIHZhciAkX3RoaXNfYnRuID0gJCgnLnppeHVuVGFza05hdiAuYnRuW2RhdGEtaW5kZXg9IicrX3RoaXNfaW5kZXgrJyJdJyk7CiAgICAgIHZhciAkX3RoaXNfdmFsOwogICAgICB2YXIgJF90aGlzX2NvbnRlbnRfaW5wdXQgPSAkKCcueml4dW5UYXNrIGlucHV0W25hbWU9ImNvbnRlbnRfMCJdJyk7CiAgICAgICRfdGhpc19idG4uYWRkQ2xhc3MoJ2FjdGl2ZScpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwogICAgICBzd2l0Y2ggKF90aGlzX2luZGV4KXsKICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAkX3RoaXNfdmFsID0gJF90aGlzX2J0bi50ZXh0KCk7CiAgICAgICAgICAgICAgJF90aGlzX2NvbnRlbnRfaW5wdXQudmFsKCRfdGhpc192YWwpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgICRfdGhpc192YWwgPSAkX3RoaXNfYnRuLnRleHQoKTsKICAgICAgICAgICAgICAkX3RoaXNfY29udGVudF9pbnB1dC52YWwoJF90aGlzX3ZhbCk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgJF90aGlzX3ZhbCA9ICRfdGhpc19idG4udGV4dCgpOwogICAgICAgICAgICAgICRfdGhpc19jb250ZW50X2lucHV0LnZhbCgkX3RoaXNfdmFsKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAkX3RoaXNfdmFsID0gJF90aGlzX2J0bi50ZXh0KCk7CiAgICAgICAgICAgICAgJF90aGlzX2NvbnRlbnRfaW5wdXQudmFsKCRfdGhpc192YWwpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICRfdGhpc192YWwgPSAkX3RoaXNfYnRuLnRleHQoKTsKICAgICAgICAgICAgICAkX3RoaXNfY29udGVudF9pbnB1dC52YWwoJF90aGlzX3ZhbCk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgIH0KICB9CiAgLy8g55S15a2Q6YKu566x55qE6aqM6K+BPT09PT09PT09PT09PT09PT09PT09PT09PT0KICBmdW5jdGlvbiBkb0VtYWlsKCl7CiAgICAgIHZhciB0ID0gJCgiaW5wdXRbdHlwZW5hbWU9J2VtYWlsJ10iKTsKICAgICAgaWYoL15cdysoWy0rLl1cdyspKkBcdysoWy0uXVx3KykqXC5cdysoWy0uXVx3KykqJC8udGVzdCh0LnZhbCgpKSl7CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfWVsc2V7CiAgICAgICAgICB0LmF0dHIoInBsYWNlaG9sZGVyIiwi6YKu566x5qC85byP6ZSZ6K+vIik7CiAgICAgICAgICB0LnZhbCgiIik7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICB9CiAgLyrlj6rog73ovpPlhaXkuK3mlofot5/lrZfmr40qLwogIGZ1bmN0aW9uIGRvQ2hpbmVzZSgpewogICAgICB2YXIgdCA9ICQoImlucHV0W3R5cGVuYW1lPSdjaGluZXNlJ10iKTsKICAgICAgaWYoL14oW0EtWmEtel18W1x1NEUwMC1cdTlGQTVdKSskLy50ZXN0KHQudmFsKCkpKXsKICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICB9ZWxzZXsKICAgICAgICAgIHQudmFsKCIiKTsKICAgICAgICAgIHQuYXR0cigicGxhY2Vob2xkZXIiLCLlj6rog73ovpPlhaXkuK3mloflkozlrZfmr40iKTsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogIH0KICAvKuaJi+acuuWPt+eggeeahOmqjOivgT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KICBmdW5jdGlvbiBkb01vYmlsZSgpewogICAgICB2YXIgdCA9ICQoImlucHV0W3R5cGVuYW1lPSdtb2JpbGUnXSIpOwogICAgICBpZigvXigoMFxkezIsM30tXGR7Nyw4fSl8KDFbMzQ1Njc4OV1bMC05XXs5fSkpJC8udGVzdCh0LnZhbCgpKSl7CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfWVsc2V7CiAgICAgICAgICB0LmF0dHIoInBsYWNlaG9sZGVyIiwi5Y+356CB5qC85byP6ZSZ6K+v77yM5bqn5py65Yy65Y+35ZCO6K+355So4oCYLeKAmeespuWPt+i/nuaOpSIpOwogICAgICAgICAgdC52YWwoIiIpOwogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgfQogIC8q5o+Q5Lqk55qESlM9PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAgJChkb2N1bWVudCkub24oJ2NoYW5nZScsJy56aXh1blRhc2sgLmlucHV0X2JveCBpbnB1dCcsZnVuY3Rpb24oKXsKICAgICAgdmFyIG5hbWUgPSAkKCcuY2tud3R3YWxmdHR0emN6IGlucHV0W25hbWU9Im5hbWVfMCJdJykudmFsKCk7CiAgICAgIHZhciBwaG9uZSA9ICQoJy5ja253dHdhbGZ0dHR6Y3ogaW5wdXRbbmFtZT0idGVscGhvbmVfMCJdJykudmFsKCk7CiAgICAgIHZhciBlbWFpbCA9ICQoJy5ja253dHdhbGZ0dHR6Y3ogaW5wdXRbbmFtZT0iZW1haWxfMCJdJykudmFsKCk7CiAgICAgIHZhciBhZGRyZXNzID0gJCgnLmNrbnd0d2FsZnR0dHpjeiBpbnB1dFtuYW1lPSJhZGRyZXNzXzAiXScpLnZhbCgpOwogICAgICBpZihuYW1lIT09IiIgJiYgcGhvbmUhPT0iIiAmJiBlbWFpbCE9PSIiICYmIGFkZHJlc3MhPT0iIil7CiAgICAgICAgICAkKCdidXR0b24jbWVzc2FnZUJ0bicpLmFkZENsYXNzKCdtZXNzYWdlU3VjY2VzcycpOwogICAgICB9ZWxzZXsKICAgICAgICAgICQoJ2J1dHRvbiNtZXNzYWdlQnRuJykucmVtb3ZlQ2xhc3MoJ21lc3NhZ2VTdWNjZXNzJyk7CiAgICAgIH0KICB9KTsKICAkKGRvY3VtZW50KS5vbignY2xpY2snLCcuanMtY29udGFjdC1zdWJtaXQgYnV0dG9uJyxmdW5jdGlvbigpIHsKICAgICAgdmFyIHNlcnZlcklkID0gJCgnLnppeHVuQnRuJykucGFyZW50cygnLmNhbnZhc19ib3gnKS5hdHRyKCdkYXRhLWlkJyk7CiAgICAgIHZhciBuYW1lID0gJCgnLnppeHVuVGFzayBpbnB1dFtuYW1lPSJuYW1lXzAiXScpLnZhbCgpOwogICAgICB2YXIgcGhvbmUgPSAkKCcueml4dW5UYXNrIGlucHV0W25hbWU9InRlbHBob25lXzAiXScpLnZhbCgpOwogICAgICB2YXIgZW1haWwgPSAkKCcueml4dW5UYXNrIGlucHV0W25hbWU9ImVtYWlsXzAiXScpLnZhbCgpOwogICAgICB2YXIgYWRkcmVzcyA9ICQoJy56aXh1blRhc2sgaW5wdXRbbmFtZT0iYWRkcmVzc18wIl0nKS52YWwoKTsKICAgICAgaWYobmFtZSE9PSIiICYmIHBob25lIT09IiIgJiYgZW1haWwhPT0iIiAmJiBhZGRyZXNzIT09IiIpewogICAgICAgICAgdmFyIGVsZXMgPSAkKCcueml4dW5UYXNrJykuZmluZCgnLnNldF9pbnB1dCcpOwogICAgICAgICAgdmFyIG1zZ0pzb24gPSB7fTsKICAgICAgICAgIGlmKGVsZXMubGVuZ3RoPjApewogICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICB2YXIgbXNnTmFtZSA9ICQoZWxlc1tpXSkuYXR0cignbmFtZScpOwogICAgICAgICAgICAgICAgICB2YXIgbXNnVmFsdWUgPSAkKGVsZXNbaV0pLnZhbCgpOwogICAgICAgICAgICAgICAgICBpZiAobXNnTmFtZSAhPT0gbnVsbCAmJiBtc2dOYW1lICE9PSAnbnVsbCcpIHsKICAgICAgICAgICAgICAgICAgICAgIGlmIChtc2dWYWx1ZSAhPT0gJ+ivt+mAieaLqScgJiYgbXNnVmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBtc2dKc29uW21zZ05hbWVdID0gbXNnVmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgIHR5cGU6ICdQT1NUJywKICAgICAgICAgICAgICB1cmw6IHN1Ym1pdFVybCArICcvV2ViL0ludGVyZmFjZS9zYXZlQ29udGFjdCcsCiAgICAgICAgICAgICAgZGF0YTogewogICAgICAgICAgICAgICAgICB3ZWJfaWQ6IHdlYl9pZCwKICAgICAgICAgICAgICAgICAgY29udGVudDogSlNPTi5zdHJpbmdpZnkobXNnSnNvbiksCiAgICAgICAgICAgICAgICAgIHNjcmVlbl90eXBlOiBzY3JlZW5UeXBlLAogICAgICAgICAgICAgICAgICBtb2R1bGVfaWQ6IHNlcnZlcklkCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiBzdWNjZXNzKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzID09PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICBhbGVydCgn5oKo55qE5L+h5oGv5bey5o+Q5Lqk5oiQ5Yqf77yM5oiR5Lus5bCG5bC95b+r5LiO5oKo6IGU57O7Jyk7CiAgICAgICAgICAgICAgICAgICAgICAkKCcueml4dW5UYXNrJykucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgfWVsc2V7CiAgICAgICAgICBhbGVydCgn5L2g5aGr5YaZ55qE5L+h5oGv5LiN5a6M5pW0LOivt+ajgOafpeaYr+WQpuacieS/oeaBr+a8j+WhqycpOwogICAgICB9CiAgICAgIHJldHVybiBmYWxzZTsKICB9KTsKPC9zY3JpcHQ+CgoKPHN0eWxlPgoKICAuYSB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgfQo8L3N0eWxlPg==

深圳业务总部 :

北京业务分部 :

上海业务分部 :

null
PHN0eWxlPgogICAgLmZvb3RlclN0aWNre3Bvc2l0aW9uOmZpeGVkOyB3aWR0aDogMTAwJTsgbGVmdDogMDsgYm90dG9tOiAwOyB6LWluZGV4OiA5OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyBvcGFjaXR5OiAwO30KICAgIC5mb290ZXJTdGljayAuc3RpY2tjb250e3dpZHRoOiAxMjAwcHg7IG1hcmdpbjogMTBweCBhdXRvOyBsaW5lLWhlaWdodDogMzBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogYm9sZDt9CiAgICAuZm9vdGVyU3RpY2sgLnN0aWNrY29udCBheyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMCAxNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRjZDMxOyBjb2xvcjogI2ZmZmZmZjsgYm9yZGVyLXJhZGl1czogMTBweDsgbGluZS1oZWlnaHQ6IDMwcHg7fQogICAgLmZhZGVVcElue2FuaW1hdGlvbjogZmFkZVVwSW4gLjVzIGxpbmVhcjstd2Via2l0LWFuaW1hdGlvbjogZmFkZVVwSW4gLjVzIGxpbmVhcjt9CiAgICBAa2V5ZnJhbWVzIGZhZGVVcEluIHsKICAgICAgICAwJXtvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt9CiAgICAgICAgMTAwJXtvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTt9CiAgICB9CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZVVwSW4gewogICAgICAgIDAle29wYWNpdHk6IDA7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7fQogICAgICAgIDEwMCV7b3BhY2l0eTogMTsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTt9CiAgICB9CiAgICAuZmFkZURvd25PdXR7YW5pbWF0aW9uOiBmYWRlRG93bk91dCAuM3MgbGluZWFyOy13ZWJraXQtYW5pbWF0aW9uOiBmYWRlRG93bk91dCAuM3MgbGluZWFyO30KICAgIEBrZXlmcmFtZXMgZmFkZURvd25PdXQgewogICAgICAgIDAle29wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO30KICAgICAgICAxMDAle29wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxMDAlLDApO30KICAgIH0KICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlRG93bk91dCB7CiAgICAgICAgMCV7b3BhY2l0eTogMTsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTt9CiAgICAgICAgMTAwJXtvcGFjaXR5OiAwOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxMDAlLDApO30KICAgIH0KPC9zdHlsZT4KPHNjcmlwdD4KICAgIHZhciBzdGlja0xpbmsgPSAnaHR0cHM6Ly93d3cuYmVlcGx1cy5jb20vZjkzOTU4Lmh0bWwnOyAvL+i/memHjOWNleW8leWPt+mHjOmdouaYr+mcgOimgei3s+i9rOeahOWcsOWdgAogICAgdmFyIGlzX2RldiA9IGlzZGV2KCk7CiAgICBmdW5jdGlvbiBpc2RldigpewogICAgICAgIHZhciBkZXZzdGF0dXMgPSBmYWxzZTsKICAgICAgICB2YXIgbG9jYXRpb25kYW1pbiA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgICAgIHZhciBpbmRleDEgPSBsb2NhdGlvbmRhbWluLmluZGV4T2YoJ3dlYicpOwogICAgICAgIHZhciBpbmRleDIgPSBsb2NhdGlvbmRhbWluLmluZGV4T2YoJ3dlYkVkaXQnKTsKICAgICAgICBpZihpbmRleDE+MCAmJiBpbmRleDI+MCl7CiAgICAgICAgICAgIGRldnN0YXR1cyA9ICB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGV2c3RhdHVzOwogICAgfQogICAgaWYoIWlzX2Rldil7CiAgICAgICAgY3JlYXRlc3RpY2soKTsKICAgIH0KICAgIGZ1bmN0aW9uIGNyZWF0ZXN0aWNrKCl7CiAgICAgICAgdmFyIGZvb3RlcnN0aWNrbmF2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgZm9vdGVyc3RpY2tuYXYuY2xhc3NOYW1lID0gJ2Zvb3RlclN0aWNrJzsKICAgICAgICBmb290ZXJzdGlja25hdi5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz0ic3RpY2tjb250IGNsZWFyIj48ZGl2IGNsYXNzPSJ0ZXh0IGZsIj40MDAtODg4LTcwMDDoh7TnlLXmiJHku6zmiJbnq4vljbPpooTnuqblj4Lop4LjgII8L2Rpdj48ZGl2IGNsYXNzPSJmciI+PGEgaHJlZj0iJytzdGlja0xpbmsrJyIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJsaW5rcyI+56uL5Y2z6aKE57qm5Y+C6KeCPC9hPjwvZGl2PjwvZGl2Pic7CiAgICAgICAgJCgnYm9keScpLmFwcGVuZChmb290ZXJzdGlja25hdik7CiAgICAgICAgdmFyIHRoaXNmb290ZXIgPSAkKCcuZm9vdGVyU3RpY2snKTsKICAgICAgICB2YXIgYmVmb3JlID0gJCh3aW5kb3cpLnNjcm9sbFRvcCgpOwogICAgICAgICQod2luZG93KS5zY3JvbGwoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBhZnRlciA9ICQod2luZG93KS5zY3JvbGxUb3AoKTsKICAgICAgICAgICAgaWYgKGJlZm9yZSA8IGFmdGVyKSB7CiAgICAgICAgICAgICAgICBpZighdGhpc2Zvb3Rlci5oYXNDbGFzcygnZmFkZVVwSW4nKSl7CiAgICAgICAgICAgICAgICAgICAgdGhpc2Zvb3Rlci5jc3MoeydvcGFjaXR5JzoxLCd0cmFuc2Zvcm0nOid0cmFhbnNsYXRlM2QgKDAsMCwwKSd9KTsKICAgICAgICAgICAgICAgICAgICB0aGlzZm9vdGVyLmFkZENsYXNzKCdmYWRlVXBJbicpLnJlbW92ZUNsYXNzKCdmYWRlRG93bk91dCcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYmVmb3JlID0gYWZ0ZXI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJlZm9yZSA+IGFmdGVyKSB7CiAgICAgICAgICAgICAgICBpZighdGhpc2Zvb3Rlci5oYXNDbGFzcygnZmFkZURvd25PdXQnKSl7CiAgICAgICAgICAgICAgICAgICAgdGhpc2Zvb3Rlci5jc3MoeydvcGFjaXR5JzowLCd0cmFuc2Zvcm0nOid0cmFhbnNsYXRlM2QgKDAsMTAwJSwwKSd9KTsKICAgICAgICAgICAgICAgICAgICB0aGlzZm9vdGVyLmFkZENsYXNzKCdmYWRlRG93bk91dCcpLnJlbW92ZUNsYXNzKCdmYWRlVXBJbicpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYmVmb3JlID0gYWZ0ZXI7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KPC9zY3JpcHQ+