LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgogKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CiAqCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogT3JpZ2luYWxseSBkZXZlbG9wZWQgYW5kIGNvbnRyaWJ1dGVkIGJ5IEl0dGlhbSBTeXN0ZW1zIFB2dC4gTHRkLCBCYW5nYWxvcmUKKi8KCgovKioKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogQGZpbGUKKiAgaWgyNjRfY2F2bGNfdGFibGVzLmMKKgoqIEBicmllZgoqICBUaGlzIGZpbGUgY29udGFpbnMgSDI2NCBjYXZsYyB0YWJsZXMgZm9yIGVuY29kaW5nIGNvZWZmX3Rva2VucywgbGV2ZWxzLCB0b3RhbAoqICB6ZXJvcyBhbmQgcnVucyBiZWZvcmUgemVyb3MKKgoqIEBhdXRob3IKKiAgIEl0dGlhbQoqCiogQHBhciBMaXN0IG9mIFRhYmxlcwoqICAgLSBndTFfY29kZV9jb2VmZl90b2tlbl90YWJsZQoqICAgLSBndTFfc2l6ZV9jb2VmZl90b2tlbl90YWJsZQoqICAgLSBndTFfY29kZV9jb2VmZl90b2tlbl90YWJsZV9jaHJvbWEKKiAgIC0gZ3UxX3NpemVfY29lZmZfdG9rZW5fdGFibGVfY2hyb21hCiogICAtIGd1MV90aHJlc2hvbGRfdmxjX2xldmVsCiogICAtIGd1MV9zaXplX3plcm9fdGFibGUKKiAgIC0gZ3UxX2NvZGVfemVyb190YWJsZQoqICAgLSBndTFfc2l6ZV96ZXJvX3RhYmxlX2Nocm9tYQoqICAgLSBndTFfY29kZV96ZXJvX3RhYmxlX2Nocm9tYQoqICAgLSBndTFfaW5kZXhfemVyb190YWJsZQoqICAgLSBndTFfc2l6ZV9ydW5fdGFibGUKKiAgIC0gZ3UxX2NvZGVfcnVuX3RhYmxlCiogICAtIGd1NF9jb2Rld29yZF9sZXZlbF90YWJsZXMKKiAgIC0gZ3UxX2NvZGVzaXplX2xldmVsX3RhYmxlcwoqCiogQHJlbWFya3MKKiAgbm9uZQoqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqLwoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiBGaWxlIEluY2x1ZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCi8qIFVzZXIgaW5jbHVkZSBmaWxlcyAqLwojaW5jbHVkZSAiaWgyNjRfdHlwZWRlZnMuaCIKI2luY2x1ZGUgImloMjY0X2NhdmxjX3RhYmxlcy5oIgoKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogRXh0ZXJuIGdsb2JhbCBkZWZpbml0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgovKioKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBAYnJpZWYgIEFzc2lnbm1lbnQgb2YgY2JwIHRvIGEgY29kZW51bSBmb3IgaW50cmEgYW5kIGludGVyIHByZWRpY3Rpb24gbW9kZXMKICogY2hyb21hIGZvcm1hdCBpZGMgIT0gMAogKiBpbnB1dCAgOiBjYnAsIGludHJhIC0gMC9pbnRlciAtIDEKICogb3V0cHV0IDogY29kZW51bQogKiBAcmVtYXJrcyBUYWJsZSA5LTQgliBBc3NpZ25tZW50IG9mIGNvZGVOdW0gdG8gdmFsdWVzIG9mIGNvZGVkX2Jsb2NrX3BhdHRlcm4KICogZm9yIG1hY3JvYmxvY2sgcHJlZGljdGlvbiBtb2RlcyBpbiBIMjY0IHNwZWMKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKi8KY29uc3QgVVdPUkQ4IGd1MV9jYnBfbWFwX3RhYmxlc1s0OF1bMl09CnsKICAgIHsgMywgIDB9LCAgIHsyOSwgIDJ9LCAgIHszMCwgIDN9LCAgIHsxNywgIDd9LCAgIHszMSwgIDR9LCAgIHsxOCwgIDh9LCAgIHszNywgMTd9LCAgIHsgOCwgMTN9LAogICAgezMyLCAgNX0sICAgezM4LCAxOH0sICAgezE5LCAgOX0sICAgeyA5LCAxNH0sICAgezIwLCAxMH0sICAgezEwLCAxNX0sICAgezExLCAxNn0sICAgeyAyLCAxMX0sCiAgICB7MTYsICAxfSwgICB7MzMsIDMyfSwgICB7MzQsIDMzfSwgICB7MjEsIDM2fSwgICB7MzUsIDM0fSwgICB7MjIsIDM3fSwgICB7MzksIDQ0fSwgICB7IDQsIDQwfSwKICAgIHszNiwgMzV9LCAgIHs0MCwgNDV9LCAgIHsyMywgMzh9LCAgIHsgNSwgNDF9LCAgIHsyNCwgMzl9LCAgIHsgNiwgNDJ9LCAgIHsgNywgNDN9LCAgIHsgMSwgMTl9LAogICAgezQxLCAgNn0sICAgezQyLCAyNH0sICAgezQzLCAyNX0sICAgezI1LCAyMH0sICAgezQ0LCAyNn0sICAgezI2LCAyMX0sICAgezQ2LCA0Nn0sICAgezEyLCAyOH0sCiAgICB7NDUsIDI3fSwgICB7NDcsIDQ3fSwgICB7MjcsIDIyfSwgICB7MTMsIDI5fSwgICB7MjgsIDIzfSwgICB7MTQsIDMwfSwgICB7MTUsIDMxfSwgICB7IDAsIDEyfSwKfTsKCgovKioKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBAYnJpZWYgIHRvdGFsIG5vbi16ZXJvIGNvZWZmaWNpZW50cyBhbmQgbnVtYmVycyBvZiB0cmFpbGluZyBvbmVzIG9mIGEgcmVzaWR1YWwKICogYmxvY2sgYXJlIG1hcHBlZCB0byBjb2VmZl90b2tlbiB1c2luZyB0aGUgdGFibGVzIGdpdmVuIGJlbG93LgogKiBpbnB1dCAgOiBWTEMtTnVtICB8IFRyYWlsaW5nIG9uZXMgfCBUb3RhbCBjb2VmZnMKICogb3V0cHV0IDogY29lZmZfdG9rZW4gKGNvZGUgd29yZCwgc2l6ZSBvZiB0aGUgY29kZSB3b3JkKQogKiBAcmVtYXJrcyBUYWJsZS05LTUgY29lZmZfdG9rZW4gbWFwcGluZyB0byBUb3RhbENvZWZmKCBjb2VmZl90b2tlbiApCiAqIGFuZCBUcmFpbGluZ09uZXMoIGNvZWZmX3Rva2VuICkgaW4gSDI2NCBzcGVjCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICovCmNvbnN0IFVXT1JEOCBndTFfY29kZV9jb2VmZl90b2tlbl90YWJsZVszXVs0XVsxNl0gPQp7CiAgICB7CiAgICAgICAgeyA1LCAgNywgIDcsICA3LCAgNywgMTUsIDExLCAgOCwgMTUsIDExLCAxNSwgMTEsIDE1LCAxMSwgIDcsICA0LCB9LAogICAgICAgIHsgMSwgIDQsICA2LCAgNiwgIDYsICA2LCAxNCwgMTAsIDE0LCAxMCwgMTQsIDEwLCAgMSwgMTQsIDEwLCAgNiwgfSwKICAgICAgICB7IDAsICAxLCAgNSwgIDUsICA1LCAgNSwgIDUsIDEzLCAgOSwgMTMsICA5LCAxMywgIDksIDEzLCAgOSwgIDUsIH0sCiAgICAgICAgeyAwLCAgMCwgIDMsICAzLCAgNCwgIDQsICA0LCAgNCwgIDQsIDEyLCAxMiwgIDgsIDEyLCAgOCwgMTIsICA4LCB9LAogICAgfSwKICAgIHsKICAgICAgICB7MTEsICA3LCAgNywgIDcsICA0LCAgNywgMTUsIDExLCAxNSwgMTEsICA4LCAxNSwgMTEsICA3LCAgOSwgIDcsIH0sCiAgICAgICAgeyAyLCAgNywgMTAsICA2LCAgNiwgIDYsICA2LCAxNCwgMTAsIDE0LCAxMCwgMTQsIDEwLCAxMSwgIDgsICA2LCB9LAogICAgICAgIHsgMCwgIDMsICA5LCAgNSwgIDUsICA1LCAgNSwgMTMsICA5LCAxMywgIDksIDEzLCAgOSwgIDYsIDEwLCAgNSwgfSwKICAgICAgICB7IDAsICAwLCAgNSwgIDQsICA2LCAgOCwgIDQsICA0LCAgNCwgMTIsICA4LCAxMiwgMTIsICA4LCAgMSwgIDQsIH0sCiAgICB9LAogICAgewogICAgICAgIHsxNSwgMTEsICA4LCAxNSwgMTEsICA5LCAgOCwgMTUsIDExLCAxNSwgMTEsICA4LCAxMywgIDksICA1LCAgMSwgfSwKICAgICAgICB7MTQsIDE1LCAxMiwgMTAsICA4LCAxNCwgMTAsIDE0LCAxNCwgMTAsIDE0LCAxMCwgIDcsIDEyLCAgOCwgIDQsIH0sCiAgICAgICAgeyAwLCAxMywgMTQsIDExLCAgOSwgMTMsICA5LCAxMywgMTAsIDEzLCAgOSwgMTMsICA5LCAxMSwgIDcsICAzLCB9LAogICAgICAgIHsgMCwgIDAsIDEyLCAxMSwgMTAsICA5LCAgOCwgMTMsIDEyLCAxMiwgMTIsICA4LCAxMiwgMTAsICA2LCAgMiwgfSwKICAgIH0sCn07Cgpjb25zdCBVV09SRDggZ3UxX3NpemVfY29lZmZfdG9rZW5fdGFibGVbM11bNF1bMTZdID0KewogICAgewogICAgICAgIHsgNiwgIDgsICA5LCAxMCwgMTEsIDEzLCAxMywgMTMsIDE0LCAxNCwgMTUsIDE1LCAxNiwgMTYsIDE2LCAxNiwgfSwKICAgICAgICB7IDIsICA2LCAgOCwgIDksIDEwLCAxMSwgMTMsIDEzLCAxNCwgMTQsIDE1LCAxNSwgMTUsIDE2LCAxNiwgMTYsIH0sCiAgICAgICAgeyAwLCAgMywgIDcsICA4LCAgOSwgMTAsIDExLCAxMywgMTMsIDE0LCAxNCwgMTUsIDE1LCAxNiwgMTYsIDE2LCB9LAogICAgICAgIHsgMCwgIDAsICA1LCAgNiwgIDcsICA4LCAgOSwgMTAsIDExLCAxMywgMTQsIDE0LCAxNSwgMTUsIDE2LCAxNiwgfSwKICAgIH0sCiAgICB7CiAgICAgICAgeyA2LCAgNiwgIDcsICA4LCAgOCwgIDksIDExLCAxMSwgMTIsIDEyLCAxMiwgMTMsIDEzLCAxMywgMTQsIDE0LCB9LAogICAgICAgIHsgMiwgIDUsICA2LCAgNiwgIDcsICA4LCAgOSwgMTEsIDExLCAxMiwgMTIsIDEzLCAxMywgMTQsIDE0LCAxNCwgfSwKICAgICAgICB7IDAsICAzLCAgNiwgIDYsICA3LCAgOCwgIDksIDExLCAxMSwgMTIsIDEyLCAxMywgMTMsIDEzLCAxNCwgMTQsIH0sCiAgICAgICAgeyAwLCAgMCwgIDQsICA0LCAgNSwgIDYsICA2LCAgNywgIDksIDExLCAxMSwgMTIsIDEzLCAxMywgMTMsIDE0LCB9LAogICAgfSwKICAgIHsKICAgICAgICB7IDYsICA2LCAgNiwgIDcsICA3LCAgNywgIDcsICA4LCAgOCwgIDksICA5LCAgOSwgMTAsIDEwLCAxMCwgMTAsIH0sCiAgICAgICAgeyA0LCAgNSwgIDUsICA1LCAgNSwgIDYsICA2LCAgNywgIDgsICA4LCAgOSwgIDksICA5LCAxMCwgMTAsIDEwLCB9LAogICAgICAgIHsgMCwgIDQsICA1LCAgNSwgIDUsICA2LCAgNiwgIDcsICA3LCAgOCwgIDgsICA5LCAgOSwgMTAsIDEwLCAxMCwgfSwKICAgICAgICB7IDAsICAwLCAgNCwgIDQsICA0LCAgNCwgIDQsICA1LCAgNiwgIDcsICA4LCAgOCwgIDksIDEwLCAxMCwgMTAsIH0sCiAgICB9LAp9Owpjb25zdCBVV09SRDggZ3UxX2NvZGVfY29lZmZfdG9rZW5fdGFibGVfY2hyb21hWzRdWzRdID0KewogICAgeyA3LCAgNCwgIDMsICAyLCB9LAogICAgeyAxLCAgNiwgIDMsICAzLCB9LAogICAgeyAwLCAgMSwgIDIsICAyLCB9LAogICAgeyAwLCAgMCwgIDUsICAwLCB9LAp9OwoKY29uc3QgVVdPUkQ4IGd1MV9zaXplX2NvZWZmX3Rva2VuX3RhYmxlX2Nocm9tYVs0XVs0XSA9CnsKICAgIHsgNiwgIDYsICA2LCAgNiwgfSwKICAgIHsgMSwgIDYsICA3LCAgOCwgfSwKICAgIHsgMCwgIDMsICA3LCAgOCwgfSwKICAgIHsgMCwgIDAsICA2LCAgNywgfSwKfTsKCi8qKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIEBicmllZiAgQWZ0ZXIgZW5jb2RpbmcgdGhlIGN1cnJlbnQgTGV2ZWwsIHRvIGVuY29kZSB0aGUgbmV4dCBsZXZlbCwgdGhlIGNob2ljZQogKiBvZiBWTEMgdGFibGUgbmVlZHMgdG8gYmUgdXBkYXRlZC4gVGhlIHVwZGF0ZSBpcyBjYXJyaWVkIGJhc2luZyBvbiBhIHNldCBvZiB0aHJlc2hvbGRzLgogKiBUaGVzZSB0aHJlc2hvbGRzIGFyZSBsaXN0ZWQgaW4gdGhlIHRhYmxlIGJlbG93IGZvciBsb29rdXAuCiAqIGlucHV0ICA6IHN1ZmZpeF9sZW5ndGgKICogb3V0cHV0IDogdGhyZXNob2xkCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICovCmNvbnN0IFVXT1JEOCBndTFfdGhyZXNob2xkX3ZsY19sZXZlbFs2XSA9CnsKICAgIDAsIDMsIDYsIDEyLCAyNCwgNDgKfTsKCgovKioKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBAYnJpZWYgIHRhYmxlIGZvciBlbmNvZGluZyB0b3RhbCBudW1iZXIgb2YgemVyb3MKICogaW5wdXQgIDogY29lZmZfdG9rZW4sIHRvdGFsIHplcm9zCiAqIG91dHB1dCA6IGNvZGUgd29yZCwgc2l6ZSBvZiB0aGUgY29kZSB3b3JkCiAqIEByZW1hcmtzIFRhYmxlLTktNywgOS04ICB0b3RhbF96ZXJvcyB0YWJsZXMgZm9yIDR4NCBibG9ja3Mgd2l0aAogKiBUb3RhbENvZWZmKCBjb2VmZl90b2tlbiApIGluIEgyNjQgc3BlYwogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqLwpjb25zdCBVV09SRDggZ3UxX3NpemVfemVyb190YWJsZVsxMzVdID0KewogICAgIDEsIDMsIDMsIDQsIDQsIDUsIDUsIDYsIDYsIDcsIDcsIDgsIDgsIDksIDksIDksCiAgICAgMywgMywgMywgMywgMywgNCwgNCwgNCwgNCwgNSwgNSwgNiwgNiwgNiwgNiwKICAgICA0LCAzLCAzLCAzLCA0LCA0LCAzLCAzLCA0LCA1LCA1LCA2LCA1LCA2LAogICAgIDUsIDMsIDQsIDQsIDMsIDMsIDMsIDQsIDMsIDQsIDUsIDUsIDUsCiAgICAgNCwgNCwgNCwgMywgMywgMywgMywgMywgNCwgNSwgNCwgNSwKICAgICA2LCA1LCAzLCAzLCAzLCAzLCAzLCAzLCA0LCAzLCA2LAogICAgIDYsIDUsIDMsIDMsIDMsIDIsIDMsIDQsIDMsIDYsCiAgICAgNiwgNCwgNSwgMywgMiwgMiwgMywgMywgNiwKICAgICA2LCA2LCA0LCAyLCAyLCAzLCAyLCA1LAogICAgIDUsIDUsIDMsIDIsIDIsIDIsIDQsCiAgICAgNCwgNCwgMywgMywgMSwgMywKICAgICA0LCA0LCAyLCAxLCAzLAogICAgIDMsIDMsIDEsIDIsCiAgICAgMiwgMiwgMSwKICAgICAxLCAxLAp9Owpjb25zdCBVV09SRDggZ3UxX2NvZGVfemVyb190YWJsZVsxMzVdID0KewogICAgIDEsIDMsIDIsIDMsIDIsIDMsIDIsIDMsIDIsIDMsIDIsIDMsIDIsIDMsIDIsIDEsCiAgICAgNywgNiwgNSwgNCwgMywgNSwgNCwgMywgMiwgMywgMiwgMywgMiwgMSwgMCwKICAgICA1LCA3LCA2LCA1LCA0LCAzLCA0LCAzLCAyLCAzLCAyLCAxLCAxLCAwLAogICAgIDMsIDcsIDUsIDQsIDYsIDUsIDQsIDMsIDMsIDIsIDIsIDEsIDAsCiAgICAgNSwgNCwgMywgNywgNiwgNSwgNCwgMywgMiwgMSwgMSwgMCwKICAgICAxLCAxLCA3LCA2LCA1LCA0LCAzLCAyLCAxLCAxLCAwLAogICAgIDEsIDEsIDUsIDQsIDMsIDMsIDIsIDEsIDEsIDAsCiAgICAgMSwgMSwgMSwgMywgMywgMiwgMiwgMSwgMCwKICAgICAxLCAwLCAxLCAzLCAyLCAxLCAxLCAxLAogICAgIDEsIDAsIDEsIDMsIDIsIDEsIDEsCiAgICAgMCwgMSwgMSwgMiwgMSwgMywKICAgICAwLCAxLCAxLCAxLCAxLAogICAgIDAsIDEsIDEsIDEsCiAgICAgMCwgMSwgMSwKICAgICAwLCAxLAp9Owpjb25zdCBVV09SRDggZ3UxX3NpemVfemVyb190YWJsZV9jaHJvbWFbOV0gPQp7CiAgICAgMSwgMiwgMywgMywKICAgICAxLCAyLCAyLAogICAgIDEsIDEsCn07CmNvbnN0IFVXT1JEOCBndTFfY29kZV96ZXJvX3RhYmxlX2Nocm9tYVs5XSA9CnsKICAgICAxLCAxLCAxLCAwLAogICAgIDEsIDEsIDAsCiAgICAgMSwgMCwKfTsKCi8qKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIEBicmllZiAgaW5kZXggdG8gYWNjZXNzIHplcm8gdGFibGUgKGxvb2sgdXApCiAqIGlucHV0ICA6IFRvdGFsQ29lZmYoIGNvZWZmX3Rva2VuICkKICogb3V0cHV0IDogaW5kZXggdG8gYWNjZXNzIHplcm8gdGFibGUKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKi8KY29uc3QgVVdPUkQ4IGd1MV9pbmRleF96ZXJvX3RhYmxlWzE1XSA9CnsKICAgIDAsICAxNiwgIDMxLCAgNDUsICA1OCwgIDcwLCAgODEsICA5MSwgMTAwLCAxMDgsIDExNSwgMTIxLCAxMjYsIDEzMCwgMTMzLAp9OwoKLyoqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQGJyaWVmICB0YWJsZSBmb3IgZW5jb2RpbmcgcnVucyBvZiB6ZXJvcyBiZWZvcmUKICogaW5wdXQgIDogemVyb3MgbGVmdCwgcnVucyBvZiB6ZXJvcyBiZWZvcmUKICogb3V0cHV0IDogY29kZSB3b3JkLCBzaXplIG9mIHRoZSBjb2RlIHdvcmQKICogQHJlbWFya3MgVGFibGUtOS0xMCAgdGFibGUgZm9yIHJ1bl9iZWZvcmUgaW4gSDI2NCBzcGVjCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICovCmNvbnN0IFVXT1JEOCBndTFfc2l6ZV9ydW5fdGFibGVbNDJdID0KewogICAgICAxLCAgMSwKICAgICAgMSwgIDIsICAyLAogICAgICAyLCAgMiwgIDIsICAyLAogICAgICAyLCAgMiwgIDIsICAzLCAgMywKICAgICAgMiwgIDIsICAzLCAgMywgIDMsICAzLAogICAgICAyLCAgMywgIDMsICAzLCAgMywgIDMsICAzLAogICAgICAzLCAgMywgIDMsICAzLCAgMywgIDMsICAzLCAgNCwgIDUsICA2LCAgNywgIDgsICA5LCAxMCwgMTEsCn07CmNvbnN0IFVXT1JEOCBndTFfY29kZV9ydW5fdGFibGVbNDJdID0KewogICAgICAxLCAgMCwKICAgICAgMSwgIDEsICAwLAogICAgICAzLCAgMiwgIDEsICAwLAogICAgICAzLCAgMiwgIDEsICAxLCAgMCwKICAgICAgMywgIDIsICAzLCAgMiwgIDEsICAwLAogICAgICAzLCAgMCwgIDEsICAzLCAgMiwgIDUsICA0LAogICAgICA3LCAgNiwgIDUsICA0LCAgMywgIDIsICAxLCAgMSwgIDEsICAxLCAgMSwgIDEsICAxLCAgMSwgIDEsCn07Ci8qKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIEBicmllZiAgaW5kZXggdG8gYWNjZXNzIHplcm8gdGFibGUgKGxvb2sgdXApCiAqIGlucHV0ICA6IFRvdGFsQ29lZmYoIGNvZWZmX3Rva2VuICkKICogb3V0cHV0IDogaW5kZXggdG8gYWNjZXNzIHplcm8gdGFibGUKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKi8KY29uc3QgVVdPUkQ4IGd1MV9pbmRleF9ydW5fdGFibGVbN10gPQp7CiAgICAwLCAgMiwgIDUsICA5LCAgMTQsICAyMCwgIDI3LAp9Owo=