<?xml version="1.0" encoding="utf-8"?><app version="php" type="plugin"><id>kfapp</id><name>可风应用客户端</name><url>https://kfuu.cn</url><note>可风应用管理</note><description></description><path>page/setup.php</path><include>include.php</include><level>1</level><author><name>可风网</name><email>59005022@qq.com</email><url>https://kfuu.cn</url></author><source><name></name><email></email><url></url></source><adapted>162210</adapted><version>1.0.6</version><pubdate>2023-03-12</pubdate><modified>2023-11-30</modified><price>0</price><phpver>5.3</phpver><advanced><dependency></dependency><rewritefunctions></rewritefunctions><existsfunctions></existsfunctions>
<conflict></conflict></advanced><sidebars><sidebar1></sidebar1><sidebar2></sidebar2><sidebar3></sidebar3><sidebar4></sidebar4><sidebar5></sidebar5><sidebar6></sidebar6><sidebar7></sidebar7><sidebar8></sidebar8><sidebar9></sidebar9></sidebars>
<folder><path>kfapp/class/</path></folder>
<folder><path>kfapp/page/</path></folder>
<folder><path>kfapp/static/</path></folder>
<file><path>kfapp/callback.php</path><stream>PD9waHAKcmVxdWlyZSAnLi4vLi4vLi4vemJfc3lzdGVtL2Z1bmN0aW9uL2Nfc3lzdGVtX2Jhc2UucGhwJzsKJHpicC0+TG9hZCgpOwoKaWYgKCEkemJwLT5DaGVja1JpZ2h0cygncm9vdCcpIHx8ICEkemJwLT5DaGVja1BsdWdpbigna2ZhcHAnKSl7CiAgICBleGl0Owp9CgokY29kZSA9IEdldFZhcnMoJ2NvZGUnLCAnZ2V0Jyk7CgppZiAoc3RybGVuKCRjb2RlKSAhPSAxNil7CiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdjb2Rl6ZSZ6K+vJyk7Cn0KCiRrZmFwcCA9IG5ldyBrZnV1XHBsdWdpblxrZmFwcFxLZWZlbmc7CiRrZmFwcC0+Y29ubmVjdENhbGxiYWNrKCRjb2RlKTsKCj8+CjxzY3JpcHQ+CiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgna2ZhcHBiaW5kb2snLCAnPD9waHAgZWNobyBqc29uX2VuY29kZSgka2ZhcHAtPmNvbmZpZy0+dXNlcmluZm8pPz4nKTsKICAgIHdpbmRvdy5jbG9zZSgpOwo8L3NjcmlwdD4=</stream></file>
<file><path>kfapp/class/app.php</path><stream>PD9waHAKbmFtZXNwYWNlIGtmdXVccGx1Z2luXGtmYXBwOwoKdXNlIE5ldHdvcms7CnVzZSBFeGNlcHRpb247CgpjbGFzcyBBcHAgZXh0ZW5kcyBLZWZlbmd7CgogICAgcHVibGljICRjb25maWc7CgogICAgcHJpdmF0ZSAkaWQ7CiAgICBwcml2YXRlICR0eXBlOwogICAgcHJpdmF0ZSAkX3Byb3RvQXBwOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaWQgPSAnJywgJHR5cGUgPSAnJyl7CiAgICAgICAgJHRoaXMtPmlkID0gJGlkOwogICAgICAgICR0aGlzLT50eXBlID0gJHR5cGU7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNBcHAoKXsKICAgICAgICByZXR1cm4ga2ZhcHBfSGFzQXBwKCR0aGlzLT5pZCwgJHRoaXMtPnR5cGUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwcm90b0FwcCgpewogICAgICAgIGdsb2JhbCAkemJwOwogICAgICAgIAogICAgICAgIGlmICghJHRoaXMtPl9wcm90b0FwcCl7CiAgICAgICAgICAgICR0aGlzLT5fcHJvdG9BcHAgPSAkemJwLT5Mb2FkQXBwKCR0aGlzLT50eXBlLCAkdGhpcy0+aWQpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5fcHJvdG9BcHA7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRvd25sb2FkRnJvbVpibG9nKCRhcHBubyl7CiAgICAgICAgZ2xvYmFsICR6YnA7CgogICAgICAgIGlmICghJHpicC0+Q2hlY2tQbHVnaW4oJ0FwcENlbnRyZScpKXsKICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5uZXR3b3JrKCdodHRwczovL2FwcC56YmxvZ2NuLmNvbS8/emJhPScuJGFwcG5vKTsKICAgICAgICAgICAgJHVybCA9ICRyZXN1bHRbJ25ldHdvcmsnXS0+Z2V0UmVzcG9uc2VIZWFkZXIoJ0xvY2F0aW9uJyk7CiAgICAgICAgICAgICRyZXN1bHQgPSAkdGhpcy0+bmV0d29yaygkdXJsKTsKICAgICAgICAgICAgaWYgKCRyZXN1bHRbJ3N0YXR1cyddICE9IDIwMCl7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCfml6Dms5Xku456YmxvZ+S4i+i9veivpeW6lOeUqO+8jHVybO+8micuJHVybC4nIGh0dHDnirbmgIHnoIHvvJonLiRyZXN1bHRbJ3N0YXR1cyddKTsKICAgICAgICAgICAgfQogICAgICAgIH1lbHNlewogICAgICAgICAgICByZXF1aXJlX29uY2UgWkJQX1BBVEggLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9mdW5jdGlvbi5waHAnOwogICAgICAgICAgICAkcmVzdWx0WydyZXNwb25zZVRleHQnXSA9IFNlcnZlcl9TZW5kUmVxdWVzdChBUFBDRU5UUkVfVVJMIC4gJz9kb3duPScgLiAkYXBwbm8pOwogICAgICAgICAgICBpZiAoJHJlc3VsdFsncmVzcG9uc2VUZXh0J10gPT0gJ05PVCBCVVknKXsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ+acqui0reS5sOatpOW6lOeUqO+8jOaXoOazleabtOaWsCcpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIFxBcHA6OlVuUGFjaygkcmVzdWx0WydyZXNwb25zZVRleHQnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRvd25sb2FkKCl7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5hc2tTZXJ2ZXIoJ2Rvd25sb2FkJywgYXJyYXkoCiAgICAgICAgICAgICd0eXBlJyAgICA9PiAnYXBwJywKICAgICAgICAgICAgJ2lkJyAgICAgID0+ICR0aGlzLT5pZCwKICAgICAgICAgICAgJ3ZlcnNpb24nID0+ICR0aGlzLT5wcm90b0FwcCgpLT52ZXJzaW9uCiAgICAgICAgKSk7CiAgICAgICAgXEFwcDo6VW5QYWNrKCRyZXN1bHRbJ2RhdGEnXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGVuYWJsZUFwcCgpewogICAgICAgIGlmICgkdGhpcy0+dHlwZSA9PSAncGx1Z2luJyl7CiAgICAgICAgICAgICR0aGlzLT5lbmFibGVQbHVnaW4oJHRoaXMtPmlkKTsKICAgICAgICB9ZWxzZWlmICgkdGhpcy0+dHlwZSA9PSAndGhlbWUnKXsKICAgICAgICAgICAgJHRoaXMtPmVuYWJsZVRoZW1lKCR0aGlzLT5pZCk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNhYmxlUGx1Z2luKCRpZCl7CiAgICAgICAgZ2xvYmFsICR6YnA7CiAgICAgICAgRGlzYWJsZVBsdWdpbigkaWQpOwogICAgICAgICR6YnAtPkJ1aWxkTW9kdWxlKCk7CiAgICAgICAgJHpicC0+U2F2ZUNhY2hlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGVuYWJsZVBsdWdpbigkaWQpewogICAgICAgIGdsb2JhbCAkemJwOwogICAgICAgIEVuYWJsZVBsdWdpbigkaWQpOwogICAgICAgICR6YnAtPkJ1aWxkTW9kdWxlKCk7CiAgICAgICAgJHpicC0+U2F2ZUNhY2hlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGVuYWJsZVRoZW1lKCRpZCl7CiAgICAgICAgZ2xvYmFsICR6YnA7CiAgICAgICAgU2V0VGhlbWUoJGlkLCAnJyk7CiAgICAgICAgJHpicC0+QnVpbGRNb2R1bGUoKTsKICAgICAgICAkemJwLT5TYXZlQ2FjaGUoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcnVuSW5zdGFsbEZ1bmN0aW9uKCl7CiAgICAgICAgJGZuID0gIkluc3RhbGxQbHVnaW5fJHRoaXMtPmlkIjsKICAgICAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCRmbikpewogICAgICAgICAgICAkZm4oKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFwcExvY2FsVXBkYXRlKCRvbmx5Q2hlY2tGaWxlID0gZmFsc2UpewogICAgICAgIGdsb2JhbCAkemJwOwoKICAgICAgICAkcGF0aCA9IFpCUF9QQVRIIC4gJ3piX3VzZXJzLycgLiAkdGhpcy0+dHlwZSAuJy8nIC4gJHRoaXMtPmlkIC4gJy8nOwoKICAgICAgICAkZmlsZSA9ICRwYXRoLid1cGRhdGUucGhwJzsKICAgICAgICAkZmlsZTIgPSAkcGF0aC4ndXBkYXRlMi5waHAnOwogICAgICAgIAogICAgICAgIGlmICghaXNfZmlsZSgkZmlsZSkpewogICAgICAgICAgICBpZiAoaXNfZmlsZSgkZmlsZTIpKXsKICAgICAgICAgICAgICAgICRmaWxlID0gJGZpbGUyOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCRvbmx5Q2hlY2tGaWxlKXsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmlkID09ICdMYXlDZW50ZXInKXsKICAgICAgICAgICAgZ2xvYmFsICRsY3A7CiAgICAgICAgfWVsc2VpZiAoJHRoaXMtPmlkID09ICdOaWNlJyl7CiAgICAgICAgICAgIGdsb2JhbCAkbmljZTsKICAgICAgICB9CgogICAgICAgIGluY2x1ZGUoJGZpbGUpOwogICAgICAgIHVubGluaygkZmlsZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRlbEFwcCgpewogICAgICAgIGdsb2JhbCAkemJwOwogICAgICAgICRhcHAgPSAkemJwLT5Mb2FkQXBwKCR0aGlzLT50eXBlLCAkdGhpcy0+aWQpOwogICAgICAgIGlmICgkYXBwLT5pZCAhPSAnJyAmJiAoJGFwcC0+dHlwZSA9PSAncGx1Z2luJyB8fCAkYXBwLT50eXBlID09ICd0aGVtZScpKSB7CiAgICAgICAgICAgIGlmICghaW5fYXJyYXkoJGFwcC0+aWQsICR6YnAtPmFjdGl2ZWRhcHBzKSkgewogICAgICAgICAgICAgICAgJGFwcC0+RGVsKCk7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlcXVlc3RBdXRob3JpemUoKXsKICAgICAgICAkdGhpcy0+YXNrU2VydmVyKCdhdXRob3JpemUnLCBhcnJheSgKICAgICAgICAgICAgJ2lkJyAgID0+ICR0aGlzLT5pZCwKICAgICAgICApLCBmYWxzZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGJhY2t1cCgpewogICAgICAgICRkaXIgPSBLRkFQUF9CQUNLVVBfRElSOwogICAgICAgIGlzX2RpcigkZGlyKSB8fCBta2RpcigkZGlyLCAwNzc1LCB0cnVlKTsKCiAgICAgICAgJGFwcCA9ICR0aGlzLT5wcm90b0FwcCgpOwogICAgICAgICRzID0gJGFwcC0+UGFjaygpOwoKICAgICAgICAkbmFtZSA9IGltcGxvZGUoJy0nLCBhcnJheSgkdGhpcy0+aWQsICRhcHAtPnZlcnNpb24sIGRhdGUoJ1ltZEhpcycpLCBtZDUoJHMpKSkgLiAnLnpiYSc7CgogICAgICAgIGlmICghZmlsZV9wdXRfY29udGVudHMoJGRpci4kbmFtZSwgJHMpKXsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbign5pyq6IO95YaZ5YWl5aSH5Lu95paH5Lu277yM6K+356Gu6K6k5paH5Lu25aS5ICcuJGRpci4nIOacieWGmeWFpeadg+mZkCcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBiYWNrdXBSZXN0b3JlKCRmaWxlbmFtZSl7CiAgICAgICAgJGZpbGUgPSBLRkFQUF9CQUNLVVBfRElSLiRmaWxlbmFtZTsKICAgICAgICBpZiAoIWlzX2ZpbGUoJGZpbGUpKXsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbign5aSH5Lu95paH5Lu25LiN5a2Y5ZyoJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gXEFwcDo6VW5QYWNrKGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBiYWNrdXBEZWxldGUoJGZpbGVuYW1lKXsKICAgICAgICByZXR1cm4gQHVubGluayhLRkFQUF9CQUNLVVBfRElSLiRmaWxlbmFtZSk7CiAgICB9Cn0=</stream></file>
<file><path>kfapp/class/filter.php</path><stream>PD9waHAKbmFtZXNwYWNlIGtmdXVccGx1Z2luXGtmYXBwOwoKdXNlIEV4Y2VwdGlvbjsKCmNsYXNzIEZpbHRlcnsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIEFkbWluX0xlZnRNZW51KCYkbSl7CiAgICAgICAgZ2xvYmFsICR6YnA7CiAgICAgICAgJG1bJ25hdl9rZmFwcCddID0gTWFrZUxlZnRNZW51KCJyb290IiwgJ+WPr+mjjuW6lOeUqCcsICR6YnAtPmhvc3QgLiAiemJfdXNlcnMvcGx1Z2luL2tmYXBwL3BhZ2UvbG9jYWwucGhwIiwgIm5hdl9uYXZfa2ZhcHAiLCAiYW5hdl9rZmFwcCIsICdpY29uLWNsb3VkJywgJ2ljb24taGFuZGJhZy1maWxsJyk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBBZG1pbl9CZWdpbigpewogICAgICAgIGdsb2JhbCAkemJwOwogICAgICAgIGlmICgkcmV0dXJuX2tmYXBwX3R5cGUgPSBHZXRWYXJzKCdyZXR1cm5fa2ZhcHBfdHlwZScsICdDT09LSUUnKSl7CiAgICAgICAgICAgIHNldGNvb2tpZSgncmV0dXJuX2tmYXBwX3R5cGUnLCAnJywgdGltZSgpIC0gMSwgJHpicC0+Y29va2llc3BhdGgpOwogICAgICAgICAgICBSZWRpcmVjdChHZXRWYXJzKCdIVFRQX1JFRkVSRVInLCAnU0VSVkVSJykuJyMnLiRyZXR1cm5fa2ZhcHBfdHlwZSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ21kX0JlZ2luKCl7CiAgICAgICAgZ2xvYmFsICRhY3Rpb24sJHpicDsKCiAgICAgICAgc3dpdGNoICgkYWN0aW9uKSB7CiAgICAgICAgICAgIGNhc2UgJ2tmYXBwLWNvbm5lY3QnOgogICAgICAgICAgICAgICAgJGtmYXBwID0gbmV3IEtlZmVuZzsKICAgICAgICAgICAgICAgICR0b2tlbiA9ICRrZmFwcC0+YmVmb3JlQ29ubmVjdCgpOwogICAgICAgICAgICAgICAgUmVkaXJlY3QoJ2h0dHBzOi8va2Z1dS5jbi96Yl91c2Vycy9wbHVnaW4vc2VydmVyL2tmYXBwL2Nvbm5lY3QucGhwP3Rva2VuPScuJHRva2VuLicmY2FsbGJhY2s9Jy51cmxlbmNvZGUoJHpicC0+aG9zdCkuJyNsb2dpbicpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2tmYXBwLXNhdmVjb25maWcnOgogICAgICAgICAgICAgICAgQ2hlY2tJc1JlZmVyZXJWYWxpZCgpOwogICAgICAgICAgICAgICAgJGtmYXBwID0gbmV3IEtlZmVuZzsKICAgICAgICAgICAgICAgICRrZmFwcC0+c2F2ZUNvbmZpZygkX1BPU1QpOwogICAgICAgICAgICAgICAgJHpicC0+U2V0SGludCgnZ29vZCcsICfkv53lrZjmiJDlip8nKTsKICAgICAgICAgICAgICAgIFJlZGlyZWN0KEdldFZhcnMoJ0hUVFBfUkVGRVJFUicsICdzZXJ2ZXInKSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDbWRfQWpheCgkc3JjKXsKICAgICAgICBnbG9iYWwgJHpicDsKCiAgICAgICAgJGpzb24gPSBhcnJheSgnY29kZScgPT4gMSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGRlZmluZWQoJ0lOX0FKQVgnKSB8fCBkZWZpbmUoJ0lOX0FKQVgnLCB0cnVlKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmIChzdHJwb3MoJHNyYywgJ2tmYXBwLScpID09PSAwICYmICR6YnAtPm9wdGlvblsnWkNfQURESVRJT05BTF9TRUNVUklUWSddICYmICFDaGVja0NTUkZUb2tlblZhbGlkKCdIVFRQX0NTUkZUT0tFTicsICdzZXJ2ZXInKSl7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCfpobXpnaLlt7Lov4fmnJ/vvIzor7fliLfmlrDph43or5XvvIEnKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGlkID0gR2V0VmFycygnaWQnLCAnZ2V0Jyk7CiAgICAgICAgICAgICR0eXBlID0gR2V0VmFycygndHlwZScsICdnZXQnKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIHN3aXRjaCAoJHNyYykgewogICAgICAgICAgICAgICAgY2FzZSAna2ZhcHAtbG9nb2ZmJzoKICAgICAgICAgICAgICAgICAgICAka2ZhcHAgPSBuZXcgS2VmZW5nOwogICAgICAgICAgICAgICAgICAgICRrZmFwcC0+Y2hlY2tSaWdodHMoKTsKICAgICAgICAgICAgICAgICAgICAka2ZhcHAtPmxvZ29mZigpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBjYXNlICdrZmFwcC1pbnN0YWxsJzoKICAgICAgICAgICAgICAgICAgICAkYXBwbm8gPSBHZXRWYXJzKCdhcHBubycsICdwb3N0Jyk7CiAgICAgICAgICAgICAgICAgICAgJGlzVXBkYXRlID0gR2V0VmFycygnaXNVcGRhdGUnLCAncG9zdCcpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICRhcHAgPSBuZXcgQXBwKCRpZCwgJHR5cGUpOwogICAgICAgICAgICAgICAgICAgICRhcHAtPmNoZWNrUmlnaHRzKCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRpc1VwZGF0ZSB8fCAhJGFwcC0+aGFzQXBwKCkpewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGFwcG5vKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcHAtPmRvd25sb2FkRnJvbVpibG9nKCRhcHBubyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFwcC0+ZG93bmxvYWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKCEkaXNVcGRhdGUpewogICAgICAgICAgICAgICAgICAgICAgICAkYXBwLT5lbmFibGVBcHAoKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmICgkemJwLT5vcHRpb25bJ1pDX0RFQlVHX01PREUnXSkgewogICAgICAgICAgICAgICAgICAgICAgICAkemJwLT5vcHRpb25bJ1pDX0RFQlVHX01PREUnXSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAkemJwLT5vcHRpb25bJ1pDX0RFQlVHX01PREVfU1RSSUNUJ10gPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgJHpicC0+b3B0aW9uWydaQ19ERUJVR19MT0dfRVJST1InXSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAkemJwLT5TYXZlT3B0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICRqc29uWydkZWJ1Z29mZiddID0gMTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRqc29uWydob29rcyddID0ga2ZhcHBfQWRtaW5QYWdlSG9va3NDb3VudCgpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2tmYXBwLWluc3RhbGwtZm4nOgogICAgICAgICAgICAgICAgICAgIGlmIChHZXRWYXJzKCdkZWJ1Z29uJywgJ3Bvc3QnKSl7CiAgICAgICAgICAgICAgICAgICAgICAgICR6YnAtPm9wdGlvblsnWkNfREVCVUdfTU9ERSddID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgJHpicC0+b3B0aW9uWydaQ19ERUJVR19NT0RFX1NUUklDVCddID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgJHpicC0+b3B0aW9uWydaQ19ERUJVR19NT0RFX1dBUk5JTkcnXSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICR6YnAtPm9wdGlvblsnWkNfREVCVUdfTE9HX0VSUk9SJ10gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAkemJwLT5TYXZlT3B0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkYXBwID0gbmV3IEFwcCgkaWQsICR0eXBlKTsKICAgICAgICAgICAgICAgICAgICAkYXBwLT5jaGVja1JpZ2h0cygpOwogICAgICAgICAgICAgICAgICAgICRhcHAtPnJ1bkluc3RhbGxGdW5jdGlvbigpOwogICAgICAgICAgICAgICAgICAgICRhcHAtPmFwcExvY2FsVXBkYXRlKCk7CiAgICAgICAgICAgICAgICAgICAgJGFwcC0+YXBwTG9jYWxVcGRhdGUoKTsgLy/kuI3mmK/ph43lpI3lhpkKCiAgICAgICAgICAgICAgICAgICAgaWYgKCRhcHAtPmNvbmZpZy0+aW5zdGFsbF9hcHBfYWRkX2F1dGgpewogICAgICAgICAgICAgICAgICAgICAgICAkYXBwLT5yZXF1ZXN0QXV0aG9yaXplKCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAoa2ZhcHBfQWRtaW5QYWdlSG9va3NDb3VudCgpICE9IEdldFZhcnMoJ2hvb2tzJywgJ3Bvc3QnKSl7CiAgICAgICAgICAgICAgICAgICAgICAgICRqc29uWyduZWVkUmVmcmVzaCddID0gMTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRqc29uWydzZXR1cCddID0gJGFwcC0+cHJvdG9BcHAoKS0+cGF0aDsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdrZmFwcC11cGRhdGUtZm4nOgogICAgICAgICAgICAgICAgICAgICRhcHAgPSBuZXcgQXBwKCRpZCwgJHR5cGUpOwogICAgICAgICAgICAgICAgICAgICRhcHAtPmNoZWNrUmlnaHRzKCk7CiAgICAgICAgICAgICAgICAgICAgJGFwcC0+YXBwTG9jYWxVcGRhdGUoKTsKICAgICAgICAgICAgICAgICAgICAkYXBwLT5hcHBMb2NhbFVwZGF0ZSgpOyAvL+S4jeaYr+mHjeWkjeWGmQoKICAgICAgICAgICAgICAgICAgICBpZiAoa2ZhcHBfQWRtaW5QYWdlSG9va3NDb3VudCgpICE9IEdldFZhcnMoJ2hvb2tzJywgJ3Bvc3QnKSl7CiAgICAgICAgICAgICAgICAgICAgICAgICRqc29uWyduZWVkUmVmcmVzaCddID0gMTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAna2ZhcHAtY2hlY2t1cGRhdGVzJzoKICAgICAgICAgICAgICAgICAgICAka2ZhcHAgPSBuZXcgS2VmZW5nOwogICAgICAgICAgICAgICAgICAgICRrZmFwcC0+Y2hlY2tSaWdodHMoKTsKICAgICAgICAgICAgICAgICAgICAkanNvblsnY291bnQnXSA9IGNvdW50KCRrZmFwcC0+Y2hlY2tVcGRhdGVzKHRydWUpWydkYXRhJ10pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2tmYXBwLWFjdGlvbi1hcHAnOgogICAgICAgICAgICAgICAgICAgICRzdGF0dXMgPSBHZXRWYXJzKCdzdGF0dXMnLCAnZ2V0Jyk7CiAgICAgICAgICAgICAgICAgICAgJGFwcCA9IG5ldyBBcHAoJGlkLCAkdHlwZSk7CiAgICAgICAgICAgICAgICAgICAgJGFwcC0+Y2hlY2tSaWdodHMoKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCR0eXBlID09ICdwbHVnaW4nKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRzdGF0dXMpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkemJwLT5DaGVja1BsdWdpbigkaWQpKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXBwLT5lbmFibGVQbHVnaW4oJGlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqc29uWydob29rcyddID0ga2ZhcHBfQWRtaW5QYWdlSG9va3NDb3VudCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGpzb25bJ21hbmFnZVVybCddID0gJGFwcC0+cHJvdG9BcHAoKS0+Q2FuTWFuYWdlKCkgPyAkYXBwLT5wcm90b0FwcCgpLT5HZXRNYW5hZ2VVcmwoKSA6ICcnOwogICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkemJwLT5DaGVja1BsdWdpbigkaWQpKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXBwLT5kaXNhYmxlUGx1Z2luKCRpZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9ZWxzZSBpZigkdHlwZSA9PSAndGhlbWUnKXsKICAgICAgICAgICAgICAgICAgICAgICAgJGFwcC0+ZW5hYmxlVGhlbWUoJGlkKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAna2ZhcHAtZGVsZXRlLWFwcCc6CiAgICAgICAgICAgICAgICAgICAgJGFwcCA9IG5ldyBBcHAoJGlkLCAkdHlwZSk7CiAgICAgICAgICAgICAgICAgICAgJGFwcC0+Y2hlY2tSaWdodHMoKTsKICAgICAgICAgICAgICAgICAgICBpZiAoISRhcHAtPmRlbEFwcCgpKXsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbign5Yig6Zmk5aSx6LSlJyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2tmYXBwLWJhY2t1cCc6CiAgICAgICAgICAgICAgICAgICAgJGFwcCA9IG5ldyBBcHAoJGlkLCAkdHlwZSk7CiAgICAgICAgICAgICAgICAgICAgJGFwcC0+Y2hlY2tSaWdodHMoKTsKICAgICAgICAgICAgICAgICAgICBpZiAoISRhcHAtPmJhY2t1cCgpKXsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbign5aSH5Lu95aSx6LSlJywgMik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2tmYXBwLWJhY2t1cC1saXN0JzoKICAgICAgICAgICAgICAgICAgICBBcHA6OmNoZWNrUmlnaHRzKCk7CiAgICAgICAgICAgICAgICAgICAgJGpzb25bJ3VybCddID0gc3RyX3JlcGxhY2UoWkJQX1BBVEgsICR6YnAtPmhvc3QsIEtGQVBQX0JBQ0tVUF9ESVIpOwogICAgICAgICAgICAgICAgICAgICRqc29uWydsaXN0J10gPSBhcnJheSgpOwogICAgICAgICAgICAgICAgICAgIGZvcmVhY2goR2V0RmlsZXNJbkRpcihLRkFQUF9CQUNLVVBfRElSLCAnemJhJykgYXMgJGZpbGUpewogICAgICAgICAgICAgICAgICAgICAgICAkanNvblsnbGlzdCddW10gPSBiYXNlbmFtZSgkZmlsZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2tmYXBwLWJhY2t1cC1yZXN0b3JlJzoKICAgICAgICAgICAgICAgICAgICBBcHA6OmNoZWNrUmlnaHRzKCk7CiAgICAgICAgICAgICAgICAgICAgQXBwOjpiYWNrdXBSZXN0b3JlKEdldFZhcnMoJ25hbWUnLCAncG9zdCcpKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdrZmFwcC1iYWNrdXAtZGVsZXRlJzoKICAgICAgICAgICAgICAgICAgICBBcHA6OmNoZWNrUmlnaHRzKCk7CiAgICAgICAgICAgICAgICAgICAgQXBwOjpiYWNrdXBEZWxldGUoR2V0VmFycygnbmFtZScsICdwb3N0JykpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRqc29uWydjb2RlJ10gPSAkZS0+Z2V0Q29kZSgpOwogICAgICAgICAgICAkanNvblsnbXNnJ10gPSAkZS0+Z2V0TWVzc2FnZSgpOwogICAgICAgIH0KCiAgICAgICAgb2JfY2xlYW4oKTsKICAgICAgICBlY2hvIGpzb25fZW5jb2RlKCRqc29uKTsKICAgICAgICBleGl0OwogICAgICAgIAogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQWRtaW5fU2l0ZUluZm9fU3ViTWVudSgpewogICAgICAgIGdsb2JhbCAkemJwOwogICAgICAgICRrZmFwcCA9IG5ldyBLZWZlbmc7CiAgICAgICAgaWYgKCRrZmFwcC0+Y29uZmlnLT5sYXN0X2NoZWNrdXBkYXRlc190aW1lID4gdGltZSgpIC0gMzYwMCl7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgJGtmYXBwLT5jb25maWctPmxhc3RfY2hlY2t1cGRhdGVzX3RpbWUgPSB0aW1lKCk7CiAgICAgICAgJGtmYXBwLT5jb25maWctPlNhdmUoKTsKICAgICAgICA/PgogICAgICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgICAgICAgICB1cmw6IGFqYXh1cmwrJ2tmYXBwLWNoZWNrdXBkYXRlcycsCiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdqc29uJywKICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7Y3NyZnRva2VuOiAnPD9waHAgZWNobyAkemJwLT5HZXRDU1JGVG9rZW4oKT8+J30sCiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXMpewogICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvdW50ID4gMCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCIubWFpbiIpLnByZXBlbmQoYDxkaXYgY2xhc3M9ImhpbnQiPjxwIGNsYXNzPSJoaW50IGhpbnRfdGlwcyI+5Y+v6aOO572R5o+Q6YaS77ya5pyJJHtyZXMuY291bnR95Liq5bqU55So5Y+v5pu05paw77yM6K+35Zyo5Y+v6aOO5bqU55So55qEPGEgaHJlZj0nLi4vLi4vemJfdXNlcnMvcGx1Z2luL2tmYXBwL3BhZ2UvdXBkYXRlcy5waHAnPuKAnOajgOafpeW6lOeUqOabtOaWsOKAnTwvYT7pobXljYfnuqfjgII8L3A+PC9kaXY+YCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPD9waHAKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIEFkbWluX1BsdWdpbk1uZ19TdWJNZW51KCl7CiAgICAgICAgZWNobyAnPGEgaHJlZj0iLi4vLi4vemJfdXNlcnMvcGx1Z2luL2tmYXBwL3BhZ2UvbG9jYWwucGhwIj48c3BhbiBjbGFzcz0ibS1sZWZ0Ij7mnKzlnLDlj6/po47lupTnlKg8L3NwYW4+PC9hPic7CiAgICAgICAgZWNobyAnPGEgaHJlZj0iLi4vLi4vemJfdXNlcnMvcGx1Z2luL2tmYXBwL3BhZ2UvYXBwc3RvcmUucGhwIj48c3BhbiBjbGFzcz0ibS1sZWZ0Ij7lj6/po47lupTnlKjluILlnLo8L3NwYW4+PC9hPic7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDbWRfQmVnaW5fRmlyc3QoKXsKICAgICAgICBnbG9iYWwgJGFjdGlvbjsKICAgICAgICBpZiAoJGFjdGlvbiA9PSAnUGx1Z2luRW5iJyB8fCAkYWN0aW9uID09ICdUaGVtZVNldCcpewogICAgICAgICAgICBpZiAoJGFjdGlvbiA9PSAnUGx1Z2luRW5iJyl7CiAgICAgICAgICAgICAgICAkdHlwZSA9ICdwbHVnaW4nOwogICAgICAgICAgICAgICAgJGlkID0gR2V0VmFycygnbmFtZScsICdnZXQnKTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkdHlwZSA9ICd0aGVtZSc7CiAgICAgICAgICAgICAgICAkaWQgPSBHZXRWYXJzKCd0aGVtZScsICdwb3N0Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGFwcCA9IG5ldyBBcHAoJGlkLCAkdHlwZSk7CiAgICAgICAgICAgIGlmICgkYXBwLT5wcm90b0FwcCgpLT5hdXRob3JfbmFtZSA9PSAn5Y+v6aOO572RJyl7CiAgICAgICAgICAgICAgICBpZiAoJGFwcC0+Y29uZmlnLT5pbnN0YWxsX2FwcF9hZGRfYXV0aCl7CiAgICAgICAgICAgICAgICAgICAgJGFwcC0+cmVxdWVzdEF1dGhvcml6ZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgUmVtb3ZlX0ZpbHRlcl9QbHVnaW4oJ0ZpbHRlcl9QbHVnaW5fQ21kX0JlZ2luJywnQXBwQ2VudHJlX0NtZF9CZWdpbicpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgCn0=</stream></file>
<file><path>kfapp/class/kefeng.php</path><stream>PD9waHAKbmFtZXNwYWNlIGtmdXVccGx1Z2luXGtmYXBwOwoKdXNlIE5ldHdvcms7CnVzZSBFeGNlcHRpb247CgpjbGFzcyBLZWZlbmd7CgogICAgcHVibGljICRjb25maWc7CgogICAgcHVibGljICRhdXRob3IgPSAn5Y+v6aOO572RJzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKXsKICAgICAgICBnbG9iYWwgJHpicDsKICAgICAgICAkdGhpcy0+Y29uZmlnID0gJHpicC0+Q29uZmlnKCdrZmFwcCcpOyAgICAKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNoZWNrUmlnaHRzKCl7CiAgICAgICAgZ2xvYmFsICR6YnA7CiAgICAgICAgaWYgKCEkemJwLT5DaGVja1JpZ2h0cygncm9vdCcpKXsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbign5rKh5pyJ5p2D6ZmQJyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBvc3QKICAgICAqIEBwYXJhbSBhcnJheSAkaGVhZGVyCiAgICAgKgogICAgICogQHJldHVybiBhcnJheXtzdGF0dXM6IGludCwgcmVzcG9uc2VUZXh0OiBzdHJpbmcsIG5ldHdvcms6IE5ldHdvcmt9CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBuZXR3b3JrKCR1cmwsICRwb3N0ID0gYXJyYXkoKSwgJGhlYWRlciA9IGFycmF5KCkpewogICAgICAgICRhc2sgPSBOZXR3b3JrOjpDcmVhdGUoKTsKICAgICAgICAkYXNrLT5vcGVuKCRwb3N0ID8gJ1BPU1QnIDogJ0dFVCcsJHVybCk7CiAgICAgICAgJGFzay0+ZW5hYmxlR3ppcCgpOwogICAgICAgICRhc2stPnNldFRpbWVPdXRzKDMwLCAzMCwgMCwgMCk7CgogICAgICAgIGZvcmVhY2ggKCRoZWFkZXIgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJGFzay0+c2V0UmVxdWVzdEhlYWRlcigka2V5LCAkdmFsdWUpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkYXNrLT5zZW5kKCRwb3N0KTsKICAgICAgICAKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdzdGF0dXMnICAgICAgID0+ICRhc2stPnN0YXR1cywKICAgICAgICAgICAgJ3Jlc3BvbnNlVGV4dCcgPT4gJGFzay0+cmVzcG9uc2VUZXh0LAogICAgICAgICAgICAnbmV0d29yaycgICAgICA9PiAkYXNrCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYXNrU2VydmVyKCRhY3QsICRwb3N0ID0gYXJyYXkoKSwgJGNvZGVFcXVaZXJvVGhyb3dFeGNlcHRpb24gPSB0cnVlKXsKICAgICAgICBnbG9iYWwgJHpicDsKCiAgICAgICAgJHVybCA9ICdodHRwczovL2tmdXUuY24vemJfdXNlcnMvcGx1Z2luL3NlcnZlci9rZmFwcC8/YWN0PScgLiAkYWN0OwoKICAgICAgICAkcG9zdFsnaG9zdCddID0gJHpicC0+aG9zdDsKICAgICAgICAkcG9zdFsnaXAnXSA9IEdldEd1ZXN0SVAoKTsKCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5uZXR3b3JrKCR1cmwsICRwb3N0LCBhcnJheSgna2V5JyA9PiAkdGhpcy0+Y29uZmlnLT5rZXkpKTsKCiAgICAgICAgaWYgKCRyZXN1bHRbJ3N0YXR1cyddICE9IDIwMCl7CiAgICAgICAgICAgIC8vIGVjaG8gJHJlc3VsdFsncmVzcG9uc2VUZXh0J107ZXhpdDsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbign5bqU55So5pyN5Yqh5ZmoaHR0cOWTjeW6lOeKtuaAgeegge+8micuJHJlc3VsdFsnc3RhdHVzJ10pOwogICAgICAgIH1lbHNlaWYgKG51bGwgPT09ICRkYXRhID0ganNvbl9kZWNvZGUoJHJlc3VsdFsncmVzcG9uc2VUZXh0J10sIHRydWUpKXsKICAgICAgICAgICAgLy8gZWNobyAkcmVzdWx0WydyZXNwb25zZVRleHQnXTtleGl0OwogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCfml6Dms5Xop6PmnpDlupTnlKjmnI3liqHlmajlk43lupTnmoTlhoXlrrknKTsKICAgICAgICB9CgogICAgICAgIGlmICgkZGF0YVsnY29kZSddID09IDQwMyl7CiAgICAgICAgICAgICR0aGlzLT5jb25maWctPmtleSA9ICcnOwogICAgICAgICAgICAkdGhpcy0+Y29uZmlnLT5TYXZlKCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGNvZGVFcXVaZXJvVGhyb3dFeGNlcHRpb24gJiYgJGRhdGFbJ2NvZGUnXSA9PSAwKXsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkZGF0YVsnbXNnJ10pOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRkYXRhOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBcHBTdG9yZSgpewogICAgICAgIHJldHVybiAkdGhpcy0+YXNrU2VydmVyKCdhcHBzdG9yZScpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNeUFwcHMoKXsKICAgICAgICByZXR1cm4gJHRoaXMtPmFza1NlcnZlcignbXlBcHAnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYmVmb3JlQ29ubmVjdCgpewogICAgICAgIGdsb2JhbCAkemJwOwogICAgICAgICR0b2tlbiA9IEdldEd1aWQoKTsKICAgICAgICAkdGhpcy0+YXNrU2VydmVyKCdiZWZvcmVDb25uZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdndWlkJyAgPT4gJHpicC0+Z3VpZCwKICAgICAgICAgICAgJ3Rva2VuJyA9PiAkdG9rZW4KICAgICAgICApKTsKCiAgICAgICAgcmV0dXJuICR0b2tlbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29ubmVjdENhbGxiYWNrKCRjb2RlKXsKICAgICAgICBnbG9iYWwgJHpicDsKCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5hc2tTZXJ2ZXIoJ2NvbmZpcm1Db25uZWN0JywgYXJyYXkoCiAgICAgICAgICAgICdndWlkJyAgPT4gJHpicC0+Z3VpZCwKICAgICAgICAgICAgJ2NvZGUnICA9PiAkY29kZSwKICAgICAgICApKTsKCiAgICAgICAgJHRoaXMtPmNvbmZpZy0+a2V5ID0gJHJlc3VsdFsnZGF0YSddWydrZXknXTsKICAgICAgICAkdGhpcy0+Y29uZmlnLT51c2VyaW5mbyA9ICRyZXN1bHRbJ2RhdGEnXVsnbWVtYmVyJ107CiAgICAgICAgJHRoaXMtPmNvbmZpZy0+U2F2ZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dvZmYoKXsKICAgICAgICAkdGhpcy0+Y29uZmlnLT5rZXkgPSAnJzsKICAgICAgICAkdGhpcy0+Y29uZmlnLT5TYXZlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNhdmVDb25maWcoJGRhdGEpewogICAgICAgIGZvcmVhY2ggKCRkYXRhIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICR0aGlzLT5jb25maWctPiRrZXkgPSAkdmFsdWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y29uZmlnLT5TYXZlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldExvY2FsQXBwcygkdW5zaGlmdFJ1bmluZyA9IHRydWUsICRvbmx5U2VsZkFwcHMgPSB0cnVlKXsKICAgICAgICBnbG9iYWwgJHpicDsKCiAgICAgICAgJHRoZW1lcyA9ICR6YnAtPkxvYWRUaGVtZXMoKTsKICAgICAgICAkX3BsdWdpbnMgPSAkemJwLT5Mb2FkUGx1Z2lucygpOwogICAgICAgIAogICAgICAgICRwbHVnaW5zID0gYXJyYXkoKTsKCiAgICAgICAgaWYgKCR1bnNoaWZ0UnVuaW5nKXsKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmdldExvY2FsUnVubmluZ0FwcHMoKSBhcyAkbmFtZSkgewogICAgICAgICAgICAgICAgZm9yZWFjaCAoJF9wbHVnaW5zIGFzICRrZXkgPT4gJHBsdWdpbikgewogICAgICAgICAgICAgICAgICAgIGlmICgkbmFtZSA9PSAkcGx1Z2luLT5pZCkgewogICAgICAgICAgICAgICAgICAgICAgICAkcGx1Z2luc1tdID0gJHBsdWdpbjsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoJF9wbHVnaW5zWyRrZXldKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRwbHVnaW5zID0gYXJyYXlfbWVyZ2UoJHBsdWdpbnMsICRfcGx1Z2lucyk7CgogICAgICAgIGlmICgkb25seVNlbGZBcHBzKXsKICAgICAgICAgICAgZm9yZWFjaChhcnJheSgncGx1Z2lucycsICd0aGVtZXMnKSBhcyAkdmFsdWUpewogICAgICAgICAgICAgICAgZm9yZWFjaCAoJCR2YWx1ZSBhcyAka2V5ID0+ICRhcHApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoJGFwcC0+YXV0aG9yX25hbWUgIT0gJHRoaXMtPmF1dGhvcil7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCQkdmFsdWVbJGtleV0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGNvbXBhY3QoJ3RoZW1lcycsICdwbHVnaW5zJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldExvY2FsUnVubmluZ0FwcHMoKXsKICAgICAgICBnbG9iYWwgJHpicDsKICAgICAgICByZXR1cm4gYXJyYXlfdW5pcXVlKGV4cGxvZGUoJ3wnLCAkemJwLT5vcHRpb25bJ1pDX1VTSU5HX1BMVUdJTl9MSVNUJ10pKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2hlY2tVcGRhdGVzKCR3aXRoWmJsb2cgPSBmYWxzZSwgJHdpdGhaYmxvZ1VwZGF0ZSA9IGZhbHNlKXsKICAgICAgICBnbG9iYWwgJHpicDsKCiAgICAgICAgJGFwcHMgPSBhcnJheSgpOwoKICAgICAgICBpZiAoJHpicC0+dGhlbWVpbmZvWydhdXRob3JfbmFtZSddID09ICR0aGlzLT5hdXRob3IpewogICAgICAgICAgICAkYXBwc1tdID0gYXJyYXkoCiAgICAgICAgICAgICAgICAnaWQnID0+ICR6YnAtPnRoZW1lLAogICAgICAgICAgICAgICAgJ3ZlcnNpb24nID0+ICR6YnAtPnRoZW1laW5mb1sndmVyc2lvbiddCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkdGhpcy0+Z2V0TG9jYWxSdW5uaW5nQXBwcygpIGFzICR2YWx1ZSkgewogICAgICAgICAgICAkYXBwID0gJHpicC0+TG9hZEFwcCgncGx1Z2luJywgJHZhbHVlKTsKICAgICAgICAgICAgaWYgKCRhcHAtPmF1dGhvcl9uYW1lID09ICR0aGlzLT5hdXRob3IpewogICAgICAgICAgICAgICAgJGFwcHNbXSA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdpZCcgPT4gJHZhbHVlLAogICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA9PiAkYXBwLT52ZXJzaW9uCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+YXNrU2VydmVyKCdjaGVja1VwZGF0ZXMnLCBhcnJheSgKICAgICAgICAgICAgJ2FwcHMnID0+ICRhcHBzLAogICAgICAgICAgICAnemJsb2dhcHBzJyA9PiAkd2l0aFpibG9nID8gJHRoaXMtPmdldFpibG9nUHVyY2hhc2VkQXBwcygpIDogbnVsbCwKICAgICAgICAgICAgJ3pibG9ndXBkYXRlJyA9PiAkd2l0aFpibG9nVXBkYXRlID8gJHRoaXMtPmdldFpibG9nQXBwc1VwZGF0ZXMoKSA6IG51bGwKICAgICAgICApKTsKCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRaYmxvZ0FwcHNVcGRhdGVzKCl7CiAgICAgICAgZ2xvYmFsICR6YnA7CgogICAgICAgIGlmICghJHpicC0+Q2hlY2tQbHVnaW4oJ0FwcENlbnRyZScpKXsKICAgICAgICAgICAgcmV0dXJuIGFycmF5KCk7CiAgICAgICAgfQoKICAgICAgICByZXF1aXJlX29uY2UgWkJQX1BBVEggLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9mdW5jdGlvbi5waHAnOwogICAgICAgICRkYXRhWydjaGVjayddID0gdXJsZGVjb2RlKEFwcENlbnRyZV9HZXRDaGVja1F1ZXJ5U3RyaW5nKCkpOwogICAgICAgICRodG1sID0gU2VydmVyX1NlbmRSZXF1ZXN0KEFQUENFTlRSRV9VUkwgLiAnP2NoZWNrPTEmaWdub3Jlcz0nIC4gQXBwQ2VudHJlX0dldEFwcHNJZ25vcmVzU3RyaW5nKCksICRkYXRhKTsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldFpibG9nQXBwc3RvcmVQYWdlRGV0YWlsQnlIdG1sKCRodG1sKTsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFpibG9nUHVyY2hhc2VkQXBwcygpewogICAgICAgIGdsb2JhbCAkemJwOwoKICAgICAgICBpZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdBcHBDZW50cmUnKSl7CiAgICAgICAgICAgIHJldHVybiBhcnJheSgpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXF1aXJlX29uY2UgWkJQX1BBVEggLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9mdW5jdGlvbi5waHAnOwoKICAgICAgICAkaHRtbCA9IFNlcnZlcl9TZW5kUmVxdWVzdChBUFBDRU5UUkVfVVJMIC4gJz9zaG9wbGlzdCcpOwogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0WmJsb2dBcHBzdG9yZVBhZ2VEZXRhaWxCeUh0bWwoJGh0bWwpOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0WmJsb2dBcHBzdG9yZVBhZ2VEZXRhaWxCeUh0bWwoJGh0bWwpewogICAgICAgIHByZWdfbWF0Y2hfYWxsKCcvPGFydGljbGUgY2xhc3M9ImFwcC1pbnRybyBhcHAtaW50cm8tcGhwKFx3KykiPiguKj8pPFwvYXJ0aWNsZT4vcycsICRodG1sLCAkbWF0Y2gpOwoKICAgICAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkbWF0Y2hbMl0gYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgcHJlZ19tYXRjaCgnL3NyYz0iKC4qPykiLycsICR2YWx1ZSwgJG0pOwogICAgICAgICAgICAkbG9nbyA9ICRtWzFdOwoKICAgICAgICAgICAgcHJlZ19tYXRjaCgnL1xdICguKj8pPFwvYT48XC9oMz4vJywgJHZhbHVlLCAkbSk7CiAgICAgICAgICAgICRuYW1lID0gJG1bMV07CgogICAgICAgICAgICBwcmVnX21hdGNoKCcvaWQ9KFxkKykvJywgJHZhbHVlLCAkbSk7CiAgICAgICAgICAgICRhcHBubyA9ICRtWzFdOwoKICAgICAgICAgICAgJHJlc3VsdFtdID0gY29tcGFjdCgnbG9nbycsICduYW1lJywgJ2FwcG5vJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KfQ==</stream></file>
<file><path>kfapp/footer.php</path><stream>PHNjcmlwdCBzcmM9Ii4uL3N0YXRpYy9tYWluLmpzP3Zlcj08P3BocCBlY2hvICRrZmFwcHNlbGYtPnZlcnNpb24/PiI+PC9zY3JpcHQ+Cjw/cGhwCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl9mb290ZXIucGhwJzsKUnVuVGltZSgpOwo/Pg==</stream></file>
<file><path>kfapp/header.php</path><stream>PD9waHAKcmVxdWlyZSAnLi4vLi4vLi4vLi4vemJfc3lzdGVtL2Z1bmN0aW9uL2Nfc3lzdGVtX2Jhc2UucGhwJzsKcmVxdWlyZSAnLi4vLi4vLi4vLi4vemJfc3lzdGVtL2Z1bmN0aW9uL2Nfc3lzdGVtX2FkbWluLnBocCc7CiR6YnAtPkxvYWQoKTsKJGFjdGlvbj0ncm9vdCc7CmlmICghJHpicC0+Q2hlY2tSaWdodHMoJGFjdGlvbikpIHskemJwLT5TaG93RXJyb3IoNik7ZGllKCk7fQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdrZmFwcCcpKSB7JHpicC0+U2hvd0Vycm9yKDQ4KTtkaWUoKTt9Cgoka2ZhcHBzZWxmID0gJHpicC0+TG9hZEFwcCgncGx1Z2luJywgJ2tmYXBwJyk7CiRibG9ndGl0bGU9J+WPr+mjjuW6lOeUqOWuouaIt+erryB2Jy4ka2ZhcHBzZWxmLT52ZXJzaW9uOwoKcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX2hlYWRlci5waHAnOwpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5fdG9wLnBocCc7CmlmICgkemJwLT5vcHRpb25bJ1pDX0FERElUSU9OQUxfU0VDVVJJVFknXSl7CiAgICBlY2hvICc8bWV0YSBuYW1lPSJjc3JmdG9rZW4iIGNvbnRlbnQ9IicuJHpicC0+R2V0Q1NSRlRva2VuKCkuJyI+JzsKfQo/Pgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3N0YXRpYy9tYWluLmNzcz92ZXI9PD9waHAgZWNobyAka2ZhcHBzZWxmLT52ZXJzaW9uPz4iPg==</stream></file>
<file><path>kfapp/include.php</path><stream>PD9waHANCmRlZmluZSgnS0ZBUFBfQkFDS1VQX0RJUicsIFpCUF9QQVRILid6Yl91c2Vycy9iYWNrdXAvYXBwLycpOw0KDQpSZWdpc3RlclBsdWdpbigia2ZhcHAiLCJBY3RpdmVQbHVnaW5fa2ZhcHAiKTsNCg0KJEdMT0JBTFNbJ2FjdGlvbnMnXVsna2ZhcHAtY29ubmVjdCddID0gMTsNCiRHTE9CQUxTWydhY3Rpb25zJ11bJ2tmYXBwLWRlbGFwcCddID0gMTsNCiRHTE9CQUxTWydhY3Rpb25zJ11bJ2tmYXBwLXNhdmVjb25maWcnXSA9IDE7DQoNCmZ1bmN0aW9uIEFjdGl2ZVBsdWdpbl9rZmFwcCgpIHsNCiAgICBnbG9iYWwgJHpicDsNCiAgICBpZiAoISR6YnAtPkNvbmZpZygna2ZhcHAnKS0+aGlkZV9sZWZ0X25hdl9lbnRyeSl7DQogICAgICAgIEFkZF9GaWx0ZXJfUGx1Z2luKCdGaWx0ZXJfUGx1Z2luX0FkbWluX0xlZnRNZW51JywgJ2tmdXVccGx1Z2luXGtmYXBwXEZpbHRlcjo6QWRtaW5fTGVmdE1lbnUnKTsNCiAgICB9DQogICAgDQogICAgQWRkX0ZpbHRlcl9QbHVnaW4oJ0ZpbHRlcl9QbHVnaW5fQWRtaW5fQmVnaW4nLCAna2Z1dVxwbHVnaW5ca2ZhcHBcRmlsdGVyOjpBZG1pbl9CZWdpbicpOw0KICAgIEFkZF9GaWx0ZXJfUGx1Z2luKCdGaWx0ZXJfUGx1Z2luX0NtZF9CZWdpbicsICdrZnV1XHBsdWdpblxrZmFwcFxGaWx0ZXI6OkNtZF9CZWdpbicpOw0KICAgIEFkZF9GaWx0ZXJfUGx1Z2luKCdGaWx0ZXJfUGx1Z2luX0NtZF9BamF4JywgJ2tmdXVccGx1Z2luXGtmYXBwXEZpbHRlcjo6Q21kX0FqYXgnKTsNCiAgICBBZGRfRmlsdGVyX1BsdWdpbignRmlsdGVyX1BsdWdpbl9BZG1pbl9TaXRlSW5mb19TdWJNZW51JywgJ2tmdXVccGx1Z2luXGtmYXBwXEZpbHRlcjo6QWRtaW5fU2l0ZUluZm9fU3ViTWVudScpOw0KICAgIEFkZF9GaWx0ZXJfUGx1Z2luKCdGaWx0ZXJfUGx1Z2luX0FkbWluX1BsdWdpbk1uZ19TdWJNZW51JywgJ2tmdXVccGx1Z2luXGtmYXBwXEZpbHRlcjo6QWRtaW5fUGx1Z2luTW5nX1N1Yk1lbnUnKTsNCiAgICBrZmFwcF9BZGRfRmlsdGVyX1BsdWdpbl9GaXJzdCgnRmlsdGVyX1BsdWdpbl9DbWRfQmVnaW4nLCAna2Z1dVxwbHVnaW5ca2ZhcHBcRmlsdGVyOjpDbWRfQmVnaW5fRmlyc3QnKTsNCn0NCg0KZnVuY3Rpb24gSW5zdGFsbFBsdWdpbl9rZmFwcCgpIHsNCiAgICBnbG9iYWwgJHpicDsNCiAgICAkY29uZmlnID0gJHpicC0+Q29uZmlnKCdrZmFwcCcpOw0KICAgICRkZWZhdWx0ID0gYXJyYXkoDQogICAgICAgICdpbnN0YWxsJyA9PiAxLA0KICAgICAgICAnaW5zdGFsbF9hcHBfYWRkX2F1dGgnID0+IDEsDQogICAgICAgICd1cGdyYWRlX2JhY2t1cCcgPT4gMSwNCiAgICApOw0KICAgIA0KICAgIGlmICgkY29uZmlnLT5pbnN0YWxsKXsNCiAgICAgICAgcmV0dXJuOw0KICAgIH0NCg0KICAgIGZvcmVhY2ggKCRkZWZhdWx0IGFzICRrZXkgPT4gJHZhbHVlKSB7DQogICAgICAgICRjb25maWctPiRrZXkgPSAkdmFsdWU7DQogICAgfQ0KICAgICRjb25maWctPlNhdmUoKTsNCn0NCmZ1bmN0aW9uIFVuaW5zdGFsbFBsdWdpbl9rZmFwcCgpIHt9DQoNCnNwbF9hdXRvbG9hZF9yZWdpc3RlcihmdW5jdGlvbigkY2xhc3Mpew0KICAgIGlmIChwcmVnX21hdGNoKCcvXmtmdXVcXFxwbHVnaW5cXFxrZmFwcFxcXChcdyspJC8nLCRjbGFzcywkbSkpew0KICAgICAgICBpZiAoaXNfcmVhZGFibGUoJGZpbGUgPSBfX0RJUl9fIC4gJy9jbGFzcy8nIC4gc3RydG9sb3dlcigkbVsxXSkgLiAnLnBocCcpKXsNCiAgICAgICAgICAgIHJlcXVpcmVfb25jZSAkZmlsZTsNCiAgICAgICAgfQ0KICAgIH0NCn0pOw0KDQpmdW5jdGlvbiBrZmFwcF9TdWJNZW51KCl7DQogICAgZ2xvYmFsICR6YnA7DQoNCiAgICAkY29uZmlnID0gJHpicC0+Q29uZmlnKCdrZmFwcCcpOw0KICAgICR1c2VyaW5mbyA9ICRjb25maWctPnVzZXJpbmZvOw0KICAgIA0KICAgIGlmICgkY29uZmlnLT5rZXkpew0KICAgICAgICAkbG9naW4gPSAnPGRpdj48aW1nIHNyYz0iJy4kdXNlcmluZm9bJ2F2YXRhciddLiciIGNsYXNzPSJrZi1hdmF0YXIiPjxzcGFuIGNsYXNzPSJuaWNrbmFtZSI+Jy4kdXNlcmluZm9bJ25pY2tuYW1lJ10uJzwvc3Bhbj48L2Rpdj4nOw0KICAgICAgICAkbG9naW5DbGFzcyA9ICcnOw0KICAgIH1lbHNlew0KICAgICAgICAkbG9naW4gPSAnPHNwYW4gY2xhc3M9ImxvZ2luLXRleHQiPjxpIGNsYXNzPSJpY29uLXBlcnNvbi1jaXJjbGUiPjwvaT4gPHNwYW4+55m75b2V6LSm5Y+3PC9zcGFuPjwvc3Bhbj4nOw0KICAgICAgICAkbG9naW5DbGFzcyA9ICdwb3AtbG9naW4nOw0KICAgIH0NCg0KICAgICRtZW51ID0gYXJyYXkoDQogICAgICAgICdsb2NhbCcgICAgID0+IGFycmF5KCduYW1lJyA9PiAkY29uZmlnLT5sb2NhbF9hcHBzX3Nob3dfb3RoZXJzID8gJ+acrOWcsOW6lOeUqCcgOiAn5pys5Zyw5Y+v6aOO5bqU55SoJyksDQogICAgICAgICdhcHBzdG9yZScgID0+IGFycmF5KCduYW1lJyA9PiAn5Y+v6aOO5bqU55So5biC5Zy6JyksDQogICAgICAgICd1cGRhdGVzJyAgID0+IGFycmF5KCduYW1lJyA9PiAn5qOA5p+l5bqU55So5pu05pawJyksDQogICAgICAgICdwdXJjaGFzZWQnID0+IGFycmF5KCduYW1lJyA9PiAn5bey6LSt5Lmw5bqU55SoJywgJ2NsYXNzJyA9PiAkbG9naW5DbGFzcyksDQogICAgICAgICdzZXR1cCcgICAgID0+IGFycmF5KCduYW1lJyA9PiAn5a6i5oi356uv6YWN572uJywgJ2Zsb2F0JyA9PiAncmlnaHQnKSwNCiAgICAgICAgJ3VzZXInICAgICAgPT4gYXJyYXkoJ25hbWUnID0+ICRsb2dpbiwgJ2Zsb2F0JyA9PiAncmlnaHQnLCAnY2xhc3MnID0+ICRsb2dpbkNsYXNzLCAnaHJlZicgPT4gJ2phdmFzY3JpcHQ6OycpLA0KICAgICk7DQoNCiAgICAkc2VsZk5hbWUgPSBzdHJfcmVwbGFjZSgnLnBocCcsICcnLCBiYXNlbmFtZShHZXRWYXJzKCdTQ1JJUFRfTkFNRScsICdTRVJWRVInKSkpOw0KDQogICAgZm9yZWFjaCAoJG1lbnUgYXMgJGtleSA9PiAkdmFsdWUpIHsNCiAgICAgICAgaWYgKCEkdmFsdWUpew0KICAgICAgICAgICAgY29udGludWU7DQogICAgICAgIH0NCg0KICAgICAgICBlY2hvICc8YSBocmVmPSInLigkdmFsdWVbJ2hyZWYnXSA/PyAoJGtleS4nLnBocCcpKS4nIiBjbGFzcz0ibWVudS0nLiRrZXkuJyAnLigkdmFsdWVbJ2NsYXNzJ10/PycnKS4nIiBzdHlsZT0iZmxvYXQ6Jy4oJHZhbHVlWydmbG9hdCddPz8nbGVmdCcpLiciPjxzcGFuIGNsYXNzPSJtLWxlZnQgJy4oJGtleSA9PSAkc2VsZk5hbWUgPyAnbS1ub3cnIDonJykuJyI+Jy4kdmFsdWVbJ25hbWUnXS4nPC9zcGFuPjwvYT4nOw0KICAgIH0NCn0NCg0KZnVuY3Rpb24ga2ZhcHBfSGFzQXBwKCRpZCwgJHR5cGUpew0KICAgIHJldHVybiBpc19maWxlKFpCUF9QQVRIIC4gJ3piX3VzZXJzLycgLiAkdHlwZSAuJy8nIC4gJGlkIC4gJy8nIC4gJHR5cGUgLiAnLnhtbCcpOw0KfQ0KDQpmdW5jdGlvbiBrZmFwcF9BZG1pblBhZ2VIb29rc0NvdW50KCl7DQogICAgJGhvb2tzID0gYXJyYXkoJ0ZpbHRlcl9QbHVnaW5fQWRtaW5fSGVhZGVyJywgJ0ZpbHRlcl9QbHVnaW5fQWRtaW5fSGludCcsICdGaWx0ZXJfUGx1Z2luX0FkbWluX0Zvb3RlcicsICdGaWx0ZXJfUGx1Z2luX0FkbWluX0xlZnRNZW51JywgJ0ZpbHRlcl9QbHVnaW5fQWRtaW5fVG9wTWVudScpOw0KICAgICRjb3VudCA9IDA7DQogICAgZm9yZWFjaCAoJGhvb2tzIGFzICR2YWx1ZSkgew0KICAgICAgICAkY291bnQgKz0gY291bnQoJEdMT0JBTFNbJ2hvb2tzJ11bJHZhbHVlXSk7DQogICAgfQ0KICAgIHJldHVybiAkY291bnQ7DQp9DQoNCmZ1bmN0aW9uIGtmYXBwX0FkZF9GaWx0ZXJfUGx1Z2luX0ZpcnN0KCRwbHVnbmFtZSwgJGZ1bmN0aW9ubmFtZSwgJGV4aXRzaWduYWwgPSBQTFVHSU5fRVhJVFNJR05BTF9OT05FKXsNCiAgICAkR0xPQkFMU1snaG9va3MnXVskcGx1Z25hbWVdID0gYXJyYXlfcmV2ZXJzZShVc2luZ1BsdWdpbkZpbHRlcigkcGx1Z25hbWUpLCB0cnVlKTsNCiAgICBBZGRfRmlsdGVyX1BsdWdpbigkcGx1Z25hbWUsICRmdW5jdGlvbm5hbWUsICRleGl0c2lnbmFsKTsNCiAgICAkR0xPQkFMU1snaG9va3MnXVskcGx1Z25hbWVdID0gYXJyYXlfcmV2ZXJzZSgkR0xPQkFMU1snaG9va3MnXVskcGx1Z25hbWVdLCB0cnVlKTsNCiAgICByZXR1cm4gdHJ1ZTsNCn0=</stream></file>
<file><path>kfapp/logo.png</path><stream>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</stream></file>
<file><path>kfapp/page/appstore.php</path><stream>PD9waHAKcmVxdWlyZSAnLi4vaGVhZGVyLnBocCc7Cgp0cnkgewogICAgJGFwcCA9IG5ldyBrZnV1XHBsdWdpblxrZmFwcFxhcHA7CiAgICAkcmVzdWx0ID0gJGFwcC0+Z2V0QXBwU3RvcmUoKTsKfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAkemJwLT5TaG93SGludCgnYmFkJywgJGUtPmdldE1lc3NhZ2UoKSk7Cn0KCj8+CjxkaXYgaWQ9ImRpdk1haW4iPgoJPGRpdiBjbGFzcz0iZGl2SGVhZGVyIj48P3BocCBlY2hvICRibG9ndGl0bGU7Pz48L2Rpdj4KCTxkaXYgY2xhc3M9IlN1Yk1lbnUiPjw/cGhwIGtmYXBwX1N1Yk1lbnUoKT8+PC9kaXY+Cgk8ZGl2IGlkPSJkaXZNYWluMiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2F0ZSBjYXRlLWFwcCIgc3R5bGU9ImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7Ij4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBhY3RpdmUiIGRhdGEtdHlwZT0iIj7lhajpg6jnsbvlnos8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGRhdGEtdHlwZT0icGx1Z2luIj7mj5Lku7Y8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGRhdGEtdHlwZT0idGhlbWUiPuS4u+mimDwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXRlIGNhdGUtcmFuZ2UiPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGFjdGl2ZSIgZGF0YS1yYW5nZT0iIj7lhajpg6jku7fmoLw8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGRhdGEtcmFuZ2U9IjAtMCI+5YWN6LS5PC9hPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIiBkYXRhLXJhbmdlPSIwLTEwMDAwMCI+5LuY6LS5PC9hPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIiBkYXRhLXJhbmdlPSIwLTEwMCI+MC0xMDA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGRhdGEtcmFuZ2U9IjEwMC0zMDAiPjEwMC0zMDA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGRhdGEtcmFuZ2U9IjMwMC01MDAiPjMwMC01MDA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGRhdGEtcmFuZ2U9IjUwMC04MDAiPjUwMC04MDA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGRhdGEtcmFuZ2U9IjgwMC0xMDAwIj44MDAtMTAwMDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biIgZGF0YS1yYW5nZT0iMTAwMC0xMDAwMDAiPj4xMDAwPC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImFwcC1saXN0IGl0ZW1zIiBkYXRhLXNob3c9IiI+CiAgICAgICAgICAgIDw/cGhwCiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXN1bHRbJ2RhdGEnXSA/PyBbXSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iaXRlbSB0eXBlLScuJHZhbHVlWyd0eXBlJ10uJyIgZGF0YS1pZD0iJy4kdmFsdWVbJ2lkJ10uJyIgZGF0YS10eXBlPSInLiR2YWx1ZVsndHlwZSddLiciIGRhdGEtbW9uZXk9IicuJHZhbHVlWydtb25leSddLiciIGRhdGEtZnJvbT0iJy4kdmFsdWVbJ2Zyb20nXS4nIiBkYXRhLWFwcG5vPSInLigkdmFsdWVbJ2FwcG5vJ10/PycnKS4nIj4nOwoKICAgICAgICAgICAgICAgIGlmICgkdmFsdWVbJ3B1cmNoYXNlZCddICYmICR2YWx1ZVsnbW9uZXknXSA+IDApewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9InRpcHMiPuato+eJiOaOiOadgzwvZGl2Pic7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCR2YWx1ZVsndHlwZSddID09ICdwbHVnaW4nKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJ0eXBlIj48aSBjbGFzcz0iaWNvbi1wbHVnIiB0aXRsZT0i5o+S5Lu2Ij48L2k+PC9kaXY+JzsKICAgICAgICAgICAgICAgIH1lbHNlaWYgKCR2YWx1ZVsndHlwZSddID09ICd0aGVtZScpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9InR5cGUiPjxpIGNsYXNzPSJpY29uLWdyaWQtMXgyLWZpbGwiIHRpdGxlPSLkuLvpopgiPjwvaT48L2Rpdj4nOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9InRodW1iIj48YSBocmVmPSInLiR2YWx1ZVsnc2FsZVBhZ2UnXS4nIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9IicuJHZhbHVlWydsb2dvJ10uJyIgdGl0bGU9IicuJHZhbHVlWydpbnRybyddLiciPjwvYT48L2Rpdj4nOwogICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0ibmFtZSIgdGl0bGU9IicuJHZhbHVlWyduYW1lJ10uJyI+Jy4kdmFsdWVbJ25hbWUnXS4nPC9kaXY+JzsKCiAgICAgICAgICAgICAgICBpZiAoJHZhbHVlWydvblNhbGUnXSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0ibW9uZXkiPjxzcGFuIGNsYXNzPSJvbGQiPu+/pTxzPicuJHZhbHVlWydvbGRNb25leSddLic8L3M+PC9zcGFuPu+/pScuJHZhbHVlWydtb25leSddLic8L2Rpdj4nOwogICAgICAgICAgICAgICAgfWVsc2VpZiAoJHZhbHVlWydtb25leSddID4gMCl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0ibW9uZXkiPu+/pScuJHZhbHVlWydtb25leSddLic8L2Rpdj4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0ibW9uZXkiPuWFjei0uTwvZGl2Pic7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCR2YWx1ZVsndHlwZSddID09ICdwbHVnaW4nICYmICR6YnAtPkNoZWNrUGx1Z2luKCR2YWx1ZVsnaWQnXSkgfHwgJHZhbHVlWyd0eXBlJ10gPT0gJ3RoZW1lJyAmJiAkemJwLT50aGVtZSA9PSAkdmFsdWVbJ2lkJ10pewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxkaXY+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJrZmFwcC1hcHAtYnRuIiBkaXNhYmxlZD7lt7Llronoo4U8L2J1dHRvbj48L2Rpdj4nOwogICAgICAgICAgICAgICAgfWVsc2UgaWYoa2ZhcHBfSGFzQXBwKCR2YWx1ZVsnaWQnXSwgJHZhbHVlWyd0eXBlJ10pKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8ZGl2PjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ia2ZhcHAtYXBwLWJ0biIga2YtZXZlbnQ9Imluc3RhbGwiPuWQr+eUqDwvYnV0dG9uPjwvZGl2Pic7CiAgICAgICAgICAgICAgICB9ZWxzZSBpZiAoJHZhbHVlWydwdXJjaGFzZWQnXSB8fCAkdmFsdWVbJ21vbmV5J10gPT0gMCl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImtmYXBwLWFwcC1idG4gb25la2V5IiBrZi1ldmVudD0iaW5zdGFsbCI+5LiA6ZSu5a6J6KOFPC9idXR0b24+PC9kaXY+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxkaXY+PGEgaHJlZj0iJy4kdmFsdWVbJ3NhbGVQYWdlJ10uJyIgY2xhc3M9ImtmYXBwLWFwcC1idG4gb3JhbmdlIiB0YXJnZXQ9Il9ibGFuayI+5YmN5b6A6LSt5LmwPC9hPjwvZGl2Pic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGVjaG8gJzwvZGl2PgogICAgICAgICAgICAgICAgJzsKICAgICAgICAgICAgfQogICAgICAgICAgICA/PgogICAgICAgIDwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo8P3BocCByZXF1aXJlICcuLi9mb290ZXIucGhwJz8+</stream></file>
<file><path>kfapp/page/local.php</path><stream>PD9waHAKcmVxdWlyZSAnLi4vaGVhZGVyLnBocCc7Cgp0cnkgewogICAgJGtmYXBwID0gbmV3IGtmdXVccGx1Z2luXGtmYXBwXGFwcDsKfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAkemJwLT5TaG93SGludCgnYmFkJywgJGUtPmdldE1lc3NhZ2UoKSk7Cn0KCj8+CjxkaXYgaWQ9ImRpdk1haW4iPgoJPGRpdiBjbGFzcz0iZGl2SGVhZGVyIj48P3BocCBlY2hvICRibG9ndGl0bGU7Pz48L2Rpdj4KCTxkaXYgY2xhc3M9IlN1Yk1lbnUiPjw/cGhwIGtmYXBwX1N1Yk1lbnUoKT8+PC9kaXY+Cgk8ZGl2IGlkPSJkaXZNYWluMiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2F0ZSBjYXRlLWFwcCI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGRhdGEtdHlwZT0icGx1Z2luIj7mj5Lku7Y8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGRhdGEtdHlwZT0idGhlbWUiPuS4u+mimDwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dGFibGUgY2xhc3M9ImxvY2FsYXBwIDw/cGhwIGVjaG8gJGtmYXBwLT5jb25maWctPmxvY2FsX2FwcHNfc2hvd19vdGhlcnMgPyAnc2hvdy1vdGhlcnMnIDogJyc/PiIgc3R5bGU9IndpZHRoOjEwMCUiPgogICAgICAgICAgICA8dGJvZHkgY2xhc3M9Iml0ZW1zIiBkYXRhLXNob3c9IiI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRoIHdpZHRoPTYwPjwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoPuWQjeensDwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoIHdpZHRoPTE1MD7mm7TmlrDml7bpl7Q8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0xNTAgY2xhc3M9ImF1dGhvciI+5L2c6ICFPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggd2lkdGg9MTAwPuexu+WeizwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoIHdpZHRoPTEwMD7nirbmgIE8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCB3aWR0aD04MD7mk43kvZw8L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDw/cGhwCiAgICAgICAgICAgICAgICAkbG9jYWxBcHBzID0gJGtmYXBwLT5nZXRMb2NhbEFwcHMoISRrZmFwcC0+Y29uZmlnLT5ydW5uaW5nX2FwcF9uYXRzb3J0LCAhJGtmYXBwLT5jb25maWctPmxvY2FsX2FwcHNfc2hvd19vdGhlcnMpOwogICAgICAgICAgICAgICAgZm9yZWFjaChhcnJheV9tZXJnZSgkbG9jYWxBcHBzWyd0aGVtZXMnXSwgJGxvY2FsQXBwc1sncGx1Z2lucyddKSBhcyAkYXBwKXsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAkZGlzYWJsZWQgPSAhJGFwcC0+SXNVc2VkKCk7CgogICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ciBjbGFzcz0iaXRlbSB0eXBlLScuJGFwcC0+dHlwZS4nICcuKCRkaXNhYmxlZD8nYXBwLWRpc2FibGVkJzonJykuJyIgZGF0YS1pZD0iJy4kYXBwLT5pZC4nIiBkYXRhLXR5cGU9IicuJGFwcC0+dHlwZS4nIj4nOwogICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBjbGFzcz10ZENlbnRlcj48aW1nIHNyYz0iJy4kYXBwLT5HZXRMb2dvKCkuJyIgd2lkdGg9MzIgaGVpZ2h0PTMyPjwvdGQ+JzsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8dGQ+PHA+Jy4kYXBwLT5uYW1lLicgJy4kYXBwLT52ZXJzaW9uLic8L3A+PC90ZD4nOwogICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBjbGFzcz10ZENlbnRlcj4nLiRhcHAtPm1vZGlmaWVkLic8L3RkPic7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPHRkIGNsYXNzPSJ0ZENlbnRlciBhdXRob3IiPicuKCRhcHAtPmF1dGhvcl9uYW1lID09ICRrZmFwcC0+YXV0aG9yID8gJzxpbWcgc3JjPSIuLi9sb2dvLnBuZyIgd2lkdGg9IjIyIj4nIDogJGFwcC0+YXV0aG9yX25hbWUpLic8L3RkPic7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPHRkIGNsYXNzPXRkQ2VudGVyPicuKCRhcHAtPnR5cGUgPT0gJ3BsdWdpbicgPyAn5o+S5Lu2JyA6ICgkYXBwLT50eXBlID09ICd0aGVtZSc/J+S4u+mimCc6JycpKS4nPC90ZD4nOwogICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBjbGFzcz10ZENlbnRlcj4nOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGFwcC0+dHlwZSA9PSAncGx1Z2luJyAmJiAkYXBwLT5pZCAhPSAna2ZhcHAnKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJzxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0iJy4oJGRpc2FibGVkPzA6MSkuJyIgY2xhc3M9ImNoZWNrYm94IiBkYXRhLWlkPSInLiRhcHAtPmlkLiciIGRhdGEtdHlwZT0icGx1Z2luIj4nOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPC90ZD4nOwogICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBjbGFzcz10ZENlbnRlcj4nOwogICAgICAgICAgICAgICAgICAgIGlmICgkYXBwLT50eXBlID09ICd0aGVtZScpewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHpicC0+dGhlbWUgIT0gJGFwcC0+aWQpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAnPGlucHV0IHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ1dHRvbiBydW4iIGtmLWV2ZW50PSJpbnN0YWxsVGhlbWUiIGRhdGEtaWQ9IicuJGFwcC0+aWQuJyIgdmFsdWU9IuWQr+eUqCIgc3R5bGU9ImRpc3BsYXk6bm9uZTttYXJnaW46YXV0byI+JzsKICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICfmraPlnKjkvb/nlKgnOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfWVsc2VpZigkYXBwLT5pZCAhPSAna2ZhcHAnKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkZGlzYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYXBwLT5DYW5NYW5hZ2UoKSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAnPGEgaHJlZj0iJy4kYXBwLT5HZXRNYW5hZ2VVcmwoKS4nIiB0aXRsZT0iJy4kemJwLT5sYW5nWydtc2cnXVsnbWFuYWdlJ10uJyIgY2xhc3M9ImJ0bi1pY29uIGJ0bi1tYW5hZ2UiPjxpIGNsYXNzPSJpY29uLXRvb2xzIj48L2k+PC9hPic7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAnPGEgaHJlZj0iamF2YXNjcmlwdDo7IiB0aXRsZT0i5Yig6Zmk5bqU55SoIiBjbGFzcz0iZGVsZXRlLWFwcCIgZGF0YS1pZD0iJy4kYXBwLT5pZC4nIiBkYXRhLXR5cGU9IicuJGFwcC0+dHlwZS4nIj48aSBjbGFzcz0iaWNvbi10cmFzaCI+PC9pPjwvYT4nOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVjaG8gJzwvdGQ+JzsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8L3RyPic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICA/PgogICAgICAgICAgICA8L3Rib2R5PgogICAgICAgIDwvdGFibGU+Cgk8L2Rpdj4KPC9kaXY+Cjw/cGhwIHJlcXVpcmUgJy4uL2Zvb3Rlci5waHAnPz4=</stream></file>
<file><path>kfapp/page/purchased.php</path><stream>PD9waHAKcmVxdWlyZSAnLi4vaGVhZGVyLnBocCc7Cgp0cnkgewogICAgJGFwcCA9IG5ldyBrZnV1XHBsdWdpblxrZmFwcFxhcHA7CiAgICAkcmVzdWx0ID0gJGFwcC0+Z2V0TXlBcHBzKCk7Cn0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewogICAgJHpicC0+U2hvd0hpbnQoJ2JhZCcsICRlLT5nZXRNZXNzYWdlKCkpOwp9Cgo/Pgo8ZGl2IGlkPSJkaXZNYWluIj4KCTxkaXYgY2xhc3M9ImRpdkhlYWRlciI+PD9waHAgZWNobyAkYmxvZ3RpdGxlOz8+PC9kaXY+Cgk8ZGl2IGNsYXNzPSJTdWJNZW51Ij48P3BocCBrZmFwcF9TdWJNZW51KCk/PjwvZGl2PgoJPGRpdiBpZD0iZGl2TWFpbjIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhdGUgY2F0ZS1hcHAiPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIiBkYXRhLXR5cGU9IiI+5YWo6YOoPC9hPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIiBkYXRhLXR5cGU9InBsdWdpbiI+5o+S5Lu2PC9hPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIiBkYXRhLXR5cGU9InRoZW1lIj7kuLvpopg8L2E+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iYXBwLWxpc3QgaXRlbXMiIGRhdGEtc2hvdz0iIj4KICAgICAgICAgICAgPD9waHAKCiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXN1bHRbJ2RhdGEnXSA/PyBbXSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iaXRlbSB0eXBlLScuJHZhbHVlWyd0eXBlJ10uJyIgZGF0YS1pZD0iJy4kdmFsdWVbJ2lkJ10uJyIgZGF0YS10eXBlPSInLiR2YWx1ZVsndHlwZSddLiciPic7CgogICAgICAgICAgICAgICAgaWYgKCR2YWx1ZVsndHlwZSddID09ICdwbHVnaW4nKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJ0eXBlIj48aSBjbGFzcz0iaWNvbi1wbHVnIiB0aXRsZT0i5o+S5Lu2Ij48L2k+PC9kaXY+JzsKICAgICAgICAgICAgICAgIH1lbHNlaWYgKCR2YWx1ZVsndHlwZSddID09ICd0aGVtZScpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9InR5cGUiPjxpIGNsYXNzPSJpY29uLWdyaWQtMXgyLWZpbGwiIHRpdGxlPSLkuLvpopgiPjwvaT48L2Rpdj4nOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9InRodW1iIj48YSBocmVmPSInLiR2YWx1ZVsndXJsJ10uJyIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSInLiR2YWx1ZVsnbG9nbyddLiciPjwvYT48L2Rpdj4nOwogICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0ibmFtZSIgdGl0bGU9IicuJHZhbHVlWyduYW1lJ10uJyI+Jy4kdmFsdWVbJ25hbWUnXS4nPC9kaXY+JzsKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIGlmICgkdmFsdWVbJ3R5cGUnXSA9PSAncGx1Z2luJyAmJiAkemJwLT5DaGVja1BsdWdpbigkdmFsdWVbJ2lkJ10pIHx8ICR2YWx1ZVsndHlwZSddID09ICd0aGVtZScgJiYgJHpicC0+dGhlbWUgPT0gJHZhbHVlWydpZCddKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJ2ZXIiIHRpdGxlPSLmnKzlnLDniYjmnKzlj7ciPnYnLigkdmFsdWVbJ3R5cGUnXSA9PSAndGhlbWUnID8gJHpicC0+dGhlbWVpbmZvWyd2ZXJzaW9uJ10gOiAkemJwLT5Mb2FkQXBwKCR2YWx1ZVsndHlwZSddLCAkdmFsdWVbJ2lkJ10pLT52ZXJzaW9uKS4nPC9kaXY+JzsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8ZGl2PjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ia2ZhcHAtYXBwLWJ0biIgZGlzYWJsZWQ+5bey5a6J6KOFPC9idXR0b24+PC9kaXY+JzsKICAgICAgICAgICAgICAgIH1lbHNlIGlmKGtmYXBwX0hhc0FwcCgkdmFsdWVbJ2lkJ10sICR2YWx1ZVsndHlwZSddKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0idmVyIiB0aXRsZT0i5pys5Zyw54mI5pys5Y+3Ij52Jy4kemJwLT5Mb2FkQXBwKCR2YWx1ZVsndHlwZSddLCAkdmFsdWVbJ2lkJ10pLT52ZXJzaW9uLic8L2Rpdj4nOwogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxkaXY+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJrZmFwcC1hcHAtYnRuIiBrZi1ldmVudD0iaW5zdGFsbCI+5ZCv55SoPC9idXR0b24+PC9kaXY+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9InZlciIgdGl0bGU9IuacgOaWsOeJiOacrOWPtyI+dicuJHZhbHVlWyd2ZXJzaW9uJ10uJzwvZGl2Pic7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImtmYXBwLWFwcC1idG4gb25la2V5IiBrZi1ldmVudD0iaW5zdGFsbCI+5LiA6ZSu5a6J6KOFPC9idXR0b24+PC9kaXY+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZWNobyAnPC9kaXY+CiAgICAgICAgICAgICAgICAnOwogICAgICAgICAgICB9CiAgICAgICAgICAgID8+CiAgICAgICAgPC9kaXY+CgoJPC9kaXY+CjwvZGl2Pgo8P3BocCByZXF1aXJlICcuLi9mb290ZXIucGhwJz8+</stream></file>
<file><path>kfapp/page/setup.php</path><stream>PD9waHAKcmVxdWlyZSAnLi4vaGVhZGVyLnBocCc7Cgoka2ZhcHAgPSBuZXcga2Z1dVxwbHVnaW5ca2ZhcHBcS2VmZW5nOwoKJGtmYXBwLT5jaGVja1VwZGF0ZXMoKTsKPz4KPGRpdiBpZD0iZGl2TWFpbiI+Cgk8ZGl2IGNsYXNzPSJkaXZIZWFkZXIiPjw/cGhwIGVjaG8gJGJsb2d0aXRsZTs/PjwvZGl2PgoJPGRpdiBjbGFzcz0iU3ViTWVudSI+PD9waHAga2ZhcHBfU3ViTWVudSgpPz48L2Rpdj4KCTxkaXYgaWQ9ImRpdk1haW4yIj4KICAgICAgICA8Zm9ybSBhY3Rpb249Ii4uLy4uLy4uLy4uLy4uL3piX3N5c3RlbS9jbWQucGhwP2FjdD1rZmFwcC1zYXZlY29uZmlnJmNzcmZUb2tlbj08P3BocCBlY2hvICR6YnAtPkdldENTUkZUb2tlbigpID8+IiBtZXRob2Q9InBvc3QiPgogICAgICAgICAgICA8dGFibGUgc3R5bGU9IndpZHRoOjEwMCUiPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMjQwIj7lj4LmlbA8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aD7lgLw8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aD7or7TmmI48L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+5ZCv5Yqo5bqU55So6Ieq5Yqo5re75YqgSVDmjojmnYM8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iaW5zdGFsbF9hcHBfYWRkX2F1dGgiIGNsYXNzPSJjaGVja2JveCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGtmYXBwLT5jb25maWctPmluc3RhbGxfYXBwX2FkZF9hdXRoID8+Ij48L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD7oh6rliqjlkJHlj6/po47nvZHlkI7lj7Dor7fmsYLmt7vliqBJUOaOiOadg++8jOWmguaenElQ5o6I5p2D5pWw6YeP5LiN6Laz77yM5Lya6Ieq5Yqo56aB55So5pyA5pep5re75Yqg55qESVA8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+5bCG5pys5Zyw5o+S5Lu25YiX6KGo6Ieq54S25o6S5bqPPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InJ1bm5pbmdfYXBwX25hdHNvcnQiIGNsYXNzPSJjaGVja2JveCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGtmYXBwLT5jb25maWctPnJ1bm5pbmdfYXBwX25hdHNvcnQgPz4iPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPuW8gOWQr+WQju+8jOW3suW8gOWQr+eahOaPkuS7tuS4jeS8muWFqOmDqOmdoOWJjeaYvuekujwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZD7mnKzlnLDlupTnlKjliJfooajmmL7npLrlhbbku5bkvZzogIU8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibG9jYWxfYXBwc19zaG93X290aGVycyIgY2xhc3M9ImNoZWNrYm94IiB2YWx1ZT0iPD9waHAgZWNobyAka2ZhcHAtPmNvbmZpZy0+bG9jYWxfYXBwc19zaG93X290aGVycyA/PiI+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkPumakOiXj+W3puS+p+KAnOWPr+mjjuW6lOeUqOKAneWFpeWPozwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJoaWRlX2xlZnRfbmF2X2VudHJ5IiBjbGFzcz0iY2hlY2tib3giIHZhbHVlPSI8P3BocCBlY2hvICRrZmFwcC0+Y29uZmlnLT5oaWRlX2xlZnRfbmF2X2VudHJ5ID8+Ij48L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD7pmpDol4/lkI7vvIzlj6/lnKjigJzmj5Lku7bnrqHnkIbigJ3pobXpnaLov5vlhaU8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+5Y2H57qn5bqU55So6Ieq5Yqo5aSH5Lu9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVwZ3JhZGVfYmFja3VwIiBjbGFzcz0iY2hlY2tib3giIHZhbHVlPSI8P3BocCBlY2hvICRrZmFwcC0+Y29uZmlnLT51cGdyYWRlX2JhY2t1cCB8fCAka2ZhcHAtPmNvbmZpZy0+dXBncmFkZV9iYWNrdXAgPT09IG51bGwgPyAxIDogJycgPz4iPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPuWNh+e6p+W6lOeUqOWJjeiHquWKqOWkh+S7veacrOWcsOW6lOeUqO+8jOWPr+S7peaMiemcgOWbnumAgOeJiOacrO+8iOS7heWkh+S7veaWh+S7tu+8jOaVsOaNruW6k+mcgOimgeiHquihjOWkh+S7ve+8iTxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgc3R5bGU9ImNvbG9yOmJsdWUiIGtmLWV2ZW50PSJiYWNrdXBMaXN0Ij7mn6XnnIvlpIfku73mlofku7Y8L2E+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgIDxwPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSLkv53lrZgiIG9uY2xpY2s9InRoaXMudmFsdWU9J+S/neWtmOS4rS4uLiciPjwvcD4KICAgICAgICA8L2Zvcm0+Cgk8L2Rpdj4KPC9kaXY+Cjw/cGhwIHJlcXVpcmUgJy4uL2Zvb3Rlci5waHAnPz4=</stream></file>
<file><path>kfapp/page/updates.php</path><stream>PD9waHAKcmVxdWlyZSAnLi4vaGVhZGVyLnBocCc7Cgp0cnkgewogICAgJGFwcCA9IG5ldyBrZnV1XHBsdWdpblxrZmFwcFxhcHA7CiAgICAkcmVzdWx0ID0gJGFwcC0+Y2hlY2tVcGRhdGVzKCk7CiAgICAvLyAkYXBwbm8gPSBhcnJheV9jb2x1bW4oJHJlc3VsdFsnZGF0YSddLCAnYXBwbm8nKTsKICAgIC8vIGZvcmVhY2goJGFwcC0+Z2V0WmJsb2dBcHBzVXBkYXRlcygpIGFzICR2YWx1ZSl7CiAgICAvLyAgICAgaWYgKGluX2FycmF5KCR2YWx1ZVsnYXBwbm8nXSwgJGFwcG5vKSl7CiAgICAvLyAgICAgICAgIGNvbnRpbnVlOwogICAgLy8gICAgIH0KCiAgICAvLyAgICAgJHJlc3VsdFsnZGF0YSddW10gPSBhcnJheSgKICAgIC8vICAgICAgICAgJ2lkJyA9PiAnJywKICAgIC8vICAgICAgICAgJ3R5cGUnICA9PiAnJywKICAgIC8vICAgICAgICAgJ2FwcG5vJyA9PiAkdmFsdWVbJ2FwcG5vJ10sCiAgICAvLyAgICAgICAgICdsb2dvJyAgPT4gJHZhbHVlWydsb2dvJ10sCiAgICAvLyAgICAgICAgICduYW1lJyAgPT4gJHZhbHVlWyduYW1lJ10sCiAgICAvLyAgICAgICAgICdmcm9tJyAgPT4gJ3pibG9nJywKICAgIC8vICAgICAgICAgJ3VybCcgICA9PiAnJywKICAgIC8vICAgICApOwogICAgLy8gfQp9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICR6YnAtPlNob3dIaW50KCdiYWQnLCAkZS0+Z2V0TWVzc2FnZSgpKTsKfQoKZWNobyAnPHNjcmlwdD5jb25zdCB1cGRhdGVJbmZvID0gJy5qc29uX2VuY29kZSgkcmVzdWx0WydkYXRhJ10pLic8L3NjcmlwdD4nOwo/Pgo8ZGl2IGlkPSJkaXZNYWluIj4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InVwZ3JhZGVfYmFja3VwIiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5jb25maWctPnVwZ3JhZGVfYmFja3VwIHx8ICRhcHAtPmNvbmZpZy0+dXBncmFkZV9iYWNrdXAgPT09IG51bGwgPyAxIDogJycgPz4iPgoJPGRpdiBjbGFzcz0iZGl2SGVhZGVyIj48P3BocCBlY2hvICRibG9ndGl0bGU7Pz48L2Rpdj4KCTxkaXYgY2xhc3M9IlN1Yk1lbnUiPjw/cGhwIGtmYXBwX1N1Yk1lbnUoKT8+PC9kaXY+Cgk8ZGl2IGlkPSJkaXZNYWluMiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2F0ZSBjYXRlLWFwcCI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYWN0aXZlIiBkYXRhLXR5cGU9IiI+5YWo6YOoPC9hPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIiBkYXRhLXR5cGU9InBsdWdpbiI+5o+S5Lu2PC9hPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIiBkYXRhLXR5cGU9InRoZW1lIj7kuLvpopg8L2E+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImFwcC1saXN0IGl0ZW1zIiBkYXRhLXNob3c9IiI+CiAgICAgICAgICAgIDw/cGhwCgogICAgICAgICAgICBmb3JlYWNoICgkcmVzdWx0WydkYXRhJ10gPz8gW10gYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9Iml0ZW0gdHlwZS0nLiR2YWx1ZVsndHlwZSddLiciIGRhdGEtaWQ9IicuJHZhbHVlWydpZCddLiciIGRhdGEtdHlwZT0iJy4kdmFsdWVbJ3R5cGUnXS4nIiBkYXRhLWZyb209IicuJHZhbHVlWydmcm9tJ10uJyIgZGF0YS1hcHBubz0iJy4oJHZhbHVlWydhcHBubyddPz8nJykuJyI+JzsKCiAgICAgICAgICAgICAgICBpZiAoJHZhbHVlWyd0eXBlJ10gPT0gJ3BsdWdpbicpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9InR5cGUiPjxpIGNsYXNzPSJpY29uLXBsdWciIHRpdGxlPSLmj5Lku7YiPjwvaT48L2Rpdj4nOwogICAgICAgICAgICAgICAgfWVsc2VpZiAoJHZhbHVlWyd0eXBlJ10gPT0gJ3RoZW1lJyl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0idHlwZSI+PGkgY2xhc3M9Imljb24tZ3JpZC0xeDItZmlsbCIgdGl0bGU9IuS4u+mimCI+PC9pPjwvZGl2Pic7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0idGh1bWIiPjxhIGhyZWY9IicuJHZhbHVlWyd1cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9IicuJHZhbHVlWydsb2dvJ10uJyI+PC9hPjwvZGl2Pic7CiAgICAgICAgICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJuYW1lIiB0aXRsZT0iJy4kdmFsdWVbJ25hbWUnXS4nIj4nLiR2YWx1ZVsnbmFtZSddLic8L2Rpdj4nOwogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCR2YWx1ZVsndmVyc2lvbiddKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0idmVyIiB0aXRsZT0i5pyA5paw54mI5pys5Y+3Ij52Jy4kdmFsdWVbJ2xvY2FsVmVyc2lvbiddLicgPT4gJy4kdmFsdWVbJ3ZlcnNpb24nXS4nPC9kaXY+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9InZlciI+5pyq55+l54mI5pys5Y+3PC9kaXY+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVjaG8gJzxkaXY+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJrZmFwcC1hcHAtYnRuIiBrZi1ldmVudD0idXBkYXRlIj7mm7TmlrA8L2J1dHRvbj48L2Rpdj4nOwogICAgICAgICAgICAgICAgZWNobyAnPC9kaXY+CiAgICAgICAgICAgICAgICAnOwogICAgICAgICAgICB9CiAgICAgICAgICAgID8+CiAgICAgICAgPC9kaXY+CgoJPC9kaXY+CjwvZGl2Pgo8P3BocCByZXF1aXJlICcuLi9mb290ZXIucGhwJz8+</stream></file>
<file><path>kfapp/plugin.xml</path><stream>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxwbHVnaW4gdmVyc2lvbj0icGhwIj4NCjxpZD5rZmFwcDwvaWQ+DQo8bmFtZT7lj6/po47lupTnlKjlrqLmiLfnq688L25hbWU+DQo8dXJsPmh0dHBzOi8va2Z1dS5jbjwvdXJsPg0KPG5vdGU+5Y+v6aOO5bqU55So566h55CGPC9ub3RlPg0KPGRlc2NyaXB0aW9uPjwvZGVzY3JpcHRpb24+DQo8cGF0aD5wYWdlL3NldHVwLnBocDwvcGF0aD4NCjxpbmNsdWRlPmluY2x1ZGUucGhwPC9pbmNsdWRlPg0KPGxldmVsPjE8L2xldmVsPg0KPGF1dGhvcj4NCiAgPG5hbWU+5Y+v6aOO572RPC9uYW1lPg0KICA8ZW1haWw+NTkwMDUwMjJAcXEuY29tPC9lbWFpbD4NCiAgPHVybD5odHRwczovL2tmdXUuY248L3VybD4NCjwvYXV0aG9yPg0KPHNvdXJjZT4NCiAgPG5hbWU+PC9uYW1lPg0KICA8ZW1haWw+PC9lbWFpbD4NCiAgPHVybD48L3VybD4NCjwvc291cmNlPg0KPGFkYXB0ZWQ+MTYyMjEwPC9hZGFwdGVkPg0KPHZlcnNpb24+MS4wLjY8L3ZlcnNpb24+DQo8cHViZGF0ZT4yMDIzLTAzLTEyPC9wdWJkYXRlPg0KPG1vZGlmaWVkPjIwMjMtMTEtMzA8L21vZGlmaWVkPg0KPHByaWNlPjA8L3ByaWNlPg0KPHBocHZlcj41LjM8L3BocHZlcj4NCjxhZHZhbmNlZD4NCiAgPGRlcGVuZGVuY3k+PC9kZXBlbmRlbmN5Pg0KICA8cmV3cml0ZWZ1bmN0aW9ucz48L3Jld3JpdGVmdW5jdGlvbnM+DQogIDxleGlzdHNmdW5jdGlvbnM+PC9leGlzdHNmdW5jdGlvbnM+DQogIDxjb25mbGljdD48L2NvbmZsaWN0Pg0KPC9hZHZhbmNlZD4NCjxzaWRlYmFycz4NCiAgPHNpZGViYXIxPjwvc2lkZWJhcjE+DQogIDxzaWRlYmFyMj48L3NpZGViYXIyPg0KICA8c2lkZWJhcjM+PC9zaWRlYmFyMz4NCiAgPHNpZGViYXI0Pjwvc2lkZWJhcjQ+DQogIDxzaWRlYmFyNT48L3NpZGViYXI1Pg0KICA8c2lkZWJhcjY+PC9zaWRlYmFyNj4NCiAgPHNpZGViYXI3Pjwvc2lkZWJhcjc+DQogIDxzaWRlYmFyOD48L3NpZGViYXI4Pg0KICA8c2lkZWJhcjk+PC9zaWRlYmFyOT4NCjwvc2lkZWJhcnM+DQo8L3BsdWdpbj4=</stream></file>
<file><path>kfapp/static/empty.svg</path><stream>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDgwMCA4MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDgwMCA4MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCNTVkdJRF8yXyk7fQoJLnN0MntmaWxsOnVybCgjU1ZHSURfM18pO30KCS5zdDN7ZmlsbDp1cmwoI1NWR0lEXzRfKTt9Cgkuc3Q0e2ZpbGw6dXJsKCNTVkdJRF81Xyk7fQoJLnN0NXtmaWxsOnVybCgjU1ZHSURfNl8pO30KCS5zdDZ7ZmlsbDp1cmwoI1NWR0lEXzdfKTt9Cgkuc3Q3e2ZpbGw6dXJsKCNTVkdJRF84Xyk7fQoJLnN0OHtmaWxsOnVybCgjU1ZHSURfOV8pO30KCS5zdDl7ZmlsbDp1cmwoI1NWR0lEXzEwXyk7fQoJLnN0MTB7ZmlsbDp1cmwoI1NWR0lEXzExXyk7fQoJLnN0MTF7ZmlsbDp1cmwoI1NWR0lEXzEyXyk7fQoJLnN0MTJ7ZmlsbDp1cmwoI1NWR0lEXzEzXyk7fQoJLnN0MTN7ZmlsbDp1cmwoI1NWR0lEXzE0Xyk7fQoJLnN0MTR7ZmlsbDp1cmwoI1NWR0lEXzE1Xyk7fQoJLnN0MTV7ZmlsbDp1cmwoI1NWR0lEXzE2Xyk7fQoJLnN0MTZ7ZmlsbDp1cmwoI1NWR0lEXzE3Xyk7fQoJLnN0MTd7ZmlsbDp1cmwoI1NWR0lEXzE4Xyk7fQoJLnN0MTh7ZmlsbDp1cmwoI1NWR0lEXzE5Xyk7fQoJLnN0MTl7ZmlsbDp1cmwoI1NWR0lEXzIwXyk7fQoJLnN0MjB7ZmlsbDp1cmwoI1NWR0lEXzIxXyk7fQoJLnN0MjF7ZmlsbDp1cmwoI1NWR0lEXzIyXyk7fQoJLnN0MjJ7ZmlsbDp1cmwoI1NWR0lEXzIzXyk7fQoJLnN0MjN7ZmlsbDp1cmwoI1NWR0lEXzI0Xyk7fQoJLnN0MjR7ZmlsbDp1cmwoI1NWR0lEXzI1Xyk7fQoJLnN0MjV7ZmlsbDp1cmwoI1NWR0lEXzI2Xyk7fQoJLnN0MjZ7ZmlsbDp1cmwoI1NWR0lEXzI3Xyk7fQoJLnN0Mjd7ZmlsbDp1cmwoI1NWR0lEXzI4Xyk7fQoJLnN0Mjh7ZmlsbDp1cmwoI1NWR0lEXzI5Xyk7fQoJLnN0Mjl7ZmlsbDp1cmwoI1NWR0lEXzMwXyk7fQoJLnN0MzB7ZmlsbDp1cmwoI1NWR0lEXzMxXyk7fQoJLnN0MzF7ZmlsbDp1cmwoI1NWR0lEXzMyXyk7fQoJLnN0MzJ7ZmlsbDp1cmwoI1NWR0lEXzMzXyk7fQoJLnN0MzN7ZmlsbDp1cmwoI1NWR0lEXzM0Xyk7fQoJLnN0MzR7ZmlsbDp1cmwoI1NWR0lEXzM1Xyk7fQoJLnN0MzV7ZmlsbDp1cmwoI1NWR0lEXzM2Xyk7fQoJLnN0MzZ7ZmlsbDp1cmwoI1NWR0lEXzM3Xyk7fQoJLnN0Mzd7ZmlsbDp1cmwoI1NWR0lEXzM4Xyk7fQoJLnN0Mzh7ZmlsbDp1cmwoI1NWR0lEXzM5Xyk7fQoJLnN0Mzl7ZmlsbDp1cmwoI1NWR0lEXzQwXyk7fQoJLnN0NDB7ZmlsbDp1cmwoI1NWR0lEXzQxXyk7fQoJLnN0NDF7ZmlsbDp1cmwoI1NWR0lEXzQyXyk7fQoJLnN0NDJ7ZmlsbDp1cmwoI1NWR0lEXzQzXyk7fQoJLnN0NDN7ZmlsbDp1cmwoI1NWR0lEXzQ0Xyk7fQoJLnN0NDR7ZmlsbDp1cmwoI1NWR0lEXzQ1Xyk7fQoJLnN0NDV7ZmlsbDp1cmwoI1NWR0lEXzQ2Xyk7fQoJLnN0NDZ7ZmlsbDp1cmwoI1NWR0lEXzQ3Xyk7fQoJLnN0NDd7ZmlsbDp1cmwoI1NWR0lEXzQ4Xyk7fQoJLnN0NDh7ZmlsbDp1cmwoI1NWR0lEXzQ5Xyk7fQoJLnN0NDl7ZmlsbDp1cmwoI1NWR0lEXzUwXyk7fQoJLnN0NTB7ZmlsbDp1cmwoI1NWR0lEXzUxXyk7fQoJLnN0NTF7ZmlsbDp1cmwoI1NWR0lEXzUyXyk7fQoJLnN0NTJ7ZmlsbDp1cmwoI1NWR0lEXzUzXyk7fQoJLnN0NTN7ZmlsbDp1cmwoI1NWR0lEXzU0Xyk7fQoJLnN0NTR7ZmlsbDp1cmwoI1NWR0lEXzU1Xyk7fQoJLnN0NTV7ZmlsbDp1cmwoI1NWR0lEXzU2Xyk7fQoJLnN0NTZ7ZmlsbDp1cmwoI1NWR0lEXzU3Xyk7fQoJLnN0NTd7ZmlsbDp1cmwoI1NWR0lEXzU4Xyk7fQoJLnN0NTh7ZmlsbDp1cmwoI1NWR0lEXzU5Xyk7fQoJLnN0NTl7ZmlsbDp1cmwoI1NWR0lEXzYwXyk7fQoJLnN0NjB7ZmlsbDp1cmwoI1NWR0lEXzYxXyk7fQoJLnN0NjF7ZmlsbDp1cmwoI1NWR0lEXzYyXyk7fQoJLnN0NjJ7ZmlsbDp1cmwoI1NWR0lEXzYzXyk7fQoJLnN0NjN7ZmlsbDp1cmwoI1NWR0lEXzY0Xyk7fQoJLnN0NjR7ZmlsbDojRkZGRkZGO30KCS5zdDY1e2ZpbGw6dXJsKCNTVkdJRF82NV8pO30KCS5zdDY2e2ZpbGw6dXJsKCNTVkdJRF82Nl8pO30KCS5zdDY3e2ZpbGw6dXJsKCNTVkdJRF82N18pO30KCS5zdDY4e2ZpbGw6dXJsKCNTVkdJRF82OF8pO30KCS5zdDY5e2ZpbGw6dXJsKCNTVkdJRF82OV8pO30KCS5zdDcwe2ZpbGw6dXJsKCNTVkdJRF83MF8pO30KCS5zdDcxe2ZpbGw6dXJsKCNTVkdJRF83MV8pO30KCS5zdDcye2ZpbGw6dXJsKCNTVkdJRF83Ml8pO30KCS5zdDcze2ZpbGw6dXJsKCNTVkdJRF83M18pO30KCS5zdDc0e2ZpbGw6dXJsKCNTVkdJRF83NF8pO30KCS5zdDc1e2ZpbGw6dXJsKCNTVkdJRF83NV8pO30KCS5zdDc2e2ZpbGw6dXJsKCNTVkdJRF83Nl8pO30KCS5zdDc3e2ZpbGw6dXJsKCNTVkdJRF83N18pO30KCS5zdDc4e2ZpbGw6dXJsKCNTVkdJRF83OF8pO30KCS5zdDc5e2ZpbGw6dXJsKCNTVkdJRF83OV8pO30KCS5zdDgwe2ZpbGw6dXJsKCNTVkdJRF84MF8pO30KCS5zdDgxe2ZpbGw6dXJsKCNTVkdJRF84MV8pO30KCS5zdDgye2ZpbGw6dXJsKCNTVkdJRF84Ml8pO30KCS5zdDgze2ZpbGw6dXJsKCNTVkdJRF84M18pO30KCS5zdDg0e2ZpbGw6dXJsKCNTVkdJRF84NF8pO30KCS5zdDg1e2ZpbGw6dXJsKCNTVkdJRF84NV8pO30KCS5zdDg2e2ZpbGw6dXJsKCNTVkdJRF84Nl8pO30KCS5zdDg3e2ZpbGw6dXJsKCNTVkdJRF84N18pO30KCS5zdDg4e2ZpbGw6dXJsKCNTVkdJRF84OF8pO30KCS5zdDg5e2ZpbGw6dXJsKCNTVkdJRF84OV8pO30KCS5zdDkwe2ZpbGw6dXJsKCNTVkdJRF85MF8pO30KCS5zdDkxe2ZpbGw6dXJsKCNTVkdJRF85MV8pO30KCS5zdDkye2ZpbGw6dXJsKCNTVkdJRF85Ml8pO30KCS5zdDkze2ZpbGw6dXJsKCNTVkdJRF85M18pO30KCS5zdDk0e2ZpbGw6dXJsKCNTVkdJRF85NF8pO30KCS5zdDk1e2ZpbGw6dXJsKCNTVkdJRF85NV8pO30KCS5zdDk2e2ZpbGw6dXJsKCNTVkdJRF85Nl8pO30KCS5zdDk3e2ZpbGw6dXJsKCNTVkdJRF85N18pO30KCS5zdDk4e2ZpbGw6dXJsKCNTVkdJRF85OF8pO30KCS5zdDk5e2ZpbGw6dXJsKCNTVkdJRF85OV8pO30KCS5zdDEwMHtmaWxsOnVybCgjU1ZHSURfMTAwXyk7fQoJLnN0MTAxe2ZpbGw6dXJsKCNTVkdJRF8xMDFfKTt9Cgkuc3QxMDJ7ZmlsbDp1cmwoI1NWR0lEXzEwMl8pO30KCS5zdDEwM3tmaWxsOnVybCgjU1ZHSURfMTAzXyk7fQoJLnN0MTA0e2ZpbGw6dXJsKCNTVkdJRF8xMDRfKTt9Cgkuc3QxMDV7ZmlsbDp1cmwoI1NWR0lEXzEwNV8pO30KCS5zdDEwNntmaWxsOnVybCgjU1ZHSURfMTA2Xyk7fQoJLnN0MTA3e2ZpbGw6dXJsKCNTVkdJRF8xMDdfKTt9Cgkuc3QxMDh7ZmlsbDp1cmwoI1NWR0lEXzEwOF8pO30KCS5zdDEwOXtmaWxsOnVybCgjU1ZHSURfMTA5Xyk7fQoJLnN0MTEwe2ZpbGw6dXJsKCNTVkdJRF8xMTBfKTt9Cgkuc3QxMTF7ZmlsbDp1cmwoI1NWR0lEXzExMV8pO30KCS5zdDExMntmaWxsOnVybCgjU1ZHSURfMTEyXyk7fQoJLnN0MTEze2ZpbGw6dXJsKCNTVkdJRF8xMTNfKTt9Cgkuc3QxMTR7ZmlsbDp1cmwoI1NWR0lEXzExNF8pO30KCS5zdDExNXtmaWxsOnVybCgjU1ZHSURfMTE1Xyk7fQoJLnN0MTE2e2ZpbGw6dXJsKCNTVkdJRF8xMTZfKTt9Cgkuc3QxMTd7ZmlsbDp1cmwoI1NWR0lEXzExN18pO30KCS5zdDExOHtmaWxsOnVybCgjU1ZHSURfMTE4Xyk7fQoJLnN0MTE5e2ZpbGw6dXJsKCNTVkdJRF8xMTlfKTt9Cgkuc3QxMjB7ZmlsbDp1cmwoI1NWR0lEXzEyMF8pO30KCS5zdDEyMXtmaWxsOnVybCgjU1ZHSURfMTIxXyk7fQoJLnN0MTIye2ZpbGw6dXJsKCNTVkdJRF8xMjJfKTt9Cgkuc3QxMjN7ZmlsbDp1cmwoI1NWR0lEXzEyM18pO30KCS5zdDEyNHtmaWxsOnVybCgjU1ZHSURfMTI0Xyk7fQoJLnN0MTI1e2ZpbGw6dXJsKCNTVkdJRF8xMjVfKTt9Cgkuc3QxMjZ7ZmlsbDp1cmwoI1NWR0lEXzEyNl8pO30KCS5zdDEyN3tmaWxsOnVybCgjU1ZHSURfMTI3Xyk7fQoJLnN0MTI4e2ZpbGw6dXJsKCNTVkdJRF8xMjhfKTt9Cgkuc3QxMjl7ZmlsbDp1cmwoI1NWR0lEXzEyOV8pO30KCS5zdDEzMHtmaWxsOnVybCgjU1ZHSURfMTMwXyk7fQoJLnN0MTMxe2ZpbGw6dXJsKCNTVkdJRF8xMzFfKTt9Cgkuc3QxMzJ7ZmlsbDp1cmwoI1NWR0lEXzEzMl8pO30KCS5zdDEzM3tmaWxsOnVybCgjU1ZHSURfMTMzXyk7fQoJLnN0MTM0e2ZpbGw6dXJsKCNTVkdJRF8xMzRfKTt9Cgkuc3QxMzV7ZmlsbDp1cmwoI1NWR0lEXzEzNV8pO30KCS5zdDEzNntmaWxsOnVybCgjU1ZHSURfMTM2Xyk7fQoJLnN0MTM3e2ZpbGw6dXJsKCNTVkdJRF8xMzdfKTt9Cgkuc3QxMzh7ZmlsbDp1cmwoI1NWR0lEXzEzOF8pO30KCS5zdDEzOXtmaWxsOnVybCgjU1ZHSURfMTM5Xyk7fQoJLnN0MTQwe2ZpbGw6dXJsKCNTVkdJRF8xNDBfKTt9Cgkuc3QxNDF7ZmlsbDp1cmwoI1NWR0lEXzE0MV8pO30KCS5zdDE0MntmaWxsOnVybCgjU1ZHSURfMTQyXyk7fQoJLnN0MTQze2ZpbGw6dXJsKCNTVkdJRF8xNDNfKTt9Cgkuc3QxNDR7ZmlsbDp1cmwoI1NWR0lEXzE0NF8pO30KCS5zdDE0NXtmaWxsOnVybCgjU1ZHSURfMTQ1Xyk7fQoJLnN0MTQ2e2ZpbGw6dXJsKCNTVkdJRF8xNDZfKTt9Cgkuc3QxNDd7ZmlsbDp1cmwoI1NWR0lEXzE0N18pO30KCS5zdDE0OHtmaWxsOnVybCgjU1ZHSURfMTQ4Xyk7fQoJLnN0MTQ5e2ZpbGw6dXJsKCNTVkdJRF8xNDlfKTt9Cgkuc3QxNTB7ZmlsbDp1cmwoI1NWR0lEXzE1MF8pO30KCS5zdDE1MXtmaWxsOnVybCgjU1ZHSURfMTUxXyk7fQoJLnN0MTUye2ZpbGw6dXJsKCNTVkdJRF8xNTJfKTt9Cgkuc3QxNTN7ZmlsbDp1cmwoI1NWR0lEXzE1M18pO30KCS5zdDE1NHtmaWxsOnVybCgjU1ZHSURfMTU0Xyk7fQoJLnN0MTU1e2ZpbGw6dXJsKCNTVkdJRF8xNTVfKTt9Cgkuc3QxNTZ7ZmlsbDp1cmwoI1NWR0lEXzE1Nl8pO30KCS5zdDE1N3tmaWxsOnVybCgjU1ZHSURfMTU3Xyk7fQoJLnN0MTU4e2ZpbGw6dXJsKCNTVkdJRF8xNThfKTt9Cgkuc3QxNTl7ZmlsbDp1cmwoI1NWR0lEXzE1OV8pO30KCS5zdDE2MHtmaWxsOnVybCgjU1ZHSURfMTYwXyk7fQoJLnN0MTYxe2ZpbGw6dXJsKCNTVkdJRF8xNjFfKTt9Cgkuc3QxNjJ7ZmlsbDp1cmwoI1NWR0lEXzE2Ml8pO30KCS5zdDE2M3tmaWxsOnVybCgjU1ZHSURfMTYzXyk7fQoJLnN0MTY0e2ZpbGw6dXJsKCNTVkdJRF8xNjRfKTt9Cgkuc3QxNjV7ZmlsbDp1cmwoI1NWR0lEXzE2NV8pO30KCS5zdDE2NntmaWxsOnVybCgjU1ZHSURfMTY2Xyk7fQoJLnN0MTY3e2ZpbGw6dXJsKCNTVkdJRF8xNjdfKTt9Cgkuc3QxNjh7ZmlsbDp1cmwoI1NWR0lEXzE2OF8pO30KCS5zdDE2OXtmaWxsOnVybCgjU1ZHSURfMTY5Xyk7fQoJLnN0MTcwe2ZpbGw6dXJsKCNTVkdJRF8xNzBfKTt9Cgkuc3QxNzF7ZmlsbDp1cmwoI1NWR0lEXzE3MV8pO30KCS5zdDE3MntmaWxsOnVybCgjU1ZHSURfMTcyXyk7fQoJLnN0MTcze2ZpbGw6dXJsKCNTVkdJRF8xNzNfKTt9Cgkuc3QxNzR7ZmlsbDp1cmwoI1NWR0lEXzE3NF8pO30KCS5zdDE3NXtmaWxsOnVybCgjU1ZHSURfMTc1Xyk7fQoJLnN0MTc2e2ZpbGw6dXJsKCNTVkdJRF8xNzZfKTt9Cgkuc3QxNzd7ZmlsbDp1cmwoI1NWR0lEXzE3N18pO30KCS5zdDE3OHtmaWxsOnVybCgjU1ZHSURfMTc4Xyk7fQoJLnN0MTc5e2ZpbGw6dXJsKCNTVkdJRF8xNzlfKTt9Cgkuc3QxODB7ZmlsbDp1cmwoI1NWR0lEXzE4MF8pO30KCS5zdDE4MXtmaWxsOnVybCgjU1ZHSURfMTgxXyk7fQoJLnN0MTgye2ZpbGw6dXJsKCNTVkdJRF8xODJfKTt9Cgkuc3QxODN7ZmlsbDp1cmwoI1NWR0lEXzE4M18pO30KCS5zdDE4NHtmaWxsOnVybCgjU1ZHSURfMTg0Xyk7fQoJLnN0MTg1e2ZpbGw6dXJsKCNTVkdJRF8xODVfKTt9Cgkuc3QxODZ7ZmlsbDp1cmwoI1NWR0lEXzE4Nl8pO30KCS5zdDE4N3tmaWxsOnVybCgjU1ZHSURfMTg3Xyk7fQoJLnN0MTg4e2ZpbGw6dXJsKCNTVkdJRF8xODhfKTt9Cgkuc3QxODl7ZmlsbDp1cmwoI1NWR0lEXzE4OV8pO30KCS5zdDE5MHtmaWxsOnVybCgjU1ZHSURfMTkwXyk7fQoJLnN0MTkxe2ZpbGw6dXJsKCNTVkdJRF8xOTFfKTt9Cgkuc3QxOTJ7ZmlsbDp1cmwoI1NWR0lEXzE5Ml8pO30KCS5zdDE5M3tmaWxsOnVybCgjU1ZHSURfMTkzXyk7fQoJLnN0MTk0e2ZpbGw6dXJsKCNTVkdJRF8xOTRfKTt9Cgkuc3QxOTV7ZmlsbDp1cmwoI1NWR0lEXzE5NV8pO30KCS5zdDE5NntmaWxsOnVybCgjU1ZHSURfMTk2Xyk7fQoJLnN0MTk3e2ZpbGw6dXJsKCNTVkdJRF8xOTdfKTt9Cgkuc3QxOTh7ZmlsbDp1cmwoI1NWR0lEXzE5OF8pO30KCS5zdDE5OXtmaWxsOnVybCgjU1ZHSURfMTk5Xyk7fQoJLnN0MjAwe2ZpbGw6dXJsKCNTVkdJRF8yMDBfKTt9Cgkuc3QyMDF7ZmlsbDp1cmwoI1NWR0lEXzIwMV8pO30KCS5zdDIwMntmaWxsOnVybCgjU1ZHSURfMjAyXyk7fQoJLnN0MjAze2ZpbGw6dXJsKCNTVkdJRF8yMDNfKTt9Cgkuc3QyMDR7ZmlsbDp1cmwoI1NWR0lEXzIwNF8pO30KCS5zdDIwNXtmaWxsOnVybCgjU1ZHSURfMjA1Xyk7fQoJLnN0MjA2e2ZpbGw6dXJsKCNTVkdJRF8yMDZfKTt9Cgkuc3QyMDd7ZmlsbDp1cmwoI1NWR0lEXzIwN18pO30KCS5zdDIwOHtmaWxsOnVybCgjU1ZHSURfMjA4Xyk7fQoJLnN0MjA5e2ZpbGw6dXJsKCNTVkdJRF8yMDlfKTt9Cgkuc3QyMTB7ZmlsbDp1cmwoI1NWR0lEXzIxMF8pO30KCS5zdDIxMXtmaWxsOnVybCgjU1ZHSURfMjExXyk7fQoJLnN0MjEye2ZpbGw6dXJsKCNTVkdJRF8yMTJfKTt9Cgkuc3QyMTN7ZmlsbDp1cmwoI1NWR0lEXzIxM18pO30KCS5zdDIxNHtmaWxsOnVybCgjU1ZHSURfMjE0Xyk7fQoJLnN0MjE1e2ZpbGw6dXJsKCNTVkdJRF8yMTVfKTt9Cgkuc3QyMTZ7ZmlsbDp1cmwoI1NWR0lEXzIxNl8pO30KCS5zdDIxN3tmaWxsOnVybCgjU1ZHSURfMjE3Xyk7fQoJLnN0MjE4e2ZpbGw6dXJsKCNTVkdJRF8yMThfKTt9Cgkuc3QyMTl7ZmlsbDp1cmwoI1NWR0lEXzIxOV8pO30KCS5zdDIyMHtmaWxsOnVybCgjU1ZHSURfMjIwXyk7fQoJLnN0MjIxe2ZpbGw6dXJsKCNTVkdJRF8yMjFfKTt9Cgkuc3QyMjJ7ZmlsbDp1cmwoI1NWR0lEXzIyMl8pO30KCS5zdDIyM3tmaWxsOnVybCgjU1ZHSURfMjIzXyk7fQoJLnN0MjI0e2ZpbGw6dXJsKCNTVkdJRF8yMjRfKTt9Cgkuc3QyMjV7ZmlsbDp1cmwoI1NWR0lEXzIyNV8pO30KCS5zdDIyNntmaWxsOnVybCgjU1ZHSURfMjI2Xyk7fQoJLnN0MjI3e2ZpbGw6dXJsKCNTVkdJRF8yMjdfKTt9Cgkuc3QyMjh7ZmlsbDp1cmwoI1NWR0lEXzIyOF8pO30KCS5zdDIyOXtmaWxsOnVybCgjU1ZHSURfMjI5Xyk7fQoJLnN0MjMwe2ZpbGw6dXJsKCNTVkdJRF8yMzBfKTt9Cgkuc3QyMzF7ZmlsbDp1cmwoI1NWR0lEXzIzMV8pO30KCS5zdDIzMntmaWxsOnVybCgjU1ZHSURfMjMyXyk7fQoJLnN0MjMze2ZpbGw6dXJsKCNTVkdJRF8yMzNfKTt9Cgkuc3QyMzR7ZmlsbDp1cmwoI1NWR0lEXzIzNF8pO30KCS5zdDIzNXtmaWxsOnVybCgjU1ZHSURfMjM1Xyk7fQoJLnN0MjM2e2ZpbGw6dXJsKCNTVkdJRF8yMzZfKTt9Cgkuc3QyMzd7ZmlsbDp1cmwoI1NWR0lEXzIzN18pO30KCS5zdDIzOHtmaWxsOnVybCgjU1ZHSURfMjM4Xyk7fQoJLnN0MjM5e2ZpbGw6dXJsKCNTVkdJRF8yMzlfKTt9Cgkuc3QyNDB7ZmlsbDp1cmwoI1NWR0lEXzI0MF8pO30KCS5zdDI0MXtmaWxsOnVybCgjU1ZHSURfMjQxXyk7fQoJLnN0MjQye2ZpbGw6dXJsKCNTVkdJRF8yNDJfKTt9Cgkuc3QyNDN7ZmlsbDp1cmwoI1NWR0lEXzI0M18pO30KCS5zdDI0NHtmaWxsOnVybCgjU1ZHSURfMjQ0Xyk7fQoJLnN0MjQ1e2ZpbGw6dXJsKCNTVkdJRF8yNDVfKTt9Cgkuc3QyNDZ7ZmlsbDp1cmwoI1NWR0lEXzI0Nl8pO30KCS5zdDI0N3tmaWxsOnVybCgjU1ZHSURfMjQ3Xyk7fQoJLnN0MjQ4e2ZpbGw6dXJsKCNTVkdJRF8yNDhfKTt9Cgkuc3QyNDl7ZmlsbDp1cmwoI1NWR0lEXzI0OV8pO30KCS5zdDI1MHtmaWxsOnVybCgjU1ZHSURfMjUwXyk7fQoJLnN0MjUxe2ZpbGw6dXJsKCNTVkdJRF8yNTFfKTt9Cgkuc3QyNTJ7ZmlsbDp1cmwoI1NWR0lEXzI1Ml8pO30KCS5zdDI1M3tmaWxsOnVybCgjU1ZHSURfMjUzXyk7fQoJLnN0MjU0e2ZpbGw6dXJsKCNTVkdJRF8yNTRfKTt9Cgkuc3QyNTV7ZmlsbDp1cmwoI1NWR0lEXzI1NV8pO30KCS5zdDI1NntmaWxsOnVybCgjU1ZHSURfMjU2Xyk7fQoJLnN0MjU3e2ZpbGw6dXJsKCNTVkdJRF8yNTdfKTt9Cgkuc3QyNTh7ZmlsbDp1cmwoI1NWR0lEXzI1OF8pO30KCS5zdDI1OXtmaWxsOnVybCgjU1ZHSURfMjU5Xyk7fQoJLnN0MjYwe2ZpbGw6dXJsKCNTVkdJRF8yNjBfKTt9Cgkuc3QyNjF7ZmlsbDp1cmwoI1NWR0lEXzI2MV8pO30KCS5zdDI2MntmaWxsOnVybCgjU1ZHSURfMjYyXyk7fQoJLnN0MjYze2ZpbGw6dXJsKCNTVkdJRF8yNjNfKTt9Cgkuc3QyNjR7ZmlsbDp1cmwoI1NWR0lEXzI2NF8pO30KCS5zdDI2NXtmaWxsOnVybCgjU1ZHSURfMjY1Xyk7fQoJLnN0MjY2e2ZpbGw6dXJsKCNTVkdJRF8yNjZfKTt9Cgkuc3QyNjd7ZmlsbDp1cmwoI1NWR0lEXzI2N18pO30KCS5zdDI2OHtmaWxsOnVybCgjU1ZHSURfMjY4Xyk7fQoJLnN0MjY5e2ZpbGw6dXJsKCNTVkdJRF8yNjlfKTt9Cgkuc3QyNzB7ZmlsbDp1cmwoI1NWR0lEXzI3MF8pO30KCS5zdDI3MXtmaWxsOnVybCgjU1ZHSURfMjcxXyk7fQoJLnN0Mjcye2ZpbGw6dXJsKCNTVkdJRF8yNzJfKTt9Cgkuc3QyNzN7ZmlsbDp1cmwoI1NWR0lEXzI3M18pO30KCS5zdDI3NHtmaWxsOnVybCgjU1ZHSURfMjc0Xyk7fQoJLnN0Mjc1e2ZpbGw6dXJsKCNTVkdJRF8yNzVfKTt9Cgkuc3QyNzZ7ZmlsbDp1cmwoI1NWR0lEXzI3Nl8pO30KCS5zdDI3N3tmaWxsOnVybCgjU1ZHSURfMjc3Xyk7fQoJLnN0Mjc4e2ZpbGw6dXJsKCNTVkdJRF8yNzhfKTt9Cgkuc3QyNzl7ZmlsbDp1cmwoI1NWR0lEXzI3OV8pO30KCS5zdDI4MHtmaWxsOnVybCgjU1ZHSURfMjgwXyk7fQoJLnN0Mjgxe2ZpbGw6dXJsKCNTVkdJRF8yODFfKTt9Cgkuc3QyODJ7ZmlsbDp1cmwoI1NWR0lEXzI4Ml8pO30KCS5zdDI4M3tmaWxsOnVybCgjU1ZHSURfMjgzXyk7fQoJLnN0Mjg0e2ZpbGw6dXJsKCNTVkdJRF8yODRfKTt9Cgkuc3QyODV7ZmlsbDp1cmwoI1NWR0lEXzI4NV8pO30KCS5zdDI4NntmaWxsOiNCQkNCREE7fQoJLnN0Mjg3e2ZpbGw6dXJsKCNTVkdJRF8yODZfKTt9Cgkuc3QyODh7ZmlsbDp1cmwoI1NWR0lEXzI4N18pO30KCS5zdDI4OXtmaWxsOnVybCgjU1ZHSURfMjg4Xyk7fQoJLnN0Mjkwe2ZpbGw6dXJsKCNTVkdJRF8yODlfKTt9Cgkuc3QyOTF7ZmlsbDp1cmwoI1NWR0lEXzI5MF8pO30KCS5zdDI5MntmaWxsOnVybCgjU1ZHSURfMjkxXyk7fQoJLnN0Mjkze2ZpbGw6dXJsKCNTVkdJRF8yOTJfKTt9Cgkuc3QyOTR7ZmlsbDp1cmwoI1NWR0lEXzI5M18pO30KCS5zdDI5NXtmaWxsOnVybCgjU1ZHSURfMjk0Xyk7fQoJLnN0Mjk2e2ZpbGw6dXJsKCNTVkdJRF8yOTVfKTt9Cgkuc3QyOTd7ZmlsbDp1cmwoI1NWR0lEXzI5Nl8pO30KCS5zdDI5OHtmaWxsOnVybCgjU1ZHSURfMjk3Xyk7fQoJLnN0Mjk5e2ZpbGw6dXJsKCNTVkdJRF8yOThfKTt9Cgkuc3QzMDB7ZmlsbDp1cmwoI1NWR0lEXzI5OV8pO30KCS5zdDMwMXtmaWxsOnVybCgjU1ZHSURfMzAwXyk7fQoJLnN0MzAye2ZpbGw6dXJsKCNTVkdJRF8zMDFfKTt9Cgkuc3QzMDN7ZmlsbDp1cmwoI1NWR0lEXzMwMl8pO30KCS5zdDMwNHtmaWxsOnVybCgjU1ZHSURfMzAzXyk7fQoJLnN0MzA1e2ZpbGw6dXJsKCNTVkdJRF8zMDRfKTt9Cgkuc3QzMDZ7ZmlsbDp1cmwoI1NWR0lEXzMwNV8pO30KCS5zdDMwN3tmaWxsOnVybCgjU1ZHSURfMzA2Xyk7fQoJLnN0MzA4e2ZpbGw6dXJsKCNTVkdJRF8zMDdfKTt9Cgkuc3QzMDl7ZmlsbDp1cmwoI1NWR0lEXzMwOF8pO30KCS5zdDMxMHtmaWxsOnVybCgjU1ZHSURfMzA5Xyk7fQoJLnN0MzExe2ZpbGw6dXJsKCNTVkdJRF8zMTBfKTt9Cgkuc3QzMTJ7ZmlsbDp1cmwoI1NWR0lEXzMxMV8pO30KCS5zdDMxM3tmaWxsOnVybCgjU1ZHSURfMzEyXyk7fQoJLnN0MzE0e2ZpbGw6dXJsKCNTVkdJRF8zMTNfKTt9Cgkuc3QzMTV7ZmlsbDp1cmwoI1NWR0lEXzMxNF8pO30KCS5zdDMxNntmaWxsOnVybCgjU1ZHSURfMzE1Xyk7fQoJLnN0MzE3e2ZpbGw6dXJsKCNTVkdJRF8zMTZfKTt9Cgkuc3QzMTh7ZmlsbDp1cmwoI1NWR0lEXzMxN18pO30KCS5zdDMxOXtmaWxsOnVybCgjU1ZHSURfMzE4Xyk7fQoJLnN0MzIwe2ZpbGw6dXJsKCNTVkdJRF8zMTlfKTt9Cgkuc3QzMjF7ZmlsbDp1cmwoI1NWR0lEXzMyMF8pO30KCS5zdDMyMntmaWxsOnVybCgjU1ZHSURfMzIxXyk7fQoJLnN0MzIze2ZpbGw6dXJsKCNTVkdJRF8zMjJfKTt9Cgkuc3QzMjR7ZmlsbDp1cmwoI1NWR0lEXzMyM18pO30KCS5zdDMyNXtmaWxsOnVybCgjU1ZHSURfMzI0Xyk7fQoJLnN0MzI2e2ZpbGw6dXJsKCNTVkdJRF8zMjVfKTt9Cgkuc3QzMjd7ZmlsbDp1cmwoI1NWR0lEXzMyNl8pO30KCS5zdDMyOHtmaWxsOnVybCgjU1ZHSURfMzI3Xyk7fQoJLnN0MzI5e2ZpbGw6dXJsKCNTVkdJRF8zMjhfKTt9Cgkuc3QzMzB7ZmlsbDp1cmwoI1NWR0lEXzMyOV8pO30KCS5zdDMzMXtmaWxsOnVybCgjU1ZHSURfMzMwXyk7fQoJLnN0MzMye2ZpbGw6dXJsKCNTVkdJRF8zMzFfKTt9Cgkuc3QzMzN7ZmlsbDp1cmwoI1NWR0lEXzMzMl8pO30KCS5zdDMzNHtmaWxsOnVybCgjU1ZHSURfMzMzXyk7fQoJLnN0MzM1e2ZpbGw6dXJsKCNTVkdJRF8zMzRfKTt9Cgkuc3QzMzZ7ZmlsbDp1cmwoI1NWR0lEXzMzNV8pO30KCS5zdDMzN3tmaWxsOnVybCgjU1ZHSURfMzM2Xyk7fQoJLnN0MzM4e2ZpbGw6dXJsKCNTVkdJRF8zMzdfKTt9Cgkuc3QzMzl7ZmlsbDp1cmwoI1NWR0lEXzMzOF8pO30KCS5zdDM0MHtmaWxsOnVybCgjU1ZHSURfMzM5Xyk7fQoJLnN0MzQxe2ZpbGw6dXJsKCNTVkdJRF8zNDBfKTt9Cgkuc3QzNDJ7ZmlsbDp1cmwoI1NWR0lEXzM0MV8pO30KCS5zdDM0M3tmaWxsOnVybCgjU1ZHSURfMzQyXyk7fQoJLnN0MzQ0e2ZpbGw6dXJsKCNTVkdJRF8zNDNfKTt9Cgkuc3QzNDV7ZmlsbDp1cmwoI1NWR0lEXzM0NF8pO30KCS5zdDM0NntmaWxsOnVybCgjU1ZHSURfMzQ1Xyk7fQoJLnN0MzQ3e2ZpbGw6dXJsKCNTVkdJRF8zNDZfKTt9Cgkuc3QzNDh7ZmlsbDp1cmwoI1NWR0lEXzM0N18pO30KCS5zdDM0OXtmaWxsOnVybCgjU1ZHSURfMzQ4Xyk7fQoJLnN0MzUwe2ZpbGw6dXJsKCNTVkdJRF8zNDlfKTt9Cgkuc3QzNTF7ZmlsbDp1cmwoI1NWR0lEXzM1MF8pO30KCS5zdDM1MntmaWxsOnVybCgjU1ZHSURfMzUxXyk7fQoJLnN0MzUze2ZpbGw6dXJsKCNTVkdJRF8zNTJfKTt9Cgkuc3QzNTR7ZmlsbDp1cmwoI1NWR0lEXzM1M18pO30KCS5zdDM1NXtmaWxsOnVybCgjU1ZHSURfMzU0Xyk7fQoJLnN0MzU2e2ZpbGw6dXJsKCNTVkdJRF8zNTVfKTt9Cgkuc3QzNTd7ZmlsbDp1cmwoI1NWR0lEXzM1Nl8pO30KCS5zdDM1OHtmaWxsOnVybCgjU1ZHSURfMzU3Xyk7fQoJLnN0MzU5e2ZpbGw6dXJsKCNTVkdJRF8zNThfKTt9Cgkuc3QzNjB7ZmlsbDp1cmwoI1NWR0lEXzM1OV8pO30KCS5zdDM2MXtmaWxsOnVybCgjU1ZHSURfMzYwXyk7fQoJLnN0MzYye2ZpbGw6dXJsKCNTVkdJRF8zNjFfKTt9Cgkuc3QzNjN7ZmlsbDp1cmwoI1NWR0lEXzM2Ml8pO30KCS5zdDM2NHtmaWxsOnVybCgjU1ZHSURfMzYzXyk7fQoJLnN0MzY1e2ZpbGw6dXJsKCNTVkdJRF8zNjRfKTt9Cgkuc3QzNjZ7ZmlsbDp1cmwoI1NWR0lEXzM2NV8pO30KCS5zdDM2N3tmaWxsOnVybCgjU1ZHSURfMzY2Xyk7fQoJLnN0MzY4e2ZpbGw6dXJsKCNTVkdJRF8zNjdfKTt9Cgkuc3QzNjl7ZmlsbDp1cmwoI1NWR0lEXzM2OF8pO30KCS5zdDM3MHtmaWxsOnVybCgjU1ZHSURfMzY5Xyk7fQoJLnN0Mzcxe2ZpbGw6dXJsKCNTVkdJRF8zNzBfKTt9Cgkuc3QzNzJ7ZmlsbDp1cmwoI1NWR0lEXzM3MV8pO30KCS5zdDM3M3tmaWxsOnVybCgjU1ZHSURfMzcyXyk7fQoJLnN0Mzc0e2ZpbGw6dXJsKCNTVkdJRF8zNzNfKTt9Cgkuc3QzNzV7ZmlsbDp1cmwoI1NWR0lEXzM3NF8pO30KCS5zdDM3NntmaWxsOnVybCgjU1ZHSURfMzc1Xyk7fQoJLnN0Mzc3e2ZpbGw6dXJsKCNTVkdJRF8zNzZfKTt9Cgkuc3QzNzh7ZmlsbDp1cmwoI1NWR0lEXzM3N18pO30KCS5zdDM3OXtmaWxsOnVybCgjU1ZHSURfMzc4Xyk7fQoJLnN0Mzgwe2ZpbGw6dXJsKCNTVkdJRF8zNzlfKTt9Cgkuc3QzODF7ZmlsbDp1cmwoI1NWR0lEXzM4MF8pO30KCS5zdDM4MntmaWxsOnVybCgjU1ZHSURfMzgxXyk7fQoJLnN0Mzgze2ZpbGw6dXJsKCNTVkdJRF8zODJfKTt9Cgkuc3QzODR7ZmlsbDp1cmwoI1NWR0lEXzM4M18pO30KCS5zdDM4NXtmaWxsOnVybCgjU1ZHSURfMzg0Xyk7fQoJLnN0Mzg2e2ZpbGw6dXJsKCNTVkdJRF8zODVfKTt9Cgkuc3QzODd7ZmlsbDp1cmwoI1NWR0lEXzM4Nl8pO30KCS5zdDM4OHtmaWxsOnVybCgjU1ZHSURfMzg3Xyk7fQoJLnN0Mzg5e2ZpbGw6dXJsKCNTVkdJRF8zODhfKTt9Cgkuc3QzOTB7ZmlsbDp1cmwoI1NWR0lEXzM4OV8pO30KCS5zdDM5MXtmaWxsOnVybCgjU1ZHSURfMzkwXyk7fQoJLnN0Mzkye2ZpbGw6dXJsKCNTVkdJRF8zOTFfKTt9Cgkuc3QzOTN7ZmlsbDp1cmwoI1NWR0lEXzM5Ml8pO30KCS5zdDM5NHtmaWxsOnVybCgjU1ZHSURfMzkzXyk7fQoJLnN0Mzk1e2ZpbGw6dXJsKCNTVkdJRF8zOTRfKTt9Cgkuc3QzOTZ7ZmlsbDp1cmwoI1NWR0lEXzM5NV8pO30KCS5zdDM5N3tmaWxsOnVybCgjU1ZHSURfMzk2Xyk7fQoJLnN0Mzk4e2ZpbGw6dXJsKCNTVkdJRF8zOTdfKTt9Cgkuc3QzOTl7ZmlsbDp1cmwoI1NWR0lEXzM5OF8pO30KCS5zdDQwMHtmaWxsOnVybCgjU1ZHSURfMzk5Xyk7fQoJLnN0NDAxe2ZpbGw6dXJsKCNTVkdJRF80MDBfKTt9Cgkuc3Q0MDJ7ZmlsbDp1cmwoI1NWR0lEXzQwMV8pO30KCS5zdDQwM3tmaWxsOnVybCgjU1ZHSURfNDAyXyk7fQoJLnN0NDA0e2ZpbGw6dXJsKCNTVkdJRF80MDNfKTt9Cgkuc3Q0MDV7ZmlsbDp1cmwoI1NWR0lEXzQwNF8pO30KCS5zdDQwNntmaWxsOnVybCgjU1ZHSURfNDA1Xyk7fQoJLnN0NDA3e2ZpbGw6dXJsKCNTVkdJRF80MDZfKTt9Cgkuc3Q0MDh7ZmlsbDp1cmwoI1NWR0lEXzQwN18pO30KCS5zdDQwOXtmaWxsOnVybCgjU1ZHSURfNDA4Xyk7fQoJLnN0NDEwe2ZpbGw6dXJsKCNTVkdJRF80MDlfKTt9Cgkuc3Q0MTF7ZmlsbDp1cmwoI1NWR0lEXzQxMF8pO30KCS5zdDQxMntmaWxsOnVybCgjU1ZHSURfNDExXyk7fQoJLnN0NDEze2ZpbGw6dXJsKCNTVkdJRF80MTJfKTt9Cgkuc3Q0MTR7ZmlsbDp1cmwoI1NWR0lEXzQxM18pO30KCS5zdDQxNXtmaWxsOnVybCgjU1ZHSURfNDE0Xyk7fQoJLnN0NDE2e2ZpbGw6dXJsKCNTVkdJRF80MTVfKTt9Cgkuc3Q0MTd7ZmlsbDp1cmwoI1NWR0lEXzQxNl8pO30KCS5zdDQxOHtmaWxsOnVybCgjU1ZHSURfNDE3Xyk7fQoJLnN0NDE5e2ZpbGw6dXJsKCNTVkdJRF80MThfKTt9Cgkuc3Q0MjB7ZmlsbDp1cmwoI1NWR0lEXzQxOV8pO30KCS5zdDQyMXtmaWxsOnVybCgjU1ZHSURfNDIwXyk7fQoJLnN0NDIye2ZpbGw6dXJsKCNTVkdJRF80MjFfKTt9Cgkuc3Q0MjN7ZmlsbDp1cmwoI1NWR0lEXzQyMl8pO30KCS5zdDQyNHtmaWxsOnVybCgjU1ZHSURfNDIzXyk7fQoJLnN0NDI1e2ZpbGw6dXJsKCNTVkdJRF80MjRfKTt9Cgkuc3Q0MjZ7ZmlsbDp1cmwoI1NWR0lEXzQyNV8pO30KCS5zdDQyN3tmaWxsOnVybCgjU1ZHSURfNDI2Xyk7fQoJLnN0NDI4e2ZpbGw6dXJsKCNTVkdJRF80MjdfKTt9Cgkuc3Q0Mjl7ZmlsbDp1cmwoI1NWR0lEXzQyOF8pO30KCS5zdDQzMHtmaWxsOnVybCgjU1ZHSURfNDI5Xyk7fQoJLnN0NDMxe2ZpbGw6dXJsKCNTVkdJRF80MzBfKTt9Cgkuc3Q0MzJ7ZmlsbDp1cmwoI1NWR0lEXzQzMV8pO30KCS5zdDQzM3tmaWxsOnVybCgjU1ZHSURfNDMyXyk7fQoJLnN0NDM0e2ZpbGw6dXJsKCNTVkdJRF80MzNfKTt9Cgkuc3Q0MzV7ZmlsbDp1cmwoI1NWR0lEXzQzNF8pO30KCS5zdDQzNntmaWxsOnVybCgjU1ZHSURfNDM1Xyk7fQoJLnN0NDM3e2ZpbGw6dXJsKCNTVkdJRF80MzZfKTt9Cgkuc3Q0Mzh7ZmlsbDp1cmwoI1NWR0lEXzQzN18pO30KCS5zdDQzOXtmaWxsOnVybCgjU1ZHSURfNDM4Xyk7fQoJLnN0NDQwe2ZpbGw6dXJsKCNTVkdJRF80MzlfKTt9Cgkuc3Q0NDF7ZmlsbDp1cmwoI1NWR0lEXzQ0MF8pO30KCS5zdDQ0MntmaWxsOnVybCgjU1ZHSURfNDQxXyk7fQoJLnN0NDQze2ZpbGw6dXJsKCNTVkdJRF80NDJfKTt9Cgkuc3Q0NDR7ZmlsbDp1cmwoI1NWR0lEXzQ0M18pO30KCS5zdDQ0NXtmaWxsOnVybCgjU1ZHSURfNDQ0Xyk7fQoJLnN0NDQ2e2ZpbGw6dXJsKCNTVkdJRF80NDVfKTt9Cgkuc3Q0NDd7ZmlsbDp1cmwoI1NWR0lEXzQ0Nl8pO30KCS5zdDQ0OHtmaWxsOnVybCgjU1ZHSURfNDQ3Xyk7fQoJLnN0NDQ5e2ZpbGw6dXJsKCNTVkdJRF80NDhfKTt9Cgkuc3Q0NTB7ZmlsbDp1cmwoI1NWR0lEXzQ0OV8pO30KCS5zdDQ1MXtmaWxsOnVybCgjU1ZHSURfNDUwXyk7fQoJLnN0NDUye2ZpbGw6dXJsKCNTVkdJRF80NTFfKTt9Cgkuc3Q0NTN7ZmlsbDp1cmwoI1NWR0lEXzQ1Ml8pO30KCS5zdDQ1NHtmaWxsOnVybCgjU1ZHSURfNDUzXyk7fQoJLnN0NDU1e2ZpbGw6dXJsKCNTVkdJRF80NTRfKTt9Cgkuc3Q0NTZ7ZmlsbDp1cmwoI1NWR0lEXzQ1NV8pO30KCS5zdDQ1N3tmaWxsOnVybCgjU1ZHSURfNDU2Xyk7fQoJLnN0NDU4e2ZpbGw6dXJsKCNTVkdJRF80NTdfKTt9Cgkuc3Q0NTl7ZmlsbDp1cmwoI1NWR0lEXzQ1OF8pO30KCS5zdDQ2MHtmaWxsOnVybCgjU1ZHSURfNDU5Xyk7fQoJLnN0NDYxe2ZpbGw6dXJsKCNTVkdJRF80NjBfKTt9Cgkuc3Q0NjJ7ZmlsbDp1cmwoI1NWR0lEXzQ2MV8pO30KCS5zdDQ2M3tmaWxsOnVybCgjU1ZHSURfNDYyXyk7fQoJLnN0NDY0e2ZpbGw6dXJsKCNTVkdJRF80NjNfKTt9Cgkuc3Q0NjV7ZmlsbDp1cmwoI1NWR0lEXzQ2NF8pO30KCS5zdDQ2NntmaWxsOnVybCgjU1ZHSURfNDY1Xyk7fQoJLnN0NDY3e2ZpbGw6dXJsKCNTVkdJRF80NjZfKTt9Cgkuc3Q0Njh7ZmlsbDp1cmwoI1NWR0lEXzQ2N18pO30KCS5zdDQ2OXtmaWxsOnVybCgjU1ZHSURfNDY4Xyk7fQoJLnN0NDcwe2ZpbGw6dXJsKCNTVkdJRF80NjlfKTt9Cgkuc3Q0NzF7ZmlsbDp1cmwoI1NWR0lEXzQ3MF8pO30KCS5zdDQ3MntmaWxsOnVybCgjU1ZHSURfNDcxXyk7fQoJLnN0NDcze2ZpbGw6dXJsKCNTVkdJRF80NzJfKTt9Cgkuc3Q0NzR7ZmlsbDp1cmwoI1NWR0lEXzQ3M18pO30KCS5zdDQ3NXtmaWxsOnVybCgjU1ZHSURfNDc0Xyk7fQoJLnN0NDc2e2ZpbGw6dXJsKCNTVkdJRF80NzVfKTt9Cgkuc3Q0Nzd7ZmlsbDp1cmwoI1NWR0lEXzQ3Nl8pO30KCS5zdDQ3OHtmaWxsOnVybCgjU1ZHSURfNDc3Xyk7fQoJLnN0NDc5e2ZpbGw6dXJsKCNTVkdJRF80NzhfKTt9Cgkuc3Q0ODB7ZmlsbDp1cmwoI1NWR0lEXzQ3OV8pO30KCS5zdDQ4MXtmaWxsOnVybCgjU1ZHSURfNDgwXyk7fQoJLnN0NDgye2ZpbGw6dXJsKCNTVkdJRF80ODFfKTt9Cgkuc3Q0ODN7ZmlsbDp1cmwoI1NWR0lEXzQ4Ml8pO30KCS5zdDQ4NHtmaWxsOnVybCgjU1ZHSURfNDgzXyk7fQoJLnN0NDg1e2ZpbGw6dXJsKCNTVkdJRF80ODRfKTt9Cgkuc3Q0ODZ7ZmlsbDp1cmwoI1NWR0lEXzQ4NV8pO30KCS5zdDQ4N3tmaWxsOnVybCgjU1ZHSURfNDg2Xyk7fQoJLnN0NDg4e2ZpbGw6dXJsKCNTVkdJRF80ODdfKTt9Cgkuc3Q0ODl7ZmlsbDp1cmwoI1NWR0lEXzQ4OF8pO30KCS5zdDQ5MHtmaWxsOnVybCgjU1ZHSURfNDg5Xyk7fQoJLnN0NDkxe2ZpbGw6dXJsKCNTVkdJRF80OTBfKTt9Cgkuc3Q0OTJ7ZmlsbDp1cmwoI1NWR0lEXzQ5MV8pO30KCS5zdDQ5M3tmaWxsOnVybCgjU1ZHSURfNDkyXyk7fQoJLnN0NDk0e2ZpbGw6dXJsKCNTVkdJRF80OTNfKTt9Cgkuc3Q0OTV7ZmlsbDp1cmwoI1NWR0lEXzQ5NF8pO30KCS5zdDQ5NntmaWxsOnVybCgjU1ZHSURfNDk1Xyk7fQoJLnN0NDk3e2ZpbGw6dXJsKCNTVkdJRF80OTZfKTt9Cgkuc3Q0OTh7ZmlsbDp1cmwoI1NWR0lEXzQ5N18pO30KCS5zdDQ5OXtmaWxsOnVybCgjU1ZHSURfNDk4Xyk7fQoJLnN0NTAwe2ZpbGw6dXJsKCNTVkdJRF80OTlfKTt9Cgkuc3Q1MDF7ZmlsbDp1cmwoI1NWR0lEXzUwMF8pO30KCS5zdDUwMntmaWxsOnVybCgjU1ZHSURfNTAxXyk7fQoJLnN0NTAze2ZpbGw6dXJsKCNTVkdJRF81MDJfKTt9Cgkuc3Q1MDR7ZmlsbDp1cmwoI1NWR0lEXzUwM18pO30KCS5zdDUwNXtmaWxsOnVybCgjU1ZHSURfNTA0Xyk7fQoJLnN0NTA2e2ZpbGw6dXJsKCNTVkdJRF81MDVfKTt9Cgkuc3Q1MDd7ZmlsbDp1cmwoI1NWR0lEXzUwNl8pO30KCS5zdDUwOHtmaWxsOnVybCgjU1ZHSURfNTA3Xyk7fQoJLnN0NTA5e2ZpbGw6dXJsKCNTVkdJRF81MDhfKTt9Cgkuc3Q1MTB7ZmlsbDp1cmwoI1NWR0lEXzUwOV8pO30KCS5zdDUxMXtmaWxsOnVybCgjU1ZHSURfNTEwXyk7fQoJLnN0NTEye2ZpbGw6dXJsKCNTVkdJRF81MTFfKTt9Cgkuc3Q1MTN7ZmlsbDp1cmwoI1NWR0lEXzUxMl8pO30KCS5zdDUxNHtmaWxsOnVybCgjU1ZHSURfNTEzXyk7fQoJLnN0NTE1e2ZpbGw6dXJsKCNTVkdJRF81MTRfKTt9Cgkuc3Q1MTZ7ZmlsbDp1cmwoI1NWR0lEXzUxNV8pO30KCS5zdDUxN3tmaWxsOnVybCgjU1ZHSURfNTE2Xyk7fQoJLnN0NTE4e2ZpbGw6dXJsKCNTVkdJRF81MTdfKTt9Cgkuc3Q1MTl7ZmlsbDp1cmwoI1NWR0lEXzUxOF8pO30KCS5zdDUyMHtmaWxsOnVybCgjU1ZHSURfNTE5Xyk7fQoJLnN0NTIxe2ZpbGw6dXJsKCNTVkdJRF81MjBfKTt9Cgkuc3Q1MjJ7ZmlsbDp1cmwoI1NWR0lEXzUyMV8pO30KCS5zdDUyM3tmaWxsOnVybCgjU1ZHSURfNTIyXyk7fQoJLnN0NTI0e2ZpbGw6dXJsKCNTVkdJRF81MjNfKTt9Cgkuc3Q1MjV7ZmlsbDp1cmwoI1NWR0lEXzUyNF8pO30KCS5zdDUyNntmaWxsOnVybCgjU1ZHSURfNTI1Xyk7fQoJLnN0NTI3e2ZpbGw6dXJsKCNTVkdJRF81MjZfKTt9Cgkuc3Q1Mjh7ZmlsbDp1cmwoI1NWR0lEXzUyN18pO30KCS5zdDUyOXtmaWxsOnVybCgjU1ZHSURfNTI4Xyk7fQoJLnN0NTMwe2ZpbGw6dXJsKCNTVkdJRF81MjlfKTt9Cgkuc3Q1MzF7ZmlsbDp1cmwoI1NWR0lEXzUzMF8pO30KCS5zdDUzMntmaWxsOnVybCgjU1ZHSURfNTMxXyk7fQoJLnN0NTMze2ZpbGw6dXJsKCNTVkdJRF81MzJfKTt9Cgkuc3Q1MzR7ZmlsbDojREVFM0VBO30KCS5zdDUzNXtmaWxsOnVybCgjU1ZHSURfNTMzXyk7fQoJLnN0NTM2e2ZpbGw6dXJsKCNTVkdJRF81MzRfKTt9Cgkuc3Q1Mzd7ZmlsbDp1cmwoI1NWR0lEXzUzNV8pO30KCS5zdDUzOHtmaWxsOnVybCgjU1ZHSURfNTM2Xyk7fQoJLnN0NTM5e2ZpbGw6dXJsKCNTVkdJRF81MzdfKTt9Cgkuc3Q1NDB7ZmlsbDp1cmwoI1NWR0lEXzUzOF8pO30KCS5zdDU0MXtmaWxsOnVybCgjU1ZHSURfNTM5Xyk7fQoJLnN0NTQye2ZpbGw6dXJsKCNTVkdJRF81NDBfKTt9Cgkuc3Q1NDN7ZmlsbDp1cmwoI1NWR0lEXzU0MV8pO30KCS5zdDU0NHtmaWxsOnVybCgjU1ZHSURfNTQyXyk7fQoJLnN0NTQ1e2ZpbGw6dXJsKCNTVkdJRF81NDNfKTt9Cgkuc3Q1NDZ7ZmlsbDp1cmwoI1NWR0lEXzU0NF8pO30KCS5zdDU0N3tmaWxsOnVybCgjU1ZHSURfNTQ1Xyk7fQoJLnN0NTQ4e2ZpbGw6dXJsKCNTVkdJRF81NDZfKTt9Cgkuc3Q1NDl7ZmlsbDp1cmwoI1NWR0lEXzU0N18pO30KCS5zdDU1MHtmaWxsOnVybCgjU1ZHSURfNTQ4Xyk7fQoJLnN0NTUxe2ZpbGw6dXJsKCNTVkdJRF81NDlfKTt9Cgkuc3Q1NTJ7ZmlsbDp1cmwoI1NWR0lEXzU1MF8pO30KCS5zdDU1M3tmaWxsOnVybCgjU1ZHSURfNTUxXyk7fQoJLnN0NTU0e2ZpbGw6dXJsKCNTVkdJRF81NTJfKTt9Cgkuc3Q1NTV7ZmlsbDp1cmwoI1NWR0lEXzU1M18pO30KCS5zdDU1NntmaWxsOnVybCgjU1ZHSURfNTU0Xyk7fQoJLnN0NTU3e2ZpbGw6dXJsKCNTVkdJRF81NTVfKTt9Cgkuc3Q1NTh7ZmlsbDp1cmwoI1NWR0lEXzU1Nl8pO30KCS5zdDU1OXtmaWxsOnVybCgjU1ZHSURfNTU3Xyk7fQoJLnN0NTYwe2ZpbGw6dXJsKCNTVkdJRF81NThfKTt9Cgkuc3Q1NjF7ZmlsbDp1cmwoI1NWR0lEXzU1OV8pO30KCS5zdDU2MntmaWxsOnVybCgjU1ZHSURfNTYwXyk7fQoJLnN0NTYze2ZpbGw6dXJsKCNTVkdJRF81NjFfKTt9Cgkuc3Q1NjR7ZmlsbDp1cmwoI1NWR0lEXzU2Ml8pO30KCS5zdDU2NXtmaWxsOnVybCgjU1ZHSURfNTYzXyk7fQoJLnN0NTY2e2ZpbGw6dXJsKCNTVkdJRF81NjRfKTt9Cgkuc3Q1Njd7ZmlsbDp1cmwoI1NWR0lEXzU2NV8pO30KCS5zdDU2OHtmaWxsOnVybCgjU1ZHSURfNTY2Xyk7fQoJLnN0NTY5e2ZpbGw6dXJsKCNTVkdJRF81NjdfKTt9Cgkuc3Q1NzB7ZmlsbDojRTlFQ0YxO30KCS5zdDU3MXtmaWxsOnVybCgjU1ZHSURfNTY4Xyk7fQoJLnN0NTcye2ZpbGw6dXJsKCNTVkdJRF81NjlfKTt9Cgkuc3Q1NzN7ZmlsbDp1cmwoI1NWR0lEXzU3MF8pO30KCS5zdDU3NHtmaWxsOnVybCgjU1ZHSURfNTcxXyk7fQoJLnN0NTc1e2ZpbGw6dXJsKCNTVkdJRF81NzJfKTt9Cgkuc3Q1NzZ7ZmlsbDp1cmwoI1NWR0lEXzU3M18pO30KCS5zdDU3N3tmaWxsOnVybCgjU1ZHSURfNTc0Xyk7fQoJLnN0NTc4e2ZpbGw6dXJsKCNTVkdJRF81NzVfKTt9Cgkuc3Q1Nzl7ZmlsbDp1cmwoI1NWR0lEXzU3Nl8pO30KCS5zdDU4MHtmaWxsOnVybCgjU1ZHSURfNTc3Xyk7fQoJLnN0NTgxe2ZpbGw6dXJsKCNTVkdJRF81NzhfKTt9Cgkuc3Q1ODJ7ZmlsbDp1cmwoI1NWR0lEXzU3OV8pO30KCS5zdDU4M3tmaWxsOnVybCgjU1ZHSURfNTgwXyk7fQoJLnN0NTg0e2ZpbGw6dXJsKCNTVkdJRF81ODFfKTt9Cgkuc3Q1ODV7ZmlsbDp1cmwoI1NWR0lEXzU4Ml8pO30KCS5zdDU4NntmaWxsOnVybCgjU1ZHSURfNTgzXyk7fQoJLnN0NTg3e2ZpbGw6dXJsKCNTVkdJRF81ODRfKTt9Cgkuc3Q1ODh7ZmlsbDp1cmwoI1NWR0lEXzU4NV8pO30KCS5zdDU4OXtmaWxsOnVybCgjU1ZHSURfNTg2Xyk7fQoJLnN0NTkwe2ZpbGw6dXJsKCNTVkdJRF81ODdfKTt9Cgkuc3Q1OTF7ZmlsbDp1cmwoI1NWR0lEXzU4OF8pO30KCS5zdDU5MntmaWxsOnVybCgjU1ZHSURfNTg5Xyk7fQoJLnN0NTkze2ZpbGw6dXJsKCNTVkdJRF81OTBfKTt9Cgkuc3Q1OTR7ZmlsbDp1cmwoI1NWR0lEXzU5MV8pO30KCS5zdDU5NXtmaWxsOnVybCgjU1ZHSURfNTkyXyk7fQoJLnN0NTk2e2ZpbGw6dXJsKCNTVkdJRF81OTNfKTt9Cgkuc3Q1OTd7ZmlsbDp1cmwoI1NWR0lEXzU5NF8pO30KCS5zdDU5OHtmaWxsOnVybCgjU1ZHSURfNTk1Xyk7fQoJLnN0NTk5e2ZpbGw6dXJsKCNTVkdJRF81OTZfKTt9Cgkuc3Q2MDB7ZmlsbDp1cmwoI1NWR0lEXzU5N18pO30KCS5zdDYwMXtmaWxsOnVybCgjU1ZHSURfNTk4Xyk7fQoJLnN0NjAye2ZpbGw6dXJsKCNTVkdJRF81OTlfKTt9Cgkuc3Q2MDN7ZmlsbDp1cmwoI1NWR0lEXzYwMF8pO30KCS5zdDYwNHtmaWxsOnVybCgjU1ZHSURfNjAxXyk7fQoJLnN0NjA1e2ZpbGw6dXJsKCNTVkdJRF82MDJfKTt9Cgkuc3Q2MDZ7ZmlsbDp1cmwoI1NWR0lEXzYwM18pO30KCS5zdDYwN3tmaWxsOnVybCgjU1ZHSURfNjA0Xyk7fQoJLnN0NjA4e2ZpbGw6dXJsKCNTVkdJRF82MDVfKTt9Cgkuc3Q2MDl7ZmlsbDp1cmwoI1NWR0lEXzYwNl8pO30KCS5zdDYxMHtmaWxsOnVybCgjU1ZHSURfNjA3Xyk7fQoJLnN0NjExe2ZpbGw6dXJsKCNTVkdJRF82MDhfKTt9Cgkuc3Q2MTJ7ZmlsbDp1cmwoI1NWR0lEXzYwOV8pO30KCS5zdDYxM3tmaWxsOnVybCgjU1ZHSURfNjEwXyk7fQoJLnN0NjE0e2ZpbGw6dXJsKCNTVkdJRF82MTFfKTt9Cgkuc3Q2MTV7ZmlsbDp1cmwoI1NWR0lEXzYxMl8pO30KCS5zdDYxNntmaWxsOnVybCgjU1ZHSURfNjEzXyk7fQoJLnN0NjE3e2ZpbGw6dXJsKCNTVkdJRF82MTRfKTt9Cgkuc3Q2MTh7ZmlsbDp1cmwoI1NWR0lEXzYxNV8pO30KCS5zdDYxOXtmaWxsOiNEREUzRUI7fQoJLnN0NjIwe2ZpbGw6dXJsKCNTVkdJRF82MTZfKTt9Cgkuc3Q2MjF7ZmlsbDp1cmwoI1NWR0lEXzYxN18pO30KCS5zdDYyMntmaWxsOnVybCgjU1ZHSURfNjE4Xyk7fQoJLnN0NjIze2ZpbGw6dXJsKCNTVkdJRF82MTlfKTt9Cgkuc3Q2MjR7ZmlsbDp1cmwoI1NWR0lEXzYyMF8pO30KCS5zdDYyNXtmaWxsOnVybCgjU1ZHSURfNjIxXyk7fQoJLnN0NjI2e2ZpbGw6dXJsKCNTVkdJRF82MjJfKTt9Cgkuc3Q2Mjd7ZmlsbDp1cmwoI1NWR0lEXzYyM18pO30KCS5zdDYyOHtmaWxsOnVybCgjU1ZHSURfNjI0Xyk7fQoJLnN0NjI5e2ZpbGw6dXJsKCNTVkdJRF82MjVfKTt9Cgkuc3Q2MzB7ZmlsbDp1cmwoI1NWR0lEXzYyNl8pO30KCS5zdDYzMXtmaWxsOnVybCgjU1ZHSURfNjI3Xyk7fQoJLnN0NjMye2ZpbGw6dXJsKCNTVkdJRF82MjhfKTt9Cgkuc3Q2MzN7ZmlsbDp1cmwoI1NWR0lEXzYyOV8pO30KCS5zdDYzNHtmaWxsOnVybCgjU1ZHSURfNjMwXyk7fQoJLnN0NjM1e2ZpbGw6dXJsKCNTVkdJRF82MzFfKTt9Cgkuc3Q2MzZ7ZmlsbDp1cmwoI1NWR0lEXzYzMl8pO30KCS5zdDYzN3tmaWxsOnVybCgjU1ZHSURfNjMzXyk7fQoJLnN0NjM4e2ZpbGw6dXJsKCNTVkdJRF82MzRfKTt9Cgkuc3Q2Mzl7ZmlsbDp1cmwoI1NWR0lEXzYzNV8pO30KCS5zdDY0MHtmaWxsOnVybCgjU1ZHSURfNjM2Xyk7fQoJLnN0NjQxe2ZpbGw6dXJsKCNTVkdJRF82MzdfKTt9Cgkuc3Q2NDJ7ZmlsbDp1cmwoI1NWR0lEXzYzOF8pO30KCS5zdDY0M3tmaWxsOnVybCgjU1ZHSURfNjM5Xyk7fQoJLnN0NjQ0e2ZpbGw6dXJsKCNTVkdJRF82NDBfKTt9Cgkuc3Q2NDV7ZmlsbDp1cmwoI1NWR0lEXzY0MV8pO30KCS5zdDY0NntmaWxsOnVybCgjU1ZHSURfNjQyXyk7fQoJLnN0NjQ3e2ZpbGw6dXJsKCNTVkdJRF82NDNfKTt9Cgkuc3Q2NDh7ZmlsbDp1cmwoI1NWR0lEXzY0NF8pO30KCS5zdDY0OXtmaWxsOnVybCgjU1ZHSURfNjQ1Xyk7fQoJLnN0NjUwe2ZpbGw6dXJsKCNTVkdJRF82NDZfKTt9Cgkuc3Q2NTF7ZmlsbDp1cmwoI1NWR0lEXzY0N18pO30KCS5zdDY1MntmaWxsOnVybCgjU1ZHSURfNjQ4Xyk7fQoJLnN0NjUze2ZpbGw6dXJsKCNTVkdJRF82NDlfKTt9Cgkuc3Q2NTR7ZmlsbDp1cmwoI1NWR0lEXzY1MF8pO30KCS5zdDY1NXtmaWxsOnVybCgjU1ZHSURfNjUxXyk7fQoJLnN0NjU2e2ZpbGw6dXJsKCNTVkdJRF82NTJfKTt9Cgkuc3Q2NTd7ZmlsbDp1cmwoI1NWR0lEXzY1M18pO30KCS5zdDY1OHtmaWxsOnVybCgjU1ZHSURfNjU0Xyk7fQoJLnN0NjU5e2ZpbGw6dXJsKCNTVkdJRF82NTVfKTt9Cgkuc3Q2NjB7ZmlsbDp1cmwoI1NWR0lEXzY1Nl8pO30KCS5zdDY2MXtmaWxsOnVybCgjU1ZHSURfNjU3Xyk7fQoJLnN0NjYye2ZpbGw6dXJsKCNTVkdJRF82NThfKTt9Cgkuc3Q2NjN7ZmlsbDp1cmwoI1NWR0lEXzY1OV8pO30KCS5zdDY2NHtmaWxsOnVybCgjU1ZHSURfNjYwXyk7fQoJLnN0NjY1e2ZpbGw6I0Y3RjhGODt9Cgkuc3Q2NjZ7ZmlsbDp1cmwoI1NWR0lEXzY2MV8pO30KCS5zdDY2N3tmaWxsOnVybCgjU1ZHSURfNjYyXyk7fQoJLnN0NjY4e2ZpbGw6dXJsKCNTVkdJRF82NjNfKTt9Cgkuc3Q2Njl7ZmlsbDp1cmwoI1NWR0lEXzY2NF8pO30KCS5zdDY3MHtmaWxsOnVybCgjU1ZHSURfNjY1Xyk7fQoJLnN0Njcxe2ZpbGw6dXJsKCNTVkdJRF82NjZfKTt9Cgkuc3Q2NzJ7ZmlsbDp1cmwoI1NWR0lEXzY2N18pO30KCS5zdDY3M3tmaWxsOnVybCgjU1ZHSURfNjY4Xyk7fQoJLnN0Njc0e2ZpbGw6dXJsKCNTVkdJRF82NjlfKTt9Cgkuc3Q2NzV7ZmlsbDp1cmwoI1NWR0lEXzY3MF8pO30KCS5zdDY3NntmaWxsOnVybCgjU1ZHSURfNjcxXyk7fQoJLnN0Njc3e2ZpbGw6dXJsKCNTVkdJRF82NzJfKTt9Cgkuc3Q2Nzh7ZmlsbDp1cmwoI1NWR0lEXzY3M18pO30KCS5zdDY3OXtmaWxsOnVybCgjU1ZHSURfNjc0Xyk7fQoJLnN0Njgwe2ZpbGw6dXJsKCNTVkdJRF82NzVfKTt9Cgkuc3Q2ODF7ZmlsbDp1cmwoI1NWR0lEXzY3Nl8pO30KCS5zdDY4MntmaWxsOnVybCgjU1ZHSURfNjc3Xyk7fQoJLnN0Njgze2ZpbGw6dXJsKCNTVkdJRF82NzhfKTt9Cgkuc3Q2ODR7ZmlsbDp1cmwoI1NWR0lEXzY3OV8pO30KCS5zdDY4NXtmaWxsOnVybCgjU1ZHSURfNjgwXyk7fQoJLnN0Njg2e2ZpbGw6dXJsKCNTVkdJRF82ODFfKTt9Cgkuc3Q2ODd7ZmlsbDp1cmwoI1NWR0lEXzY4Ml8pO30KCS5zdDY4OHtmaWxsOnVybCgjU1ZHSURfNjgzXyk7fQoJLnN0Njg5e2ZpbGw6dXJsKCNTVkdJRF82ODRfKTt9Cgkuc3Q2OTB7ZmlsbDp1cmwoI1NWR0lEXzY4NV8pO30KCS5zdDY5MXtmaWxsOnVybCgjU1ZHSURfNjg2Xyk7fQoJLnN0Njkye2ZpbGw6dXJsKCNTVkdJRF82ODdfKTt9Cgkuc3Q2OTN7ZmlsbDp1cmwoI1NWR0lEXzY4OF8pO30KCS5zdDY5NHtmaWxsOnVybCgjU1ZHSURfNjg5Xyk7fQoJLnN0Njk1e2ZpbGw6dXJsKCNTVkdJRF82OTBfKTt9Cgkuc3Q2OTZ7ZmlsbDp1cmwoI1NWR0lEXzY5MV8pO30KCS5zdDY5N3tmaWxsOnVybCgjU1ZHSURfNjkyXyk7fQoJLnN0Njk4e2ZpbGw6dXJsKCNTVkdJRF82OTNfKTt9Cgkuc3Q2OTl7ZmlsbDp1cmwoI1NWR0lEXzY5NF8pO30KCS5zdDcwMHtmaWxsOnVybCgjU1ZHSURfNjk1Xyk7fQoJLnN0NzAxe2ZpbGw6dXJsKCNTVkdJRF82OTZfKTt9Cgkuc3Q3MDJ7ZmlsbDp1cmwoI1NWR0lEXzY5N18pO30KCS5zdDcwM3tmaWxsOnVybCgjU1ZHSURfNjk4Xyk7fQoJLnN0NzA0e2ZpbGw6dXJsKCNTVkdJRF82OTlfKTt9Cgkuc3Q3MDV7ZmlsbDp1cmwoI1NWR0lEXzcwMF8pO30KCS5zdDcwNntmaWxsOnVybCgjU1ZHSURfNzAxXyk7fQoJLnN0NzA3e2ZpbGw6dXJsKCNTVkdJRF83MDJfKTt9Cgkuc3Q3MDh7ZmlsbDp1cmwoI1NWR0lEXzcwM18pO30KCS5zdDcwOXtmaWxsOnVybCgjU1ZHSURfNzA0Xyk7fQoJLnN0NzEwe2ZpbGw6dXJsKCNTVkdJRF83MDVfKTt9Cgkuc3Q3MTF7ZmlsbDp1cmwoI1NWR0lEXzcwNl8pO30KCS5zdDcxMntmaWxsOnVybCgjU1ZHSURfNzA3Xyk7fQoJLnN0NzEze2ZpbGw6dXJsKCNTVkdJRF83MDhfKTt9Cgkuc3Q3MTR7ZmlsbDp1cmwoI1NWR0lEXzcwOV8pO30KCS5zdDcxNXtmaWxsOnVybCgjU1ZHSURfNzEwXyk7fQoJLnN0NzE2e2ZpbGw6dXJsKCNTVkdJRF83MTFfKTt9Cgkuc3Q3MTd7ZmlsbDp1cmwoI1NWR0lEXzcxMl8pO30KCS5zdDcxOHtmaWxsOnVybCgjU1ZHSURfNzEzXyk7fQoJLnN0NzE5e2ZpbGw6dXJsKCNTVkdJRF83MTRfKTt9Cgkuc3Q3MjB7ZmlsbDp1cmwoI1NWR0lEXzcxNV8pO30KCS5zdDcyMXtmaWxsOnVybCgjU1ZHSURfNzE2Xyk7fQoJLnN0NzIye2ZpbGw6dXJsKCNTVkdJRF83MTdfKTt9Cgkuc3Q3MjN7ZmlsbDp1cmwoI1NWR0lEXzcxOF8pO30KCS5zdDcyNHtmaWxsOnVybCgjU1ZHSURfNzE5Xyk7fQoJLnN0NzI1e2ZpbGw6dXJsKCNTVkdJRF83MjBfKTt9Cgkuc3Q3MjZ7ZmlsbDp1cmwoI1NWR0lEXzcyMV8pO30KCS5zdDcyN3tmaWxsOnVybCgjU1ZHSURfNzIyXyk7fQoJLnN0NzI4e2ZpbGw6dXJsKCNTVkdJRF83MjNfKTt9Cgkuc3Q3Mjl7ZmlsbDp1cmwoI1NWR0lEXzcyNF8pO30KCS5zdDczMHtmaWxsOnVybCgjU1ZHSURfNzI1Xyk7fQoJLnN0NzMxe2ZpbGw6dXJsKCNTVkdJRF83MjZfKTt9Cgkuc3Q3MzJ7ZmlsbDp1cmwoI1NWR0lEXzcyN18pO30KCS5zdDczM3tmaWxsOnVybCgjU1ZHSURfNzI4Xyk7fQoJLnN0NzM0e2ZpbGw6dXJsKCNTVkdJRF83MjlfKTt9Cgkuc3Q3MzV7ZmlsbDp1cmwoI1NWR0lEXzczMF8pO30KCS5zdDczNntmaWxsOnVybCgjU1ZHSURfNzMxXyk7fQoJLnN0NzM3e2ZpbGw6dXJsKCNTVkdJRF83MzJfKTt9Cgkuc3Q3Mzh7ZmlsbDp1cmwoI1NWR0lEXzczM18pO30KCS5zdDczOXtmaWxsOnVybCgjU1ZHSURfNzM0Xyk7fQoJLnN0NzQwe2ZpbGw6dXJsKCNTVkdJRF83MzVfKTt9Cgkuc3Q3NDF7ZmlsbDp1cmwoI1NWR0lEXzczNl8pO30KCS5zdDc0MntmaWxsOnVybCgjU1ZHSURfNzM3Xyk7fQoJLnN0NzQze2ZpbGw6dXJsKCNTVkdJRF83MzhfKTt9Cgkuc3Q3NDR7ZmlsbDp1cmwoI1NWR0lEXzczOV8pO30KCS5zdDc0NXtmaWxsOnVybCgjU1ZHSURfNzQwXyk7fQoJLnN0NzQ2e2ZpbGw6dXJsKCNTVkdJRF83NDFfKTt9Cgkuc3Q3NDd7ZmlsbDp1cmwoI1NWR0lEXzc0Ml8pO30KCS5zdDc0OHtmaWxsOnVybCgjU1ZHSURfNzQzXyk7fQoJLnN0NzQ5e2ZpbGw6dXJsKCNTVkdJRF83NDRfKTt9Cgkuc3Q3NTB7ZmlsbDp1cmwoI1NWR0lEXzc0NV8pO30KCS5zdDc1MXtmaWxsOnVybCgjU1ZHSURfNzQ2Xyk7fQoJLnN0NzUye2ZpbGw6dXJsKCNTVkdJRF83NDdfKTt9Cgkuc3Q3NTN7ZmlsbDp1cmwoI1NWR0lEXzc0OF8pO30KCS5zdDc1NHtmaWxsOnVybCgjU1ZHSURfNzQ5Xyk7fQoJLnN0NzU1e2ZpbGw6dXJsKCNTVkdJRF83NTBfKTt9Cgkuc3Q3NTZ7ZmlsbDp1cmwoI1NWR0lEXzc1MV8pO30KCS5zdDc1N3tmaWxsOnVybCgjU1ZHSURfNzUyXyk7fQoJLnN0NzU4e2ZpbGw6dXJsKCNTVkdJRF83NTNfKTt9Cgkuc3Q3NTl7ZmlsbDp1cmwoI1NWR0lEXzc1NF8pO30KCS5zdDc2MHtmaWxsOnVybCgjU1ZHSURfNzU1Xyk7fQoJLnN0NzYxe2ZpbGw6dXJsKCNTVkdJRF83NTZfKTt9Cgkuc3Q3NjJ7ZmlsbDp1cmwoI1NWR0lEXzc1N18pO30KCS5zdDc2M3tmaWxsOnVybCgjU1ZHSURfNzU4Xyk7fQoJLnN0NzY0e2ZpbGw6dXJsKCNTVkdJRF83NTlfKTt9Cgkuc3Q3NjV7ZmlsbDp1cmwoI1NWR0lEXzc2MF8pO30KCS5zdDc2NntmaWxsOnVybCgjU1ZHSURfNzYxXyk7fQoJLnN0NzY3e2ZpbGw6dXJsKCNTVkdJRF83NjJfKTt9Cgkuc3Q3Njh7ZmlsbDp1cmwoI1NWR0lEXzc2M18pO30KCS5zdDc2OXtmaWxsOnVybCgjU1ZHSURfNzY0Xyk7fQoJLnN0Nzcwe2ZpbGw6dXJsKCNTVkdJRF83NjVfKTt9Cgkuc3Q3NzF7ZmlsbDp1cmwoI1NWR0lEXzc2Nl8pO30KCS5zdDc3MntmaWxsOnVybCgjU1ZHSURfNzY3Xyk7fQoJLnN0Nzcze2ZpbGw6dXJsKCNTVkdJRF83NjhfKTt9Cgkuc3Q3NzR7ZmlsbDp1cmwoI1NWR0lEXzc2OV8pO30KCS5zdDc3NXtmaWxsOnVybCgjU1ZHSURfNzcwXyk7fQoJLnN0Nzc2e2ZpbGw6dXJsKCNTVkdJRF83NzFfKTt9Cgkuc3Q3Nzd7ZmlsbDp1cmwoI1NWR0lEXzc3Ml8pO30KCS5zdDc3OHtmaWxsOnVybCgjU1ZHSURfNzczXyk7fQoJLnN0Nzc5e2ZpbGw6dXJsKCNTVkdJRF83NzRfKTt9Cgkuc3Q3ODB7ZmlsbDp1cmwoI1NWR0lEXzc3NV8pO30KCS5zdDc4MXtmaWxsOnVybCgjU1ZHSURfNzc2Xyk7fQoJLnN0Nzgye2ZpbGw6dXJsKCNTVkdJRF83NzdfKTt9Cgkuc3Q3ODN7ZmlsbDp1cmwoI1NWR0lEXzc3OF8pO30KCS5zdDc4NHtmaWxsOnVybCgjU1ZHSURfNzc5Xyk7fQoJLnN0Nzg1e2ZpbGw6dXJsKCNTVkdJRF83ODBfKTt9Cgkuc3Q3ODZ7ZmlsbDp1cmwoI1NWR0lEXzc4MV8pO30KCS5zdDc4N3tmaWxsOnVybCgjU1ZHSURfNzgyXyk7fQoJLnN0Nzg4e2ZpbGw6dXJsKCNTVkdJRF83ODNfKTt9Cgkuc3Q3ODl7ZmlsbDp1cmwoI1NWR0lEXzc4NF8pO30KCS5zdDc5MHtmaWxsOnVybCgjU1ZHSURfNzg1Xyk7fQoJLnN0Nzkxe2ZpbGw6dXJsKCNTVkdJRF83ODZfKTt9Cgkuc3Q3OTJ7ZmlsbDp1cmwoI1NWR0lEXzc4N18pO30KCS5zdDc5M3tmaWxsOnVybCgjU1ZHSURfNzg4Xyk7fQoJLnN0Nzk0e2ZpbGw6dXJsKCNTVkdJRF83ODlfKTt9Cgkuc3Q3OTV7ZmlsbDp1cmwoI1NWR0lEXzc5MF8pO30KCS5zdDc5NntmaWxsOnVybCgjU1ZHSURfNzkxXyk7fQoJLnN0Nzk3e2ZpbGw6dXJsKCNTVkdJRF83OTJfKTt9Cgkuc3Q3OTh7ZmlsbDp1cmwoI1NWR0lEXzc5M18pO30KCS5zdDc5OXtmaWxsOnVybCgjU1ZHSURfNzk0Xyk7fQoJLnN0ODAwe2ZpbGw6dXJsKCNTVkdJRF83OTVfKTt9Cgkuc3Q4MDF7ZmlsbDp1cmwoI1NWR0lEXzc5Nl8pO30KCS5zdDgwMntmaWxsOnVybCgjU1ZHSURfNzk3Xyk7fQoJLnN0ODAze2ZpbGw6dXJsKCNTVkdJRF83OThfKTt9Cgkuc3Q4MDR7ZmlsbDp1cmwoI1NWR0lEXzc5OV8pO30KCS5zdDgwNXtmaWxsOnVybCgjU1ZHSURfODAwXyk7fQoJLnN0ODA2e2ZpbGw6dXJsKCNTVkdJRF84MDFfKTt9Cgkuc3Q4MDd7ZmlsbDp1cmwoI1NWR0lEXzgwMl8pO30KCS5zdDgwOHtmaWxsOnVybCgjU1ZHSURfODAzXyk7fQoJLnN0ODA5e2ZpbGw6dXJsKCNTVkdJRF84MDRfKTt9Cgkuc3Q4MTB7ZmlsbDp1cmwoI1NWR0lEXzgwNV8pO30KCS5zdDgxMXtmaWxsOnVybCgjU1ZHSURfODA2Xyk7fQoJLnN0ODEye2ZpbGw6dXJsKCNTVkdJRF84MDdfKTt9Cgkuc3Q4MTN7ZmlsbDp1cmwoI1NWR0lEXzgwOF8pO30KCS5zdDgxNHtmaWxsOnVybCgjU1ZHSURfODA5Xyk7fQoJLnN0ODE1e2ZpbGw6dXJsKCNTVkdJRF84MTBfKTt9Cgkuc3Q4MTZ7ZmlsbDp1cmwoI1NWR0lEXzgxMV8pO30KCS5zdDgxN3tmaWxsOnVybCgjU1ZHSURfODEyXyk7fQoJLnN0ODE4e2ZpbGw6dXJsKCNTVkdJRF84MTNfKTt9Cgkuc3Q4MTl7ZmlsbDp1cmwoI1NWR0lEXzgxNF8pO30KCS5zdDgyMHtmaWxsOnVybCgjU1ZHSURfODE1Xyk7fQoJLnN0ODIxe2ZpbGw6dXJsKCNTVkdJRF84MTZfKTt9Cgkuc3Q4MjJ7ZmlsbDp1cmwoI1NWR0lEXzgxN18pO30KCS5zdDgyM3tmaWxsOnVybCgjU1ZHSURfODE4Xyk7fQoJLnN0ODI0e2ZpbGw6dXJsKCNTVkdJRF84MTlfKTt9Cgkuc3Q4MjV7ZmlsbDp1cmwoI1NWR0lEXzgyMF8pO30KCS5zdDgyNntmaWxsOnVybCgjU1ZHSURfODIxXyk7fQoJLnN0ODI3e2ZpbGw6dXJsKCNTVkdJRF84MjJfKTt9Cgkuc3Q4Mjh7ZmlsbDp1cmwoI1NWR0lEXzgyM18pO30KCS5zdDgyOXtmaWxsOnVybCgjU1ZHSURfODI0Xyk7fQoJLnN0ODMwe2ZpbGw6dXJsKCNTVkdJRF84MjVfKTt9Cgkuc3Q4MzF7ZmlsbDp1cmwoI1NWR0lEXzgyNl8pO30KCS5zdDgzMntmaWxsOnVybCgjU1ZHSURfODI3Xyk7fQoJLnN0ODMze2ZpbGw6dXJsKCNTVkdJRF84MjhfKTt9Cgkuc3Q4MzR7ZmlsbDp1cmwoI1NWR0lEXzgyOV8pO30KCS5zdDgzNXtmaWxsOnVybCgjU1ZHSURfODMwXyk7fQoJLnN0ODM2e2ZpbGw6dXJsKCNTVkdJRF84MzFfKTt9Cgkuc3Q4Mzd7ZmlsbDp1cmwoI1NWR0lEXzgzMl8pO30KCS5zdDgzOHtmaWxsOnVybCgjU1ZHSURfODMzXyk7fQoJLnN0ODM5e2ZpbGw6dXJsKCNTVkdJRF84MzRfKTt9Cgkuc3Q4NDB7ZmlsbDp1cmwoI1NWR0lEXzgzNV8pO30KCS5zdDg0MXtmaWxsOnVybCgjU1ZHSURfODM2Xyk7fQoJLnN0ODQye2ZpbGw6dXJsKCNTVkdJRF84MzdfKTt9Cgkuc3Q4NDN7ZmlsbDp1cmwoI1NWR0lEXzgzOF8pO30KCS5zdDg0NHtmaWxsOnVybCgjU1ZHSURfODM5Xyk7fQoJLnN0ODQ1e2ZpbGw6dXJsKCNTVkdJRF84NDBfKTt9Cgkuc3Q4NDZ7ZmlsbDp1cmwoI1NWR0lEXzg0MV8pO30KCS5zdDg0N3tmaWxsOnVybCgjU1ZHSURfODQyXyk7fQoJLnN0ODQ4e2ZpbGw6dXJsKCNTVkdJRF84NDNfKTt9Cgkuc3Q4NDl7ZmlsbDp1cmwoI1NWR0lEXzg0NF8pO30KCS5zdDg1MHtmaWxsOnVybCgjU1ZHSURfODQ1Xyk7fQoJLnN0ODUxe2ZpbGw6dXJsKCNTVkdJRF84NDZfKTt9Cgkuc3Q4NTJ7ZmlsbDp1cmwoI1NWR0lEXzg0N18pO30KCS5zdDg1M3tmaWxsOnVybCgjU1ZHSURfODQ4Xyk7fQoJLnN0ODU0e2ZpbGw6dXJsKCNTVkdJRF84NDlfKTt9Cgkuc3Q4NTV7ZmlsbDp1cmwoI1NWR0lEXzg1MF8pO30KCS5zdDg1NntmaWxsOnVybCgjU1ZHSURfODUxXyk7fQoJLnN0ODU3e2ZpbGw6dXJsKCNTVkdJRF84NTJfKTt9Cgkuc3Q4NTh7ZmlsbDp1cmwoI1NWR0lEXzg1M18pO30KCS5zdDg1OXtmaWxsOnVybCgjU1ZHSURfODU0Xyk7fQoJLnN0ODYwe2ZpbGw6dXJsKCNTVkdJRF84NTVfKTt9Cgkuc3Q4NjF7ZmlsbDp1cmwoI1NWR0lEXzg1Nl8pO30KCS5zdDg2MntmaWxsOnVybCgjU1ZHSURfODU3Xyk7fQoJLnN0ODYze2ZpbGw6dXJsKCNTVkdJRF84NThfKTt9Cgkuc3Q4NjR7ZmlsbDp1cmwoI1NWR0lEXzg1OV8pO30KCS5zdDg2NXtmaWxsOnVybCgjU1ZHSURfODYwXyk7fQoJLnN0ODY2e2ZpbGw6dXJsKCNTVkdJRF84NjFfKTt9Cgkuc3Q4Njd7ZmlsbDp1cmwoI1NWR0lEXzg2Ml8pO30KCS5zdDg2OHtmaWxsOnVybCgjU1ZHSURfODYzXyk7fQoJLnN0ODY5e2ZpbGw6dXJsKCNTVkdJRF84NjRfKTt9Cgkuc3Q4NzB7ZmlsbDp1cmwoI1NWR0lEXzg2NV8pO30KCS5zdDg3MXtmaWxsOnVybCgjU1ZHSURfODY2Xyk7fQoJLnN0ODcye2ZpbGw6dXJsKCNTVkdJRF84NjdfKTt9Cgkuc3Q4NzN7ZmlsbDp1cmwoI1NWR0lEXzg2OF8pO30KCS5zdDg3NHtmaWxsOnVybCgjU1ZHSURfODY5Xyk7fQoJLnN0ODc1e2ZpbGw6dXJsKCNTVkdJRF84NzBfKTt9Cgkuc3Q4NzZ7ZmlsbDp1cmwoI1NWR0lEXzg3MV8pO30KCS5zdDg3N3tmaWxsOnVybCgjU1ZHSURfODcyXyk7fQoJLnN0ODc4e2ZpbGw6I0ZBRkJGQzt9Cgkuc3Q4Nzl7ZmlsbDp1cmwoI1NWR0lEXzg3M18pO30KCS5zdDg4MHtmaWxsOnVybCgjU1ZHSURfODc0Xyk7fQoJLnN0ODgxe2ZpbGw6dXJsKCNTVkdJRF84NzVfKTt9Cgkuc3Q4ODJ7ZmlsbDp1cmwoI1NWR0lEXzg3Nl8pO30KCS5zdDg4M3tmaWxsOnVybCgjU1ZHSURfODc3Xyk7fQoJLnN0ODg0e2ZpbGw6dXJsKCNTVkdJRF84NzhfKTt9Cgkuc3Q4ODV7ZmlsbDp1cmwoI1NWR0lEXzg3OV8pO30KCS5zdDg4NntmaWxsOnVybCgjU1ZHSURfODgwXyk7fQoJLnN0ODg3e2ZpbGw6dXJsKCNTVkdJRF84ODFfKTt9Cgkuc3Q4ODh7ZmlsbDp1cmwoI1NWR0lEXzg4Ml8pO30KCS5zdDg4OXtmaWxsOnVybCgjU1ZHSURfODgzXyk7fQoJLnN0ODkwe2ZpbGw6dXJsKCNTVkdJRF84ODRfKTt9Cgkuc3Q4OTF7ZmlsbDp1cmwoI1NWR0lEXzg4NV8pO30KCS5zdDg5MntmaWxsOnVybCgjU1ZHSURfODg2Xyk7fQoJLnN0ODkze2ZpbGw6dXJsKCNTVkdJRF84ODdfKTt9Cgkuc3Q4OTR7ZmlsbDp1cmwoI1NWR0lEXzg4OF8pO30KCS5zdDg5NXtmaWxsOnVybCgjU1ZHSURfODg5Xyk7fQoJLnN0ODk2e2ZpbGw6dXJsKCNTVkdJRF84OTBfKTt9Cgkuc3Q4OTd7ZmlsbDp1cmwoI1NWR0lEXzg5MV8pO30KCS5zdDg5OHtmaWxsOnVybCgjU1ZHSURfODkyXyk7fQoJLnN0ODk5e2ZpbGw6dXJsKCNTVkdJRF84OTNfKTt9Cgkuc3Q5MDB7ZmlsbDp1cmwoI1NWR0lEXzg5NF8pO30KCS5zdDkwMXtmaWxsOnVybCgjU1ZHSURfODk1Xyk7fQoJLnN0OTAye2ZpbGw6dXJsKCNTVkdJRF84OTZfKTt9Cgkuc3Q5MDN7ZmlsbDp1cmwoI1NWR0lEXzg5N18pO30KCS5zdDkwNHtmaWxsOnVybCgjU1ZHSURfODk4Xyk7fQoJLnN0OTA1e2ZpbGw6dXJsKCNTVkdJRF84OTlfKTt9Cgkuc3Q5MDZ7ZmlsbDp1cmwoI1NWR0lEXzkwMF8pO30KCS5zdDkwN3tmaWxsOnVybCgjU1ZHSURfOTAxXyk7fQoJLnN0OTA4e2ZpbGw6dXJsKCNTVkdJRF85MDJfKTt9Cgkuc3Q5MDl7ZmlsbDp1cmwoI1NWR0lEXzkwM18pO30KCS5zdDkxMHtmaWxsOnVybCgjU1ZHSURfOTA0Xyk7fQoJLnN0OTExe2ZpbGw6dXJsKCNTVkdJRF85MDVfKTt9Cgkuc3Q5MTJ7ZmlsbDp1cmwoI1NWR0lEXzkwNl8pO30KCS5zdDkxM3tmaWxsOnVybCgjU1ZHSURfOTA3Xyk7fQoJLnN0OTE0e2ZpbGw6dXJsKCNTVkdJRF85MDhfKTt9Cgkuc3Q5MTV7ZmlsbDp1cmwoI1NWR0lEXzkwOV8pO30KCS5zdDkxNntmaWxsOnVybCgjU1ZHSURfOTEwXyk7fQoJLnN0OTE3e2ZpbGw6dXJsKCNTVkdJRF85MTFfKTt9Cgkuc3Q5MTh7ZmlsbDp1cmwoI1NWR0lEXzkxMl8pO30KCS5zdDkxOXtmaWxsOnVybCgjU1ZHSURfOTEzXyk7fQoJLnN0OTIwe2ZpbGw6dXJsKCNTVkdJRF85MTRfKTt9Cgkuc3Q5MjF7ZmlsbDp1cmwoI1NWR0lEXzkxNV8pO30KCS5zdDkyMntmaWxsOnVybCgjU1ZHSURfOTE2Xyk7fQoJLnN0OTIze2ZpbGw6dXJsKCNTVkdJRF85MTdfKTt9Cgkuc3Q5MjR7ZmlsbDp1cmwoI1NWR0lEXzkxOF8pO30KCS5zdDkyNXtmaWxsOnVybCgjU1ZHSURfOTE5Xyk7fQoJLnN0OTI2e2ZpbGw6dXJsKCNTVkdJRF85MjBfKTt9Cgkuc3Q5Mjd7ZmlsbDp1cmwoI1NWR0lEXzkyMV8pO30KCS5zdDkyOHtmaWxsOnVybCgjU1ZHSURfOTIyXyk7fQoJLnN0OTI5e2ZpbGw6dXJsKCNTVkdJRF85MjNfKTt9Cgkuc3Q5MzB7ZmlsbDp1cmwoI1NWR0lEXzkyNF8pO30KCS5zdDkzMXtmaWxsOnVybCgjU1ZHSURfOTI1Xyk7fQoJLnN0OTMye2ZpbGw6dXJsKCNTVkdJRF85MjZfKTt9Cgkuc3Q5MzN7ZmlsbDp1cmwoI1NWR0lEXzkyN18pO30KCS5zdDkzNHtmaWxsOnVybCgjU1ZHSURfOTI4Xyk7fQoJLnN0OTM1e2ZpbGw6dXJsKCNTVkdJRF85MjlfKTt9Cgkuc3Q5MzZ7ZmlsbDp1cmwoI1NWR0lEXzkzMF8pO30KCS5zdDkzN3tmaWxsOnVybCgjU1ZHSURfOTMxXyk7fQoJLnN0OTM4e2ZpbGw6dXJsKCNTVkdJRF85MzJfKTt9Cgkuc3Q5Mzl7ZmlsbDp1cmwoI1NWR0lEXzkzM18pO30KCS5zdDk0MHtmaWxsOnVybCgjU1ZHSURfOTM0Xyk7fQoJLnN0OTQxe2ZpbGw6I0VCRUVGMjt9Cgkuc3Q5NDJ7ZmlsbDp1cmwoI1NWR0lEXzkzNV8pO30KCS5zdDk0M3tmaWxsOnVybCgjU1ZHSURfOTM2Xyk7fQoJLnN0OTQ0e2ZpbGw6dXJsKCNTVkdJRF85MzdfKTt9Cgkuc3Q5NDV7ZmlsbDp1cmwoI1NWR0lEXzkzOF8pO30KCS5zdDk0NntmaWxsOnVybCgjU1ZHSURfOTM5Xyk7fQoJLnN0OTQ3e2ZpbGw6dXJsKCNTVkdJRF85NDBfKTt9Cgkuc3Q5NDh7ZmlsbDp1cmwoI1NWR0lEXzk0MV8pO30KCS5zdDk0OXtmaWxsOnVybCgjU1ZHSURfOTQyXyk7fQoJLnN0OTUwe2ZpbGw6dXJsKCNTVkdJRF85NDNfKTt9Cgkuc3Q5NTF7ZmlsbDp1cmwoI1NWR0lEXzk0NF8pO30KCS5zdDk1MntmaWxsOnVybCgjU1ZHSURfOTQ1Xyk7fQoJLnN0OTUze2ZpbGw6dXJsKCNTVkdJRF85NDZfKTt9Cgkuc3Q5NTR7ZmlsbDp1cmwoI1NWR0lEXzk0N18pO30KCS5zdDk1NXtmaWxsOnVybCgjU1ZHSURfOTQ4Xyk7fQoJLnN0OTU2e2ZpbGw6dXJsKCNTVkdJRF85NDlfKTt9Cgkuc3Q5NTd7ZmlsbDp1cmwoI1NWR0lEXzk1MF8pO30KCS5zdDk1OHtmaWxsOnVybCgjU1ZHSURfOTUxXyk7fQoJLnN0OTU5e2ZpbGw6dXJsKCNTVkdJRF85NTJfKTt9Cgkuc3Q5NjB7ZmlsbDp1cmwoI1NWR0lEXzk1M18pO30KCS5zdDk2MXtmaWxsOnVybCgjU1ZHSURfOTU0Xyk7fQoJLnN0OTYye2ZpbGw6dXJsKCNTVkdJRF85NTVfKTt9Cgkuc3Q5NjN7ZmlsbDp1cmwoI1NWR0lEXzk1Nl8pO30KCS5zdDk2NHtmaWxsOnVybCgjU1ZHSURfOTU3Xyk7fQoJLnN0OTY1e2ZpbGw6dXJsKCNTVkdJRF85NThfKTt9Cgkuc3Q5NjZ7ZmlsbDp1cmwoI1NWR0lEXzk1OV8pO30KCS5zdDk2N3tmaWxsOnVybCgjU1ZHSURfOTYwXyk7fQoJLnN0OTY4e2ZpbGw6dXJsKCNTVkdJRF85NjFfKTt9Cgkuc3Q5Njl7ZmlsbDp1cmwoI1NWR0lEXzk2Ml8pO30KCS5zdDk3MHtmaWxsOnVybCgjU1ZHSURfOTYzXyk7fQoJLnN0OTcxe2ZpbGw6dXJsKCNTVkdJRF85NjRfKTt9Cgkuc3Q5NzJ7ZmlsbDp1cmwoI1NWR0lEXzk2NV8pO30KCS5zdDk3M3tmaWxsOnVybCgjU1ZHSURfOTY2Xyk7fQoJLnN0OTc0e2ZpbGw6dXJsKCNTVkdJRF85NjdfKTt9Cgkuc3Q5NzV7ZmlsbDp1cmwoI1NWR0lEXzk2OF8pO30KCS5zdDk3NntmaWxsOnVybCgjU1ZHSURfOTY5Xyk7fQoJLnN0OTc3e2ZpbGw6dXJsKCNTVkdJRF85NzBfKTt9Cgkuc3Q5Nzh7ZmlsbDp1cmwoI1NWR0lEXzk3MV8pO30KCS5zdDk3OXtmaWxsOnVybCgjU1ZHSURfOTcyXyk7fQoJLnN0OTgwe2ZpbGw6dXJsKCNTVkdJRF85NzNfKTt9Cgkuc3Q5ODF7ZmlsbDp1cmwoI1NWR0lEXzk3NF8pO30KCS5zdDk4MntmaWxsOnVybCgjU1ZHSURfOTc1Xyk7fQoJLnN0OTgze2ZpbGw6dXJsKCNTVkdJRF85NzZfKTt9Cgkuc3Q5ODR7ZmlsbDp1cmwoI1NWR0lEXzk3N18pO30KCS5zdDk4NXtmaWxsOnVybCgjU1ZHSURfOTc4Xyk7fQoJLnN0OTg2e2ZpbGw6dXJsKCNTVkdJRF85NzlfKTt9Cgkuc3Q5ODd7ZmlsbDp1cmwoI1NWR0lEXzk4MF8pO30KCS5zdDk4OHtmaWxsOnVybCgjU1ZHSURfOTgxXyk7fQoJLnN0OTg5e2ZpbGw6dXJsKCNTVkdJRF85ODJfKTt9Cgkuc3Q5OTB7ZmlsbDp1cmwoI1NWR0lEXzk4M18pO30KCS5zdDk5MXtmaWxsOnVybCgjU1ZHSURfOTg0Xyk7fQoJLnN0OTkye2ZpbGw6dXJsKCNTVkdJRF85ODVfKTt9Cgkuc3Q5OTN7ZmlsbDp1cmwoI1NWR0lEXzk4Nl8pO30KCS5zdDk5NHtmaWxsOnVybCgjU1ZHSURfOTg3Xyk7fQoJLnN0OTk1e2ZpbGw6dXJsKCNTVkdJRF85ODhfKTt9Cgkuc3Q5OTZ7ZmlsbDp1cmwoI1NWR0lEXzk4OV8pO30KCS5zdDk5N3tmaWxsOnVybCgjU1ZHSURfOTkwXyk7fQoJLnN0OTk4e2ZpbGw6dXJsKCNTVkdJRF85OTFfKTt9Cgkuc3Q5OTl7ZmlsbDp1cmwoI1NWR0lEXzk5Ml8pO30KCS5zdDEwMDB7ZmlsbDp1cmwoI1NWR0lEXzk5M18pO30KCS5zdDEwMDF7ZmlsbDp1cmwoI1NWR0lEXzk5NF8pO30KCS5zdDEwMDJ7ZmlsbDp1cmwoI1NWR0lEXzk5NV8pO30KCS5zdDEwMDN7ZmlsbDp1cmwoI1NWR0lEXzk5Nl8pO30KCS5zdDEwMDR7ZmlsbDp1cmwoI1NWR0lEXzk5N18pO30KCS5zdDEwMDV7ZmlsbDp1cmwoI1NWR0lEXzk5OF8pO30KCS5zdDEwMDZ7ZmlsbDp1cmwoI1NWR0lEXzk5OV8pO30KCS5zdDEwMDd7ZmlsbDp1cmwoI1NWR0lEXzEwMDBfKTt9Cgkuc3QxMDA4e2ZpbGw6dXJsKCNTVkdJRF8xMDAxXyk7fQoJLnN0MTAwOXtmaWxsOnVybCgjU1ZHSURfMTAwMl8pO30KCS5zdDEwMTB7ZmlsbDp1cmwoI1NWR0lEXzEwMDNfKTt9Cgkuc3QxMDExe2ZpbGw6dXJsKCNTVkdJRF8xMDA0Xyk7fQoJLnN0MTAxMntmaWxsOnVybCgjU1ZHSURfMTAwNV8pO30KCS5zdDEwMTN7ZmlsbDp1cmwoI1NWR0lEXzEwMDZfKTt9Cgkuc3QxMDE0e2ZpbGw6dXJsKCNTVkdJRF8xMDA3Xyk7fQoJLnN0MTAxNXtmaWxsOnVybCgjU1ZHSURfMTAwOF8pO30KCS5zdDEwMTZ7ZmlsbDp1cmwoI1NWR0lEXzEwMDlfKTt9Cgkuc3QxMDE3e2ZpbGw6dXJsKCNTVkdJRF8xMDEwXyk7fQoJLnN0MTAxOHtmaWxsOnVybCgjU1ZHSURfMTAxMV8pO30KCS5zdDEwMTl7ZmlsbDp1cmwoI1NWR0lEXzEwMTJfKTt9Cgkuc3QxMDIwe2ZpbGw6dXJsKCNTVkdJRF8xMDEzXyk7fQoJLnN0MTAyMXtmaWxsOnVybCgjU1ZHSURfMTAxNF8pO30KCS5zdDEwMjJ7ZmlsbDp1cmwoI1NWR0lEXzEwMTVfKTt9Cgkuc3QxMDIze2ZpbGw6dXJsKCNTVkdJRF8xMDE2Xyk7fQoJLnN0MTAyNHtmaWxsOnVybCgjU1ZHSURfMTAxN18pO30KCS5zdDEwMjV7ZmlsbDp1cmwoI1NWR0lEXzEwMThfKTt9Cgkuc3QxMDI2e2ZpbGw6dXJsKCNTVkdJRF8xMDE5Xyk7fQoJLnN0MTAyN3tmaWxsOnVybCgjU1ZHSURfMTAyMF8pO30KCS5zdDEwMjh7ZmlsbDp1cmwoI1NWR0lEXzEwMjFfKTt9Cgkuc3QxMDI5e2ZpbGw6dXJsKCNTVkdJRF8xMDIyXyk7fQoJLnN0MTAzMHtmaWxsOnVybCgjU1ZHSURfMTAyM18pO30KCS5zdDEwMzF7ZmlsbDp1cmwoI1NWR0lEXzEwMjRfKTt9Cgkuc3QxMDMye2ZpbGw6dXJsKCNTVkdJRF8xMDI1Xyk7fQoJLnN0MTAzM3tmaWxsOnVybCgjU1ZHSURfMTAyNl8pO30KCS5zdDEwMzR7ZmlsbDp1cmwoI1NWR0lEXzEwMjdfKTt9Cgkuc3QxMDM1e2ZpbGw6dXJsKCNTVkdJRF8xMDI4Xyk7fQoJLnN0MTAzNntmaWxsOnVybCgjU1ZHSURfMTAyOV8pO30KCS5zdDEwMzd7ZmlsbDp1cmwoI1NWR0lEXzEwMzBfKTt9Cgkuc3QxMDM4e2ZpbGw6dXJsKCNTVkdJRF8xMDMxXyk7fQoJLnN0MTAzOXtmaWxsOnVybCgjU1ZHSURfMTAzMl8pO30KCS5zdDEwNDB7ZmlsbDp1cmwoI1NWR0lEXzEwMzNfKTt9Cgkuc3QxMDQxe2ZpbGw6dXJsKCNTVkdJRF8xMDM0Xyk7fQoJLnN0MTA0MntmaWxsOnVybCgjU1ZHSURfMTAzNV8pO30KCS5zdDEwNDN7ZmlsbDp1cmwoI1NWR0lEXzEwMzZfKTt9Cgkuc3QxMDQ0e2ZpbGw6dXJsKCNTVkdJRF8xMDM3Xyk7fQoJLnN0MTA0NXtmaWxsOnVybCgjU1ZHSURfMTAzOF8pO30KCS5zdDEwNDZ7ZmlsbDp1cmwoI1NWR0lEXzEwMzlfKTt9Cgkuc3QxMDQ3e2ZpbGw6dXJsKCNTVkdJRF8xMDQwXyk7fQoJLnN0MTA0OHtmaWxsOnVybCgjU1ZHSURfMTA0MV8pO30KCS5zdDEwNDl7ZmlsbDp1cmwoI1NWR0lEXzEwNDJfKTt9Cgkuc3QxMDUwe2ZpbGw6dXJsKCNTVkdJRF8xMDQzXyk7fQoJLnN0MTA1MXtmaWxsOnVybCgjU1ZHSURfMTA0NF8pO30KCS5zdDEwNTJ7ZmlsbDp1cmwoI1NWR0lEXzEwNDVfKTt9Cgkuc3QxMDUze2ZpbGw6dXJsKCNTVkdJRF8xMDQ2Xyk7fQoJLnN0MTA1NHtmaWxsOnVybCgjU1ZHSURfMTA0N18pO30KCS5zdDEwNTV7ZmlsbDp1cmwoI1NWR0lEXzEwNDhfKTt9Cgkuc3QxMDU2e2ZpbGw6dXJsKCNTVkdJRF8xMDQ5Xyk7fQoJLnN0MTA1N3tmaWxsOnVybCgjU1ZHSURfMTA1MF8pO30KCS5zdDEwNTh7ZmlsbDp1cmwoI1NWR0lEXzEwNTFfKTt9Cgkuc3QxMDU5e2ZpbGw6dXJsKCNTVkdJRF8xMDUyXyk7fQoJLnN0MTA2MHtmaWxsOnVybCgjU1ZHSURfMTA1M18pO30KCS5zdDEwNjF7ZmlsbDp1cmwoI1NWR0lEXzEwNTRfKTt9Cgkuc3QxMDYye2ZpbGw6dXJsKCNTVkdJRF8xMDU1Xyk7fQoJLnN0MTA2M3tmaWxsOnVybCgjU1ZHSURfMTA1Nl8pO30KCS5zdDEwNjR7ZmlsbDojRjdGOEZBO30KCS5zdDEwNjV7ZmlsbDp1cmwoI1NWR0lEXzEwNTdfKTt9Cgkuc3QxMDY2e2ZpbGw6dXJsKCNTVkdJRF8xMDU4Xyk7fQoJLnN0MTA2N3tmaWxsOnVybCgjU1ZHSURfMTA1OV8pO30KCS5zdDEwNjh7ZmlsbDp1cmwoI1NWR0lEXzEwNjBfKTt9Cgkuc3QxMDY5e2ZpbGw6dXJsKCNTVkdJRF8xMDYxXyk7fQoJLnN0MTA3MHtmaWxsOnVybCgjU1ZHSURfMTA2Ml8pO30KCS5zdDEwNzF7ZmlsbDp1cmwoI1NWR0lEXzEwNjNfKTt9Cgkuc3QxMDcye2ZpbGw6dXJsKCNTVkdJRF8xMDY0Xyk7fQoJLnN0MTA3M3tmaWxsOnVybCgjU1ZHSURfMTA2NV8pO30KCS5zdDEwNzR7ZmlsbDp1cmwoI1NWR0lEXzEwNjZfKTt9Cgkuc3QxMDc1e2ZpbGw6dXJsKCNTVkdJRF8xMDY3Xyk7fQoJLnN0MTA3NntmaWxsOnVybCgjU1ZHSURfMTA2OF8pO30KCS5zdDEwNzd7ZmlsbDp1cmwoI1NWR0lEXzEwNjlfKTt9Cgkuc3QxMDc4e2ZpbGw6dXJsKCNTVkdJRF8xMDcwXyk7fQoJLnN0MTA3OXtmaWxsOnVybCgjU1ZHSURfMTA3MV8pO30KCS5zdDEwODB7ZmlsbDp1cmwoI1NWR0lEXzEwNzJfKTt9Cgkuc3QxMDgxe2ZpbGw6dXJsKCNTVkdJRF8xMDczXyk7fQoJLnN0MTA4MntmaWxsOnVybCgjU1ZHSURfMTA3NF8pO30KCS5zdDEwODN7ZmlsbDp1cmwoI1NWR0lEXzEwNzVfKTt9Cgkuc3QxMDg0e2ZpbGw6dXJsKCNTVkdJRF8xMDc2Xyk7fQoJLnN0MTA4NXtmaWxsOnVybCgjU1ZHSURfMTA3N18pO30KCS5zdDEwODZ7ZmlsbDp1cmwoI1NWR0lEXzEwNzhfKTt9Cgkuc3QxMDg3e2ZpbGw6dXJsKCNTVkdJRF8xMDc5Xyk7fQoJLnN0MTA4OHtmaWxsOnVybCgjU1ZHSURfMTA4MF8pO30KCS5zdDEwODl7ZmlsbDp1cmwoI1NWR0lEXzEwODFfKTt9Cgkuc3QxMDkwe2ZpbGw6dXJsKCNTVkdJRF8xMDgyXyk7fQoJLnN0MTA5MXtmaWxsOnVybCgjU1ZHSURfMTA4M18pO30KCS5zdDEwOTJ7ZmlsbDp1cmwoI1NWR0lEXzEwODRfKTt9Cgkuc3QxMDkze2ZpbGw6dXJsKCNTVkdJRF8xMDg1Xyk7fQoJLnN0MTA5NHtmaWxsOnVybCgjU1ZHSURfMTA4Nl8pO30KCS5zdDEwOTV7ZmlsbDp1cmwoI1NWR0lEXzEwODdfKTt9Cgkuc3QxMDk2e2ZpbGw6I0M3RDJFMDt9Cgkuc3QxMDk3e2ZpbGw6dXJsKCNTVkdJRF8xMDg4Xyk7fQoJLnN0MTA5OHtmaWxsOnVybCgjU1ZHSURfMTA4OV8pO30KCS5zdDEwOTl7ZmlsbDp1cmwoI1NWR0lEXzEwOTBfKTt9Cgkuc3QxMTAwe2ZpbGw6dXJsKCNTVkdJRF8xMDkxXyk7fQoJLnN0MTEwMXtmaWxsOnVybCgjU1ZHSURfMTA5Ml8pO30KCS5zdDExMDJ7ZmlsbDp1cmwoI1NWR0lEXzEwOTNfKTt9Cgkuc3QxMTAze2ZpbGw6dXJsKCNTVkdJRF8xMDk0Xyk7fQoJLnN0MTEwNHtmaWxsOnVybCgjU1ZHSURfMTA5NV8pO30KCS5zdDExMDV7ZmlsbDp1cmwoI1NWR0lEXzEwOTZfKTt9Cgkuc3QxMTA2e2ZpbGw6dXJsKCNTVkdJRF8xMDk3Xyk7fQoJLnN0MTEwN3tmaWxsOnVybCgjU1ZHSURfMTA5OF8pO30KCS5zdDExMDh7ZmlsbDp1cmwoI1NWR0lEXzEwOTlfKTt9Cgkuc3QxMTA5e2ZpbGw6dXJsKCNTVkdJRF8xMTAwXyk7fQoJLnN0MTExMHtmaWxsOnVybCgjU1ZHSURfMTEwMV8pO30KCS5zdDExMTF7ZmlsbDp1cmwoI1NWR0lEXzExMDJfKTt9Cgkuc3QxMTEye2ZpbGw6dXJsKCNTVkdJRF8xMTAzXyk7fQoJLnN0MTExM3tmaWxsOnVybCgjU1ZHSURfMTEwNF8pO30KCS5zdDExMTR7ZmlsbDp1cmwoI1NWR0lEXzExMDVfKTt9Cgkuc3QxMTE1e2ZpbGw6dXJsKCNTVkdJRF8xMTA2Xyk7fQoJLnN0MTExNntmaWxsOnVybCgjU1ZHSURfMTEwN18pO30KCS5zdDExMTd7ZmlsbDp1cmwoI1NWR0lEXzExMDhfKTt9Cgkuc3QxMTE4e2ZpbGw6dXJsKCNTVkdJRF8xMTA5Xyk7fQoJLnN0MTExOXtmaWxsOnVybCgjU1ZHSURfMTExMF8pO30KCS5zdDExMjB7ZmlsbDp1cmwoI1NWR0lEXzExMTFfKTt9Cgkuc3QxMTIxe2ZpbGw6dXJsKCNTVkdJRF8xMTEyXyk7fQoJLnN0MTEyMntmaWxsOnVybCgjU1ZHSURfMTExM18pO30KCS5zdDExMjN7ZmlsbDp1cmwoI1NWR0lEXzExMTRfKTt9Cgkuc3QxMTI0e2ZpbGw6dXJsKCNTVkdJRF8xMTE1Xyk7fQoJLnN0MTEyNXtmaWxsOnVybCgjU1ZHSURfMTExNl8pO30KCS5zdDExMjZ7ZmlsbDp1cmwoI1NWR0lEXzExMTdfKTt9Cgkuc3QxMTI3e2ZpbGw6dXJsKCNTVkdJRF8xMTE4Xyk7fQoJLnN0MTEyOHtmaWxsOnVybCgjU1ZHSURfMTExOV8pO30KCS5zdDExMjl7ZmlsbDp1cmwoI1NWR0lEXzExMjBfKTt9Cgkuc3QxMTMwe2ZpbGw6dXJsKCNTVkdJRF8xMTIxXyk7fQoJLnN0MTEzMXtmaWxsOnVybCgjU1ZHSURfMTEyMl8pO30KCS5zdDExMzJ7ZmlsbDp1cmwoI1NWR0lEXzExMjNfKTt9Cgkuc3QxMTMze2ZpbGw6dXJsKCNTVkdJRF8xMTI0Xyk7fQoJLnN0MTEzNHtmaWxsOnVybCgjU1ZHSURfMTEyNV8pO30KCS5zdDExMzV7ZmlsbDp1cmwoI1NWR0lEXzExMjZfKTt9Cgkuc3QxMTM2e2ZpbGw6dXJsKCNTVkdJRF8xMTI3Xyk7fQoJLnN0MTEzN3tmaWxsOnVybCgjU1ZHSURfMTEyOF8pO30KCS5zdDExMzh7ZmlsbDp1cmwoI1NWR0lEXzExMjlfKTt9Cgkuc3QxMTM5e2ZpbGw6dXJsKCNTVkdJRF8xMTMwXyk7fQoJLnN0MTE0MHtmaWxsOnVybCgjU1ZHSURfMTEzMV8pO30KCS5zdDExNDF7ZmlsbDp1cmwoI1NWR0lEXzExMzJfKTt9Cgkuc3QxMTQye2ZpbGw6dXJsKCNTVkdJRF8xMTMzXyk7fQoJLnN0MTE0M3tmaWxsOnVybCgjU1ZHSURfMTEzNF8pO30KCS5zdDExNDR7ZmlsbDp1cmwoI1NWR0lEXzExMzVfKTt9Cgkuc3QxMTQ1e2ZpbGw6dXJsKCNTVkdJRF8xMTM2Xyk7fQoJLnN0MTE0NntmaWxsOnVybCgjU1ZHSURfMTEzN18pO30KCS5zdDExNDd7ZmlsbDp1cmwoI1NWR0lEXzExMzhfKTt9Cgkuc3QxMTQ4e2ZpbGw6dXJsKCNTVkdJRF8xMTM5Xyk7fQoJLnN0MTE0OXtmaWxsOnVybCgjU1ZHSURfMTE0MF8pO30KCS5zdDExNTB7ZmlsbDp1cmwoI1NWR0lEXzExNDFfKTt9Cgkuc3QxMTUxe2ZpbGw6dXJsKCNTVkdJRF8xMTQyXyk7fQoJLnN0MTE1MntmaWxsOnVybCgjU1ZHSURfMTE0M18pO30KCS5zdDExNTN7ZmlsbDp1cmwoI1NWR0lEXzExNDRfKTt9Cgkuc3QxMTU0e2ZpbGw6dXJsKCNTVkdJRF8xMTQ1Xyk7fQoJLnN0MTE1NXtmaWxsOnVybCgjU1ZHSURfMTE0Nl8pO30KCS5zdDExNTZ7ZmlsbDp1cmwoI1NWR0lEXzExNDdfKTt9Cgkuc3QxMTU3e2ZpbGw6I0RCRTBFODt9Cgkuc3QxMTU4e2ZpbGw6dXJsKCNTVkdJRF8xMTQ4Xyk7fQoJLnN0MTE1OXtmaWxsOnVybCgjU1ZHSURfMTE0OV8pO30KCS5zdDExNjB7ZmlsbDp1cmwoI1NWR0lEXzExNTBfKTt9Cgkuc3QxMTYxe2ZpbGw6dXJsKCNTVkdJRF8xMTUxXyk7fQoJLnN0MTE2MntmaWxsOnVybCgjU1ZHSURfMTE1Ml8pO30KCS5zdDExNjN7ZmlsbDp1cmwoI1NWR0lEXzExNTNfKTt9Cgkuc3QxMTY0e2ZpbGw6dXJsKCNTVkdJRF8xMTU0Xyk7fQoJLnN0MTE2NXtmaWxsOnVybCgjU1ZHSURfMTE1NV8pO30KCS5zdDExNjZ7ZmlsbDp1cmwoI1NWR0lEXzExNTZfKTt9Cgkuc3QxMTY3e2ZpbGw6dXJsKCNTVkdJRF8xMTU3Xyk7fQoJLnN0MTE2OHtmaWxsOnVybCgjU1ZHSURfMTE1OF8pO30KCS5zdDExNjl7ZmlsbDp1cmwoI1NWR0lEXzExNTlfKTt9Cgkuc3QxMTcwe2ZpbGw6dXJsKCNTVkdJRF8xMTYwXyk7fQoJLnN0MTE3MXtmaWxsOnVybCgjU1ZHSURfMTE2MV8pO30KCS5zdDExNzJ7ZmlsbDp1cmwoI1NWR0lEXzExNjJfKTt9Cgkuc3QxMTcze2ZpbGw6dXJsKCNTVkdJRF8xMTYzXyk7fQoJLnN0MTE3NHtmaWxsOnVybCgjU1ZHSURfMTE2NF8pO30KCS5zdDExNzV7ZmlsbDp1cmwoI1NWR0lEXzExNjVfKTt9Cgkuc3QxMTc2e2ZpbGw6dXJsKCNTVkdJRF8xMTY2Xyk7fQoJLnN0MTE3N3tmaWxsOnVybCgjU1ZHSURfMTE2N18pO30KCS5zdDExNzh7ZmlsbDp1cmwoI1NWR0lEXzExNjhfKTt9Cgkuc3QxMTc5e2ZpbGw6dXJsKCNTVkdJRF8xMTY5Xyk7fQoJLnN0MTE4MHtmaWxsOnVybCgjU1ZHSURfMTE3MF8pO30KCS5zdDExODF7ZmlsbDp1cmwoI1NWR0lEXzExNzFfKTt9Cgkuc3QxMTgye2ZpbGw6dXJsKCNTVkdJRF8xMTcyXyk7fQoJLnN0MTE4M3tmaWxsOnVybCgjU1ZHSURfMTE3M18pO30KCS5zdDExODR7ZmlsbDp1cmwoI1NWR0lEXzExNzRfKTt9Cgkuc3QxMTg1e2ZpbGw6dXJsKCNTVkdJRF8xMTc1Xyk7fQoJLnN0MTE4NntmaWxsOnVybCgjU1ZHSURfMTE3Nl8pO30KCS5zdDExODd7ZmlsbDp1cmwoI1NWR0lEXzExNzdfKTt9Cgkuc3QxMTg4e2ZpbGw6dXJsKCNTVkdJRF8xMTc4Xyk7fQoJLnN0MTE4OXtmaWxsOnVybCgjU1ZHSURfMTE3OV8pO30KCS5zdDExOTB7ZmlsbDp1cmwoI1NWR0lEXzExODBfKTt9Cgkuc3QxMTkxe2ZpbGw6dXJsKCNTVkdJRF8xMTgxXyk7fQoJLnN0MTE5MntmaWxsOnVybCgjU1ZHSURfMTE4Ml8pO30KCS5zdDExOTN7ZmlsbDp1cmwoI1NWR0lEXzExODNfKTt9Cgkuc3QxMTk0e2ZpbGw6dXJsKCNTVkdJRF8xMTg0Xyk7fQoJLnN0MTE5NXtmaWxsOnVybCgjU1ZHSURfMTE4NV8pO30KCS5zdDExOTZ7ZmlsbDp1cmwoI1NWR0lEXzExODZfKTt9Cgkuc3QxMTk3e2ZpbGw6dXJsKCNTVkdJRF8xMTg3Xyk7fQoJLnN0MTE5OHtmaWxsOnVybCgjU1ZHSURfMTE4OF8pO30KCS5zdDExOTl7ZmlsbDp1cmwoI1NWR0lEXzExODlfKTt9Cgkuc3QxMjAwe2ZpbGw6dXJsKCNTVkdJRF8xMTkwXyk7fQoJLnN0MTIwMXtmaWxsOnVybCgjU1ZHSURfMTE5MV8pO30KCS5zdDEyMDJ7ZmlsbDp1cmwoI1NWR0lEXzExOTJfKTt9Cgkuc3QxMjAze2ZpbGw6dXJsKCNTVkdJRF8xMTkzXyk7fQoJLnN0MTIwNHtmaWxsOnVybCgjU1ZHSURfMTE5NF8pO30KCS5zdDEyMDV7ZmlsbDp1cmwoI1NWR0lEXzExOTVfKTt9Cgkuc3QxMjA2e2ZpbGw6dXJsKCNTVkdJRF8xMTk2Xyk7fQoJLnN0MTIwN3tmaWxsOnVybCgjU1ZHSURfMTE5N18pO30KCS5zdDEyMDh7ZmlsbDp1cmwoI1NWR0lEXzExOThfKTt9Cgkuc3QxMjA5e2ZpbGw6dXJsKCNTVkdJRF8xMTk5Xyk7fQoJLnN0MTIxMHtmaWxsOnVybCgjU1ZHSURfMTIwMF8pO30KCS5zdDEyMTF7ZmlsbDp1cmwoI1NWR0lEXzEyMDFfKTt9Cgkuc3QxMjEye2ZpbGw6dXJsKCNTVkdJRF8xMjAyXyk7fQoJLnN0MTIxM3tmaWxsOnVybCgjU1ZHSURfMTIwM18pO30KCS5zdDEyMTR7ZmlsbDp1cmwoI1NWR0lEXzEyMDRfKTt9Cgkuc3QxMjE1e2ZpbGw6dXJsKCNTVkdJRF8xMjA1Xyk7fQoJLnN0MTIxNntmaWxsOnVybCgjU1ZHSURfMTIwNl8pO30KCS5zdDEyMTd7ZmlsbDp1cmwoI1NWR0lEXzEyMDdfKTt9Cgkuc3QxMjE4e2ZpbGw6dXJsKCNTVkdJRF8xMjA4Xyk7fQoJLnN0MTIxOXtmaWxsOnVybCgjU1ZHSURfMTIwOV8pO30KCS5zdDEyMjB7ZmlsbDp1cmwoI1NWR0lEXzEyMTBfKTt9Cgkuc3QxMjIxe2ZpbGw6dXJsKCNTVkdJRF8xMjExXyk7fQoJLnN0MTIyMntmaWxsOnVybCgjU1ZHSURfMTIxMl8pO30KCS5zdDEyMjN7ZmlsbDp1cmwoI1NWR0lEXzEyMTNfKTt9Cgkuc3QxMjI0e2ZpbGw6dXJsKCNTVkdJRF8xMjE0Xyk7fQoJLnN0MTIyNXtmaWxsOnVybCgjU1ZHSURfMTIxNV8pO30KCS5zdDEyMjZ7ZmlsbDp1cmwoI1NWR0lEXzEyMTZfKTt9Cgkuc3QxMjI3e2ZpbGw6dXJsKCNTVkdJRF8xMjE3Xyk7fQoJLnN0MTIyOHtmaWxsOnVybCgjU1ZHSURfMTIxOF8pO30KCS5zdDEyMjl7ZmlsbDp1cmwoI1NWR0lEXzEyMTlfKTt9Cgkuc3QxMjMwe2ZpbGw6dXJsKCNTVkdJRF8xMjIwXyk7fQoJLnN0MTIzMXtmaWxsOnVybCgjU1ZHSURfMTIyMV8pO30KCS5zdDEyMzJ7ZmlsbDp1cmwoI1NWR0lEXzEyMjJfKTt9Cgkuc3QxMjMze2ZpbGw6dXJsKCNTVkdJRF8xMjIzXyk7fQoJLnN0MTIzNHtmaWxsOnVybCgjU1ZHSURfMTIyNF8pO30KCS5zdDEyMzV7ZmlsbDp1cmwoI1NWR0lEXzEyMjVfKTt9Cgkuc3QxMjM2e2ZpbGw6dXJsKCNTVkdJRF8xMjI2Xyk7fQoJLnN0MTIzN3tmaWxsOnVybCgjU1ZHSURfMTIyN18pO30KCS5zdDEyMzh7ZmlsbDp1cmwoI1NWR0lEXzEyMjhfKTt9Cgkuc3QxMjM5e2ZpbGw6dXJsKCNTVkdJRF8xMjI5Xyk7fQoJLnN0MTI0MHtmaWxsOnVybCgjU1ZHSURfMTIzMF8pO30KCS5zdDEyNDF7ZmlsbDp1cmwoI1NWR0lEXzEyMzFfKTt9Cgkuc3QxMjQye2ZpbGw6dXJsKCNTVkdJRF8xMjMyXyk7fQoJLnN0MTI0M3tmaWxsOnVybCgjU1ZHSURfMTIzM18pO30KCS5zdDEyNDR7ZmlsbDp1cmwoI1NWR0lEXzEyMzRfKTt9Cgkuc3QxMjQ1e2ZpbGw6dXJsKCNTVkdJRF8xMjM1Xyk7fQoJLnN0MTI0NntmaWxsOnVybCgjU1ZHSURfMTIzNl8pO30KCS5zdDEyNDd7ZmlsbDp1cmwoI1NWR0lEXzEyMzdfKTt9Cgkuc3QxMjQ4e2ZpbGw6dXJsKCNTVkdJRF8xMjM4Xyk7fQoJLnN0MTI0OXtmaWxsOnVybCgjU1ZHSURfMTIzOV8pO30KCS5zdDEyNTB7ZmlsbDp1cmwoI1NWR0lEXzEyNDBfKTt9Cgkuc3QxMjUxe2ZpbGw6dXJsKCNTVkdJRF8xMjQxXyk7fQoJLnN0MTI1MntmaWxsOnVybCgjU1ZHSURfMTI0Ml8pO30KCS5zdDEyNTN7ZmlsbDp1cmwoI1NWR0lEXzEyNDNfKTt9Cgkuc3QxMjU0e2ZpbGw6dXJsKCNTVkdJRF8xMjQ0Xyk7fQoJLnN0MTI1NXtmaWxsOnVybCgjU1ZHSURfMTI0NV8pO30KCS5zdDEyNTZ7ZmlsbDp1cmwoI1NWR0lEXzEyNDZfKTt9Cgkuc3QxMjU3e2ZpbGw6dXJsKCNTVkdJRF8xMjQ3Xyk7fQoJLnN0MTI1OHtmaWxsOnVybCgjU1ZHSURfMTI0OF8pO30KCS5zdDEyNTl7ZmlsbDp1cmwoI1NWR0lEXzEyNDlfKTt9Cgkuc3QxMjYwe2ZpbGw6dXJsKCNTVkdJRF8xMjUwXyk7fQoJLnN0MTI2MXtmaWxsOnVybCgjU1ZHSURfMTI1MV8pO30KCS5zdDEyNjJ7ZmlsbDp1cmwoI1NWR0lEXzEyNTJfKTt9Cgkuc3QxMjYze2ZpbGw6dXJsKCNTVkdJRF8xMjUzXyk7fQoJLnN0MTI2NHtmaWxsOnVybCgjU1ZHSURfMTI1NF8pO30KCS5zdDEyNjV7ZmlsbDp1cmwoI1NWR0lEXzEyNTVfKTt9Cgkuc3QxMjY2e2ZpbGw6dXJsKCNTVkdJRF8xMjU2Xyk7fQoJLnN0MTI2N3tmaWxsOnVybCgjU1ZHSURfMTI1N18pO30KCS5zdDEyNjh7ZmlsbDp1cmwoI1NWR0lEXzEyNThfKTt9Cgkuc3QxMjY5e2ZpbGw6dXJsKCNTVkdJRF8xMjU5Xyk7fQoJLnN0MTI3MHtmaWxsOnVybCgjU1ZHSURfMTI2MF8pO30KCS5zdDEyNzF7ZmlsbDp1cmwoI1NWR0lEXzEyNjFfKTt9Cgkuc3QxMjcye2ZpbGw6dXJsKCNTVkdJRF8xMjYyXyk7fQoJLnN0MTI3M3tmaWxsOnVybCgjU1ZHSURfMTI2M18pO30KCS5zdDEyNzR7ZmlsbDp1cmwoI1NWR0lEXzEyNjRfKTt9Cgkuc3QxMjc1e2ZpbGw6dXJsKCNTVkdJRF8xMjY1Xyk7fQoJLnN0MTI3NntmaWxsOnVybCgjU1ZHSURfMTI2Nl8pO30KCS5zdDEyNzd7ZmlsbDp1cmwoI1NWR0lEXzEyNjdfKTt9Cgkuc3QxMjc4e2ZpbGw6dXJsKCNTVkdJRF8xMjY4Xyk7fQoJLnN0MTI3OXtmaWxsOnVybCgjU1ZHSURfMTI2OV8pO30KCS5zdDEyODB7ZmlsbDp1cmwoI1NWR0lEXzEyNzBfKTt9Cgkuc3QxMjgxe2ZpbGw6dXJsKCNTVkdJRF8xMjcxXyk7fQoJLnN0MTI4MntmaWxsOnVybCgjU1ZHSURfMTI3Ml8pO30KCS5zdDEyODN7ZmlsbDp1cmwoI1NWR0lEXzEyNzNfKTt9Cgkuc3QxMjg0e2ZpbGw6dXJsKCNTVkdJRF8xMjc0Xyk7fQoJLnN0MTI4NXtmaWxsOnVybCgjU1ZHSURfMTI3NV8pO30KCS5zdDEyODZ7ZmlsbDp1cmwoI1NWR0lEXzEyNzZfKTt9Cgkuc3QxMjg3e2ZpbGw6dXJsKCNTVkdJRF8xMjc3Xyk7fQoJLnN0MTI4OHtmaWxsOnVybCgjU1ZHSURfMTI3OF8pO30KCS5zdDEyODl7ZmlsbDp1cmwoI1NWR0lEXzEyNzlfKTt9Cgkuc3QxMjkwe2ZpbGw6dXJsKCNTVkdJRF8xMjgwXyk7fQoJLnN0MTI5MXtmaWxsOnVybCgjU1ZHSURfMTI4MV8pO30KCS5zdDEyOTJ7ZmlsbDp1cmwoI1NWR0lEXzEyODJfKTt9Cgkuc3QxMjkze2ZpbGw6dXJsKCNTVkdJRF8xMjgzXyk7fQoJLnN0MTI5NHtmaWxsOnVybCgjU1ZHSURfMTI4NF8pO30KCS5zdDEyOTV7ZmlsbDp1cmwoI1NWR0lEXzEyODVfKTt9Cgkuc3QxMjk2e2ZpbGw6dXJsKCNTVkdJRF8xMjg2Xyk7fQoJLnN0MTI5N3tmaWxsOnVybCgjU1ZHSURfMTI4N18pO30KCS5zdDEyOTh7ZmlsbDp1cmwoI1NWR0lEXzEyODhfKTt9Cgkuc3QxMjk5e2ZpbGw6dXJsKCNTVkdJRF8xMjg5Xyk7fQoJLnN0MTMwMHtmaWxsOiNEOERFRTc7fQoJLnN0MTMwMXtmaWxsOnVybCgjU1ZHSURfMTI5MF8pO30KCS5zdDEzMDJ7ZmlsbDp1cmwoI1NWR0lEXzEyOTFfKTt9Cgkuc3QxMzAze2ZpbGw6dXJsKCNTVkdJRF8xMjkyXyk7fQoJLnN0MTMwNHtmaWxsOnVybCgjU1ZHSURfMTI5M18pO30KCS5zdDEzMDV7ZmlsbDp1cmwoI1NWR0lEXzEyOTRfKTt9Cgkuc3QxMzA2e2ZpbGw6dXJsKCNTVkdJRF8xMjk1Xyk7fQoJLnN0MTMwN3tmaWxsOnVybCgjU1ZHSURfMTI5Nl8pO30KCS5zdDEzMDh7ZmlsbDp1cmwoI1NWR0lEXzEyOTdfKTt9Cgkuc3QxMzA5e2ZpbGw6dXJsKCNTVkdJRF8xMjk4Xyk7fQoJLnN0MTMxMHtmaWxsOnVybCgjU1ZHSURfMTI5OV8pO30KCS5zdDEzMTF7ZmlsbDp1cmwoI1NWR0lEXzEzMDBfKTt9Cgkuc3QxMzEye2ZpbGw6dXJsKCNTVkdJRF8xMzAxXyk7fQoJLnN0MTMxM3tmaWxsOnVybCgjU1ZHSURfMTMwMl8pO30KCS5zdDEzMTR7ZmlsbDp1cmwoI1NWR0lEXzEzMDNfKTt9Cgkuc3QxMzE1e2ZpbGw6dXJsKCNTVkdJRF8xMzA0Xyk7fQoJLnN0MTMxNntmaWxsOnVybCgjU1ZHSURfMTMwNV8pO30KCS5zdDEzMTd7ZmlsbDp1cmwoI1NWR0lEXzEzMDZfKTt9Cgkuc3QxMzE4e2ZpbGw6dXJsKCNTVkdJRF8xMzA3Xyk7fQoJLnN0MTMxOXtmaWxsOnVybCgjU1ZHSURfMTMwOF8pO30KCS5zdDEzMjB7ZmlsbDp1cmwoI1NWR0lEXzEzMDlfKTt9Cgkuc3QxMzIxe2ZpbGw6dXJsKCNTVkdJRF8xMzEwXyk7fQoJLnN0MTMyMntmaWxsOnVybCgjU1ZHSURfMTMxMV8pO30KCS5zdDEzMjN7ZmlsbDp1cmwoI1NWR0lEXzEzMTJfKTt9Cgkuc3QxMzI0e2ZpbGw6dXJsKCNTVkdJRF8xMzEzXyk7fQoJLnN0MTMyNXtmaWxsOnVybCgjU1ZHSURfMTMxNF8pO30KCS5zdDEzMjZ7ZmlsbDp1cmwoI1NWR0lEXzEzMTVfKTt9Cgkuc3QxMzI3e2ZpbGw6dXJsKCNTVkdJRF8xMzE2Xyk7fQoJLnN0MTMyOHtmaWxsOnVybCgjU1ZHSURfMTMxN18pO30KCS5zdDEzMjl7ZmlsbDp1cmwoI1NWR0lEXzEzMThfKTt9Cgkuc3QxMzMwe2ZpbGw6dXJsKCNTVkdJRF8xMzE5Xyk7fQoJLnN0MTMzMXtmaWxsOnVybCgjU1ZHSURfMTMyMF8pO30KCS5zdDEzMzJ7ZmlsbDp1cmwoI1NWR0lEXzEzMjFfKTt9Cgkuc3QxMzMze2ZpbGw6dXJsKCNTVkdJRF8xMzIyXyk7fQoJLnN0MTMzNHtmaWxsOnVybCgjU1ZHSURfMTMyM18pO30KCS5zdDEzMzV7ZmlsbDp1cmwoI1NWR0lEXzEzMjRfKTt9Cgkuc3QxMzM2e2ZpbGw6dXJsKCNTVkdJRF8xMzI1Xyk7fQoJLnN0MTMzN3tmaWxsOnVybCgjU1ZHSURfMTMyNl8pO30KCS5zdDEzMzh7ZmlsbDp1cmwoI1NWR0lEXzEzMjdfKTt9Cgkuc3QxMzM5e2ZpbGw6dXJsKCNTVkdJRF8xMzI4Xyk7fQoJLnN0MTM0MHtmaWxsOnVybCgjU1ZHSURfMTMyOV8pO30KCS5zdDEzNDF7ZmlsbDp1cmwoI1NWR0lEXzEzMzBfKTt9Cgkuc3QxMzQye2ZpbGw6dXJsKCNTVkdJRF8xMzMxXyk7fQoJLnN0MTM0M3tmaWxsOnVybCgjU1ZHSURfMTMzMl8pO30KCS5zdDEzNDR7ZmlsbDp1cmwoI1NWR0lEXzEzMzNfKTt9Cgkuc3QxMzQ1e2ZpbGw6dXJsKCNTVkdJRF8xMzM0Xyk7fQoJLnN0MTM0NntmaWxsOnVybCgjU1ZHSURfMTMzNV8pO30KCS5zdDEzNDd7ZmlsbDp1cmwoI1NWR0lEXzEzMzZfKTt9Cgkuc3QxMzQ4e2ZpbGw6dXJsKCNTVkdJRF8xMzM3Xyk7fQoJLnN0MTM0OXtmaWxsOnVybCgjU1ZHSURfMTMzOF8pO30KCS5zdDEzNTB7ZmlsbDp1cmwoI1NWR0lEXzEzMzlfKTt9Cgkuc3QxMzUxe2ZpbGw6dXJsKCNTVkdJRF8xMzQwXyk7fQoJLnN0MTM1MntmaWxsOnVybCgjU1ZHSURfMTM0MV8pO30KCS5zdDEzNTN7ZmlsbDp1cmwoI1NWR0lEXzEzNDJfKTt9Cgkuc3QxMzU0e2ZpbGw6dXJsKCNTVkdJRF8xMzQzXyk7fQoJLnN0MTM1NXtmaWxsOnVybCgjU1ZHSURfMTM0NF8pO30KCS5zdDEzNTZ7ZmlsbDp1cmwoI1NWR0lEXzEzNDVfKTt9Cgkuc3QxMzU3e2ZpbGw6dXJsKCNTVkdJRF8xMzQ2Xyk7fQoJLnN0MTM1OHtmaWxsOnVybCgjU1ZHSURfMTM0N18pO30KCS5zdDEzNTl7ZmlsbDp1cmwoI1NWR0lEXzEzNDhfKTt9Cgkuc3QxMzYwe2ZpbGw6dXJsKCNTVkdJRF8xMzQ5Xyk7fQoJLnN0MTM2MXtmaWxsOnVybCgjU1ZHSURfMTM1MF8pO30KCS5zdDEzNjJ7ZmlsbDp1cmwoI1NWR0lEXzEzNTFfKTt9Cgkuc3QxMzYze2ZpbGw6dXJsKCNTVkdJRF8xMzUyXyk7fQoJLnN0MTM2NHtmaWxsOnVybCgjU1ZHSURfMTM1M18pO30KCS5zdDEzNjV7ZmlsbDp1cmwoI1NWR0lEXzEzNTRfKTt9Cgkuc3QxMzY2e2ZpbGw6dXJsKCNTVkdJRF8xMzU1Xyk7fQoJLnN0MTM2N3tmaWxsOnVybCgjU1ZHSURfMTM1Nl8pO30KCS5zdDEzNjh7ZmlsbDp1cmwoI1NWR0lEXzEzNTdfKTt9Cgkuc3QxMzY5e2ZpbGw6dXJsKCNTVkdJRF8xMzU4Xyk7fQoJLnN0MTM3MHtmaWxsOnVybCgjU1ZHSURfMTM1OV8pO30KCS5zdDEzNzF7ZmlsbDp1cmwoI1NWR0lEXzEzNjBfKTt9Cgkuc3QxMzcye2ZpbGw6dXJsKCNTVkdJRF8xMzYxXyk7fQoJLnN0MTM3M3tmaWxsOnVybCgjU1ZHSURfMTM2Ml8pO30KCS5zdDEzNzR7ZmlsbDp1cmwoI1NWR0lEXzEzNjNfKTt9Cgkuc3QxMzc1e2ZpbGw6dXJsKCNTVkdJRF8xMzY0Xyk7fQoJLnN0MTM3NntmaWxsOnVybCgjU1ZHSURfMTM2NV8pO30KCS5zdDEzNzd7ZmlsbDp1cmwoI1NWR0lEXzEzNjZfKTt9Cgkuc3QxMzc4e2ZpbGw6dXJsKCNTVkdJRF8xMzY3Xyk7fQoJLnN0MTM3OXtmaWxsOnVybCgjU1ZHSURfMTM2OF8pO30KCS5zdDEzODB7ZmlsbDp1cmwoI1NWR0lEXzEzNjlfKTt9Cgkuc3QxMzgxe2ZpbGw6dXJsKCNTVkdJRF8xMzcwXyk7fQoJLnN0MTM4MntmaWxsOnVybCgjU1ZHSURfMTM3MV8pO30KCS5zdDEzODN7ZmlsbDp1cmwoI1NWR0lEXzEzNzJfKTt9Cgkuc3QxMzg0e2ZpbGw6dXJsKCNTVkdJRF8xMzczXyk7fQoJLnN0MTM4NXtmaWxsOnVybCgjU1ZHSURfMTM3NF8pO30KCS5zdDEzODZ7ZmlsbDp1cmwoI1NWR0lEXzEzNzVfKTt9Cgkuc3QxMzg3e2ZpbGw6dXJsKCNTVkdJRF8xMzc2Xyk7fQoJLnN0MTM4OHtmaWxsOnVybCgjU1ZHSURfMTM3N18pO30KCS5zdDEzODl7ZmlsbDp1cmwoI1NWR0lEXzEzNzhfKTt9Cgkuc3QxMzkwe2ZpbGw6dXJsKCNTVkdJRF8xMzc5Xyk7fQoJLnN0MTM5MXtmaWxsOnVybCgjU1ZHSURfMTM4MF8pO30KCS5zdDEzOTJ7ZmlsbDp1cmwoI1NWR0lEXzEzODFfKTt9Cgkuc3QxMzkze2ZpbGw6dXJsKCNTVkdJRF8xMzgyXyk7fQoJLnN0MTM5NHtmaWxsOnVybCgjU1ZHSURfMTM4M18pO30KCS5zdDEzOTV7ZmlsbDp1cmwoI1NWR0lEXzEzODRfKTt9Cgkuc3QxMzk2e2ZpbGw6dXJsKCNTVkdJRF8xMzg1Xyk7fQoJLnN0MTM5N3tmaWxsOnVybCgjU1ZHSURfMTM4Nl8pO30KCS5zdDEzOTh7ZmlsbDp1cmwoI1NWR0lEXzEzODdfKTt9Cgkuc3QxMzk5e2ZpbGw6dXJsKCNTVkdJRF8xMzg4Xyk7fQoJLnN0MTQwMHtmaWxsOiNGOUZBRkM7fQoJLnN0MTQwMXtmaWxsOnVybCgjU1ZHSURfMTM4OV8pO30KCS5zdDE0MDJ7ZmlsbDp1cmwoI1NWR0lEXzEzOTBfKTt9Cgkuc3QxNDAze2ZpbGw6dXJsKCNTVkdJRF8xMzkxXyk7fQoJLnN0MTQwNHtmaWxsOnVybCgjU1ZHSURfMTM5Ml8pO30KCS5zdDE0MDV7ZmlsbDp1cmwoI1NWR0lEXzEzOTNfKTt9Cgkuc3QxNDA2e2ZpbGw6dXJsKCNTVkdJRF8xMzk0Xyk7fQoJLnN0MTQwN3tmaWxsOnVybCgjU1ZHSURfMTM5NV8pO30KCS5zdDE0MDh7ZmlsbDp1cmwoI1NWR0lEXzEzOTZfKTt9Cgkuc3QxNDA5e2ZpbGw6dXJsKCNTVkdJRF8xMzk3Xyk7fQoJLnN0MTQxMHtmaWxsOnVybCgjU1ZHSURfMTM5OF8pO30KCS5zdDE0MTF7ZmlsbDp1cmwoI1NWR0lEXzEzOTlfKTt9Cgkuc3QxNDEye2ZpbGw6dXJsKCNTVkdJRF8xNDAwXyk7fQoJLnN0MTQxM3tmaWxsOnVybCgjU1ZHSURfMTQwMV8pO30KCS5zdDE0MTR7ZmlsbDp1cmwoI1NWR0lEXzE0MDJfKTt9Cgkuc3QxNDE1e2ZpbGw6dXJsKCNTVkdJRF8xNDAzXyk7fQoJLnN0MTQxNntmaWxsOnVybCgjU1ZHSURfMTQwNF8pO30KCS5zdDE0MTd7ZmlsbDp1cmwoI1NWR0lEXzE0MDVfKTt9Cgkuc3QxNDE4e2ZpbGw6dXJsKCNTVkdJRF8xNDA2Xyk7fQoJLnN0MTQxOXtmaWxsOnVybCgjU1ZHSURfMTQwN18pO30KCS5zdDE0MjB7ZmlsbDp1cmwoI1NWR0lEXzE0MDhfKTt9Cgkuc3QxNDIxe2ZpbGw6dXJsKCNTVkdJRF8xNDA5Xyk7fQoJLnN0MTQyMntmaWxsOnVybCgjU1ZHSURfMTQxMF8pO30KCS5zdDE0MjN7ZmlsbDp1cmwoI1NWR0lEXzE0MTFfKTt9Cgkuc3QxNDI0e2ZpbGw6dXJsKCNTVkdJRF8xNDEyXyk7fQoJLnN0MTQyNXtmaWxsOnVybCgjU1ZHSURfMTQxM18pO30KCS5zdDE0MjZ7ZmlsbDp1cmwoI1NWR0lEXzE0MTRfKTt9Cgkuc3QxNDI3e2ZpbGw6dXJsKCNTVkdJRF8xNDE1Xyk7fQoJLnN0MTQyOHtmaWxsOnVybCgjU1ZHSURfMTQxNl8pO30KCS5zdDE0Mjl7ZmlsbDp1cmwoI1NWR0lEXzE0MTdfKTt9Cgkuc3QxNDMwe2ZpbGw6dXJsKCNTVkdJRF8xNDE4Xyk7fQoJLnN0MTQzMXtmaWxsOnVybCgjU1ZHSURfMTQxOV8pO30KCS5zdDE0MzJ7ZmlsbDp1cmwoI1NWR0lEXzE0MjBfKTt9Cgkuc3QxNDMze2ZpbGw6dXJsKCNTVkdJRF8xNDIxXyk7fQoJLnN0MTQzNHtmaWxsOnVybCgjU1ZHSURfMTQyMl8pO30KCS5zdDE0MzV7ZmlsbDp1cmwoI1NWR0lEXzE0MjNfKTt9Cgkuc3QxNDM2e2ZpbGw6dXJsKCNTVkdJRF8xNDI0Xyk7fQoJLnN0MTQzN3tmaWxsOnVybCgjU1ZHSURfMTQyNV8pO30KCS5zdDE0Mzh7ZmlsbDp1cmwoI1NWR0lEXzE0MjZfKTt9Cgkuc3QxNDM5e2ZpbGw6dXJsKCNTVkdJRF8xNDI3Xyk7fQoJLnN0MTQ0MHtmaWxsOnVybCgjU1ZHSURfMTQyOF8pO30KCS5zdDE0NDF7ZmlsbDp1cmwoI1NWR0lEXzE0MjlfKTt9Cgkuc3QxNDQye2ZpbGw6dXJsKCNTVkdJRF8xNDMwXyk7fQoJLnN0MTQ0M3tmaWxsOnVybCgjU1ZHSURfMTQzMV8pO30KCS5zdDE0NDR7ZmlsbDp1cmwoI1NWR0lEXzE0MzJfKTt9Cgkuc3QxNDQ1e2ZpbGw6dXJsKCNTVkdJRF8xNDMzXyk7fQoJLnN0MTQ0NntmaWxsOnVybCgjU1ZHSURfMTQzNF8pO30KCS5zdDE0NDd7ZmlsbDp1cmwoI1NWR0lEXzE0MzVfKTt9Cgkuc3QxNDQ4e2ZpbGw6dXJsKCNTVkdJRF8xNDM2Xyk7fQoJLnN0MTQ0OXtmaWxsOnVybCgjU1ZHSURfMTQzN18pO30KCS5zdDE0NTB7ZmlsbDp1cmwoI1NWR0lEXzE0MzhfKTt9Cgkuc3QxNDUxe2ZpbGw6dXJsKCNTVkdJRF8xNDM5Xyk7fQoJLnN0MTQ1MntmaWxsOnVybCgjU1ZHSURfMTQ0MF8pO30KCS5zdDE0NTN7ZmlsbDp1cmwoI1NWR0lEXzE0NDFfKTt9Cgkuc3QxNDU0e2ZpbGw6dXJsKCNTVkdJRF8xNDQyXyk7fQoJLnN0MTQ1NXtmaWxsOnVybCgjU1ZHSURfMTQ0M18pO30KCS5zdDE0NTZ7ZmlsbDp1cmwoI1NWR0lEXzE0NDRfKTt9Cgkuc3QxNDU3e2ZpbGw6dXJsKCNTVkdJRF8xNDQ1Xyk7fQoJLnN0MTQ1OHtmaWxsOnVybCgjU1ZHSURfMTQ0Nl8pO30KCS5zdDE0NTl7ZmlsbDp1cmwoI1NWR0lEXzE0NDdfKTt9Cgkuc3QxNDYwe2ZpbGw6dXJsKCNTVkdJRF8xNDQ4Xyk7fQoJLnN0MTQ2MXtmaWxsOnVybCgjU1ZHSURfMTQ0OV8pO30KCS5zdDE0NjJ7ZmlsbDp1cmwoI1NWR0lEXzE0NTBfKTt9Cgkuc3QxNDYze2ZpbGw6dXJsKCNTVkdJRF8xNDUxXyk7fQoJLnN0MTQ2NHtmaWxsOnVybCgjU1ZHSURfMTQ1Ml8pO30KCS5zdDE0NjV7ZmlsbDp1cmwoI1NWR0lEXzE0NTNfKTt9Cgkuc3QxNDY2e2ZpbGw6dXJsKCNTVkdJRF8xNDU0Xyk7fQoJLnN0MTQ2N3tmaWxsOnVybCgjU1ZHSURfMTQ1NV8pO30KCS5zdDE0Njh7ZmlsbDp1cmwoI1NWR0lEXzE0NTZfKTt9Cgkuc3QxNDY5e2ZpbGw6dXJsKCNTVkdJRF8xNDU3Xyk7fQoJLnN0MTQ3MHtmaWxsOnVybCgjU1ZHSURfMTQ1OF8pO30KCS5zdDE0NzF7ZmlsbDp1cmwoI1NWR0lEXzE0NTlfKTt9Cgkuc3QxNDcye2ZpbGw6dXJsKCNTVkdJRF8xNDYwXyk7fQoJLnN0MTQ3M3tmaWxsOnVybCgjU1ZHSURfMTQ2MV8pO30KCS5zdDE0NzR7ZmlsbDp1cmwoI1NWR0lEXzE0NjJfKTt9Cgkuc3QxNDc1e2ZpbGw6dXJsKCNTVkdJRF8xNDYzXyk7fQoJLnN0MTQ3NntmaWxsOnVybCgjU1ZHSURfMTQ2NF8pO30KCS5zdDE0Nzd7ZmlsbDp1cmwoI1NWR0lEXzE0NjVfKTt9Cgkuc3QxNDc4e2ZpbGw6dXJsKCNTVkdJRF8xNDY2Xyk7fQoJLnN0MTQ3OXtmaWxsOnVybCgjU1ZHSURfMTQ2N18pO30KCS5zdDE0ODB7ZmlsbDp1cmwoI1NWR0lEXzE0NjhfKTt9Cgkuc3QxNDgxe2ZpbGw6dXJsKCNTVkdJRF8xNDY5Xyk7fQoJLnN0MTQ4MntmaWxsOnVybCgjU1ZHSURfMTQ3MF8pO30KCS5zdDE0ODN7ZmlsbDp1cmwoI1NWR0lEXzE0NzFfKTt9Cgkuc3QxNDg0e2ZpbGw6dXJsKCNTVkdJRF8xNDcyXyk7fQoJLnN0MTQ4NXtmaWxsOnVybCgjU1ZHSURfMTQ3M18pO30KCS5zdDE0ODZ7ZmlsbDp1cmwoI1NWR0lEXzE0NzRfKTt9Cgkuc3QxNDg3e2ZpbGw6dXJsKCNTVkdJRF8xNDc1Xyk7fQoJLnN0MTQ4OHtmaWxsOnVybCgjU1ZHSURfMTQ3Nl8pO30KCS5zdDE0ODl7ZmlsbDp1cmwoI1NWR0lEXzE0NzdfKTt9Cgkuc3QxNDkwe2ZpbGw6dXJsKCNTVkdJRF8xNDc4Xyk7fQoJLnN0MTQ5MXtmaWxsOnVybCgjU1ZHSURfMTQ3OV8pO30KCS5zdDE0OTJ7ZmlsbDp1cmwoI1NWR0lEXzE0ODBfKTt9Cgkuc3QxNDkze2ZpbGw6dXJsKCNTVkdJRF8xNDgxXyk7fQo8L3N0eWxlPgo8ZyBpZD0i5pqC5peg5YaF5a65Ij4KPC9nPgo8ZyBpZD0i5Zu+5bGCXzIiPgo8L2c+CjxnIGlkPSLlm77lsYJfMyI+CjwvZz4KPGcgaWQ9IuWbvuWxgl80Ij4KPC9nPgo8ZyBpZD0i5Zu+5bGCXzUiPgo8L2c+CjxnIGlkPSLlm77lsYJfNiI+CjwvZz4KPGcgaWQ9IuWbvuWxgl83Ij4KPC9nPgo8ZyBpZD0i5Zu+5bGCXzgiPgo8L2c+CjxnIGlkPSLlm77lsYJfMTAiPgo8L2c+CjxnIGlkPSLlm77lsYJfMTEiPgo8L2c+CjxnIGlkPSLlm77lsYJfMTIiPgo8L2c+CjxnIGlkPSLlm77lsYJfMTMiPgoJPGc+CgkJPGc+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDAxLjk1NCIgeTE9IjUxNC44NDUyIiB4Mj0iNDAxLjk1NCIgeTI9IjY2NC40ODM5Ij4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNENERCRTUiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkYiLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPGVsbGlwc2UgY2xhc3M9InN0MCIgY3g9IjQwMS45NSIgY3k9IjU4OS42NiIgcng9IjI5NC41NCIgcnk9Ijc0LjgyIi8+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMzk0LjAzMDgiIHkxPSI0NDMuODY2OCIgeDI9IjM5NC4wMzA4IiB5Mj0iMTI5LjUxNjEiPgoJCQkJPHN0b3AgIG9mZnNldD0iMC4xMTE5IiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRkZGIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwLjkyMDUiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMkU2RUQiLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPHBvbHlnb24gY2xhc3M9InN0MSIgcG9pbnRzPSI1NzEuMjUsMjY2IDU3MS4yNSwxNDYuNzMgNTQ3LjMyLDEyOS41MiA0NDIuNzUsMTcxLjA5IDQ0Mi43NSwyOTIuODggNDE4LjgxLDI5Mi44OCA0MTguODEsMjU5LjI4IAoJCQkJMzczLjAzLDI1OS4yOCAzNzMuMDMsMjkwLjc4IDM1MS4yLDI5MC43OCAzNTEuMiwyMzEuOTkgMzExLjcyLDIzMS45OSAzMTEuNzIsMzM2LjE0IDMwMC44LDMzNi4xNCAzMDAuOCwxNTIuNjEgMjA3LjU3LDE1Mi42MSAKCQkJCTIwNy41NywzMjEuMDIgMTYwLjExLDMyMS4wMiAxNjAuMTEsMzgzLjM5IDEzMi44MiwzODMuMzkgMTMyLjgyLDQ0My44NyA2NTUuMjUsNDQzLjg3IDY1NS4yNSw0MzkuMDMgNjU1LjI1LDM4My4zOSA2NTUuMjUsMjY2IAoJCQkJCQkJIi8+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfM18iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTUwLjI5NjIiIHkxPSIzNjguODEzOSIgeDI9IjE1MC4yOTYyIiB5Mj0iMzM4LjQyODgiPgoJCQkJPHN0b3AgIG9mZnNldD0iMC4xMTE5IiBzdHlsZT0ic3RvcC1jb2xvcjojRjFGM0Y2Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwLjkyMDUiIHN0eWxlPSJzdG9wLWNvbG9yOiNEMkQ5RTMiLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPGNpcmNsZSBjbGFzcz0ic3QyIiBjeD0iMTUwLjMiIGN5PSIzNTMuNjIiIHI9IjE1LjE5Ii8+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfNF8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNjAxLjkwOCIgeTE9IjI4Mi4zMTQyIiB4Mj0iNjAxLjkwOCIgeTI9IjIzOS4xODY5Ij4KCQkJCTxzdG9wICBvZmZzZXQ9IjAuMTExOSIgc3R5bGU9InN0b3AtY29sb3I6I0YxRjNGNiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC45MjA1IiBzdHlsZT0ic3RvcC1jb2xvcjojRDJEOUUzIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxjaXJjbGUgY2xhc3M9InN0MyIgY3g9IjYwMS45MSIgY3k9IjI2MC43NSIgcj0iMjEuNTYiLz4KCQkJCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzVfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ii0xMzMwMi43NDIyIiB5MT0iLTgwMTguODE4OCIgeDI9Ii0xMzMwMi43NDIyIiB5Mj0iLTgwNDMuMzIyOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0xIDEgMCA4NjExLjQxNSAtMTI3MzUuMTk5MikiPgoJCQkJPHN0b3AgIG9mZnNldD0iMC4xMTE5IiBzdHlsZT0ic3RvcC1jb2xvcjojRjFGM0Y2Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwLjkyMDUiIHN0eWxlPSJzdG9wLWNvbG9yOiNEMkQ5RTMiLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iNTgwLjM0IiBjeT0iNTY3LjU0IiByPSIxMi4yNSIvPgoJCTwvZz4KCQk8Zz4KCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF82XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzMTQuMjk4NiIgeTE9IjQ1MS4yNzAzIiB4Mj0iMzE0LjI5ODYiIHkyPSIzMjQuMjE0Ij4KCQkJCTxzdG9wICBvZmZzZXQ9IjAuMTExOSIgc3R5bGU9InN0b3AtY29sb3I6I0NBRDVFMiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC45MjA1IiBzdHlsZT0ic3RvcC1jb2xvcjojRDJEOUUzIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwb2x5Z29uIGNsYXNzPSJzdDUiIHBvaW50cz0iMjMzLjA1LDM3MC4zMSAzOTUuNTUsMzI0LjIxIDM5NS41NSw0NTEuMjcgMjU4Ljk4LDQwNy4xOSAJCQkiLz4KCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF83XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI0OTYuMDk1OSIgeTE9IjUyNy4zMzEzIiB4Mj0iNDk2LjA5NTkiIHkyPSIzMjQuMjE0Ij4KCQkJCTxzdG9wICBvZmZzZXQ9IjAuMDg4NCIgc3R5bGU9InN0b3AtY29sb3I6I0VCRUVGMiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0QyRDlFMyIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cG9seWdvbiBjbGFzcz0ic3Q2IiBwb2ludHM9IjM5NS41NSwzMjQuMjEgNTk2LjY1LDM2Ni44NSA1NjQuOTUsNTI3LjMzIDM5NS41NSw0ODEuNTIgCQkJIi8+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfOF8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDEyLjgzMjIiIHkxPSI0OTkuNjcyOCIgeDI9IjIzMy4wNTE3IiB5Mj0iNDk5LjY3MjgiPgoJCQkJPHN0b3AgIG9mZnNldD0iMC4wODg0IiBzdHlsZT0ic3RvcC1jb2xvcjojRUJFRUYyIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRDJEOUUzIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwb2x5Z29uIGNsYXNzPSJzdDciIHBvaW50cz0iMjMzLjA1LDM3MC4zMSA0MTIuODMsNDE2Ljk5IDQxMi44Myw2MjkuMDMgMjMzLjA1LDU3My4xNCAJCQkiLz4KCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF85XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI0MjQuNDk5OCIgeTE9IjYzNS43NzAzIiB4Mj0iNTgzLjk4MDUiIHkyPSIzNTkuNTQxNyI+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwLjExMTkiIHN0eWxlPSJzdG9wLWNvbG9yOiNDQUQ1RTIiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjAuOTIwNSIgc3R5bGU9InN0b3AtY29sb3I6I0Q3RERFNiIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cG9seWdvbiBjbGFzcz0ic3Q4IiBwb2ludHM9IjU5Ni42NSwzNjYuODUgNTk2LjY1LDU3Ni42IDQxMi44Myw2MjkuMDMgNDEyLjgzLDQxNi45OSAJCQkiLz4KCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xMF8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDEyLjgzMjIiIHkxPSI0MzQuOTkyMSIgeDI9IjE4Ny4yNDIyIiB5Mj0iNDM0Ljk5MjEiPgoJCQkJPHN0b3AgIG9mZnNldD0iMC4wODg0IiBzdHlsZT0ic3RvcC1jb2xvcjojRUJFRUYyIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRDJEOUUzIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwb2x5Z29uIGNsYXNzPSJzdDkiIHBvaW50cz0iMzQ4LjAxLDQ5OS42NyAxODcuMjQsNDQwLjAzIDIzMy4wNSwzNzAuMzEgNDEyLjgzLDQxNi45OSAJCQkiLz4KCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMzAwLjAzNzIiIHkxPSI1MTIuNDkzNyIgeDI9IjMwMC4wMzcyIiB5Mj0iNDE2Ljk4NTMiPgoJCQkJPHN0b3AgIG9mZnNldD0iMC4wODg0IiBzdHlsZT0ic3RvcC1jb2xvcjojRUJFRUYyIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRDJEOUUzIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwb2x5Z29uIGNsYXNzPSJzdDEwIiBwb2ludHM9IjE4Ny4yNCw0NDAuMDMgMTg3LjI0LDQ0OC4xIDM1Mi43Niw1MTIuNDkgNDEyLjgzLDQzMy4yNiA0MTIuODMsNDE2Ljk5IDM0OC4wMSw0OTkuNjcgCQkJIi8+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMTJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUzNy43Mjc3IiB5MT0iNTE1LjA4NjciIHgyPSI1MzcuNzI3NyIgeTI9IjQxNi45ODUzIj4KCQkJCTxzdG9wICBvZmZzZXQ9IjAuMDg4NCIgc3R5bGU9InN0b3AtY29sb3I6I0VCRUVGMiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0QyRDlFMyIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cG9seWdvbiBjbGFzcz0ic3QxMSIgcG9pbnRzPSI2NjIuNjIsNDMwLjUzIDY2Mi42Miw0NDEuNjIgNDc3LjIyLDUxNS4wOSA0MTIuODMsNDMzLjI2IDQxMi44Myw0MTYuOTkgCQkJIi8+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMTNfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjY2Mi42MjMzIiB5MT0iNDMzLjI2MzUiIHgyPSI0MTIuODMyMiIgeTI9IjQzMy4yNjM1Ij4KCQkJCTxzdG9wICBvZmZzZXQ9IjAuMDg4NCIgc3R5bGU9InN0b3AtY29sb3I6I0VCRUVGMiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0QyRDlFMyIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cG9seWdvbiBjbGFzcz0ic3QxMiIgcG9pbnRzPSI1OTYuNjUsMzY2Ljg1IDY2Mi42Miw0MzAuNTMgNDgxLjk4LDQ5OS42NyA0MTIuODMsNDE2Ljk5IAkJCSIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8L3N2Zz4K</stream></file>
<file><path>kfapp/static/main.css</path><stream>LlN1Yk1lbnUgLnJpZ2h0e2Zsb2F0OnJpZ2h0fQoKLmtmYXBwLWFwcC1idG57ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOm5vbmU7bWFyZ2luLXRvcDoxMHB4O2JhY2tncm91bmQtY29sb3I6IzIxOTZGMztjb2xvcjojZmZmIWltcG9ydGFudDtsaW5lLWhlaWdodDoyOHB4O2hlaWdodDoyOHB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6MTRweDtmb250LXNpemU6MTJweDtjdXJzb3I6cG9pbnRlcn0KLmtmYXBwLWFwcC1idG46bm90KC5kaXNhYmxlZCxbZGlzYWJsZWRdKTpob3ZlcntvcGFjaXR5OiAuOTt9Ci5rZmFwcC1hcHAtYnRuLm9yYW5nZXtiYWNrZ3JvdW5kLWNvbG9yOiAjRkY5ODAwO30KLmtmYXBwLWFwcC1idG5bZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6I2M1YzVjNTtjb2xvcjojZmZmO2N1cnNvcjpkZWZhdWx0fQoKLmtmYXBwLWJ0bntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzU5YzNmYiAxMCUsIzI2OGRmNyAxMDAlKTtjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjM0cHg7cGFkZGluZzowIDIwcHg7Ym9yZGVyLXJhZGl1czoxNnB4O3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpwb2ludGVyO2JvcmRlcjpub25lfQoua2ZhcHAtYnRuLmRhbmdlcntiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmZjg0N2IgMTAlLCNGNDQzMzYgMTAwJSk7fQoua2ZhcHAtYnRuOmhvdmVye29wYWNpdHk6Ljk7Y29sb3I6I2ZmZn0KCi5yb3RhdGV7YW5pbWF0aW9uOnJvdGF0ZSAxcyBpbmZpbml0ZSBsaW5lYXI7ZGlzcGxheTogaW5saW5lLWJsb2NrO30KQGtleWZyYW1lcyByb3RhdGV7MCUge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpfTEwMCUge3RyYW5zZm9ybTogcm90YXRlKDM1OWRlZyl9fQoKLmxvYWRpbmctYmd7YmFja2dyb3VuZC1jb2xvcjogIzIxOTZGMyFpbXBvcnRhbnQgO2FuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO2JhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4zKSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4zKSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMykgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1zaXplOiAzMHB4IDMwcHg7fQpAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtmcm9tIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMHB4IDB9dG8ge2JhY2tncm91bmQtcG9zaXRpb246IDAgMH19CgouY2F0ZXtwYWRkaW5nOjEwcHggMTVweDttYXJnaW4tYm90dG9tOjIwcHg7Ym9yZGVyLXJhZGl1czo2cHg7YmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3fQouY2F0ZSArIC5jYXRle21hcmdpbi10b3A6IC0yMHB4O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7fQouY2F0ZSAuYnRue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHg7cGFkZGluZzowIDhweDttYXJnaW4tcmlnaHQ6MTVweDtib3JkZXItcmFkaXVzOjJweDtjdXJzb3I6cG9pbnRlcn0KLmNhdGUgLmJ0bi5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojM2E2ZWE1O2NvbG9yOiNmZmYhaW1wb3J0YW50fQoKLmFwcC1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MjBweDttYXJnaW4tYm90dG9tOiA1MHB4O30KLmFwcC1saXN0IC5pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MzBweCAxNnB4O2ZsZXg6MCAwIDE2MHB4O2JhY2tncm91bmQtY29sb3I6I2Y3ZjdmNzt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjE1cHg7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246YWxsIC4yc30KLmFwcC1saXN0IC5pdGVtOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2YwZjBmMH0KLmFwcC1saXN0IC5pdGVtIC50aXBze3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmViM2I7cGFkZGluZzo1cHg7d2lkdGg6MTUwcHg7bGVmdDotNTBweDt0b3A6MTVweDtjdXJzb3I6ZGVmYXVsdDtmb250LXNpemU6MTJweH0KLmFwcC1saXN0IC5pdGVtIC50eXBle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7dG9wOjEwcHg7Zm9udC1zaXplOjEycHg7Y29sb3I6I2I0YjRiNH0KLmFwcC1saXN0IC5pdGVtIC50aHVtYntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjphdXRvO2hlaWdodDo3MHB4O3dpZHRoOjcwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MTVweDtwYWRkaW5nOjVweH0KLmFwcC1saXN0IC5pdGVtIC5uYW1le21hcmdpbjoxMHB4IDA7Zm9udC1zaXplOjE1cHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfQouYXBwLWxpc3QgLml0ZW0gLm1vbmV5IC5vbGR7Zm9udC1zaXplOjEycHg7Y29sb3I6Izg4OH0KLmFwcC1saXN0IC5pdGVtIC5tb25leXtjb2xvcjojZjYwfQouYXBwLWxpc3QgLml0ZW0gLnZlcntmb250LXNpemU6MTJweDtjb2xvcjojOTk5fQouYXBwLWxpc3QgLml0ZW0gaW1ne21heC13aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6MTVweH0KLmFwcC1saXN0IC5pdGVtIC5rZmFwcC1hcHAtYnRue3dpZHRoOiA4MHB4O30KLmFwcC1saXN0IC5pdGVtIC5rZmFwcC1hcHAtYnRuW2tmLWV2ZW50PSJpbnN0YWxsIl06bm90KC5vbmVrZXkpe2JhY2tncm91bmQtY29sb3I6ICMwMEJDRDQ7fQouYXBwLWxpc3QuZW1wdHl7bWluLWhlaWdodDogNTAwcHg7YmFja2dyb3VuZC1pbWFnZTogdXJsKGVtcHR5LnN2Zyk7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6IDQwMHB4O2JhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjt9CltkYXRhLXNob3c9dGhlbWVdIC50eXBlLXBsdWdpbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fQpbZGF0YS1zaG93PXBsdWdpbl0gLnR5cGUtdGhlbWV7ZGlzcGxheTpub25lIWltcG9ydGFudH0KCi5sb2NhbGFwcCAuaXRlbXMgLnR5cGUtdGhlbWU6aG92ZXIgLnJ1bntkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0KLmxvY2FsYXBwIC5hcHAtZGlzYWJsZWR7Y29sb3I6Izg4OH0KLmxvY2FsYXBwIC5hcHAtZGlzYWJsZWQgaW1ne29wYWNpdHk6LjJ9Ci5sb2NhbGFwcCAuaW1nY2hlY2t7bWFyZ2luLXJpZ2h0OiAwO30KLmxvY2FsYXBwIC5pY29uLXRyYXNoe2NvbG9yOiNGNDQzMzZ9Ci5sb2NhbGFwcDpub3QoLnNob3ctb3RoZXJzKSAuYXV0aG9ye2Rpc3BsYXk6bm9uZX0KLmxvY2FsYXBwIFtkYXRhLXNob3c9dGhlbWVdIHRoOm50aC1sYXN0LWNoaWxkKDIpe2Rpc3BsYXk6bm9uZX0KLmxvY2FsYXBwIFtkYXRhLXNob3c9dGhlbWVdIHRkOm50aC1sYXN0LWNoaWxkKDIpe2Rpc3BsYXk6bm9uZX0KLmtmLWJveHtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAgLyAwKTt0cmFuc2l0aW9uOmFsbCAuM3N9Ci5rZi1ib3ggLmtmLWJveC1pbntwb3NpdGlvbjogcmVsYXRpdmU7bWluLXdpZHRoOjMwMHB4O21pbi1oZWlnaHQ6MjAwcHg7bWF4LWhlaWdodDogOTAlO3BhZGRpbmc6MjBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpO2JhY2tkcm9wLWZpbHRlcjpzYXR1cmF0ZSg1KSBibHVyKDIwcHgpO2JvcmRlci1yYWRpdXM6MTBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC1kaXJlY3Rpb246Y29sdW1uO292ZXJmbG93LXk6IGF1dG87fQoua2YtYm94IC5hdXh7Y29sb3I6IzY2NjttYXJnaW4tdG9wOjE1cHg7Y3Vyc29yOnBvaW50ZXJ9Cgoua2YtdGlwc3twb3NpdGlvbjpmaXhlZDtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50IWltcG9ydGFudDt9Ci5rZi10aXBzIC5rZi10aXBzLWlue3BvaW50ZXItZXZlbnRzOmF1dG87YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KTtiYWNrZHJvcC1maWx0ZXI6c2F0dXJhdGUoNSkgYmx1cigyMHB4KTtwYWRkaW5nOjEycHggMjBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaGFkb3c6MCAwIDVweCAwIHJnYigwIDAgMCAvIDQwJSk7Ym9yZGVyLXJhZGl1czo0cHh9Ci5rZi10aXBzIC5rZi10aXBzLWluIC5rZi10aXBzLWljb257bWFyZ2luLXJpZ2h0OjEwcHh9Ci5rZi10aXBzIC5rZi10aXBzLWluIC5rZi10aXBzLWljb24gaXtmb250LXNpemU6MjJweH0KLmtmLXRpcHMgLmtmLXRpcHMtaW4gLmtmLXRpcHMtaWNvbiAuaWNvbi1jaGVjay1jaXJjbGUtZmlsbHtjb2xvcjojNGNhZjUwfQoua2YtdGlwcyAua2YtdGlwcy1pbiAua2YtdGlwcy1pY29uIC5pY29uLXgtY2lyY2xlLWZpbGx7Y29sb3I6I2Y0NDMzNn0KLmtmLXRpcHMgLmtmLXRpcHMtaW4gLmtmLXRpcHMtaWNvbiAuaWNvbi1leGNsYW1hdGlvbi1jaXJjbGUtZmlsbHtjb2xvcjojZmZjMTA3fQoua2YtdGlwcyAua2YtdGlwcy1pbiAua2YtdGlwcy1pY29uIC5pY29uLWFycm93LXJlcGVhdHtmb250LXNpemU6IDE4cHg7fQoKLmZhZGV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOSl9Ci5mYWRlaW57YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAgLyAzMCUpfQouZmFkZWluID4gKnthbmltYXRpb246ZmFkZWluIC4zcyBlYXNlLW91dCAwcyAxIGFsdGVybmF0ZSBmb3J3YXJkc30KLmZhZGVvdXR7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAgLyAwKX0KLmZhZGVvdXQgPiAqe2FuaW1hdGlvbjpmYWRlb3V0IC4zcyBlYXNlLW91dCAwcyAxIGFsdGVybmF0ZSBmb3J3YXJkc30KQGtleWZyYW1lcyBmYWRlaW57NjAle29wYWNpdHk6LjU7dHJhbnNmb3JtOnNjYWxlKDEuMDMpfTEwMCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX19CkBrZXlmcmFtZXMgZmFkZW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfTQwJXtvcGFjaXR5Oi41O3RyYW5zZm9ybTpzY2FsZSgxLjAzKX0xMDAle29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpfX0KCi5ib3gtbG9naW4gLmxvZ297bWFyZ2luLWJvdHRvbToyMHB4O3dpZHRoOjEzMHB4O2hlaWdodDphdXRvfQouYm94LWxvZ2luIC5rZmFwcC1idG57bWluLXdpZHRoOjIwMHB4fQoKLmtmLWF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6c29saWQgMnB4ICNmZmY7Ym94LXNoYWRvdzowIDAgMTBweCAxcHggcmdiKDAgMCAwIC8gMTAlKX0KLmJveC11c2VyaW5mbyAubmFtZXttYXJnaW46MjBweH0KLmJveC11c2VyaW5mbyAua2YtYXZhdGFye3dpZHRoOiAxMDBweDtoZWlnaHQ6IDEwMHB4O30KLm1lbnUtdXNlcntiYWNrZ3JvdW5kOjAgMCFpbXBvcnRhbnQ7Zm9udC1zaXplOjE3cHh9Ci5tZW51LXVzZXIgLmtmLWF2YXRhcnt3aWR0aDoyNHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItd2lkdGg6MXB4fQoubWVudS11c2VyIHNwYW57ZmxvYXQ6dW5zZXQ7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6MCA1cHh9CgoudXBkYXRlaW5mbyAua2YtYm94LWlue2Rpc3BsYXk6IGJsb2NrO21heC13aWR0aDogNjAwcHg7fQoudXBkYXRlaW5mbyAua2YtYm94LWluIC5saXN0e2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gNDAlKTtwYWRkaW5nOjVweCAxMHB4O2xpbmUtaGVpZ2h0OjIwcHg7Zm9udC1zaXplOjEzcHg7bWFyZ2luOjVweCAwIDE1cHg7Ym9yZGVyLXJhZGl1czozcHh9Ci51cGRhdGVpbmZvIC5rZi1ib3gtaW4gLnZlcntmb250LXNpemU6MTZweH0KLnVwZGF0ZWluZm8gLmtmLWJveC1pbiAudGltZXtmb250LXNpemU6MTJweDttYXJnaW4tbGVmdDoxMHB4O2NvbG9yOiM5OTl9Ci51cGRhdGVpbmZvIC5rZi1ib3gtaW4gLml0ZW06aG92ZXIgLnZlcntjb2xvcjojZjYwfQoudXBkYXRlaW5mbyAua2YtYm94LWluIC5pdGVtOmhvdmVyIC5saXN0e2JhY2tncm91bmQtY29sb3I6I2RmZGZkZn0KLnVwZGF0ZWluZm8gLmtmLWJveC1pbiAuaW5mb3twYWRkaW5nLWJvdHRvbToyMHB4fQoudXBkYXRlaW5mbyAua2YtYm94LWluIC5idG5ze3Bvc2l0aW9uOnN0aWNreTtib3R0b206LTIwcHg7cGFkZGluZzoyMHB4O21hcmdpbjotMjBweDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Cgo=</stream></file>
<file><path>kfapp/static/main.js</path><stream>IWZ1bmN0aW9uKG1ldGhvZHMsIGV2ZW50cyl7CiAgICBBY3RpdmVMZWZ0TWVudSgiYW5hdl9rZmFwcCIpCiAgICBBZGRIZWFkZXJJY29uKCJodHRwczovL2tmdXUuY24vbG9nby1sZy5wbmciKQoKICAgIG1ldGhvZHMuY2F0ZUNoYW5nZSgpCiAgICBtZXRob2RzLmxvY2FsQXBwU3RhdHVzKCkKCiAgICAkKCcubWVudS11c2VyOm5vdCgucG9wLWxvZ2luKScpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAgdmFyIGJ0biA9ICQodGhpcykKICAgICAgICBtZXRob2RzLnVzZXJpbmZvKGJ0bi5maW5kKCcubmlja25hbWUnKS50ZXh0KCksIGJ0bi5maW5kKCcua2YtYXZhdGFyJykuYXR0cignc3JjJykpCiAgICAgICAgcmV0dXJuIGZhbHNlCiAgICB9KQoKICAgICQoJy5wb3AtbG9naW4nKS5jbGljayhmdW5jdGlvbigpewogICAgICAgIG1ldGhvZHMubG9naW4oKQogICAgICAgIHJldHVybiBmYWxzZQogICAgfSkKCiAgICAkKCdib2R5Jykub24oJ2NsaWNrJywgJ1trZi1ldmVudF0nLCBmdW5jdGlvbigpewogICAgICAgIHZhciBldmVudCA9ICQodGhpcykuYXR0cigna2YtZXZlbnQnKQogICAgICAgIHJldHVybiBldmVudHNbZXZlbnRdICYmIGV2ZW50c1tldmVudF0uY2FsbCh0aGlzLCBtZXRob2RzLCBldmVudHMpCiAgICB9KQoKfSh7CiAgICBjYXRlQ2hhbmdlKCl7CiAgICAgICAgdmFyIGNhdGVCdG4gPSAkKCcuY2F0ZSAuYnRuJykKICAgICAgICB2YXIgYXBwQnRuID0gJCgnLmNhdGUtYXBwIC5idG4nKQogICAgICAgIHZhciByYW5nZUJ0biA9ICQoJy5jYXRlLXJhbmdlIC5idG4nKQogICAgICAgIHZhciBsaXN0ID0gJCgnLmFwcC1saXN0JykKICAgICAgICB2YXIgY3VycmVudEhhc2ggPSBsb2NhdGlvbi5oYXNoCgogICAgICAgIGNhdGVCdG4uY2xpY2soZnVuY3Rpb24oKXsKICAgICAgICAgICAgdmFyIGJ0biA9ICQodGhpcykKICAgICAgICAgICAgYnRuLmFkZENsYXNzKCdhY3RpdmUnKQogICAgICAgICAgICBidG4uc2libGluZ3MoKS5yZW1vdmVDbGFzcygnYWN0aXZlJykKICAgICAgICB9KQoKICAgICAgICBhcHBCdG4uY2xpY2soZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIHZhciB0eXBlID0gJCh0aGlzKS5kYXRhKCd0eXBlJykKICAgICAgICAgICAgbG9jYXRpb24uaGFzaCA9ICcjJyt0eXBlCiAgICAgICAgICAgICQoJy5pdGVtcycpLmF0dHIoJ2RhdGEtc2hvdycsIHR5cGUpCiAgICAgICAgICAgIHJhbmdlQnRuLmZpbHRlcignLmFjdGl2ZScpLmNsaWNrKCkKICAgICAgICAgICAgc2hvd0VtcHR5KCkKICAgICAgICB9KQoKICAgICAgICByYW5nZUJ0bi5jbGljayhmdW5jdGlvbigpewogICAgICAgICAgICB2YXIgcmFuZ2UgPSAkKHRoaXMpLmRhdGEoJ3JhbmdlJykudG9TdHJpbmcoKS5zcGxpdCgnLScpCiAgICAgICAgICAgIHZhciBjdXJyVHlwZSA9IGxpc3QuYXR0cignZGF0YS1zaG93JykKICAgICAgICAgICAgCiAgICAgICAgICAgIGxpc3QuY2hpbGRyZW4oY3VyclR5cGUgPyBgW2RhdGEtdHlwZT0iJHtjdXJyVHlwZX0iXWAgOiAnJykuZWFjaChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSAkKHRoaXMpCiAgICAgICAgICAgICAgICB2YXIgbW9uZXkgPSBpdGVtLmRhdGEoJ21vbmV5JykKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKHJhbmdlWzBdID09PSAnJyB8fCBtb25leSA+IHJhbmdlWzBdICYmIG1vbmV5IDw9IHJhbmdlWzFdIHx8IHJhbmdlWzFdID09IDAgJiYgbW9uZXkgPT0gMCl7CiAgICAgICAgICAgICAgICAgICAgaXRlbS5zaG93KCkKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGl0ZW0uaGlkZSgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCgogICAgICAgICAgICBzaG93RW1wdHkoKQogICAgICAgIH0pCgogICAgICAgIGZ1bmN0aW9uIHNob3dFbXB0eSgpewogICAgICAgICAgICB2YXIgZW1wdHkgPSBsaXN0LmNoaWxkcmVuKCkubm90KCc6aGlkZGVuJykubGVuZ3RoID09IDAKICAgICAgICAgICAgbGlzdFtlbXB0eT8nYWRkQ2xhc3MnOidyZW1vdmVDbGFzcyddKCdlbXB0eScpCiAgICAgICAgfQoKICAgICAgICBpZiAoY3VycmVudEhhc2gpewogICAgICAgICAgICB2YXIgc3BsaXQgPSBjdXJyZW50SGFzaC5zcGxpdCgnIycpCiAgICAgICAgICAgIGNhdGVCdG4uZmlsdGVyKGBbZGF0YS10eXBlPSR7c3BsaXRbMV18fCdwbHVnaW4nfV1gKS5jbGljaygpCiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIGNhdGVCdG4uZXEoMCkuY2xpY2soKQogICAgICAgIH0KICAgIH0sCiAgICBsb2NhbEFwcFN0YXR1cygpewogICAgICAgIHZhciB0aGF0ID0gdGhpcwogICAgICAgIHZhciBzd2l0Y2hDbGFzcyA9ICdpbWdjaGVjay1vbicKCiAgICAgICAgJChmdW5jdGlvbigpewogICAgICAgICAgICAkKCdpbnB1dC5jaGVja2JveFtkYXRhLWlkXSArIHNwYW4nKS5jbGljayhmdW5jdGlvbihlKXsKICAgICAgICAgICAgICAgIHZhciBvYmogPSB0aGlzCiAgICAgICAgICAgICAgICB2YXIgc3BhbiA9ICQodGhpcykKICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSAhc3Bhbi5oYXNDbGFzcyhzd2l0Y2hDbGFzcykKICAgICAgICAgICAgICAgIHZhciBpbnB1dCA9IHNwYW4ucHJldigpCiAgICAgICAgICAgICAgICB2YXIge2lkLCB0eXBlfSA9IGlucHV0LmRhdGEoKQogICAgICAgICAgICAgICAgdmFyIHRyID0gc3Bhbi5wYXJlbnRzKCd0cicpCiAgICAgICAgICAgICAgICB2YXIgbGFzdFRkID0gdHIuY2hpbGRyZW4oJzpsYXN0JykKCiAgICAgICAgICAgICAgICBpZiAob2JqLmxvYWQpewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZnVuY3Rpb24gcmVzdW1lKCl7CiAgICAgICAgICAgICAgICAgICAgc3BhbltzdGF0dXM/J3JlbW92ZUNsYXNzJzonYWRkQ2xhc3MnXShzd2l0Y2hDbGFzcykKICAgICAgICAgICAgICAgICAgICBlbmQoKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGVuZCgpewogICAgICAgICAgICAgICAgICAgIHNwYW4uY3NzKHtjdXJzb3I6ICdwb2ludGVyJywgb3BhY2l0eToxfSkKICAgICAgICAgICAgICAgICAgICBvYmoubG9hZC5jbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgb2JqLmxvYWQgPSBudWxsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHNwYW4uY3NzKHtjdXJzb3I6ICd3YWl0Jywgb3BhY2l0eTouM30pCiAgICAgICAgICAgICAgICBvYmoubG9hZCA9IHRoYXQubXNnKCfor7fnqI3lkI4uLi4nLCAzLCBudWxsKQogICAgICAgICAgICAgICAgdGhhdC5hamF4KHsKICAgICAgICAgICAgICAgICAgICBhY3Q6IGBrZmFwcC1hY3Rpb24tYXBwJmlkPSR7aWR9JnR5cGU9JHt0eXBlfSZzdGF0dXM9JHtzdGF0dXM/MTowfWAsCiAgICAgICAgICAgICAgICAgICAgZG9uZShyZXMpewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9rID0gdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB0cltzdGF0dXM/J3JlbW92ZUNsYXNzJzonYWRkQ2xhc3MnXSgnYXBwLWRpc2FibGVkJykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0VGQuaHRtbChyZXMubWFuYWdlVXJsID8gYDxhIGhyZWY9IiR7cmVzLm1hbmFnZVVybH0iIHRpdGxlPSLnrqHnkIYiIGNsYXNzPSJidG4taWNvbiBidG4tbWFuYWdlIj48aSBjbGFzcz0iaWNvbi10b29scyI+PC9pPjwvYT5gIDogYGApCiAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFRkLmh0bWwoYDxhIGhyZWY9ImphdmFzY3JpcHQ6IiB0aXRsZT0i5Yig6Zmk5bqU55SoIiBjbGFzcz0iZGVsZXRlLWFwcCIgZGF0YS1pZD0iJHtpZH0iIGRhdGEtdHlwZT0iJHt0eXBlfSI+PGkgY2xhc3M9Imljb24tdHJhc2giPjwvaT48L2E+YCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LmFqYXgoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdDogYGtmYXBwLWluc3RhbGwtZm4maWQ9JHtpZH0mdHlwZT0ke3R5cGV9YCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOnsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9va3M6IHJlcy5ob29rcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdvbjogcmVzLmRlYnVnb2ZmID09PSBudWxsID8gMCA6IHJlcy5kZWJ1Z29mZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3Bvc3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUocmVzKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5tc2coYOWQr+eUqOaIkOWKnyR7cmVzLm5lZWRSZWZyZXNoPyfvvIzor7fmiYvliqjliLfmlrDpobXpnaInOicnfWAsIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJChgW2lkXj10b3BtZW51XyR7aWR9XSxbaWRePW5hdl8ke2lkfV1gKS5yZW1vdmUoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5tc2coJ+aPkuS7tuW3suemgeeUqCcsIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQoKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBmYWlsZWQoKXsKICAgICAgICAgICAgICAgICAgICAgICAgcmVzdW1lKCkKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGVuZCgpewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9rIHx8IHJlc3VtZSgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSkKICAgICAgICB9KQogICAgICAgIAogICAgICAgICQoJ2JvZHknKS5vbignY2xpY2snLCAnLmRlbGV0ZS1hcHAnLCBmdW5jdGlvbigpewogICAgICAgICAgICB2YXIgYnRuID0gJCh0aGlzKQogICAgICAgICAgICB2YXIge2lkLCB0eXBlfSA9IGJ0bi5kYXRhKCkKICAgICAgICAgICAgdmFyIHRyID0gYnRuLnBhcmVudHMoJ3RyJykKICAgICAgICAgICAgdmFyIGxvZ28gPSB0ci5jaGlsZHJlbignOmZpcnN0JykuY2hpbGRyZW4oJ2ltZycpLmF0dHIoJ3NyYycpCiAgICAgICAgICAgIHZhciBib3ggPSB0aGF0LmJveCh7CiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdib3gtZGVsZXRlLWFwcCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiBgCiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9IiR7bG9nb30iIHdpZHRoPTUwIGhlaWdodD01MD4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ia2ZhcHAtYnRuIGRlbGV0ZS1idG4gZGFuZ2VyIiBzdHlsZT0ibWFyZ2luLXRvcDoyMHB4Ij48aSBjbGFzcz0iaWNvbi10cmFzaC1maWxsIj48L2k+IOWIoOmZpOatpOaPkuS7tjwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYXV4IGNsb3NlIj7lj5bmtog8L2E+CiAgICAgICAgICAgICAgICBgLAogICAgICAgICAgICAgICAgc3VjY2Vzcyhkb20pewogICAgICAgICAgICAgICAgICAgIGRvbS5maW5kKCcuZGVsZXRlLWJ0bicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgIGJveC5hbGxvd0Nsb3NlID0gZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxvYWQgPSB0aGF0Lm1zZygn5Yig6Zmk5LitLi4uJywgMywgbnVsbCkKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5hamF4KHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdDogYGtmYXBwLWRlbGV0ZS1hcHAmaWQ9JHtpZH0mdHlwZT0ke3R5cGV9YCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ci5yZW1vdmUoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQubXNnKCfliKDpmaTmiJDlip8nLCAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC5hbGxvd0Nsb3NlID0gdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC5jbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZC5jbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LmFsbG93Q2xvc2UgPSB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBkb20uZmluZCgnLmNsb3NlJykuY2xpY2soZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgYm94LmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgIH0pCiAgICB9LAogICAgbG9naW4oKXsKICAgICAgICB2YXIgb3BlbiA9IHRoaXMuYm94KHsKICAgICAgICAgICAgY2xhc3NOYW1lOiAnYm94LWxvZ2luJywKICAgICAgICAgICAgY29udGVudDogYAogICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibG9nbyIgc3JjPSJodHRwczovL2tmdXUuY24vbG9nby5wbmciPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImtmYXBwLWJ0biBsb2dpbi1idG4iIHN0eWxlPSJtaW4td2lkdGg6IDIwMHB4Ij7lj6/po47nvZHmjojmnYPnmbvlvZU8L2E+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYXV4IGNsb3NlIj7mmoLkuI3nmbvlvZU8L2E+CiAgICAgICAgICAgIGAsCiAgICAgICAgICAgIHN1Y2Nlc3MoYm94KXsKICAgICAgICAgICAgICAgIGJveC5vbignY2xpY2snLCAnLmNsb3NlJywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICBvcGVuLmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgICAgICAgICAgIH0pLm9uKCdjbGljaycsICcubG9naW4tYnRuJywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gYmxvZ2hvc3QgKyAnemJfc3lzdGVtL2NtZC5waHA/YWN0PWtmYXBwLWNvbm5lY3QnCiAgICAgICAgICAgICAgICAgICAgdmFyIGZuID0gZnVuY3Rpb24oZSl7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PSAna2ZhcHBiaW5kb2snKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzdG9yYWdlJywgZm4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgna2ZhcHBiaW5kb2snKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdFN1Y2Nlc3MoSlNPTi5wYXJzZShlLm5ld1ZhbHVlKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgb3Blbi5jbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsLCAiIiwgIndpZHRoPTgwMCxoZWlnaHQ9NjAwLHRvcD0xMDAsbGVmdD0yMDAscmVzaXphYmxlPW5vIikgfHwgd2luZG93Lm9wZW4odXJsLCAiX2JsYW5rIikKICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgna2ZhcHBiaW5kb2snKQogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzdG9yYWdlJywgZm4pCgogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgCiAgICAgICAgdmFyIGNvbm5lY3RTdWNjZXNzID0gdXNlcmluZm8gPT4gewogICAgICAgICAgICB0aGlzLmJveCh7CiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdib3gtdXNlcmluZm8gY29ubmVjdC1zdWNjZXNzJywKICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGAKICAgICAgICAgICAgICAgICAgICA8aDI+5o6I5p2D5oiQ5YqfPC9oMj4KICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJrZi1hdmF0YXIiIHNyYz0iJHt1c2VyaW5mby5hdmF0YXJ9Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lIj4ke3VzZXJpbmZvLm5pY2tuYW1lfTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiIgY2xhc3M9ImtmYXBwLWJ0biBjb25maXJtIj7lvIDlp4vkvZPpqow8L2E+CiAgICAgICAgICAgICAgICBgLAogICAgICAgICAgICAgICAgc3VjY2VzcygpewogICAgICAgICAgICAgICAgICAgICQoJy5tZW51LXVzZXInKS5jaGlsZHJlbigpLmh0bWwoYDxkaXY+PGltZyBzcmM9IiR7dXNlcmluZm8uYXZhdGFyfSIgY2xhc3M9ImtmLWF2YXRhciI+PHNwYW4gY2xhc3M9Im5pY2tuYW1lIj4ke3VzZXJpbmZvLm5pY2tuYW1lfTwvc3Bhbj48L2Rpdj5gKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgIH0sCiAgICB1c2VyaW5mbyhuaWNrbmFtZSwgYXZhdGFyKXsKICAgICAgICB2YXIgb3BlbiA9IHRoaXMuYm94KHsKICAgICAgICAgICAgY2xhc3NOYW1lOiAnYm94LXVzZXJpbmZvJywKICAgICAgICAgICAgY29udGVudDogYAogICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ia2YtYXZhdGFyIiBzcmM9IiR7YXZhdGFyfSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lIj4ke25pY2tuYW1lfTwvZGl2PgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ia2ZhcHAtYnRuIGxvZ29mZi1idG4iPuazqOmUgOeZu+W9lTwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImF1eCBjbG9zZSI+5YWz6ZetPC9hPgogICAgICAgICAgICBgLAogICAgICAgICAgICBzdWNjZXNzOiBkb20gPT4gewogICAgICAgICAgICAgICAgZG9tLmZpbmQoJy5jbG9zZScpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgb3Blbi5jbG9zZSgpCiAgICAgICAgICAgICAgICB9KQoKICAgICAgICAgICAgICAgIGRvbS5maW5kKCcubG9nb2ZmLWJ0bicpLmNsaWNrKGUgPT4gewogICAgICAgICAgICAgICAgICAgIHZhciBsb2FkID0gdGhpcy5tc2coJ+ato+WcqOazqOmUgC4uLicsIDMpCiAgICAgICAgICAgICAgICAgICAgdGhpcy5hamF4KHsKICAgICAgICAgICAgICAgICAgICAgICAgYWN0OiAna2ZhcHAtbG9nb2ZmJywKICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSgpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vayA9IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGVuZCgpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9rKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkLmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgIH0sCiAgICBib3gob3B0aW9uKXsKICAgICAgICB2YXIgYm9keSA9ICQoJ2JvZHknKQogICAgICAgIAogICAgICAgIGJvZHkuYXBwZW5kKGAKICAgICAgICAgICAgPGRpdiBjbGFzcz0ia2YtYm94ICR7b3B0aW9uLmNsYXNzTmFtZSB8fCAnJ30iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ia2YtYm94LWluIGZhZGUiPiR7b3B0aW9uLmNvbnRlbnR9PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIGApCgogICAgICAgIHZhciBib3ggPSBib2R5LmNoaWxkcmVuKCc6bGFzdCcpCiAgICAgICAgYm94LmFkZENsYXNzKCdmYWRlaW4nKQogICAgICAgIAogICAgICAgIG9wdGlvbi5zdWNjZXNzICYmIG9wdGlvbi5zdWNjZXNzKGJveCwgY2xvc2UpCgogICAgICAgIGZ1bmN0aW9uIGNsb3NlKCl7CiAgICAgICAgICAgIGlmICghY2FsbGJhY2suYWxsb3dDbG9zZSl7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgICAgICAgfQoKICAgICAgICAgICAgYm94LmFkZENsYXNzKCdmYWRlb3V0JykKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgYm94LnJlbW92ZSgpCiAgICAgICAgICAgIH0sIDMwMCkKCiAgICAgICAgICAgIHJldHVybiB0cnVlCiAgICAgICAgfQoKCiAgICAgICAgYm94LmNsaWNrKGZ1bmN0aW9uKGUpewogICAgICAgICAgICBpZiAoJChlLnRhcmdldCkuaGFzQ2xhc3MoJ2tmLWJveCcpKXsKICAgICAgICAgICAgICAgIGNsb3NlKCkKICAgICAgICAgICAgfQogICAgICAgIH0pCgogICAgICAgIHZhciBjYWxsYmFjayA9IHsKICAgICAgICAgICAgY2xvc2UsCiAgICAgICAgICAgIGFsbG93Q2xvc2U6IHRydWUKICAgICAgICB9CgogICAgICAgIHJldHVybiBjYWxsYmFjawogICAgfSwKICAgIGFqYXgob3B0aW9uKXsKICAgICAgICBvcHRpb24udXJsID0gb3B0aW9uLnVybCB8fCAoYWpheHVybCtvcHRpb24uYWN0KQoKICAgICAgICB2YXIgdGhhdCA9IHRoaXMKICAgICAgICB2YXJ7ZG9uZSwgZW5kLCBmYWlsZWR9ID0gb3B0aW9uCiAgICAgICAgdmFyIGNzcmZ0b2tlbiA9ICQoJ21ldGFbbmFtZT1jc3JmdG9rZW5dJykuYXR0cignY29udGVudCcpCgogICAgICAgIGRlbGV0ZSBvcHRpb24uYWN0CiAgICAgICAgZGVsZXRlIG9wdGlvbi5kb25lCiAgICAgICAgCiAgICAgICAgcmV0dXJuICQuYWpheCh7CiAgICAgICAgICAgIHVybDogYWpheHVybCsna2ZhcHAtbG9nb2ZmJywKICAgICAgICAgICAgZGF0YVR5cGU6ICdqc29uJywKICAgICAgICAgICAgaGVhZGVyczoge2NzcmZ0b2tlbn0sCiAgICAgICAgICAgIHN1Y2Nlc3MocmVzKXsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09ICdqc29uJyAmJiByZXMuY29kZSAhPSAwIHx8IHRoaXMuZGF0YVR5cGUgIT0gJ2pzb24nKXsKICAgICAgICAgICAgICAgICAgICBkb25lICYmIGRvbmUuY2FsbCh0aGlzLCByZXMpCiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICB0aGF0Lm1zZyhyZXMubXNnLCAwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBlcnJvcigpewogICAgICAgICAgICAgICAgZmFpbGVkICYmIGZhaWxlZC5jYWxsKHRoaXMpCiAgICAgICAgICAgICAgICB0aGF0Lm1zZygn6K+35rGC5aSx6LSlJywgMikKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29tcGxldGUoKXsKICAgICAgICAgICAgICAgIGVuZCAmJiBlbmQuY2FsbCh0aGlzKQogICAgICAgICAgICB9LAogICAgICAgICAgICAuLi5vcHRpb24KICAgICAgICB9KQogICAgfSwKICAgIG1zZyhzLCB0eXBlLCB0aW1lID0gMzAwMCl7CiAgICAgICAgdmFyIGJvZHkgPSAkKCdib2R5JykKICAgICAgICB2YXIgaWNvbgoKICAgICAgICBpZiAodHlwZSA9PT0gMSl7CiAgICAgICAgICAgIGljb24gPSAnaWNvbi1jaGVjay1jaXJjbGUtZmlsbCcKICAgICAgICB9ZWxzZSBpZih0eXBlID09PSAyKXsKICAgICAgICAgICAgaWNvbiA9ICdpY29uLXgtY2lyY2xlLWZpbGwnCiAgICAgICAgfWVsc2UgaWYgKHR5cGUgPT09IDApewogICAgICAgICAgICBpY29uID0gJ2ljb24tZXhjbGFtYXRpb24tY2lyY2xlLWZpbGwnCiAgICAgICAgfWVsc2UgaWYgKHR5cGUgPT09IDMpewogICAgICAgICAgICBpY29uID0gJ2ljb24tYXJyb3ctcmVwZWF0IHJvdGF0ZScKICAgICAgICB9CgogICAgICAgICQoJy5rZi10aXBzJykucmVtb3ZlKCkKICAgICAgICBib2R5LmFwcGVuZChgPGRpdiBjbGFzcz0ia2YtdGlwcyIgJHt0eXBlPT09Mz8nc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIDEwJSk7cG9pbnRlci1ldmVudHM6IGluaXRpYWw7Iic6Jyd9PjxkaXYgY2xhc3M9ImtmLXRpcHMtaW4gZmFkZSI+JHtpY29uID8gYDxkaXYgY2xhc3M9ImtmLXRpcHMtaWNvbiI+PGkgY2xhc3M9IiR7aWNvbn0iPjwvaT48L2Rpdj5gIDogJyd9PGRpdiBjbGFzcz0ia2YtdGlwcy10ZXh0Ij4ke3N9PC9kaXY+PC9kaXY+PC9kaXY+YCkKICAgICAgICB2YXIgdGlwcyA9IGJvZHkuY2hpbGRyZW4oJzpsYXN0JykKICAgICAgICAKICAgICAgICB0aXBzLmFkZENsYXNzKCdmYWRlaW4nKQoKICAgICAgICBmdW5jdGlvbiBjbG9zZSgpewogICAgICAgICAgICB0aXBzLmFkZENsYXNzKCdmYWRlb3V0JykKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgdGlwcy5yZW1vdmUoKQogICAgICAgICAgICB9LCAzMDApCiAgICAgICAgfQoKICAgICAgICB0aW1lICYmIHNldFRpbWVvdXQoY2xvc2UsIHRpbWUpCgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGNsb3NlLAogICAgICAgIH0KICAgIH0sCiAgICBpbnN0YWxsKGlkLCB0eXBlLCBhcHBubywgYnRuLCBpc1VwZGF0ZSwgZG9uZUNhbGxiYWNrKXsKICAgICAgICB2YXIgdGhhdCA9IHRoaXMKICAgICAgICB2YXIgb3JpZ2luVGV4dCA9IGJ0bi50ZXh0KCkKICAgICAgICB2YXIgYWN0aW9uVGV4dCA9IGlzVXBkYXRlID8gJ+abtOaWsCcgOiAn5a6J6KOFJwoKICAgICAgICBpZiAod2luZG93Lmluc3RhbGxpbmcpewogICAgICAgICAgICB0aGF0Lm1zZygn6K+3562J5b6F5YW25LuW5bqU55So5a6J6KOF5a6M5oiQJywgMCkKICAgICAgICAgICAgZG9uZUNhbGxiYWNrICYmIGRvbmVDYWxsYmFjaygwKQogICAgICAgICAgICByZXR1cm4KICAgICAgICB9CgogICAgICAgIGJ0bi5hZGRDbGFzcygnbG9hZGluZy1iZycpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSkudGV4dChgJHthY3Rpb25UZXh0feS4rS4uLmApCiAgICAgICAgCiAgICAgICAgd2luZG93Lmluc3RhbGxpbmcgPSB0cnVlCgogICAgICAgIHRoYXQuYWpheCh7CiAgICAgICAgICAgIGFjdDogYGtmYXBwLWluc3RhbGwmaWQ9JHtpZH0mdHlwZT0ke3R5cGV9YCwKICAgICAgICAgICAgZGF0YTp7CiAgICAgICAgICAgICAgICBhcHBubywKICAgICAgICAgICAgICAgIGlzVXBkYXRlCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHR5cGU6ICdwb3N0JywKICAgICAgICAgICAgZG9uZShyZXMpewogICAgICAgICAgICAgICAgdGhpcy5vayA9IHRydWUKCiAgICAgICAgICAgICAgICB0aGF0LmFqYXgoewogICAgICAgICAgICAgICAgICAgIGFjdDogYGtmYXBwLSR7aXNVcGRhdGUgPyAndXBkYXRlJyA6ICdpbnN0YWxsJ30tZm4maWQ9JHtpZH0mdHlwZT0ke3R5cGV9YCwKICAgICAgICAgICAgICAgICAgICBkYXRhOnsKICAgICAgICAgICAgICAgICAgICAgICAgaG9va3M6IHJlcy5ob29rcywKICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdvbjogcmVzLmRlYnVnb2ZmID09PSBudWxsID8gMCA6IHJlcy5kZWJ1Z29mZgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3Bvc3QnLAogICAgICAgICAgICAgICAgICAgIGRvbmUocmVzKXsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRpcHMgPSAnJwogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9rID0gdHJ1ZQoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5zZXR1cCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGAuYXBwLWxpc3QgPiBbZGF0YS1pZD0iJHtpZH0iXSAudGh1bWIgYWApLmF0dHIoJ2hyZWYnLCBgJHtibG9naG9zdH16Yl91c2Vycy8ke3R5cGV9LyR7aWR9LyR7cmVzLnNldHVwfWApLnJlbW92ZUF0dHIoJ3RhcmdldCcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXBzICs9ICc8cD7lsI/mj5DnpLrvvJrlkK/nlKjlkI7lj6/ngrnlh7vlupTnlKhsb2dv5Y+v55u05o6l6L+b5YWl6YWN572u6aG16Z2iPC9wPicKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5tc2coYCR7YWN0aW9uVGV4dH3miJDlip8ke3Jlcy5uZWVkUmVmcmVzaD8n77yM6K+35omL5Yqo5Yi35paw6aG16Z2iJzonJ30ke3RpcHN9YCwgMSkKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGVuZDogZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgYnRuLnJlbW92ZUNsYXNzKCdsb2FkaW5nLWJnJykKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5vayl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG4uYXR0cignZGlzYWJsZWQnLCBmYWxzZSkudGV4dCgn5ZCv55SoJykKICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG4ucmVtb3ZlQXR0cigna2YtZXZlbnQnKS50ZXh0KCflt7Llronoo4UnKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuaW5zdGFsbGluZyA9IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGRvbmVDYWxsYmFjayAmJiBkb25lQ2FsbGJhY2soMiwgdGhpcy5vaykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LAogICAgICAgICAgICBlbmQoKXsKICAgICAgICAgICAgICAgIGlmICghdGhpcy5vayl7CiAgICAgICAgICAgICAgICAgICAgd2luZG93Lmluc3RhbGxpbmcgPSBmYWxzZQogICAgICAgICAgICAgICAgICAgIGJ0bi5yZW1vdmVDbGFzcygnbG9hZGluZy1iZycpLmF0dHIoJ2Rpc2FibGVkJywgZmFsc2UpLnRleHQob3JpZ2luVGV4dCkKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGJ0bi50ZXh0KCflkK/nlKjkuK0uLi4nKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGRvbmVDYWxsYmFjayAmJiBkb25lQ2FsbGJhY2soMSwgdGhpcy5vaykKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICB9Cn0sIHsKICAgIGluc3RhbGxUaGVtZShtZXRob2RzKXsKICAgICAgICB2YXIgYWxsQnRucyA9ICQoJ1trZi1ldmVudD0iaW5zdGFsbFRoZW1lIl0nKQogICAgICAgIHZhciBidG4gPSAkKHRoaXMpCiAgICAgICAgdmFyIGlkID0gYnRuLmRhdGEoJ2lkJykKICAgICAgICB2YXIgdHlwZSA9ICd0aGVtZScKCiAgICAgICAgdmFyIGxvYWQgPSBtZXRob2RzLm1zZygn5q2j5Zyo5YiH5o2i5Li76aKYLi4uJywgMywgbnVsbCkKCiAgICAgICAgYWxsQnRucy5hdHRyKCdkaXNhYmxlZCcsIHRydWUpCiAgICAgICAgbWV0aG9kcy5hamF4KHsKICAgICAgICAgICAgYWN0OiBga2ZhcHAtYWN0aW9uLWFwcCZpZD0ke2lkfSZ0eXBlPSR7dHlwZX1gLAogICAgICAgICAgICBkb25lKHJlcyl7CiAgICAgICAgICAgICAgICB0aGlzLm9rID0gdHJ1ZQogICAgICAgICAgICAgICAgbWV0aG9kcy5hamF4KHsKICAgICAgICAgICAgICAgICAgICBhY3Q6IGBrZmFwcC1pbnN0YWxsLWZuJmlkPSR7aWR9JnR5cGU9JHt0eXBlfWAsCiAgICAgICAgICAgICAgICAgICAgZGF0YTp7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnb246IHJlcy5kZWJ1Z29mZiA9PT0gbnVsbCA/IDAgOiByZXMuZGVidWdvZmYKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdwb3N0JywKICAgICAgICAgICAgICAgICAgICBkb25lKCl7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub2sgPSB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZHMubXNnKGDliIfmjaLmiJDlip9gLCAxKQogICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKQogICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDAwKQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZW5kKCl7CiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQuY2xvc2UoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVuZCgpewogICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9rKXsKICAgICAgICAgICAgICAgICAgICBhbGxCdG5zLmF0dHIoJ2Rpc2FibGVkJywgZmFsc2UpCiAgICAgICAgICAgICAgICAgICAgbG9hZC5jbG9zZSgpCiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBhbGxCdG5zLnJlbW92ZSgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgfSwKICAgIGluc3RhbGwobWV0aG9kcyl7CiAgICAgICAgdmFyIGJ0biA9ICQodGhpcykKICAgICAgICB2YXIgaXRlbSA9IGJ0bi5wYXJlbnRzKCcuaXRlbScpCiAgICAgICAgdmFyIHtpZCwgdHlwZX0gPSBpdGVtLmRhdGEoKQogICAgICAgIHZhciBhcHBubyA9IGl0ZW0uZGF0YSgnZnJvbScpID09ICd6YmxvZycgPyBpdGVtLmRhdGEoJ2FwcG5vJykgOiAnJwoKICAgICAgICBtZXRob2RzLmluc3RhbGwoaWQsIHR5cGUsIGFwcG5vLCBidG4pCiAgICB9LAogICAgdXBkYXRlKG1ldGhvZHMpewogICAgICAgIHZhciBidG4gPSAkKHRoaXMpCiAgICAgICAgdmFyIGl0ZW0gPSBidG4ucGFyZW50cygnLml0ZW0nKQogICAgICAgIHZhciB7aWQsIHR5cGV9ID0gaXRlbS5kYXRhKCkKICAgICAgICB2YXIgZGF0YSA9IHVwZGF0ZUluZm9baWRdCiAgICAgICAgdmFyIGFwcG5vID0gaXRlbS5kYXRhKCdmcm9tJykgPT0gJ3pibG9nJyA/IGl0ZW0uZGF0YSgnYXBwbm8nKSA6ICcnCiAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gYmFja3VwKCl7CiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgICAgICAgICAgICBpZiAoJCgnW25hbWU9dXBncmFkZV9iYWNrdXBdJykudmFsKCkgIT0gMSl7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdmFyIGxvYWQgPSBtZXRob2RzLm1zZygn5q2j5Zyo5aSH5Lu95b2T5YmN54mI5pysLi4uJywgMywgbnVsbCkKICAgICAgICAgICAgICAgIG1ldGhvZHMuYWpheCh7CiAgICAgICAgICAgICAgICAgICAgYWN0OiBga2ZhcHAtYmFja3VwJmlkPSR7aWR9JnR5cGU9JHt0eXBlfWAsCiAgICAgICAgICAgICAgICAgICAgZG9uZShyZXMpewogICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2RzLm1zZyhg5aSH5Lu95oiQ5Yqf77yM5aaC6ZyA5oGi5aSN6K+l54mI5pys6K+35Yiw4oCc5a6i5oi356uv6YWN572u4oCdLeKAnOWNh+e6p+W6lOeUqOiHquWKqOWkh+S7veKAneaTjeS9nGAsIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCkKICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2UgaWYgKHJlcy5jb2RlID09IDIpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kcy5tc2coYOW6lOeUqOWkh+S7veWksei0pe+8jOivt+WwneivlemHjeaWsOaTjeS9nOOAguWmguS4gOebtOWkh+S7veWksei0pe+8jOivt+WcqOWuouaIt+err+mFjee9ruS4reWFs+mXreKAnOWNh+e6p+W6lOeUqOiHquWKqOWkh+S7veKAnWAsIDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGVuZCgpewogICAgICAgICAgICAgICAgICAgICAgICBsb2FkLmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gdXBkYXRlRG9uZSgpewogICAgICAgICAgICBpdGVtLmZhZGVPdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGl0ZW0ucmVtb3ZlKCkKICAgICAgICAgICAgICAgICQoJy5jYXRlIC5hY3RpdmUnKS5jbGljaygpCiAgICAgICAgICAgIH0pCiAgICAgICAgfQoKICAgICAgICBpZiAoYXBwbm8pewogICAgICAgICAgICBiYWNrdXAoKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgIG1ldGhvZHMuaW5zdGFsbChpZCwgZGF0YSAmJiBkYXRhLnR5cGUsIGFwcG5vLCBidG4sIHRydWUsIGZ1bmN0aW9uKG4sIHN0YXR1cyl7CiAgICAgICAgICAgICAgICAgICAgaWYgKG4gPT09IDIgJiYgc3RhdHVzKXsKICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlRG9uZSgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgfQoKICAgICAgICB2YXIgaHRtbCA9ICc8ZGl2IGNsYXNzPSJpbmZvIj4nCgogICAgICAgICQuZWFjaChkYXRhLmxpc3QsIGZ1bmN0aW9uKHZlciwgZGF0YSl7CiAgICAgICAgICAgIHZhciBuZXdzID0gZGF0YS5uZXdzLnJldmVyc2UoKQogICAgICAgICAgICBodG1sICs9IGA8ZGl2IGNsYXNzPSJpdGVtIj48c3BhbiBjbGFzcz0idmVyIj4ke3Zlcn08L3NwYW4+PHNwYW4gY2xhc3M9InRpbWUiPiR7ZGF0YS5kYXRlfTwvc3Bhbj48ZGl2IGNsYXNzPSJsaXN0Ij5gCiAgICAgICAgICAgIGZvcihsZXQgaSBpbiBuZXdzKXsKICAgICAgICAgICAgICAgIGh0bWwgKz0gYDxkaXY+PHNwYW4+JHsraSArIDF9Ljwvc3Bhbj4ke25ld3NbaV19PC9kaXY+YAogICAgICAgICAgICB9CiAgICAgICAgICAgIGh0bWwgKz0gJzwvZGl2PjwvZGl2PicKICAgICAgICB9KQoKICAgICAgICBodG1sICs9IGA8L2Rpdj48ZGl2IGNsYXNzPSJidG5zIj48YnV0dG9uIGNsYXNzPSJrZmFwcC1idG4gdXBkYXRlLWJ0biI+56uL5Y2z5pu05pawPC9idXR0b24+PGRpdiBjbGFzcz0iYXV4IGNsb3NlIj7mmoLkuI3mm7TmlrA8L2Rpdj48L2Rpdj5gCgogICAgICAgIHZhciBib3ggPSBtZXRob2RzLmJveCh7CiAgICAgICAgICAgIGNsYXNzTmFtZTogJ3VwZGF0ZWluZm8nLAogICAgICAgICAgICBjb250ZW50OiBodG1sLAogICAgICAgICAgICBzdWNjZXNzOiBkb20gPT4gewogICAgICAgICAgICAgICAgZG9tLmZpbmQoJy5jbG9zZScpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgYm94LmNsb3NlKCkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBkb20uZmluZCgnLnVwZGF0ZS1idG4nKS5jbGljayhmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgIGJveC5hbGxvd0Nsb3NlID0gZmFsc2UKICAgICAgICAgICAgICAgICAgICBiYWNrdXAoKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kcy5pbnN0YWxsKGlkLCBkYXRhLnR5cGUsIG51bGwsICQodGhpcyksIHRydWUsIGZ1bmN0aW9uKG4sIHN0YXR1cyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobiA9PT0gMiAmJiBzdGF0dXMpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC5hbGxvd0Nsb3NlID0gdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC5jbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlRG9uZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgfSwKICAgIGJhY2t1cExpc3QobWV0aG9kcyl7CiAgICAgICAgdmFyIGxvYWQgPSBtZXRob2RzLm1zZygn5q2j5Zyo5Yqg6L295aSH5Lu95YiX6KGoLi4uJywgMywgbnVsbCkKICAgICAgICBtZXRob2RzLmFqYXgoewogICAgICAgICAgICBhY3Q6IGBrZmFwcC1iYWNrdXAtbGlzdGAsCiAgICAgICAgICAgIGRvbmUocmVzKXsKICAgICAgICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAxKXsKICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmxpc3QubGVuZ3RoKXsKICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyhyZXMubGlzdCwgcmVzLnVybCkKICAgICAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kcy5tc2coYOaaguaXoOWkh+S7vWAsIDApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBlbmQoKXsKICAgICAgICAgICAgICAgIGxvYWQuY2xvc2UoKQogICAgICAgICAgICB9CiAgICAgICAgfSkKCiAgICAgICAgZnVuY3Rpb24gc2hvdyhkYXRhLCB1cmwpewogICAgICAgICAgICB2YXIgdHIgPSBbXQoKICAgICAgICAgICAgZm9yKGkgaW4gZGF0YSl7CiAgICAgICAgICAgICAgICBsZXQgbmFtZSA9IGRhdGFbaV0KICAgICAgICAgICAgICAgIGxldCBzcGxpdCA9IG5hbWUuc3BsaXQoJy0nKQogICAgICAgICAgICAgICAgdHIucHVzaChgPHRyIGRhdGEtbmFtZT0iJHtuYW1lfSI+PHRkPiR7K2kgKyAxfTwvdGQ+PHRkPiR7c3BsaXRbMF19PC90ZD48dGQ+JHtzcGxpdFsxXX08L3RkPjx0ZD4ke3NwbGl0WzJdLnJlcGxhY2UoLyhcZHs0fSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KS8sICckMS8kMi8kMyAkNDokNTokNicpfTwvdGQ+PHRkPiR7c3BsaXRbM10ucmVwbGFjZSgvXC4uKy9nLCAnJyl9PC90ZD48dGQ+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBldmVudD0icmVzdG9yZSI+5oGi5aSNPC9hPiA8YSBocmVmPSIke3VybCtuYW1lfSIgZG93bmxvYWQ9IiR7bmFtZX0iPuS4i+i9vTwvYT4gPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBldmVudD0iZGVsZXRlIiBzdHlsZT1jb2xvcjpyZWQ+5Yig6ZmkPC9hPjwvdGQ+PC90cj5gKQogICAgICAgICAgICB9CgogICAgICAgICAgICBtZXRob2RzLmJveCh7CiAgICAgICAgICAgICAgICBjb250ZW50OiBgPHRhYmxlIHN0eWxlPSJ3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyIj48dHI+PHRoPuW6j+WPtzwvdGg+PHRoPuW6lOeUqElEPC90aD48dGg+54mI5pys5Y+3PC90aD48dGg+5aSH5Lu95pe26Ze0PC90aD48dGg+bWQ1PC90aD48dGg+5pON5L2cPC90aD48L3RyPiR7dHIuam9pbignJyl9PC90YWJsZT5gLAogICAgICAgICAgICAgICAgc3VjY2Vzcyhkb20pewogICAgICAgICAgICAgICAgICAgIGRvbS5maW5kKCdbZXZlbnRdJykuY2xpY2soZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF90aGlzID0gJCh0aGlzKQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHIgPSBfdGhpcy5wYXJlbnRzKCd0cicpCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBldmVudCA9IF90aGlzLmF0dHIoJ2V2ZW50JykKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxvYWQgPSBtZXRob2RzLm1zZyhldmVudCA9PSAncmVzdG9yZScgPyAn5oGi5aSN5LitLi4uJyA6ICfliKDpmaTkuK0uLi4nLCAzLCBudWxsKQogICAgICAgICAgICAgICAgICAgICAgICBtZXRob2RzLmFqYXgoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0OiBga2ZhcHAtYmFja3VwLWArZXZlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOnsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB0ci5kYXRhKCduYW1lJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAncG9zdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb25lKHJlcyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5jb2RlID09IDEpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQgPT0gJ3Jlc3RvcmUnKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZHMubXNnKCfmgaLlpI3miJDlip8nLCAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZHMubXNnKCflt7LliKDpmaQnLCAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHIucmVtb3ZlKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQoKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkLmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgIH0KfSk=</stream></file>
<verify>aHR0cHM6Ly9sYXljZW50ZXIua2VmZW5nLnZpcC8KL2hvbWUvd3d3cm9vdC9sYXljZW50ZXIua2VmZW5nLnZpcC8=</verify></app>