import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
class Test {
private static final byte[] CODE = convertToBytes(new short[]{
0xCA, 0xFE, 0xBA, 0xBE, 0x00, 0x00, 0x00, 0x34, 0x00, 0x11, 0x0A, 0x00,
0x04, 0x00, 0x0D, 0x08, 0x00, 0x0E, 0x07, 0x00, 0x0F, 0x07, 0x00, 0x10,
0x01, 0x00, 0x06, 0x3C, 0x69, 0x6E, 0x69, 0x74, 0x3E, 0x01, 0x00, 0x03,
0x28, 0x29, 0x56, 0x01, 0x00, 0x04, 0x43, 0x6F, 0x64, 0x65, 0x01, 0x00,
0x0F, 0x4C, 0x69, 0x6E, 0x65, 0x4E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x54,
0x61, 0x62, 0x6C, 0x65, 0x01, 0x00, 0x06, 0x74, 0x65, 0x6C, 0x6C, 0x4D,
0x65, 0x01, 0x00, 0x14, 0x28, 0x29, 0x4C, 0x6A, 0x61, 0x76, 0x61, 0x2F,
0x6C, 0x61, 0x6E, 0x67, 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B,
0x01, 0x00, 0x0A, 0x53, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6C,
0x65, 0x01, 0x00, 0x07, 0x4C, 0x42, 0x2E, 0x6A, 0x61, 0x76, 0x61, 0x0C,
0x00, 0x05, 0x00, 0x06, 0x01, 0x00, 0x1B, 0x4A, 0x61, 0x76, 0x69, 0x73,
0x74, 0x69, 0x20, 0x74, 0x6F, 0x20, 0x70, 0x72, 0x6F, 0x73, 0x74, 0x65,
0x20, 0x6E, 0x65, 0x63, 0x68, 0x61, 0x70, 0x6F, 0x75, 0x21, 0x01, 0x00,
0x02, 0x4C, 0x42, 0x01, 0x00, 0x10, 0x6A, 0x61, 0x76, 0x61, 0x2F, 0x6C,
0x61, 0x6E, 0x67, 0x2F, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x21,
0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
0x00, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1D,
0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x2A, 0xB7, 0x00, 0x01,
0xB1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0A, 0x00,
0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x12, 0x02, 0xB0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08,
0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01,
0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0C
});
defineClass(null, CODE, 0, CODE.length);
}}.loadClass("LB");
System.
out.
println(MethodHandles.
lookup() .
findStatic(clazz,
"tellMe", MethodType.
methodType(String.
class)).
invoke()); }
static byte[] convertToBytes(short[] values) {
byte[] result = new byte[values.length];
for (int i = 0; i < values.length; i++) {
result[i] = (byte) values[i];
}
return result;
}
}
aW1wb3J0IGphdmEubGFuZy5pbnZva2UuTWV0aG9kSGFuZGxlczsKaW1wb3J0IGphdmEubGFuZy5pbnZva2UuTWV0aG9kVHlwZTsKCmNsYXNzIFRlc3QgewogICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgYnl0ZVtdIENPREUgPSBjb252ZXJ0VG9CeXRlcyhuZXcgc2hvcnRbXXsKICAgICAgICAgICAgMHhDQSwgMHhGRSwgMHhCQSwgMHhCRSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNCwgMHgwMCwgMHgxMSwgMHgwQSwgMHgwMCwKICAgICAgICAgICAgMHgwNCwgMHgwMCwgMHgwRCwgMHgwOCwgMHgwMCwgMHgwRSwgMHgwNywgMHgwMCwgMHgwRiwgMHgwNywgMHgwMCwgMHgxMCwKICAgICAgICAgICAgMHgwMSwgMHgwMCwgMHgwNiwgMHgzQywgMHg2OSwgMHg2RSwgMHg2OSwgMHg3NCwgMHgzRSwgMHgwMSwgMHgwMCwgMHgwMywKICAgICAgICAgICAgMHgyOCwgMHgyOSwgMHg1NiwgMHgwMSwgMHgwMCwgMHgwNCwgMHg0MywgMHg2RiwgMHg2NCwgMHg2NSwgMHgwMSwgMHgwMCwKICAgICAgICAgICAgMHgwRiwgMHg0QywgMHg2OSwgMHg2RSwgMHg2NSwgMHg0RSwgMHg3NSwgMHg2RCwgMHg2MiwgMHg2NSwgMHg3MiwgMHg1NCwKICAgICAgICAgICAgMHg2MSwgMHg2MiwgMHg2QywgMHg2NSwgMHgwMSwgMHgwMCwgMHgwNiwgMHg3NCwgMHg2NSwgMHg2QywgMHg2QywgMHg0RCwKICAgICAgICAgICAgMHg2NSwgMHgwMSwgMHgwMCwgMHgxNCwgMHgyOCwgMHgyOSwgMHg0QywgMHg2QSwgMHg2MSwgMHg3NiwgMHg2MSwgMHgyRiwKICAgICAgICAgICAgMHg2QywgMHg2MSwgMHg2RSwgMHg2NywgMHgyRiwgMHg1MywgMHg3NCwgMHg3MiwgMHg2OSwgMHg2RSwgMHg2NywgMHgzQiwKICAgICAgICAgICAgMHgwMSwgMHgwMCwgMHgwQSwgMHg1MywgMHg2RiwgMHg3NSwgMHg3MiwgMHg2MywgMHg2NSwgMHg0NiwgMHg2OSwgMHg2QywKICAgICAgICAgICAgMHg2NSwgMHgwMSwgMHgwMCwgMHgwNywgMHg0QywgMHg0MiwgMHgyRSwgMHg2QSwgMHg2MSwgMHg3NiwgMHg2MSwgMHgwQywKICAgICAgICAgICAgMHgwMCwgMHgwNSwgMHgwMCwgMHgwNiwgMHgwMSwgMHgwMCwgMHgxQiwgMHg0QSwgMHg2MSwgMHg3NiwgMHg2OSwgMHg3MywKICAgICAgICAgICAgMHg3NCwgMHg2OSwgMHgyMCwgMHg3NCwgMHg2RiwgMHgyMCwgMHg3MCwgMHg3MiwgMHg2RiwgMHg3MywgMHg3NCwgMHg2NSwKICAgICAgICAgICAgMHgyMCwgMHg2RSwgMHg2NSwgMHg2MywgMHg2OCwgMHg2MSwgMHg3MCwgMHg2RiwgMHg3NSwgMHgyMSwgMHgwMSwgMHgwMCwKICAgICAgICAgICAgMHgwMiwgMHg0QywgMHg0MiwgMHgwMSwgMHgwMCwgMHgxMCwgMHg2QSwgMHg2MSwgMHg3NiwgMHg2MSwgMHgyRiwgMHg2QywKICAgICAgICAgICAgMHg2MSwgMHg2RSwgMHg2NywgMHgyRiwgMHg0RiwgMHg2MiwgMHg2QSwgMHg2NSwgMHg2MywgMHg3NCwgMHgwMCwgMHgyMSwKICAgICAgICAgICAgMHgwMCwgMHgwMywgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMSwKICAgICAgICAgICAgMHgwMCwgMHgwNSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgxRCwKICAgICAgICAgICAgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgyQSwgMHhCNywgMHgwMCwgMHgwMSwKICAgICAgICAgICAgMHhCMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgwMCwKICAgICAgICAgICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwOSwgMHgwMCwgMHgwOSwgMHgwMCwgMHgwQSwgMHgwMCwKICAgICAgICAgICAgMHgwMSwgMHgwMCwgMHgwNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgxQiwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMywgMHgxMiwgMHgwMiwgMHhCMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwOCwKICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgwMCwgMHgwMSwKICAgICAgICAgICAgMHgwMCwgMHgwQiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwQwogICAgfSk7CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIFRocm93YWJsZSB7CiAgICAgICAgQ2xhc3M8Pz4gY2xhenogPSBuZXcgQ2xhc3NMb2FkZXIoKSB7ewogICAgICAgICAgICBkZWZpbmVDbGFzcyhudWxsLCBDT0RFLCAwLCBDT0RFLmxlbmd0aCk7CiAgICAgICAgfX0ubG9hZENsYXNzKCJMQiIpOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oTWV0aG9kSGFuZGxlcy5sb29rdXAoKQogICAgICAgICAgICAgICAgLmZpbmRTdGF0aWMoY2xhenosICJ0ZWxsTWUiLCBNZXRob2RUeXBlLm1ldGhvZFR5cGUoU3RyaW5nLmNsYXNzKSkuaW52b2tlKCkpOwogICAgfQoKICAgIHN0YXRpYyBieXRlW10gY29udmVydFRvQnl0ZXMoc2hvcnRbXSB2YWx1ZXMpIHsKICAgICAgICBieXRlW10gcmVzdWx0ID0gbmV3IGJ5dGVbdmFsdWVzLmxlbmd0aF07CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHJlc3VsdFtpXSA9IChieXRlKSB2YWx1ZXNbaV07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfQp9Cg==