125581|class.pdostatement|50|1607502146|nmurzin at mail dot ru|SSB0aGluayBJIGZvdW5kIGEgd2F5IHRvIGV4ZWN1dGUgYSBwcm90ZWN0ZWQgU1FMIHF1ZXJ5IGFuZCBhdCB0aGUgc2FtZSB0aW1lIGZpbmQgb3V0IHRoZSBudW1iZXIgb2YgYWZmZWN0ZWQgcmVjb3Jkcy4KSSBoYXZlIHRoZSB0YWJsZSAndGJsX3VzZXJzJyB3aXRoIHRoZSBmb2xsb3dpbmcgZmllbGRzOiBpZCwgbG9naW4sIHBhc3N3b3JkLCBhZ2UKCjw/CmNvbnN0IERCX0RSSVZFUiA9ICJteXNxbCI7CmNvbnN0IERCX0hPU1QgPSAibG9jYWxob3N0IjsKY29uc3QgREJfTkFNRSA9ICJteV9kYl9uYW1lIjsKY29uc3QgREJfTE9HSU4gPSAicm9vdCI7CmNvbnN0IERCX1BBU1MgPSAicm9vdCI7IC8vT3BlblNlcnZlci4KCiRjb25uZWN0aW9uU3RyaW5nID0gREJfRFJJVkVSLic6aG9zdD0nLkRCX0hPU1QuJztkYm5hbWU9Jy5EQl9OQU1FOwp0cnkKewoJLy9Db25uZWN0IHRvIGRhdGFiYXNlLgoJJGRiID0gbmV3IFBETygkY29ubmVjdGlvblN0cmluZywgREJfTE9HSU4sIERCX1BBU1MpOwp9CmNhdGNoKFBET0V4Y2VwdGlvbiAkZSkKewoJZGllKCJFcnJvcjogIi4kZS0+Z2V0TWVzc2FnZSgpKTsKfQokZGItPnNldEF0dHJpYnV0ZShQRE86OkFUVFJfRVJSTU9ERSwgUERPOjpFUlJNT0RFX0VYQ0VQVElPTik7Cgp0cnkKewoJCiAgICAvL0RlY3JlYXNpbmcgYWdlIGZvciB1c2VyICduaWNrMScuCgkkcHJlcDEgPSAkZGItPnByZXBhcmUoIlVQREFURSB0YmxfdXNlcnMgU0VUIGFnZT1hZ2UtMSBXSEVSRSBsb2dpbj0nbmljazEnIik7CgoJLy9JbmNyZWFzaW5nIGFnZSBmb3IgdXNlciAnbmljazInLgoJJHByZXAyID0gJGRiLT5wcmVwYXJlKCJVUERBVEUgdGJsX3VzZXJzIFNFVCBcclxuIGFnZT1hZ2UrMSBXSEVSRSBsb2dpbj0nbmljazInIik7CgogICAgLy9TdGFydCB0cmFuc2FjdGlvbi4KCSRkYi0+YmVnaW5UcmFuc2FjdGlvbigpOyAvL1RhYmxlIHR5cGUgbXVzdCBiZSBJbm5lckRCIQoKCS8vV2UgYXNzdW1lIHRoYXQgZXZlcnl0aGluZyB3aWxsIGJlIGZpbmUuCiAgICAkZmxhZ0RvbmUgPSB0cnVlOyAKCgkvL1RoZSBleGVjKCkgbWV0aG9kIHJldHVybnMgdGhlIG51bWJlciBvZiByb3dzIGFmZmVjdGVkIGJ5IHRoZSBxdWVyeS4KICAgIC8vJHByZXAxLT5xdWVyeVN0cmluZyBpcyBhbHJlYWR5IGFuIGVzY2FwZWQgU1FMIHN0cmluZy4KCSRyZXN1bHQgPSAkZGItPmV4ZWMoJHByZXAxLT5xdWVyeVN0cmluZyk7CglpZigkcmVzdWx0PT1mYWxzZSB8fCAkcmVzdWx0IT0xKSAvL3Zhcl9kdW1wKCRyZXN1bHQpIC0gaW50KDEpIG9yIGJvb2woZmFsc2UpLgoJCSRmbGFnRG9uZSA9IGZhbHNlOwoKCSRyZXN1bHQgPSAkZGItPmV4ZWMoJHByZXAyLT5xdWVyeVN0cmluZyk7CglpZigkcmVzdWx0PT1mYWxzZSB8fCAkcmVzdWx0IT0xKQoJCSRmbGFnRG9uZSA9IGZhbHNlOwoKCWlmKCRmbGFnRG9uZSkKCXsKCQlpZigkZGItPmNvbW1pdCgpKQoJCQllY2hvICJUcmFuc2FjdGlvbiB3YXMgc3VjY2Vzc2Z1bCI7Cgl9CQkKCWVsc2V7CgkJCWVjaG8gIlRyYW5zYWN0aW9uIGZhaWwiOwoJCQkkZGItPnJvbGxiYWNrKCk7Cgl9CgllY2hvICI8YnI+IjsKCn0KY2F0Y2goUERPRXhjZXB0aW9uICRlKQp7CglkaWUoIkVycm9yOiAiLiRlLT5nZXRNZXNzYWdlKCkpOwp9|4|4 121766|class.pdostatement|61|1508234494|Gino D.|SSBkb24ndCBrbm93IHdoeSBQRE9TdGF0ZW1lbnQgZG9uJ3QgcmV0dXJuICJleGVjdXRpb24gdGltZSIgYW5kICJmb3VuZCByb3dzIiBzbyBoZXJlIEkgY3JlYXRlZCBhbiBleHRlbmRlZCBjbGFzcyBvZiBQRE9TdGF0ZW1lbnQgd2l0aCB0aGVzZSBhdHRyaWJ1dGVzLgoKSnVzdCBoYXZlIHRvICJzZXRBdHRyaWJ1dGUiIG9mIFBETydzIG9iamVjdCB0byAkUERPLT5zZXRBdHRyaWJ1dGUoXFBETzo6QVRUUl9TVEFURU1FTlRfQ0xBU1MgLCBbJ1xjdXN0b21zXFBET1N0YXRlbWVudCcsIFsmJHRoaXNdXSk7Cgo8P3BocAoKLyoqCioKKgoqCiovCgpuYW1lc3BhY2UgY3VzdG9tczsKCi8qKgoqCioKKgoqLwoKZmluYWwgY2xhc3MgUERPU3RhdGVtZW50IGV4dGVuZHMgXFBET1N0YXRlbWVudCB7CgoJLyoqCgkqCgkqCgkqCgkqLwoKCXByb3RlY3RlZCAkUERPID0gbnVsbDsKCXByb3RlY3RlZCAkaW5wdXRQYXJhbXMgPSBbXTsKCXByb3RlY3RlZCAkZXhlY3V0aW9uVGltZSA9IDA7Cglwcm90ZWN0ZWQgJHJlc3VsdENvdW50ID0gMDsKCgkvKioKCSoKCSoKCSoKCSovCgoJcHJvdGVjdGVkIGZ1bmN0aW9uIF9fY29uc3RydWN0KFBETyAmJFBETykgewoJCSR0aGlzLT5QRE8gPSAkUERPOwoJCSR0aGlzLT5leGVjdXRpb25UaW1lID0gbWljcm90aW1lKHRydWUpOwoJfQoKCS8qKgoJKgoJKgoJKgoJKi8KCglmaW5hbCBwdWJsaWMgZnVuY3Rpb24gZ2V0RXhlY3V0aW9uRXJyb3IoaW50ICRpID0gMikgewoJCSRleGVjdXRpb25FcnJvciA9ICR0aGlzLT5lcnJvckluZm8oKTsKCgkJaWYgKGlzc2V0KCRleGVjdXRpb25FcnJvclskaV0pKQoJCQlyZXR1cm4gJGV4ZWN1dGlvbkVycm9yWyRpXTsKCgkJcmV0dXJuICRleGVjdXRpb25FcnJvcjsKCX0KCgkvKioKCSoKCSoKCSoKCSovCgoJZmluYWwgcHVibGljIGZ1bmN0aW9uIGdldEV4ZWN1dGlvblRpbWUoJG51bWJlckZvcm1hdCA9IGZhbHNlLCAkZGVjUG9pbnQgPSAnLicsICR0aG91c2FuZHNTZXAgPSAnLCcpIHsKCQlpZiAoaXNfbnVtZXJpYygkbnVtYmVyRm9ybWF0KSkKCQkJcmV0dXJuIG51bWJlcl9mb3JtYXQoJHRoaXMtPmV4ZWN1dGlvblRpbWUsICRudW1iZXJGb3JtYXQsICRkZWNQb2ludCwgJHRob3VzYW5kc1NlcCk7CgkJCgkJcmV0dXJuICR0aGlzLT5leGVjdXRpb25UaW1lOwoJfQoKCS8qKgoJKgoJKgoJKgoJKi8KCglmaW5hbCBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzdWx0Q291bnQoJG51bWJlckZvcm1hdCA9IGZhbHNlLCAkZGVjUG9pbnQgPSAnLicsICR0aG91c2FuZHNTZXAgPSAnLCcpIHsKCQlpZiAoaXNfbnVtZXJpYygkbnVtYmVyRm9ybWF0KSkKCQkJcmV0dXJuIG51bWJlcl9mb3JtYXQoJHRoaXMtPnJlc3VsdENvdW50LCAkbnVtYmVyRm9ybWF0LCAkZGVjUG9pbnQsICR0aG91c2FuZHNTZXApOwoJCQoJCXJldHVybiAkdGhpcy0+cmVzdWx0Q291bnQ7Cgl9CgoJLyoqCgkqCgkqCgkqCgkqLwoKCWZpbmFsIHB1YmxpYyBmdW5jdGlvbiBnZXRMYXN0SW5zZXJ0SWQoKSB7CgkJcmV0dXJuICR0aGlzLT5QRE8tPmxhc3RJbnNlcnRJZCgpOwoJfQoKCS8qKgoJKgoJKgoJKgoJKi8KCglmaW5hbCBwdWJsaWMgZnVuY3Rpb24gYmluZFZhbHVlcyhhcnJheSAkaW5wdXRQYXJhbXMpIHsKCQlmb3JlYWNoICgkdGhpcy0+aW5wdXRQYXJhbXMgPSBhcnJheV92YWx1ZXMoJGlucHV0UGFyYW1zKSBhcyAkaSA9PiAkdmFsdWUpIHsKCQkJJHZhclR5cGUgPSBpc19udWxsKCR2YWx1ZSkgPyBcUERPOjpQQVJBTV9OVUxMIDogaXNfYm9vbCgkdmFsdWUpID8gXFBETzo6UEFSQU1fQk9PTCA6IGlzX2ludCgkdmFsdWUpID8gXFBETzo6UEFSQU1fSU5UIDogXFBETzo6UEFSQU1fU1RSOwoKCQkJaWYgKCEkdGhpcy0+YmluZFZhbHVlKCsrICRpLCAkdmFsdWUsICR2YXJUeXBlKSkKCQkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXJldHVybiB0cnVlOwoJfQoKCS8qKgoJKgoJKgoJKgoJKi8KCglmaW5hbCBwdWJsaWMgZnVuY3Rpb24gZXhlY3V0ZSgkaW5wdXRQYXJhbXMgPSBudWxsKSB7CgkJaWYgKCRpbnB1dFBhcmFtcykKCQkJJHRoaXMtPmlucHV0UGFyYW1zID0gJGlucHV0UGFyYW1zOwoKCQlpZiAoJGV4ZWN1dGVkID0gcGFyZW50OjpleGVjdXRlKCRpbnB1dFBhcmFtcykpCgkJCSR0aGlzLT5leGVjdXRpb25UaW1lID0gbWljcm90aW1lKHRydWUpIC0gJHRoaXMtPmV4ZWN1dGlvblRpbWU7CgoJCXJldHVybiAkZXhlY3V0ZWQ7Cgl9CgoJLyoqCgkqCgkqCgkqCgkqLwoKCWZpbmFsIHB1YmxpYyBmdW5jdGlvbiBmZXRjaEFsbCgkaG93ID0gbnVsbCwgJGNsYXNzTmFtZSA9IG51bGwsICRjdG9yQXJncyA9IG51bGwpIHsKCQkkcmVzdWx0U2V0ID0gcGFyZW50OjpmZXRjaEFsbCguLi4gZnVuY19nZXRfYXJncygpKTsKCgkJaWYgKCFlbXB0eSgkcmVzdWx0U2V0KSkgewoJCQkkcXVlcnlTdHJpbmcgPSAkdGhpcy0+cXVlcnlTdHJpbmc7CgkJCSRpbnB1dFBhcmFtcyA9ICR0aGlzLT5pbnB1dFBhcmFtczsKCgkJCWlmIChwcmVnX21hdGNoKCcvKC4qKT9MSU1JVC9pcycsICRxdWVyeVN0cmluZywgJG1hdGNoKSkKCQkJCSRxdWVyeVN0cmluZyA9ICRtYXRjaFsxXTsKCgkJCSRxdWVyeVN0cmluZyA9IHNwcmludGYoJ1NFTEVDVCBDT1VOVCgqKSBBUyBUIEZST00gKCVzKSBEVCcsICRxdWVyeVN0cmluZyk7CgoJCQlpZiAoKCRwbGFjZWhvbGRlcnMgPSBzdWJzdHJfY291bnQoJHF1ZXJ5U3RyaW5nLCAnPycpKSA8IGNvdW50KCRpbnB1dFBhcmFtcykpCgkJCQkkaW5wdXRQYXJhbXMgPSBhcnJheV9zbGljZSgkaW5wdXRQYXJhbXMsIDAsICRwbGFjZWhvbGRlcnMpOwoKCQkJaWYgKCgkc3RoID0gJHRoaXMtPlBETy0+cHJlcGFyZSgkcXVlcnlTdHJpbmcpKSAmJiAkc3RoLT5iaW5kVmFsdWVzKCRpbnB1dFBhcmFtcykgJiYgJHN0aC0+ZXhlY3V0ZSgpKQoJCQkJJHRoaXMtPnJlc3VsdENvdW50ID0gJHN0aC0+ZmV0Y2hDb2x1bW4oKTsKCQkJCQoJCQkkc3RoID0gbnVsbDsKCQl9CgoJCXJldHVybiAkcmVzdWx0U2V0OwoJfQp9Cj8+|45|29