LyogSGV5LCBFbWFjcywgb3BlbiB0aGlzIGZpbGUgd2l0aCAtKi0gY29kaW5nOiBjcDEyNTAgLSotCiAqCiAqIFdpbmUgY29tbWFuZCBwcm9tcHQKICogQ3plY2ggTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiBDb3B5cmlnaHQgKEMpIDE5OTkgRCBBIFBpY2tsZXMKICogQ29weXJpZ2h0IChDKSAyMDA0IERhdmlkIEtyZWRiYQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX0NaRUNILCBTVUJMQU5HX0RFRkFVTFQKCi8qIEN6ZWNoIHN0cmluZ3MgaW4gQ1AxMjUwICovCgpTVFJJTkdUQUJMRQp7CiAgV0NNRF9BVFRSSUIsICJO4XBvduxkYSBrIEFUVFJJQlxuIgogIFdDTURfQ0FMTCwKIkNBTEwgPGThdmtvdv0gc291Ym9yPiBqZSB1nu124W4ga2Ugc3B1mnTsbu0gcPjta2F6+VxuXAp6IGppbulobyBk4XZrb3bpaG8gc291Ym9ydS4gS2R5niBzZSBi7Gggdm9sYW7paG8gZOF2a2926WhvIHNvdWJvcnUgdWtvbujtLCBrb250cm9sYSBzZSB2cuF07VxuXAp2b2xhau1j7W11IHNvdWJvcnUuIFD47WtheiBDQUxMIG35nmUgcPhlZOF2YXQgcGFyYW1ldHJ5XG5cCnZvbGFu6SBwcm9jZWR1+GUuXG5cClxuXApabexueSB2IGRlZmF1bHRu7W0gYWRyZXPh+GksIHByb23sbm79Y2ggcHJvc3T4ZWTtIGF0ZC4sIHVk7GxhbulcblwKdm9sYW5vdSBwcm9jZWR1cm91IGpzb3UgemTsZOxueSB2b2xhau1j7W0uXG4iCgogIFdDTURfQ0QsICAgICAiTuFwb3bsZGEgayBDRFxuIgogIFdDTURfQ0hESVIsICAiTuFwb3bsZGEgayBDSERJUlxuIgoKICBXQ01EX0NMUywgICAgIkNMUyB2eW1hnmUgb2JyYXpvdmt1IHRlcm1pbuFsdVxuIgoKICBXQ01EX0NPUFksICAgIk7hcG927GRhIGsgQ09QWVxuIgogIFdDTURfQ1RUWSwgICAiTuFwb3bsZGEgayBDVFRZXG4iCiAgV0NNRF9EQVRFLCAgICJO4XBvduxkYSBrIERBVEVcbiIKICBXQ01EX0RFTCwgICAgIk7hcG927GRhIGsgREVMXG4iCiAgV0NNRF9ESVIsICAgICJO4XBvduxkYSBrIERJUlxuIgoKICBXQ01EX0VDSE8sCiJFQ0hPIDz4ZXTsemVjPiB6b2JyYXrtIDz4ZXTsemVjPiBuYSBwb3We7XZhbultIHRlcm1pbuFsb3bpbSB6YfjtemVu7S5cblwKXG5cCkVDSE8gT04genD5c29i7SwgnmUgdpplY2hueSBu4XNsZWR1au1j7SBw+O1rYXp5IHYgZOF2a2926W0gc291Ym9ydSBidWRvdVxuXAp6b2JyYXplbnkgbmEgdGVybWlu4WxvdultIHph+O16ZW7tIHD4ZWQgc3b9bSBzcHWadOxu7W0uXG5cClxuXApFQ0hPIE9GRiB2eXBpc2924W7tIHD47WthevkgemFr4Z5lIChFQ0hPIGplIE9GRiBkZWZhdWx0buwuXG5cClD4ZWRzYWTtLWxpIHNlIHD47WthenUgRUNITyBPRkYgQCBuZWJ1ZGUgcPjta2F6IEVDSE8gT0ZGIHZ5cHPhblxuXApuYSB0ZXJtaW7hbG926SB6YfjtemVu7S5cbiIKCiAgV0NNRF9FUkFTRSwgICJO4XBvduxkYSBrIEVSQVNFXG4iCgogIFdDTURfRk9SLAoiUPjta2F6IEZPUiB2eWtvbuEgemFkYW5vdSBha2NpIHBybyBrYZ5k/SB6ZSB6YWRhbukgc2t1cGlueSBzb3Vib3L5LlxuXApcblwKU3ludGF4ZTogRk9SICVwcm9t7G5u4SBJTiAoc2t1cGluYSBzb3Vib3L5KSBETyBha2NlXG5cClxuXApWIHByb2dyYW11IGNtZCBuZW7tIHT4ZWJhIHpkdm9qb3ZhdCB6bmFrICUgcPhlZCBwcm9t7G5ub3UgcPhpIHBvdZ5pdO0gcPjta2F6dVxuXCBGT1IgdiBk4XZrb3bpbSBzb3Vib3J1LlxuIgoKICBXQ01EX0dPVE8sCiJQ+O1rYXogR09UTyBw+GVk4SB2/WtvbiBuYSBqaW7pIG3tc3RvXG5cCnYgZOF2a2926W0gc291Ym9ydS5cblwKXG5cCk7hduyadO0sIGt0ZXL9bSBzZSBvem5h6HVqZSBj7Wwgc2tva3UgR09UTyBt+Z5lIGL9dCBhniAyNTUgem5ha/lcblwKZGxvdWjpLiBOZXNt7SB2mmFrIG9ic2Fob3ZhdCBtZXplcnkgKG9kbGmabukgY2hvduFu7SBvZCBqaW79Y2ggb3BlcmHobu1jaFxuXApzeXN06W35KS4gRXhpc3R1au0tbGkgZHbsIG5lYm8gdu1jZSBzdGVqbv1jaCBu4XbsmnTtIHYgamVkbm9tIGThdmtvdultXG5cCnNvdWJvcnUsIHBhayBwcnZu7SBidWRlIHZ5a29u4W5vLiBTa29rIEdPVE8gbmEgbmVleGlzdHVq7WPtIG7hduyadO1cblwKdWtvbujtIHb9a29uIGThdmtvdulobyBzb3Vib3J1LlxuXApcblwKR09UTyBzZSBuZWThIHBvdZ7tdCBpbnRlcmFrdGl2buwuXG4iCgogIFdDTURfSEVMUCwgICAiTuFwb3bsZGEgayBIRUxQXG4iCgogIFdDTURfSUYsCiJJRiBzbG91nu0gayBwb2Rt7W7sbultdSB2/WtvbnUgcPjta2F6+S5cblwKXG5cClN5bnRheGU6IElGIFtOT1RdIEVYSVNUIHNvdWJvciBw+O1rYXpcblwKCSBJRiBbTk9UXSD4ZXTsemVjMT09+GV07HplYzIgcPjta2F6XG5cCgkgSUYgW05PVF0gRVJST1JMRVZFTCDo7XNsbyBw+O1rYXpcblwKXG5cClZlIGRydWjpIGZvcm3sIHD47WthenUgbXVz7SBi/XQg+GV07HplYzEgYSD4ZXTsemVjMiB1emF2+GVueSB2IGR2b2ppdP1jaFxuXAp1dm96b3Zr4WNoLiBTcm92buFu7SBuZW7tIGNpdGxpdukgbmEgdmVsaWtvc3QgcO1zbWVuLlxuIgoKICBXQ01EX0xBQkVMLCAgIkxBQkVMIG5hc3RhdnVqZSBqbWVub3ZrdSBzdmF6a3UtZGlza3UuXG5cClxuXApTeW50YXhlOiBMQUJFTCBbZGlzazpdXG5cCkJ1ZGV0ZSB2eXp24W5pIGsgemFk4W7tIGptZW5vdmt5LlxuXApKbWVub3ZrdSBzaSBt+Z5ldGUgem9icmF6aXQgcPjta2F6ZW0gVk9MLlxuIgoKICBXQ01EX01ELCAgICAgIk7hcG927GRhIGsgTURcbiIKICBXQ01EX01LRElSLCAgIk7hcG927GRhIGsgTUtESVJcbiIKICBXQ01EX01PVkUsCiJNT1ZFIHD4ZXN1bmUgc291Ym9yIOhpIGFkcmVz4fggbmEgamlu6SBt7XN0byB2IHNvdWJvcm926W0gc3lzdOltdS5cblwKXG5cCkplLWxpIHD4ZXNvdXbhbiBhZHJlc+H4LCBqc291IHD4ZXN1bnV0eSB2mmVjaG55IGplaG8gcG9kYWRyZXPh+GUgYSBzb3Vib3J5LlxuXApcblwKTU9WRSBzZWyeZSBqc291LWxpIHpkcm9qb3bhIGEgY+1sb3bhIG9ibGFzdCBuYSBqZWRub3Rr4WNoIHMgamlu/W1pIERPUyBw7XNtZW55IGRpc2v5LlxuIgoKICBXQ01EX1BBVEgsCiJQQVRIIHpvYnJheu0g6Gkgem3sbu0gY2VzdHksIHYgbmljaJ4gY21kIGhsZWThIHNvdWJvcnkuXG5cClxuXApQQVRIIGJleiBhcmd1bWVudPkgem9icmF67SBtb21lbnThbG7sIHBsYXRu6SBuYXN0YXZlbu0gKHD4ZWQgcHJ2bu0gem3sbm91XG5cCmplIHRvIGhvZG5vdGEgcPhldnphdOEgemUgc291Ym9ydSB3aW5lLmNvbmYpLiBLZSB6bexu7CBw+Glwb2p0ZSBrIHD47WthenVcblwKUEFUSCBub3ZvdSBjZXN0dS5cblwKXG5cCkplIHRha3TpniBtb55u6SB6bexuaXQgUEFUSCBwb3WeaXTtbSBwcm9t7G5u6SBwcm9zdPhlZO0gUEFUSCxcblwKbmFw+O1rbGFkOlxuXAoJCVBBVEggJVBBVEglO2M6XFx0ZW1wXG4iCgogIFdDTURfUEFVU0UsCiJQQVVTRSB6b2JyYXrtIG5hIG9icmF6b3ZjZSB0ZXh0ICdQcmVzcyBSZXR1cm4ga2V5IHRvIGNvbnRpbnVlJ1xuXAphIHZ56GvhLCBkb2t1ZCB1nml2YXRlbCBuZXN0aXNrbmUga2zhdmVzdSBFbnRlci4gSmUgdG8gdZ5pdGXobukgaGxhdm7sXG5cCnByb3RvLCBhYnkgc2kgdZ5pdmF0ZWwgbW9obCBw+GXo7XN0IHb9c3R1cCB6IHb9a29udSBw+GVkY2jhemVq7WNoIHD47WthevksXG5cCm5lniBzZSB0eXRvIG9kcm9sdWrtIHogb2JyYXpvdmt5LlxuIgoKICBXQ01EX1BST01QVCwKIlBST01QVCBuYXN0YXbtIHb9enZ1IHD47Wthem926WhvIPjhZGt1LlxuXApcblwK2GV07HplYyB6YSBw+O1rYXplbSBQUk9NUFQgKGEgbWV6ZXJvdSBiZXpwcm9zdPhlZG7sIHphIFBST01QVClcblwKc2Ugem9icmF67SBuYSB6YejhdGt1IGthnmTpIG5vdukgcPjta2F6b3bpIPjhZGt5LlxuXApcblwKVHl0byB6bmFreSBtYWrtIHYg+GV07Hpj7WNoIHNwZWNp4Wxu7SB2/XpuYW06XG5cClxuXAokJCAgICBabmFrIGRvbGFydSAgICAgICAgICRfICAgIE9k+OFka2924W7tICAgICAgICAgJGIgICAgWm5hayByb3VyeSAofClcblwKJGQgICAgRGF0dW0gICAgICAgICAgICAgICAkZSAgICBFc2NhcGUgICAgICAgICAgICAgICRnICAgIFpuYW3pbmtvIHbsdJrtIG5lnlxuXAokbCAgICBabmFt6W5rbyBtZW6a7SBuZZ4gICRuICAgIFDtc21lbm8gZGlza3UgICAgICAgJHAgICAgQ2VzdGFcblwKJHEgICAgUm92bu10a28gICAgICAgICAgICAkdCAgICDIYXMgICAgICAgICAgICAgICAgICR2ICAgIFZlcnplIGNtZFxuXApcblwKUFJPTVBUIGJleiBwYXJhbWV0cvkgcmVzZXR1amUgcHJvbXB0IG5hIGRlZmF1bHRu7SxcblwKa3Rlcv0gamUgc2xvnmVuIHogY2VzdHkgayBzb3XoYXNu6W11IGFkcmVz4fhpICh26GV0buwgcO1zbWVuYSBkaXNrdVxuXAopIGEgem5hbelua2EgIHbsdJrtIG5lniAoPikuXG5cCihqYWtvIGplIHYgRE9TLXUgUFJPTVBUICRwJGcpLlxuXApcblwKUHJvbXB0IG35nmUgYv10IHpt7G7sbiBpIHpt7G5vdSBwcm9t7G5u6SBwcm9zdPhlZO0gUFJPTVBULFxuXAroaWxpIHD47WtheiAnU0VUIFBST01QVD10ZXh0JyBt4SB0ZW50/Z4gZWZla3QgamFrbyAnUFJPTVBUIHRleHQnXG4iCgogIFdDTURfUkVNLAoi2OFka3kgemHo7W5hau1j7SBSRU0gKG7hc2xlZG92YW79bSBtZXplcm91KVxuXApuZWpzb3Ugdnlrb27hbnkuIFJFTSBqZSBwcm90byBwb3We7XbhbiBqYWtvIGtvbWVudOH4b3b9IHD47Wthei5cbiIKCiAgV0NNRF9SRU4sICAgICJO4XBvduxkYSBrIFJFTlxuIgogIFdDTURfUkVOQU1FLCAiTuFwb3bsZGEgayBSRU5BTUVcbiIKICBXQ01EX1JELCAgICAgIk7hcG927GRhIGsgUkRcbiIKICBXQ01EX1JNRElSLCAgIk7hcG927GRhIGsgUk1ESVJcbiIKCiAgV0NNRF9TRVQsCiJTRVQgem9icmF67SBuZWJvIHpt7G7tIHByb23sbm7pIHByb3N0+GVk7SBjbWQuXG5cClxuXApTRVQgYmV6IGFyZ3VtZW50+SB1a+GeZSBzb3XoYXNu6SBuYXN0YXZlbu0gcHJvc3T4ZWTtLlxuXApcblwKU3ludGF4ZSBwcm8gbmFzdGF2ZW7tIGEgem3sbnUgcHJvbexubukgcHJvc3T4ZWTtIGplOlxuXApcblwKICAgICAgU0VUIDxwcm9t7G5u4T49PGhvZG5vdGE+XG5cClxuXAogICAgICBrZGUgPHByb23sbm7hPiBhIDxob2Rub3RhPiBtdXPtIGL9dCBwcm9zdGEgbWV6ZXJcblwKICAgICAgYSBzcGVjaeFsbu1jaCB6bmFr+SBhIG1lemkgPHByb23sbm7hPiByb3Zu7XRrbyA8aG9kbm90YT5cblwKICAgICAgbmVzbe0gYv10IG1lemVyeS5cblwKXG5cCiAgICAgIFZlIFdpbmUganNvdSB2aWRpdGVsbukgcHJvbexubukgcHJvc3T4ZWTtIG9wZXJh6G7taG9cblwKICAgICAgc3lzdOltdSwgdmUga3RlcultIGplIFdpbmUgc3B1mnTsbi4gUHJvdG8gdXZpZO10ZSBtbm9oZW0gdu1jIHByb23sbm79Y2hcblwKICAgICAgcHJvc3T4ZWTtLCBuZZ4gdSBuYXRpdm7tIFdpbjMyIGltcGxlbWVudGFjZS4gTmVu7SBtb55u6VxuXAogICAgICBt7G5pdCBwcm9t7G5u6SBwcm9zdPhlZO0gaG9zdGl0ZWxza+lobyBvcGVyYehu7WhvIHN5c3TpbXUgeiBjbWQuXG4iCgogIFdDTURfU0hJRlQsCiJTSElGVCB1nu124W4gdiBk4XZrb3b9Y2ggc291Ym9yZWNoIGsgb2RzdHJhbuxu7SBqZWRub2hvIHBhcmFtZXRydSB6ZSB6YejhdGt1XG5cCmplamljaCBzZXpuYW11LCB0YWueZSBwYXJhbWV0ciAyIHNlIHN0YW5lIHBhcmFtZXRyZW0gMSBhdGQuIE5lbeEgnuFkbv1cblwKZWZla3QsIGplLWxpIHphZOFuIG5hIHD47Wthem92b3Ug+OFka3UuXG4iCgogIFdDTURfVElNRSwgICAiTuFwb3bsZGEgayBUSU1FXG4iCgogIFdDTURfVElUTEUsICAiTmFzdGF27SB0aXR1bGVrIG9rbmEgY21kLCBzeW50YXhlIFRJVExFIFv4ZXTsemVjXVxuIgoKICBXQ01EX1RZUEUsCiJUWVBFIDxzb3Vib3I+IHZ5cO2aZSA8c291Ym9yPiBuYSBrb256b2xvdukgemH47Xplbu0gKG5lYm8gamluYW0sXG5cCmplLWxpIHb9c3R1cCBw+GVt7HJvduFuKS4gTmVu7SB6ammanW924W5vLCBidWRlLWxpIHZ5cHPhbiDoaXRlbG79IHRleHQuXG4iCgogIFdDTURfVkVSSUZZLAoiVkVSSUZZIGplIHBvdZ7tduFuIGsgbmFzdGF2ZW7tIG5lYm8gemppmnTsbu0gc3RhdnUgcPjtem5ha3UgdmVyaWZ5LlxuXApTeW50YXhlOlxuXApcblwKVkVSSUZZIE9OCU5hc3Rhdu0gcPjtem5ha1xuXApWRVJJRlkgT0ZGCVpydZrtIHD47XpuYWtcblwKVkVSSUZZCQlab2JyYXrtIGFrdHXhbG7tIHN0YXYuXG5cClxuXApQ+O16bmFrIHZlcmlmeSBuZW3hIHZlIFdpbmUgnuFkbm91IGZ1bmtjaS5cbiIKCiAgV0NNRF9WRVIsCiJWRVIgem9icmF67SB2ZXJ6aSBzcHWadOxu6WhvIHByb2dyYW11IGNtZC5cbiIKCiAgV0NNRF9WT0wsICAgICJO4XBvduxkYSBrIFZPTFxuIgoKICBXQ01EX1BVU0hELCAgIlBVU0hEIDxkaXJlY3RvcnluYW1lPiBzYXZlcyB0aGUgY3VycmVudCBkaXJlY3Rvcnkgb250byBhXG5cCnN0YWNrLCBhbmQgdGhlbiBjaGFuZ2VzIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byB0aGUgc3VwcGxpZWQgb25lLlxuIgoKICBXQ01EX1BPUEQsICAgIlBPUEQgY2hhbmdlcyBjdXJyZW50IGRpcmVjdG9yeSB0byB0aGUgbGFzdCBvbmUgc2F2ZWQgd2l0aFxuXApQVVNIRC5cbiIKCiAgV0NNRF9NT1JFLCAgICJNT1JFIGRpc3BsYXlzIG91dHB1dCBvZiBmaWxlcyBvciBwaXBlZCBpbnB1dCBpbiBwYWdlcy5cbiIKCiAgV0NNRF9FWElULAoiRVhJVCB1a29u6O0gYuye7WPtIHNlemVu7SBhIHZy4XTtIGtvbnRyb2x1XG5cCm9wZXJh6G7tbXUgc3lzdOltdSBuZWJvIHD47Wthem926W11IGludGVycHJldHUsXG5cCnplIGt0ZXLpaG8gYnlsIGNtZCBzcHWadOxuLlxuIgoKICBXQ01EX0FMTEhFTFAsICJWZXN0YXbsbukgcPjta2F6eSBDTUQganNvdTpcblwKQVRUUklCXHRcdFpvYnJheu0gbmVibyBuYXN0YXbtIERPUy1vdnNr6SBzb3Vib3JvdukgYXR0cmlidXR5XG5cCkNBTExcdFx0WmF2b2zhIGThdmtvdv0gc291Ym9yIHogamlu6WhvXG5cCkNEIChDSERJUilcdFpt7G7tIHByYWNvdm7tIGFkcmVz4fhcblwKQ0xTXHRcdFZ5bWGeZSBva25vIHRlcm1pbuFsdVxuXApDT1BZXHRcdEtvcO1ydWplIHNvdWJvcnlcblwKQ1RUWVx0XHRabexu7SB2c3R1cG7sL3b9c3R1cG7tIHph+O16ZW7tXG5cCkRBVEVcdFx0VWvhnmUgbmVibyBuYXN0YXbtIHN5c3TpbW926SBkYXR1bVxuXApERUwgKEVSQVNFKVx0U21hnmUgamVkZW4gbmVibyB27WNlIHNvdWJvcvlcblwKRElSXHRcdFZ5cO2aZSBvYnNhaCBhZHJlc+H4ZVxuXApFQ0hPXHRcdFZ5cO2aZSB0ZXh0IG5hIHRlcm1pbuFsXG5cCkhFTFBcdFx0Wm9icmF67SBkZXRhaWxu7SBu4XBvduxkdSBrIHTpbWF0dVxuXApNRCAoTUtESVIpXHRWeXR2b/jtIGFkcmVz4fhcblwKTU9SRVx0XHREaXNwbGF5IG91dHB1dCBpbiBwYWdlc1xuXApNT1ZFXHRcdFD4ZXN1bmUgc291Ym9yLCBza3VwaW51IHNvdWJvcvkgbmVibyBhZHJlc+H4b3b9IHN0cm9tXG5cClBBVEhcdFx0TmFzdGF27SBuZWJvIHVr4Z5lIHByb2hsZWThdmFu6SBjZXN0eVxuXApQT1BEXHRcdFJlc3RvcmVzIHRoZSBkaXJlY3RvcnkgdG8gdGhlIGxhc3Qgb25lIHNhdmVkIHdpdGggUFVTSERcblwKUFJPTVBUXHRcdFpt7G7tIHb9enZ1IHD47Wthem926WhvIPjhZGt1XG5cClBVU0hEXHRcdENoYW5nZXMgdG8gYSBuZXcgZGlyZWN0b3J5LCBzYXZpbmcgdGhlIGN1cnJlbnQgb25lXG5cClJFTiAoUkVOQU1FKVx0UPhlam1lbnVqZSBzb3Vib3JcblwKUkQgKFJNRElSKVx0U21hnmUgYWRyZXPh+FxuXApTRVRcdFx0TmFzdGF27SBuZWJvIHpvYnJheu0gcHJvbexubm91IHByb3N0+GVk7VxuXApUSU1FXHRcdFVr4Z5lIOhpIG5hc3Rhdu0gc3lzdOltb3b9IOhhc1xuXApUSVRMRVx0XHROYXN0YXbtIHRpdHVsZWsgb2tuYSBi7J7tY+0gQ01EIGluc3RhbmNlXG5cClRZUEVcdFx0Vnlw7ZplIG9ic2FoIHRleHRvdulobyBzb3Vib3J1XG5cClZFUlx0XHRab2JyYXrtIHZlcnppIENNRFxuXApWT0xcdFx0VWvhnmUgam1lbm92a3UgZGlza3VcblwKRVhJVFx0XHRVa29u6O0gQ01EXG5cblwKWmFkZWp0ZSBIRUxQIDxw+O1rYXo+IHBybyBwb2Ryb2Ju7Gqa7SBpbmZvcm1hY2UgbyBu7Gt0ZXLpbSB6IHb9mmUgdXZlZGVu/WNoIHD47WthevlcbiIKCiAgV0NNRF9DT05GSVJNLCAiQXJlIHlvdSBzdXJlIgogIFdDTURfWUVTLCAiWSIKICBXQ01EX05PLCAiTiIKICBXQ01EX05PQVNTT0MsICJGaWxlIGFzc29jaWF0aW9uIG1pc3NpbmcgZm9yIGV4dGVuc2lvbiAlc1xuIgogIFdDTURfTk9GVFlQRSwgIk5vIG9wZW4gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGggZmlsZSB0eXBlICclcydcbiIKICBXQ01EX09WRVJXUklURSwgIk92ZXJ3cml0ZSAlcyIKICBXQ01EX01PUkVTVFIsICJNb3JlLi4uIgogIFdDTURfVFJVTkNBVEVETElORSwgIkxpbmUgaW4gQmF0Y2ggcHJvY2Vzc2luZyBwb3NzaWJseSB0cnVuY2F0ZWQuIFVzaW5nOlxuIgogIFdDTURfTllJLCAiTm90IFlldCBJbXBsZW1lbnRlZFxuXG4iCiAgV0NNRF9OT0FSRywgIkFyZ3VtZW50IG1pc3NpbmdcbiIKICBXQ01EX1NZTlRBWEVSUiwgIlN5bnRheCBlcnJvclxuIgogIFdDTURfRklMRU5PVEZPVU5ELCAiJXMgOiBGaWxlIE5vdCBGb3VuZFxuIgogIFdDTURfTk9DTURIRUxQLCAiTm8gaGVscCBhdmFpbGFibGUgZm9yICVzXG4iCiAgV0NNRF9OT1RBUkdFVCwgIlRhcmdldCB0byBHT1RPIG5vdCBmb3VuZFxuIgogIFdDTURfQ1VSUkVOVERBVEUsICJDdXJyZW50IERhdGUgaXMgJXNcbiIKICBXQ01EX0NVUlJFTlRUSU1FLCAiQ3VycmVudCBUaW1lIGlzICVzXG4iCiAgV0NNRF9ORVdEQVRFLCAiRW50ZXIgbmV3IGRhdGU6ICIKICBXQ01EX05FV1RJTUUsICJFbnRlciBuZXcgdGltZTogIgogIFdDTURfTUlTU0lOR0VOViwgIkVudmlyb25tZW50IHZhcmlhYmxlICVzIG5vdCBkZWZpbmVkXG4iCiAgV0NNRF9SRUFERkFJTCwgIkZhaWxlZCB0byBvcGVuICclcydcbiIKICBXQ01EX0NBTExJTlNDUklQVCwgIkNhbm5vdCBjYWxsIGJhdGNoIGxhYmVsIG91dHNpZGUgb2YgYSBiYXRjaCBzY3JpcHRcbiIKICBXQ01EX0FMTCwgIkEiCiAgV0NNRF9ERUxQUk9NUFQsICIlcywgRGVsZXRlIgogIFdDTURfRUNIT1BST01QVCwgIkVjaG8gaXMgJXNcbiIKICBXQ01EX1ZFUklGWVBST01QVCwgIlZlcmlmeSBpcyAlc1xuIgogIFdDTURfVkVSSUZZRVJSLCAiVmVyaWZ5IG11c3QgYmUgT04gb3IgT0ZGXG4iOwogIFdDTURfQVJHRVJSLCAiUGFyYW1ldGVyIGVycm9yXG4iCiAgV0NNRF9WT0xVTUVERVRBSUwsICJWb2x1bWUgaW4gZHJpdmUgJWMgaXMgJXNcblZvbHVtZSBTZXJpYWwgTnVtYmVyIGlzICUwNHgtJTA0eFxuXG4iCiAgV0NNRF9WT0xVTUVQUk9NUFQsICJWb2x1bWUgbGFiZWwgKDExIGNoYXJhY3RlcnMsIEVOVEVSIGZvciBub25lKT8iCiAgV0NNRF9OT1BBVEgsICJQQVRIIG5vdCBmb3VuZFxuIgogIFdDTURfQU5ZS0VZLCJQcmVzcyBSZXR1cm4ga2V5IHRvIGNvbnRpbnVlOiAiCiAgV0NNRF9DT05TVElUTEUsIldpbmUgQ29tbWFuZCBQcm9tcHQiCiAgV0NNRF9WRVJTSU9OLCJDTUQgVmVyc2lvbiAlc1xuXG4iCiAgV0NNRF9NT1JFUFJPTVBULCAiTW9yZT8gIgogIFdDTURfTElORVRPT0xPTkcsICJUaGUgaW5wdXQgbGluZSBpcyB0b28gbG9uZy5cbiIKfQo=