IwojCUxpc3Qgb2YgWm9ycm8gSURzCiMKIwlNYWludGFpbmVkIGJ5IEdlZXJ0IFV5dHRlcmhvZXZlbiA8em9ycm9AbGludXgtbTY4ay5vcmc+CiMJSWYgeW91IGhhdmUgYW55IG5ldyBlbnRyaWVzLCBwbGVhc2Ugc2VuZCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLgojCiMJJElkOiB6b3Jyby5pZHMsdiAxLjE5IDIwMDIvMTAvMTQgMTM6MDg6NTggZ2VlcnQgRXhwICQKIwoKIyBNYW51ZmFjdHVyZXJzIGFuZCBQcm9kdWN0cy4gUGxlYXNlIGtlZXAgc29ydGVkLgoKIyBTeW50YXg6CiMgbWFudWZhY3R1cmVyICBtYW51ZmFjdHVyZXJfbmFtZQojCXByb2R1Y3QgIHByb2R1Y3RfbmFtZQkJCQk8LS0gc2luZ2xlIHRhYgoKMDBkMyAgUGFjaWZpYyBQZXJpcGhlcmFscwoJMDAwMCAgU0UgMjAwMCBBNTAwIFtIRCBDb250cm9sbGVyXQoJMGEwMCAgW1NDU0kgSG9zdCBBZGFwdGVyXQowMGRkICBLdXBrZQoJMDAwMCAgR29sZW0gUkFNIEJveCAyTUIgW1JBTSBFeHBhbnNpb25dCjAxMDAgIE1hY3JvU3lzdGVtcyBVU0EKIyBUaGUgU3Rvcm1icmluZ2VyIGlzIGFjdHVhbGx5IG1hZGUgYnkgTWVtcGhpcwoJMDAwMCAgU3Rvcm1icmluZ2VyIFtBY2NlbGVyYXRvcl0KCTEzMDAgIFdhcnAgRW5naW5lIFtBY2NlbGVyYXRvciwgU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIFJBTSBFeHBhbnNpb25dCjAyMDAgIDMtU3RhdGUKCTAyMDAgIE1lZ2FtaXggMjAwMCBbUkFNIEV4cGFuc2lvbl0KMDIwMSAgQ29tbW9kb3JlIEJyYXVuc2Nod2VpZwoJMDEwMCAgQTIwODggWFQvQTIyODYgQVQgW0lTQSBCdXMgQnJpZGdlXQoJMDIwMCAgQTIyODYgQVQgW0lTQSBCdXMgQnJpZGdlXQoJNTQwMCAgQTQwOTEgW1NDU0kgSG9zdCBBZGFwdGVyXQoJNjcwMCAgQTIzODYtU1ggW0lTQSBCdXMgQnJpZGdlXQowMjAyICBDb21tb2RvcmUgV2VzdCBDaGVzdGVyCgkwMTAwICBBMjA5MC9BMjA5MEEgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDIwMCAgQTU5MC9BMjA5MSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwMzAwICBBNTkwL0EyMDkxIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA0MDAgIEEyMDkwQiAyMDkwIEF1dG9ib290IFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA5MDAgIEEyMDYwIFtBcmNOZXQgQ2FyZF0KCTBhMDAgIEE1OTAvQTIwNTIvQTIwNTgvQTIwOTEgW1JBTSBFeHBhbnNpb25dCgkyMDAwICBBNTYwIFtSQU0gRXhwYW5zaW9uXQoJNDUwMCAgQTIyMzIgUHJvdG90eXBlIFtNdWx0aSBJL09dCgk0NjAwICBBMjIzMiBbTXVsdGkgSS9PXQoJNTAwMCAgQTI2MjAgNjgwMjAgW0FjY2VsZXJhdG9yIGFuZCBSQU0gRXhwYW5zaW9uXQoJNTEwMCAgQTI2MzAgNjgwMzAgW0FjY2VsZXJhdG9yIGFuZCBSQU0gRXhwYW5zaW9uXQoJNTQwMCAgQTQwOTEgW1NDU0kgSG9zdCBBZGFwdGVyXQoJNWEwMCAgQTIwNjUgW0V0aGVybmV0IENhcmRdCgk2MDAwICBSb211bGF0b3IgQ2FyZAoJNjEwMCAgQTMwMDAgVGVzdCBGaXh0dXJlIFtNaXNjZWxsYW5lb3VzIEV4cGFuc2lvbiBDYXJkXQoJNjcwMCAgQTIzODYtU1ggW0lTQSBCdXMgQnJpZGdlXQoJNzAwMCAgQTIwNjUgW0V0aGVybmV0IENhcmRdCjAyMDMgIENvbW1vZG9yZSBXZXN0IENoZXN0ZXIKCTAzMDAgIEEyMDkwL0EyMDkwQSBDb21iaXRlYy9NYWNyb1N5c3RlbSBbU0NTSSBIb3N0IEFkYXB0ZXJdCjAyZjQgIFByb2dyZXNzaXZlIFBlcmlwaGVyYWxzICYgU3lzdGVtcwoJMDIwMCAgRVhQODAwMCBbUkFNIEV4cGFuc2lvbl0KCTY5MDAgIEEyMDAwIDY4MDQwIFtBY2NlbGVyYXRvcl0KCTk2MDAgIDY4MDQwIFtBY2NlbGVyYXRvcl0KMDJmZiAgS29sZmYgQ29tcHV0ZXIgU3VwcGxpZXMKCTAwMDAgIEtDUyBQb3dlciBQQyBbSVNBIEJ1cyBCcmlkZ2VdCjAzZWMgIENhcmRjbyBMdGQuCgkwNDAwICBLcm9ub3MgMjAwMCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwYzAwICBBMTAwMCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwZTAwICBFc2NvcnQgW1NDU0kgSG9zdCBBZGFwdGVyXQoJZjUwMCAgQTI0MTAgSGlSZXMgW0dyYXBoaWNzIENhcmRdCjAzZWQgIEEtU3F1YXJlZAoJMDEwMCAgTGl2ZSEgMjAwMCBbVmlkZW8gQ2FyZF0KMDNlZSAgQ29tc3BlYyBDb21tdW5pY2F0aW9ucwoJMDEwMCAgQVgyMDAwIFtSQU0gRXhwYW5zaW9uXQowM2YxICBBbmFraW4gUmVzZWFyY2gKCTAxMDAgIEVhc3lsIERyYXdpbmcgVGFibGV0IEludGVyZmFjZQowM2YyICBNaWNyb2JvdGljcwoJMDAwMCAgU3RhckJvYXJkIElJIFtSQU0gRXhwYW5zaW9uXQoJMDIwMCAgU3RhckRyaXZlIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTAzMDAgIDgtVXAgKFJldiBBKSBbUkFNIEV4cGFuc2lvbl0KCTA0MDAgIDgtVXAgKFJldiBaKSBbUkFNIEV4cGFuc2lvbl0KCTIwMDAgIERlbHRhIFtSQU0gRXhwYW5zaW9uXQoJNDAwMCAgOC1TdGFyIFtSQU0gRXhwYW5zaW9uXQoJNDEwMCAgOC1TdGFyIFtNaXNjZWxsYW5lb3VzIEV4cGFuc2lvbiBDYXJkXQoJNDQwMCAgVlhMIFJBTSozMiBbUkFNIEV4cGFuc2lvbl0KCTQ1MDAgIFZYTC0zMCBbQWNjZWxlcmF0b3JdCgk2MDAwICBEZWx0YSBbTWlzY2VsbGFuZW91cyBFeHBhbnNpb24gQ2FyZF0KCTgxMDAgIE1CWCAxMjAwLzEyMDB6IFtSQU0gRXhwYW5zaW9uXQoJOTYwMCAgSGFyZGZyYW1lIDIwMDAgW1NDU0kgSG9zdCBBZGFwdGVyXQoJOWUwMCAgSGFyZGZyYW1lIDIwMDAgW1NDU0kgSG9zdCBBZGFwdGVyXQoJYzEwMCAgTUJYIDEyMDAvMTIwMHogW01pc2NlbGxhbmVvdXMgRXhwYW5zaW9uIENhcmRdCjAzZjQgIEFjY2VzcyBBc3NvY2lhdGVzIEFsZWdyYQowM2Y2ICBFeHBhbnNpb24gVGVjaG5vbG9naWVzL1BhY2lmaWMgQ3lwcmVzcwowM2ZmICBBU0RHCgkwMTAwICBbUkFNIEV4cGFuc2lvbl0KCTAyMDAgIFtSQU0gRXhwYW5zaW9uXQoJZmUwMCAgRUItOTIwIExhbiBSb3ZlciBbRXRoZXJuZXQgQ2FyZF0KCWZmMDAgIEdQSUIvRHVhbCBJRUVFLTQ4OC9Ud2luLVggW011bHRpIEkvT10KMDQwNCAgUm9uaW4vSW10cm9uaWNzCgkzOTAwICBIdXJyaWNhbmUgMjgwMCBbQWNjZWxlcmF0b3IgYW5kIFJBTSBFeHBhbnNpb25dCgk1NzAwICBIdXJyaWNhbmUgMjgwMCBbQWNjZWxlcmF0b3IgYW5kIFJBTSBFeHBhbnNpb25dCjA0MDYgIENvbW1vZG9yZS9Vbml2ZXJzaXR5IG9mIExvd2VsbAoJMDAwMCAgQTI0MTAgSGlSZXMgW0dyYXBoaWNzIENhcmRdCjA0MWQgIEFtZXJpc3RhcgoJMDEwMCAgQTIwNjUgW0V0aGVybmV0IENhcmRdCgkwOTAwICBBNTYwIFtBcmNOZXQgQ2FyZF0KCTBhMDAgIEE0MDY2IFtFdGhlcm5ldCBDYXJkXQoJMjAwMCAgMTYwMC1HWCBbR3JhcGhpY3MgQ2FyZF0KMDQyMCAgU3VwcmEKCTAxMDAgIFN1cHJhRHJpdmUgNHg0IFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTAyMDAgIDEwMDAgW1JBTSBFeHBhbnNpb25dCgkwMzAwICAyMDAwIERNQSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwNTAwICA1MDAgW1NDU0kgSG9zdCBBZGFwdGVyIGFuZCBSQU0gRXhwYW5zaW9uXQoJMDgwMCAgNTAwIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA5MDAgIDUwMFhQLzIwMDAgW1JBTSBFeHBhbnNpb25dCgkwYTAwICA1MDBSWC8yMDAwIFtSQU0gRXhwYW5zaW9uXQoJMGIwMCAgMjQwMHppIFtNb2RlbV0KCTBjMDAgIDUwMFhQL1N1cHJhRHJpdmUgV29yZFN5bmMgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMGQwMCAgU3VwcmFEcml2ZSBXb3JkU3luYyBJSSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkxMDAwICAyNDAwemkrIFtNb2RlbV0KMDQyMiAgQ29tcHV0ZXIgU3lzdGVtcyBBc3Nvc2lhdGVzCgkxMTAwICBNYWdudW0gNDAgW0FjY2VsZXJhdG9yIGFuZCBTQ1NJIEhvc3QgQWRhcHRlcl0KCTE1MDAgIDEyIEdhdWdlIFtTQ1NJIEhvc3QgQWRhcHRlcl0KMDQzOSAgTWFyYyBNaWNoYWVsIEdyb3RoCjA1MDIgIE0tVGVjaAoJMDMwMCAgQVQ1MDAgW1JBTSBFeHBhbnNpb25dCjA2ZTEgIEdyZWF0IFZhbGxleSBQcm9kdWN0cwoJMDgwMCAgSW1wYWN0IFNlcmllcyBJIFtTQ1NJIEhvc3QgQWRhcHRlciBhbmQgUkFNIEV4cGFuc2lvbl0KCTIwMDAgIEltcGFjdCBWaXNpb24gMjQgW0dyYXBoaWNzIENhcmRdCjA3ZGEgIEJ5dGVCb3gKCTAwMDAgIEE1MDAKMDdkYiAgSGFja2VyIFRlc3QgQm9hcmQKMDdkYyAgREtCL1Bvd2VyIENvbXB1dGluZwoJMDkwMCAgU2VjdXJlS2V5CgkwZTAwICBES00gMzEyOCBbUkFNIEV4cGFuc2lvbl0KCTBmMDAgIFJhcGlkIEZpcmUgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMTAwMCAgREtNIDEyMDIgW0ZQVSBhbmQgUkFNIEV4cGFuc2lvbl0KCTEyMDAgIENvYnJhL1ZpcGVyIElJIDY4RUMwMzAgW0FjY2VsZXJhdG9yXQoJMTcwMCAgV2lsZEZpcmUgMDYwIFtBY2NlbGVyYXRvcl0KCWZmMDAgIFdpbGRGaXJlIDA2MCBbQWNjZWxlcmF0b3JdCjA3ZTEgIEdyZWF0IFZhbGxleSBQcm9kdWN0cwoJMDEwMCAgSW1wYWN0IFNlcmllcyBJICg0SykgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDIwMCAgSW1wYWN0IFNlcmllcyBJICgxNksvMikgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDMwMCAgSW1wYWN0IFNlcmllcyBJICgxNksvMikgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDgwMCAgSW1wYWN0IDMwMDEgW0lERSBJbnRlcmZhY2VdCgkwOTAwICBJbXBhY3QgMzAwMSBbUkFNIEV4cGFuc2lvbl0KCTBhMDAgIEltcGFjdCBTZXJpZXMgSUkgW1JBTSBFeHBhbnNpb25dCgkwYjIwICBHRm9yY2UgMDQwIFtBY2NlbGVyYXRvcl0KCTBiMzAgIEdGb3JjZSAwNDAgW0FjY2VsZXJhdG9yIGFuZCBTQ1NJIEhvc3QgQWRhcHRlcl0KCTBiNDAgIEExMjkxIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTBiNjAgIENvbWJvIDAzMCBSNCBbQWNjZWxlcmF0b3JdCgkwYjcwICBDb21ibyAwMzAgUjQgW0FjY2VsZXJhdG9yIGFuZCBTQ1NJIEhvc3QgQWRhcHRlcl0KCTBiNzggIFBob25lIFBhawoJMGI5OCAgSU8tRXh0ZW5kZXIgW011bHRpIEkvT10KCTBiYTAgIEdGb3JjZSAwMzAgW0FjY2VsZXJhdG9yXQoJMGJiMCAgR0ZvcmNlIDAzMCBbQWNjZWxlcmF0b3IgYW5kIFNDU0kgSG9zdCBBZGFwdGVyXQoJMGJjMCAgQTUzMCBbQWNjZWxlcmF0b3JdCgkwYmQwICBBNTMwIFtBY2NlbGVyYXRvciBhbmQgU0NTSSBIb3N0IEFkYXB0ZXJdCgkwYmUwICBDb21ibyAwMzAgUjMgW0FjY2VsZXJhdG9yXQoJMGJmMCAgQ29tYm8gMDMwIFIzIFtBY2NlbGVyYXRvciBhbmQgU0NTSSBIb3N0IEFkYXB0ZXJdCgkwYmY4ICBTZXJpZXMtSUkgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMGQwMCAgSW1wYWN0IDMwMDEgW0lERSBJbnRlcmZhY2VdCgkxNjAwICBHRm9yY2UgMDQwLzA2MCBbQWNjZWxlcmF0b3IgYW5kIFNDU0kgSG9zdCBBZGFwdGVyXQoJMjAwMCAgSW1wYWN0IFZpc2lvbiAyNCBbR3JhcGhpY3MgQ2FyZF0KCTQ0MDAgIFJlbWJyYW5kdCBbR3JhcGhpY3MgQ2FyZF0KCWZmMDAgIEdGb3JjZSAwNDAgW0FjY2VsZXJhdG9yXQowN2U1ICBDYWxpZm9ybmlhIEFjY2Vzcy9TeW5lcmd5CgkwMTAwICBNYWxpYnUgW1NDU0kgSG9zdCBBZGFwdGVyXQowN2U2ICBYZXRlYwoJMDEwMCAgRmFzdENhcmQgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDIwMCAgRmFzdENhcmQgW1JBTSBFeHBhbnNpb25dCgkwMzAwICBGYXN0Q2FyZCBQbHVzIFtTQ1NJIEhvc3QgQWRhcHRlcl0KMDdlYSAgUHJvZ3Jlc3NpdmUgUGVyaXBoZXJhbHMgJiBTeXN0ZW1zCgkwMDAwICBNZXJjdXJ5IFtBY2NlbGVyYXRvcl0KCTAxMDAgIEEzMDAwIDY4MDQwIFtBY2NlbGVyYXRvcl0KCTY5MDAgIEEyMDAwIDY4MDQwIFtBY2NlbGVyYXRvcl0KCTk2MDAgIFpldXMgW0FjY2VsZXJhdG9yLCBTQ1NJIEhvc3QgQWRhcHRlciBhbmQgUkFNIEV4cGFuc2lvbl0KCWJiMDAgIEE1MDAgNjgwNDAgW0FjY2VsZXJhdG9yXQojIFRoZSBBdGVvQnVzIGFuZCBQaXhlbDY0IGFyZSBhY3R1YWxseSBtYWRlIGJ5IEF0ZW8gQ29uY2VwdHMKCWZjMDAgIEF0ZW9CdXMgW0V4cGFuc2lvbiBCdXMgQnJpZGdlXQoJZmUwMCAgUGl4ZWw2NCBbR3JhcGhpY3MgQ2FyZF0KCWZmMDAgIFBpeGVsNjQgUkFNIFtHcmFwaGljcyBDYXJkXQowN2VjICBYZWJlYwowN2YyICBTcGlyaXQgVGVjaG5vbG9neQoJMDEwMCAgSW5zaWRlciBJTjEwMDAgW1JBTSBFeHBhbnNpb25dCgkwMjAwICBJbnNpZGVyIElONTAwIFtSQU0gRXhwYW5zaW9uXQoJMDMwMCAgU0lONTAwIFtSQU0gRXhwYW5zaW9uXQoJMDQwMCAgSERBIDUwNiBbSEQgQ29udHJvbGxlcl0KCTA1MDAgIEFYLVMgW01pc2NlbGxhbmVvdXMgRXhwYW5zaW9uIENhcmRdCgkwNjAwICBPY3RhQnl0ZSBbUkFNIEV4cGFuc2lvbl0KCTA4MDAgIElubWF0ZSBbU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIFJBTSBFeHBhbnNpb25dCjA3ZjMgIFNwaXJpdCBUZWNobm9sb2d5CjA3ZmUgIEJTQy9BbGZhZGF0YQoJMDMwMCAgQUxGIDMgW1NDU0kgSG9zdCBBZGFwdGVyXQowODAxICBCU0MvQWxmYWRhdGEKCTAxMDAgIEFMRiAyIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTAyMDAgIEFMRiAyIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTAzMDAgIEFMRiAzIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA0MDAgIE9rdGFnb24gNTAwIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA2MDAgIFRhbmRlbSBBVC0yMDA4LzUwOCBbSURFIEludGVyZmFjZV0KCTA4MDAgIE9rdGFnb24gMjAwOCBbUkFNIEV4cGFuc2lvbl0KCTEwMDAgIE11bHRpRmFjZSBJIFtNdWx0aSBJL09dCgkyMDAwICBGcmFtZU1hc3RlciBJSSBbR3JhcGhpY3MgQ2FyZF0KCTQwMDAgIElTRE4gTWFzdGVyQ2FyZCBbSVNETiBJbnRlcmZhY2VdCjA4MDIgIENhcmRjbyBMdGQuCgkwNDAwICBLcm9ub3MgMjAwMCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwYzAwICBBMTAwMCBbU0NTSSBIb3N0IEFkYXB0ZXJdCjA4MDQgIEpvY2hoZWltCgkwMTAwICBbUkFNIEV4cGFuc2lvbl0KCTIwMDAgIFtSQU0gRXhwYW5zaW9uXQowODA3ICBDaGVja3BvaW50IFRlY2hub2xvZ2llcwoJMDAwMCAgU2VyaWFsIFNvbHV0aW9uIFtNdWx0aSBTZXJpYWxdCjA4MTAgIEVkb3Ryb25pawoJMDEwMCAgSUVFRS00ODggSW50ZXJmYWNlIENhcmQKCTAyMDAgIENCTS04MDMyIENhcmQKCTAzMDAgIFtNdWx0aSBTZXJpYWxdCgkwNDAwICAyNEJpdCBSZWFsdGltZSBWaWRlbyBEaWdpdGl6ZXIKCTA1MDAgIDMyQml0IFBhcmFsbGVsIEkvTyBJbnRlcmZhY2UKCTA2MDAgIFBJQyBQcm90b3R5cGluZyBDYXJkCgkwNzAwICAxNiBDaGFubmVsIEFEQyBJbnRlcmZhY2UKCTA4MDAgIFZNRS1CdXMgQ29udHJvbGxlcgoJMDkwMCAgRFNQOTYwMDAgUmVhbHRpbWUgRGF0YSBBY3F1aXNpdGlvbiBEU1AgQ2FyZAowODEzICBORVMgSW5jLgoJMDAwMCAgW1JBTSBFeHBhbnNpb25dCjA4MTcgIElDRAoJMDEwMCAgQWR2YW50YWdlIDIwMDAgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDMwMCAgQWR2YW50YWdlIFtJREUgSW50ZXJmYWNlXQoJMDQwMCAgQWR2YW50YWdlIDIwODAgW1JBTSBFeHBhbnNpb25dCjA4MTkgIEt1cGtlCgkwMTAwICBPbXRpIFtIRCBDb250cm9sbGVyXQoJMDIwMCAgR29sZW0gU0NTSS1JSSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwMzAwICBHb2xlbSBCb3gKCTA0MDAgIDAzMC84ODIgW0FjY2VsZXJhdG9yXQoJMDUwMCAgR29sZW0gW1NDU0kgSG9zdCBBZGFwdGVyXQowODFkICBHcmVhdCBWYWxsZXkgUHJvZHVjdHMKCTA5MDAgIEEyMDAwLVJBTTgvMiBbTWlzY2VsbGFuZW91cyBFeHBhbnNpb24gQ2FyZF0KCTBhMDAgIEltcGFjdCBTZXJpZXMgSUkgW1JBTSBFeHBhbnNpb25dCjA4MWUgIEludGVyd29ya3MgTmV0d29yawowODIwICBIYXJkaXRhbCBTeW50aGVzaXMKCTAxMDAgIFN1cGVyIEJpZyBCYW5nIFtBY2NlbGVyYXRvciwgU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIFJBTSBFeHBhbnNpb25dCgkxNDAwICBUUU0gNjgwMzArNjg4ODIgW0FjY2VsZXJhdG9yXQowODI4ICBBcHBsaWVkIEVuZ2luZWVyaW5nCgkxMDAwICBETDIwMDAgW01vZGVtXQoJZTAwMCAgUkFNIFdvcmtzIFtSQU0gRXhwYW5zaW9uXQowODJjICBCU0MvQWxmYWRhdGEKCTA0MDAgIE9rdGFnb24gNTAwIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA1MDAgIE9rdGFnb24gMjAwOCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwNjAwICBUYW5kZW0gQVQtMjAwOC81MDggW0lERSBJbnRlcmZhY2VdCgkwNzAwICBBbHBoYSAxMjAwIFtSQU0gRXhwYW5zaW9uXQoJMDgwMCAgT2t0YWdvbiAyMDA4IFtSQU0gRXhwYW5zaW9uXQoJMTAwMCAgTXVsdGlGYWNlIEkgW011bHRpIEkvT10KCTExMDAgIE11bHRpRmFjZSBJSSBbTXVsdGkgSS9PXQoJMTIwMCAgTXVsdGlGYWNlIElJSSBbTXVsdGkgSS9PXQoJMjAwMCAgRnJhbWVNYXN0ZXIgSUkgW0dyYXBoaWNzIENhcmRdCgkyMTAwICBHcmFmZml0aSBSQU0gW0dyYXBoaWNzIENhcmRdCgkyMjAwICBHcmFmZml0aSBbR3JhcGhpY3MgQ2FyZF0KCTQwMDAgIElTRE4gTWFzdGVyQ2FyZCBbSVNETiBJbnRlcmZhY2VdCgk0MTAwICBJU0ROIE1hc3RlckNhcmQgSUkgW0lTRE4gSW50ZXJmYWNlXQowODM1ICBQaG9lbml4CgkyMTAwICBTVDUwNiBbSEQgQ29udHJvbGxlcl0KCTIyMDAgIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCWJlMDAgIFtSQU0gRXhwYW5zaW9uXQowODM2ICBBZHZhbmNlZCBTdG9yYWdlIFN5c3RlbXMKCTAxMDAgIE5leHVzIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA4MDAgIE5leHVzIFtSQU0gRXhwYW5zaW9uXQowODM4ICBJbXB1bHNlCgkwMDAwICBGaXJlQ3JhY2tlciAyNCAoTlRTQykgW0dyYXBoaWNzIENhcmRdCgkwMTAwICBGaXJlQ3JhY2tlciAyNCAoUEFMKSBbR3JhcGhpY3MgQ2FyZF0KMDg0MCAgSVZTCgkwMjAwICBHcmFuZFNsYW0gUElDIDIgW1JBTSBFeHBhbnNpb25dCgkwNDAwICBHcmFuZFNsYW0gUElDIDEgW1JBTSBFeHBhbnNpb25dCgkxMDAwICBPdmVyRHJpdmUgW0hEIENvbnRyb2xsZXJdCgkzMDAwICBUcnVtcENhcmQgQ2xhc3NpYyBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkzNDAwICBUcnVtcENhcmQgUHJvL0dyYW5kU2xhbSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgk0MDAwICBNZXRhLTQgW1JBTSBFeHBhbnNpb25dCgliZjAwICBXYXZldG9vbHMgW0F1ZGlvIENhcmRdCglmMzAwICBWZWN0b3IgW1NDU0kgSG9zdCBBZGFwdGVyXQoJZjQwMCAgVmVjdG9yIFtTQ1NJIEhvc3QgQWRhcHRlcl0KMDg0MSAgVmVjdG9yCgllMzAwICBDb25uZWN0aW9uIFtNdWx0aSBJL09dCjA4NDUgIFhQZXJ0IFByb0RldgoJMDEwMCAgVmlzaW9uYSBSQU0gW0dyYXBoaWNzIENhcmRdCgkwMjAwICBWaXNpb25hIFtHcmFwaGljcyBDYXJkXQoJMDMwMCAgTWVybGluIFJBTSBbR3JhcGhpY3MgQ2FyZF0KCTA0MDAgIE1lcmxpbiBbR3JhcGhpY3MgQ2FyZF0KCWM5MDAgIE1lcmxpbiBbR3JhcGhpY3MgQ2FyZF0KMDg0OSAgSHlkcmEgU3lzdGVtcwoJMDEwMCAgQW1pZ2FuZXQgW0V0aGVybmV0IENhcmRdCjA4NGYgIFN1bnJpemUgSW5kdXN0cmllcwoJMDEwMCAgQUQxMDEyIFtBdWRpbyBDYXJkXQoJMDIwMCAgQUQ1MTYgW0F1ZGlvIENhcmRdCgkwMzAwICBERDUxMiBbQXVkaW8gQ2FyZF0KMDg1MCAgVHJpY2VyYXRvcHMKCTAxMDAgIFtNdWx0aSBJL09dCjA4NTEgIEFwcGxpZWQgTWFnaWMgSW5jLgoJMDEwMCAgRE1JIFJlc29sdmVyIFtHcmFwaGljcyBDYXJkXQoJMDIwMCAgVml2aWQgMjQgW0dyYXBoaWNzIENhcmRdCgkwNjAwICBEaWdpdGFsIEJyb2FkY2FzdGVyIFtWaWRlbyBDYXJkXQowODVlICBHRlgtQmFzZQoJMDAwMCAgR0RBLTEgVlJBTSBbR3JhcGhpY3MgQ2FyZF0KCTAxMDAgIEdEQS0xIFtHcmFwaGljcyBDYXJkXQowODYwICBSb2NUZWMKCTAxMDAgIFJIIDgwMEMgW0hEIENvbnRyb2xsZXJdCgkwMjAwICBSSCA4MDBDIFtSQU0gRXhwYW5zaW9uXQowODYxICBLYXRvCiMgVGhlIFJhaW5ib3cgSUkgYW5kIElJSSBhcmUgYWN0dWFsbHkgbWFkZSBieSBJbmdlbmlldXJiw7xybyBIZWxmcmljaAoJMjAwMCAgUmFpbmJvdyBJSSBbR3JhcGhpY3MgQ2FyZF0KCTIxMDAgIFJhaW5ib3cgSUlJIFtHcmFwaGljcyBDYXJkXQoJODAwMCAgTWVsb2R5IE1QRUcgW0F1ZGlvIENhcmRdCjA4NjIgIEF0bGFudGlzCjA4NjQgIFByb3RhcgowODY1ICBBQ1MKMDg2NiAgU29mdHdhcmUgUmVzdWx0cyBFbnRlcnByaXNlcwoJMDEwMCAgR29sZGVuIEdhdGUgMiBCdXMrIFtJU0EgQnVzIEJyaWRnZV0KMDg2YSAgVW5rbm93bgoJMDEwMCAgSG9yaXpvbiBbR3JhcGhpY3MgQ2FyZF0KCTAyMDAgIEJsYWNrYm94IFtHcmFwaGljcyBDYXJkXQoJMDMwMCAgVm95YWdlciBbR3JhcGhpY3MgQ2FyZF0KMDg2ZCAgTWFzb2Jvc2hpCgkwMzAwICBNYXN0ZXJDYXJkIFNDMjAxIFtSQU0gRXhwYW5zaW9uXQoJMDQwMCAgTWFzdGVyQ2FyZCBNQzcwMiBbU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIElERSBJbnRlcmZhY2VdCgkwNzAwICBNVkQgODE5CjA4NmYgIE1haW5oYXR0YW4tRGF0YS9BLVRlYW0KCTAxMDAgIFtJREUgSW50ZXJmYWNlXQowODc3ICBWaWxsYWdlIFRyb25pYwoJMDEwMCAgRG9taW5vIFJBTSBbR3JhcGhpY3MgQ2FyZF0KCTAyMDAgIERvbWlubyBbR3JhcGhpY3MgQ2FyZF0KCTAzMDAgIERvbWlubyAxNk0gUHJvdG90eXBlIFtHcmFwaGljcyBDYXJkXQoJMGIwMCAgUGljYXNzbyBJSS9JSSsgUkFNIFtHcmFwaGljcyBDYXJkXQoJMGMwMCAgUGljYXNzbyBJSS9JSSsgW0dyYXBoaWNzIENhcmRdCgkwZDAwICBQaWNhc3NvIElJL0lJKyAoU2VnbWVudGVkIE1vZGUpIFtHcmFwaGljcyBDYXJkXQoJMTUwMCAgUGljYXNzbyBJViBaMiBSQU0gW0dyYXBoaWNzIENhcmRdCgkxNjAwICBQaWNhc3NvIElWIFoyIFJBTSBbR3JhcGhpY3MgQ2FyZF0KCTE3MDAgIFBpY2Fzc28gSVYgWjIgW0dyYXBoaWNzIENhcmRdCgkxODAwICBQaWNhc3NvIElWIFozIFtHcmFwaGljcyBDYXJkXQoJYzkwMCAgQXJpYWRuZSBbRXRoZXJuZXQgQ2FyZCBhbmQgUGFyYWxsZWwgUG9ydHNdCgljYTAwICBBcmlhZG5lIElJIFtFdGhlcm5ldCBDYXJkXQowODdiICBVdGlsaXRpZXMgVW5saW1pdGVkCgkxNTAwICBFbXBsYW50IERlbHV4ZSBbTWFjaW50b3NoIEVtdWxhdG9yXQoJMjAwMCAgRW1wbGFudCBEZWx1eGUgW01hY2ludG9zaCBFbXVsYXRvcl0KMDg4MCAgQW1pdHJpeAoJMDEwMCAgW011bHRpIEkvT10KCTAyMDAgIENELVJBTSBbUkFNIEV4cGFuc2lvbl0KMDg4NSAgQXJNYXgKCTAwMDAgIE9tbmlCdXMgW0dyYXBoaWNzIENhcmRdCjA4OGQgIFpFVVMgRWxlY3Ryb25pYyBEZXZlbG9wbWVudAoJMDMwMCAgW0lTRE4gSW50ZXJmYWNlXQoJMDQwMCAgU3BpZGVyIFtWaWRlbyBDYXJkXQowODhmICBOZXdUZWsKCTAwMDAgIFZpZGVvVG9hc3RlciBbVmlkZW8gQ2FyZF0KMDg5MCAgTS1UZWNoIEdlcm1hbnkKCTAxMDAgIEFUNTAwIFtJREUgSW50ZXJmYWNlXQoJMDMwMCAgNjgwMzAgW0FjY2VsZXJhdG9yXQoJMDYwMCAgNjgwMjBpIFtBY2NlbGVyYXRvcl0KCTIwMDAgIEExMjAwIFQ2ODAzMCBSVEMgW0FjY2VsZXJhdG9yXQoJMjEwMCAgVmlwZXIgTWsgVi9FLU1hdHJpeCA1MzAgW0FjY2VsZXJhdG9yIGFuZCBSQU0gRXhwYW5zaW9uXQoJMjIwMCAgOE1CIFtSQU0gRXhwYW5zaW9uXQoJMjQwMCAgVmlwZXIgTWsgVi9FLU1hdHJpeCA1MzAgW1NDU0kgSG9zdCBBZGFwdGVyIGFuZCBJREUgSW50ZXJmYWNlXQowODkxICBHcmVhdCBWYWxsZXkgUHJvZHVjdHMKCTAxMDAgIEVHUyAyOC8yNCBTcGVjdHJ1bSBSQU0gW0dyYXBoaWNzIENhcmRdCgkwMjAwICBFR1MgMjgvMjQgU3BlY3RydW0gW0dyYXBoaWNzIENhcmRdCjA4OTIgIEFwb2xsbwoJMDEwMCAgQTEyMDAgW0ZQVSBhbmQgUkFNIEV4cGFuc2lvbl0KMDg5MyAgSW5nZW5pZXVyYvxybyBIZWxmcmljaAoJMDUwMCAgUGljY29sbyBSQU0gW0dyYXBoaWNzIENhcmRdCgkwNjAwICBQaWNjb2xvIFtHcmFwaGljcyBDYXJkXQoJMDcwMCAgUGVnZ3lQbHVzIE1QRUcgW1ZpZGVvIENhcmRdCgkwODAwICBWaWRlb0NydW5jaGVyIFtWaWRlbyBDYXJkXQoJMGEwMCAgUGljY29sbyBTRDY0IFJBTSBbR3JhcGhpY3MgQ2FyZF0KCTBiMDAgIFBpY2NvbG8gU0Q2NCBbR3JhcGhpY3MgQ2FyZF0KMDg5YiAgTWFjcm9TeXN0ZW1zIFVTQQoJMTMwMCAgV2FycCBFbmdpbmUgNDB4eCBbQWNjZWxlcmF0b3IsIFNDU0kgSG9zdCBBZGFwdGVyIGFuZCBSQU0gRXhwYW5zaW9uXQowODllICBFbEJveCBDb21wdXRlcgoJMDYwMCAgMTIwMC80IFtSQU0gRXhwYW5zaW9uXQoJMDgwMCAgRmFzdEFUQSAxMjAwIFtJREUgSW50ZXJmYWNlXQoJMTIwMCAgRmFzdEFUQSAxMjAwIFtJREUgSW50ZXJmYWNlXQoJMTMwMCAgRmFzdEFUQSAxMjAwIFtJREUgSW50ZXJmYWNlXQoJMTgwMCAgRmFzdEFUQSAxMjAwIFtJREUgSW50ZXJmYWNlXQoJMTkwMCAgRmFzdEFUQSA0MDAwIFtJREUgSW50ZXJmYWNlXQoJMWQwMCAgRmFzdEFUQSA0MDAwIFtJREUgSW50ZXJmYWNlXQoJMWUwMCAgRmFzdEFUQSBaSVYgW0lERSBJbnRlcmZhY2VdCjBhMDAgIEhhcm1zIFByb2Zlc3Npb25hbAoJMTAwMCAgMDMwIFBsdXMgW0FjY2VsZXJhdG9yXQoJZDAwMCAgMzUwMCBQcm9mZXNzaW9uYWwgW0FjY2VsZXJhdG9yIGFuZCBSQU0gRXhwYW5zaW9uXQowYTUwICBNaWNyb25pawoJMGEwMCAgUkNBIDEyMCBbUkFNIEV4cGFuc2lvbl0KMGYwZiAgTWljcm9uaWsKCTAxMDAgIFozaSBBMTIwMCBbWm9ycm8gSUlJIEV4dGVuZGVyIGFuZCBTQ1NJIEhvc3QgQWRhcHRlcl0KMTAwMCAgTWVnYU1pY3JvCgkwMzAwICBTQ1JBTSA1MDAgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDQwMCAgU0NSQU0gNTAwIFtSQU0gRXhwYW5zaW9uXQoxMDI4ICBSb25pbi9JbXRyb25pY3MKCTM5MDAgIEh1cnJpY2FuZSAyODAwIFtBY2NlbGVyYXRvciBhbmQgUkFNIEV4cGFuc2lvbl0KCTU3MDAgIEh1cnJpY2FuZSAyODAwIFtBY2NlbGVyYXRvciBhbmQgUkFNIEV4cGFuc2lvbl0KMTAyZiAgQXRlbyBDb25jZXB0cwoJZmMwMCAgQXRlb0J1cyBbRXhwYW5zaW9uIEJ1cyBCcmlkZ2VdCglmZTAwICBQaXhlbDY0IFtHcmFwaGljcyBDYXJkXQoJZmYwMCAgUGl4ZWw2NCBSQU0gW0dyYXBoaWNzIENhcmRdCjEyMTIgIEluZGl2aWR1YWwgQ29tcHV0ZXJzCgkwMDAwICBCdWRkaGEgW0lERSBJbnRlcmZhY2VdCgkxNzAwICBYLVN1cmYgW0V0aGVybmV0IENhcmQgYW5kIElERSBJbnRlcmZhY2VdCgkyYTAwICBDYXR3ZWFzZWwgW0lERSBJbnRlcmZhY2UgYW5kIEZsb3BweSBDb250cm9sbGVyXQoxMjQ4ICBLdXBrZQoJMDEwMCAgR29sZW0gSEQgMzAwMCBbSEQgQ29udHJvbGxlcl0KMTI2NyAgUkJNLUNvbXB1dGVydGVjaG5pawoJMDEwMCAgSU9CbGl4IFtNdWx0aSBJL09dCjEzODggIElUSAoJMDEwMCAgSVNETi1NYXN0ZXIgSUkgW0lTRE4gSW50ZXJmYWNlXQoxMzg5ICBWTUMKCTAxMDAgIElTRE4gQmxhc3RlciBaMiBbSVNETiBJbnRlcmZhY2VdCgkwMjAwICBIeXBlckNvbSA0IFtNdWx0aSBJL09dCgkwNjAwICBIeXBlckNvbSA0KyBbTXVsdGkgSS9PXQoxNTdjICBJbmZvcm1hdGlvbgoJNjQwMCAgSVNETiBFbmdpbmUgSSBbSVNETiBJbnRlcmZhY2VdCjIwMTcgIFZvcnRleAoJMDcwMCAgR29sZGVuIEdhdGUgODAzODZTWCBbSVNBIEJ1cyBCcmlkZ2VdCgkwODAwICBHb2xkZW4gR2F0ZSBbUkFNIEV4cGFuc2lvbl0KCTA5MDAgIEdvbGRlbiBHYXRlIDgwNDg2IFtJU0EgQnVzIEJyaWRnZV0KMjA2MiAgRXhwYW5zaW9uIFN5c3RlbXMKCTAxMDAgIERhdGFGbHllciA0MDAwU1ggW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDIwMCAgRGF0YUZseWVyIDQwMDBTWCBbUkFNIEV4cGFuc2lvbl0KMjEwMCAgUmVhZHlTb2Z0CgkwMTAwICBBTWF4IElJL0lWIFtNYWNpbnRvc2ggRW11bGF0b3JdCjIxNDAgIFBoYXNlIDUKCTAxMDAgIEJsaXp6YXJkIFtSQU0gRXhwYW5zaW9uXQoJMDIwMCAgQmxpenphcmQgW0FjY2VsZXJhdG9yXQoJMDYwMCAgQmxpenphcmQgMTIyMC1JViBbQWNjZWxlcmF0b3JdCgkwYTAwICBGYXN0TGFuZSBaMyBbUkFNIEV4cGFuc2lvbl0KCTBiMDAgIEJsaXp6YXJkIDEyMzAtSUkvRmFzdGxhbmUgWjMvQ3liZXJTQ1NJL0N5YmVyU3Rvcm0wNjAgW0FjY2VsZXJhdG9yIGFuZC9vciBTQ1NJIEhvc3QgQWRhcHRlcl0KCTBjMDAgIEJsaXp6YXJkIDEyMjAvQ3liZXJTdG9ybSBbQWNjZWxlcmF0b3IgYW5kIFNDU0kgSG9zdCBBZGFwdGVyXQoJMGQwMCAgQmxpenphcmQgMTIzMCBbQWNjZWxlcmF0b3JdCgkxMTAwICBCbGl6emFyZCAxMjMwLUlWLzEyNjAgW0FjY2VsZXJhdG9yXQoJMTgwMCAgQmxpenphcmQgMjA2MCBbQWNjZWxlcmF0b3JdCgkxOTAwICBDeWJlclN0b3JtIE1rIElJIFtGbGFzaCBST01dCgkyMjAwICBDeWJlclZpc2lvbjY0IFtHcmFwaGljcyBDYXJkXQoJMzIwMCAgQ3liZXJWaXNpb242NC0zRCBQcm90b3R5cGUgW0dyYXBoaWNzIENhcmRdCgk0MzAwICBDeWJlclZpc2lvbjY0LTNEIFtHcmFwaGljcyBDYXJkXQoJNjQwMCAgQ3liZXJTdG9ybSBNayBJSUkgW0FjY2VsZXJhdG9yIGFuZCBTQ1NJIEhvc3QgQWRhcHRlcl0KCTZlMDAgIEJsaXp6YXJkIDYwM2UrIFtBY2NlbGVyYXRvciBhbmQgU0NTSSBIb3N0IEFkYXB0ZXJdCjIxNjkgIERQUwoJMDEwMCAgUGVyc29uYWwgQW5pbWF0aW9uIFJlY29yZGVyIFtWaWRlbyBDYXJkXQoyMjAwICBBcG9sbG8KCTAwMDAgIEE2MjAgNjgwMjAgW0FjY2VsZXJhdG9yXQoJMDEwMCAgQTYyMCA2ODAyMCBbQWNjZWxlcmF0b3JdCjIyMjIgIEFwb2xsbwoJMjIwMCAgQVQtQXBvbGxvCgkyMzAwICAxMjMwLzEyNDAvMTI2MC8yMDMwLzQwNDAvNDA2MCBbQWNjZWxlcmF0b3JdCjM4YTUgIFBldHNvZmYgTFAKCTAwMDAgIERlbGZpbmEgW0F1ZGlvIENhcmRdCgkwMTAwICBEZWxmaW5hIExpdGUgW0F1ZGlvIENhcmRdCgkwMjAwICBEZWxmaW5hIFBsdXMgW0F1ZGlvIENhcmRdCjNmZjcgIFV3ZSBHZXJsYWNoCglkNDAwICBSQU0vUk9NIFtNaXNjZWxsYW5lb3VzIEV4cGFuc2lvbiBDYXJkXQo0MjMxICBBQ1QKCTAxMDAgIFByZWx1ZGUgW0F1ZGlvIENhcmRdCjQ3NTQgIE1hY3JvU3lzdGVtcyBHZXJtYW55CgkwMzAwICBNYWVzdHJvIFtBdWRpbyBDYXJkXQoJMDQwMCAgVkxhYiBbVmlkZW8gQ2FyZF0KCTA1MDAgIE1hZXN0cm8gUHJvIFtBdWRpbyBDYXJkXQoJMDYwMCAgUmV0aW5hIFtHcmFwaGljcyBDYXJkXQoJMDgwMCAgTXVsdGlFdm9sdXRpb24gW1NDU0kgSG9zdCBBZGFwdGVyXQoJMGMwMCAgVG9jY2F0YSBbQXVkaW8gQ2FyZF0KCTBkMDAgIFRvY2NhdGEgUHJvIFtBdWRpbyBDYXJkXQoJMTAwMCAgUmV0aW5hIFozIFtHcmFwaGljcyBDYXJkXQoJMTIwMCAgVkxhYiBNb3Rpb24gW1ZpZGVvIENhcmRdCgkxMzAwICBBbHRhaXMgW0dyYXBoaWNzIENhcmRdCglmZDAwICBGYWxjb24gJzA0MCBbQWNjZWxlcmF0b3JdCjY3NjYgIENvbWJpdGVjCjgwMDAgIFNLSSBQZXJpcGhlcmFscwoJMDgwMCAgTUFTVCBGaXJlYmFsbCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgk4MDAwICBbU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIER1YWwgU2VyaWFsIENhcmRdCmE5YWQgIFJlaXMtV2FyZQoJMTEwMCAgU2NhbiBLaW5nIFtTY2FubmVyIEludGVyZmFjZV0KYWEwMSAgQ2FtZXJvbgoJMTAwMCAgUGVyc29uYWwgQTQgW1NjYW5uZXIgSW50ZXJmYWNlXQphYTExICBSZWlzLVdhcmUKCTExMDAgIEhhbmR5c2Nhbm5lciBbU2Nhbm5lciBJbnRlcmZhY2VdCmI1YTggIFBob2VuaXgKCTIxMDAgIFNUNTA2IFtIRCBDb250cm9sbGVyXQoJMjIwMCAgW1NDU0kgSG9zdCBBZGFwdGVyXQoJYmUwMCAgW1JBTSBFeHBhbnNpb25dCmMwMDggIENvbWJpdGVjCgkyYTAwICBbSEQgQ29udHJvbGxlcl0KCTJiMDAgIFNSQU0gW1JBTSBFeHBhbnNpb25dCg==