LyoKICogRHV0Y2ggcmVzb3VyY2VzIGZvciBXTERBUDMyCiAqCiAqIENvcHlyaWdodCAyMDA1IEhhbnMgTGVpZGVra2VyCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfRFVUQ0gsIFNVQkxBTkdfREVGQVVMVAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgMCAiU3VjY2VzIgogICAgMSAiT3BlcmF0aW9uZWxlIGZvdXQiCiAgICAyICJQcm90b2NvbGZvdXQiCiAgICAzICJUaWpkbGltaWV0IG92ZXJzY2hyZWRlbiIKICAgIDQgIk1heGltdW0gb212YW5nIG92ZXJzY2hyZWRlbiIKICAgIDUgIlZlcmdlbGlqa2luZyBuaWV0IHdhYXIiCiAgICA2ICJWZXJnZWxpamtpbmcgd2FhciIKICAgIDcgIkF1dGhlbnRpY2F0aWVtZXRob2RlIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiCiAgICA4ICJTdGVya2UgYXV0aGVudGljYXRpZSB2ZXJlaXN0IgogICAgOSAiVmVyd2lqemluZyAodjIpIgogICAgMTAgIlZlcndpanppbmciCiAgICAxMSAiQWRtaW5pc3RyYXRpZXZlIGxpbWlldCBvdmVyc2NocmVkZW4iCiAgICAxMiAiS3JpdGlla2UgZXh0ZW5zaWUgbmlldCBiZXNjaGlrYmFhciIKICAgIDEzICJWZXJ0cm91d2VsaWpraGVpZCB2ZXJlaXN0IgogICAgMTQgIiIKICAgIDE1ICIiCiAgICAxNiAiQXR0cmlidXV0IGJlc3RhYXQgbmlldCIKICAgIDE3ICJPbmdlZGVmaW5p62VyZCB0eXBlIgogICAgMTggIkZvdXRpZXZlIHZlcmdlbGlqa2luZyIKICAgIDE5ICJTY2hlbmRpbmcgdmFuIHJlc3RyaWN0aWUiCiAgICAyMCAiQXR0cmlidXV0IG9mIHdhYXJkZSBiZXN0YWF0IgogICAgMjEgIk9uZ2VsZGlnZSBzeW50YXgiCiAgICAyMiAiIgogICAgMjMgIiIKICAgIDI0ICIiCiAgICAyNSAiIgogICAgMjYgIiIKICAgIDI3ICIiCiAgICAyOCAiIgogICAgMjkgIiIKICAgIDMwICIiCiAgICAzMSAiIgogICAgMzIgIk9iamVjdCBiZXN0YWF0IG5pZXQiCiAgICAzMyAiQWxpYXNwcm9ibGVlbSIKICAgIDM0ICJPbmdlbGRpZ2UgRE4gc3ludGF4IgogICAgMzUgIkVpbmRrbm9vcCIKICAgIDM2ICJBbGlhcyB2b2xncHJvYmxlZW0iCiAgICAzNyAiIgogICAgMzggIiIKICAgIDM5ICIiCiAgICA0MCAiIgogICAgNDEgIiIKICAgIDQyICIiCiAgICA0MyAiIgogICAgNDQgIiIKICAgIDQ1ICIiCiAgICA0NiAiIgogICAgNDcgIiIKICAgIDQ4ICJGb3V0aWV2ZSBhdXRoZW50aWNhdGllIgogICAgNDkgIk9uZ2VsZGlnZSBhYW5tZWxkaW5nc2dlZ2V2ZW5zIgogICAgNTAgIk9udm9sZG9lbmRlIHJlY2h0ZW4iCiAgICA1MSAiQmV6aWciCiAgICA1MiAiTmlldCBiZXNjaGlrYmFhciIKICAgIDUzICJVaXR2b2VyaW5nIGdld2VpZ2VyZCIKICAgIDU0ICJDaXJrZWwgZ2VkZXRlY3RlZXJkIgogICAgNTUgIiIKICAgIDU2ICIiCiAgICA1NyAiIgogICAgNTggIiIKICAgIDU5ICIiCiAgICA2MCAiQmVzdHVyaW5nc2VsZW1lbnQgdm9vciBzb3J0ZXJlbiBvbnRicmVla3QiCiAgICA2MSAiQnVpdGVuIGluZGV4YmVyZWlrIgogICAgNjIgIiIKICAgIDYzICIiCiAgICA2NCAiTmFhbWdldmluZ3Nmb3V0IgogICAgNjUgIlNjaGVuZGluZyBvYmplY3RrbGFzc2VkZWZpbml0aWUiCiAgICA2NiAiTmlldCB0b2VnZXN0YWFuIG9wIG5pZXQtZWluZGtub3BlbiIKICAgIDY3ICJOaWV0IHRvZWdlc3RhYW4gb3AgUkROIgogICAgNjggIkJlc3RhYXQgcmVlZHMiCiAgICA2OSAiR2VlbiBvYmplY3RrbGFzc2Vtb2RpZmljYXRpZXMiCiAgICA3MCAiUmVzdWx0YXRlbiB0ZSBncm9vdCIKICAgIDcxICJCZXRyZWZ0IG1lZXJkZXJlIERTQXMiCiAgICA3MiAiIgogICAgNzMgIiIKICAgIDc0ICIiCiAgICA3NSAiIgogICAgNzYgIiIKICAgIDc3ICIiCiAgICA3OCAiIgogICAgNzkgIiIKICAgIDgwICJBbmRlcnMiCiAgICA4MSAiU2VydmVyIHBsYXQiCiAgICA4MiAiTG9rYWxlIGZvdXQiCiAgICA4MyAiQ29kZWVyZm91dCIKICAgIDg0ICJEZWNvZGVlcmZvdXQiCiAgICA4NSAiVGltZW91dCIKICAgIDg2ICJPbmJla2VuZGUgYXV0aGVudGljYXRpZW1ldGhvZGUiCiAgICA4NyAiRmlsdGVyZm91dCIKICAgIDg4ICJBZmdlYnJva2VuIGRvb3IgZ2VicnVpa2VyIgogICAgODkgIlBhcmFtZXRlcmZvdXQiCiAgICA5MCAiT252b2xkb2VuZGUgZ2VoZXVnZW4iCiAgICA5MSAiS2FuIGdlZW4gdmVyYmluZGluZyBtYWtlbiBtZXQgTERBUC1zZXJ2ZXIiCiAgICA5MiAiT3BlcmF0aWUgbmlldCBvbmRlcnN0ZXVuZCBkb29yIGRlemUgdmVyc2llIHZhbiBoZXQgTERBUC1wcm90b2NvbCIKICAgIDkzICJPcGdlZ2V2ZW4gYmVzdHVyaW5nc2VsZW1lbnQgbmlldCBnZXZvbmRlbiBpbiBiZXJpY2h0IgogICAgOTQgIkdlZW4gcmVzdWx0YWF0IGFhbndlemlnIGluIGJlcmljaHQiCiAgICA5NSAiTWVlciByZXN1bHRhdGVuIHRlcnVnZ2VrcmVnZW4iCiAgICA5NiAiQ2lya2VsIGdldm9uZGVuIGJpaiBoZXQgdmVyd2Vya2VuIHZhbiB2ZXJ3aWp6aW5nZW4iCiAgICA5NyAiT3ZlcnNjaHJpamRpbmcgdmFuIGxpbWlldCBvcCB2ZXJ3aWp6aW5nZW4iCn0K