From: Soner Sevinc Date: Tue, 15 Apr 2008 15:04:18 +0000 (+0000) Subject: (no commit message) X-Git-Tag: sfa-0.9-0@14641~880 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=0a12884c34e0f7d2143d28cd603e87b879bb8faa;p=sfa.git --- diff --git a/gui/JavaApplication1/build.xml b/gui/JavaApplication1/build.xml new file mode 100644 index 00000000..716370b6 --- /dev/null +++ b/gui/JavaApplication1/build.xml @@ -0,0 +1,69 @@ + + + + + + Builds, tests, and runs the project JavaApplication1. + + + diff --git a/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1$1.class b/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1$1.class new file mode 100644 index 00000000..523cbd17 Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1$1.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1.class b/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1.class new file mode 100644 index 00000000..6cb79d02 Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle.class b/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle.class new file mode 100644 index 00000000..3e0bee3e Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$1.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$1.class new file mode 100644 index 00000000..75abe61f Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$1.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$2.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$2.class new file mode 100644 index 00000000..db7e2fea Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$2.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$3.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$3.class new file mode 100644 index 00000000..03672666 Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$3.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$4.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$4.class new file mode 100644 index 00000000..9421b52d Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$4.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$5.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$5.class new file mode 100644 index 00000000..142c03f8 Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$5.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$6.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$6.class new file mode 100644 index 00000000..ce0035b7 Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$6.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$7.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$7.class new file mode 100644 index 00000000..5e4ce4b0 Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$7.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI.class new file mode 100644 index 00000000..669c519d Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GuiComponent.class b/gui/JavaApplication1/build/classes/javaapplication1/GuiComponent.class new file mode 100644 index 00000000..a93c11db Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/GuiComponent.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/PanelFiller.class b/gui/JavaApplication1/build/classes/javaapplication1/PanelFiller.class new file mode 100644 index 00000000..3e8e5a2d Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/PanelFiller.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/RecordInfo.class b/gui/JavaApplication1/build/classes/javaapplication1/RecordInfo.class new file mode 100644 index 00000000..aa54ab1f Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/RecordInfo.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/SpringUtilities.class b/gui/JavaApplication1/build/classes/javaapplication1/SpringUtilities.class new file mode 100644 index 00000000..4b026d92 Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/SpringUtilities.class differ diff --git a/gui/JavaApplication1/build/classes/javaapplication1/User.class b/gui/JavaApplication1/build/classes/javaapplication1/User.class new file mode 100644 index 00000000..d8e6322d Binary files /dev/null and b/gui/JavaApplication1/build/classes/javaapplication1/User.class differ diff --git a/gui/JavaApplication1/certutil.py b/gui/JavaApplication1/certutil.py new file mode 100755 index 00000000..73a534f6 --- /dev/null +++ b/gui/JavaApplication1/certutil.py @@ -0,0 +1,25 @@ +#!/usr/bin/python +from M2Crypto import X509 +import sys + +id_file = "" +try: + if len(sys.argv)>1: + id_file = sys.argv[len(sys.argv)-1] + else: + print 'File '+id_file+' does not exist.\n' + sys.exit(0) + pubkey = X509.load_cert(id_file).get_pubkey().as_pem(cipher=None) + print pubkey + + print "Character map:\n" + prev = '' + cur = '' + for ch in pubkey: + prev = cur + cur = ch + if cur == '\n': + 1==1 + print ch, +except: + print "Error in input file.\n" diff --git a/gui/JavaApplication1/client_keiko/acc_file b/gui/JavaApplication1/client_keiko/acc_file new file mode 100644 index 00000000..88158341 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/acc_file @@ -0,0 +1,52 @@ +-----BEGIN CERTIFICATE----- +MIIB+zCCAWQCAQAwDQYJKoZIhvcNAQEEBQAwDzENMAsGA1UEAxMEa2VpbzAeFw0w +ODAzMjgwNDI2NDRaFw0wODA3MjEyMjEzMjRaMBoxGDAWBgNVBAMTD0dFTkkgQWNj +b3VudGluZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAlxyzi9dVIDmyUuaW +/H7YM+5LLZbQg/lGtQ0hyn/DNWp0b3FZ0tazmdK/yD3bq1sUa8txCq2gSsBzv6gA +3E1YI71wYmv8xTOOo5hZlBT3apdh2UKlu4vuUBVaSIm3whiVEd7sGkJJIJoWC3tx +R+/d9u6GYgORP/sb8q2Xk2y9CB8CAwEAAaNhMF8wXQYDVR0RAQH/BFMwUYZPaHR0 +cDovLyNocm46cGxhbmV0bGFiLmpwLmtlaW8ua2Vpa28jdXVpZDo1MzU4NDk4NDQ3 +NTM3MDMzNTI5ODU5MjQ1MTI2MjQwODAwMDc5MjANBgkqhkiG9w0BAQQFAAOBgQCW +zG0R4AkzONNWSEYccFcI0yDJIcojse8CGVhI0N8ykmph1MEcUHAdT8x1Ssl593+o +K6vmwJpak8qLjD9Fbry/byVj3d8CzrokO8LkjVz4daye0SQIFp7TbfeoK9mg/GE1 +shI6rxnUg15cfR9L9lkso6p8O/KQpWX9zUtgRIuTbw== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQyNjQ0WhcNMDgwNzIxMjIxMzI0WjAaMRgwFgYDVQQDEw9HRU5JIEFjY291 +bnRpbmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOVoqTRxh/259AB1p3+G +HcUxSKpdVkKgJJGXvsCtav2Rxu9jlEq1AHt6Ff08YlqjVLPbSLTxVDDYUva+fmWl +SzWRRZdVkPrT5PipoQ38HM/RlgsMaSsB1otJd+sbVP2Opwbqcc3DZ4+NbRAV051Z +mzR4C10QIOkYBaa+D48ocjC9AgMBAAGjWzBZMFcGA1UdEQEB/wRNMEuGSWh0dHA6 +Ly8jaHJuOnBsYW5ldGxhYi5qcC5rZWlvI3V1aWQ6NjU5MTQzMzc2OTc1MDYxNDM3 +ODc5MDUwMjkzMDIyOTMxMDY2MzAwDQYJKoZIhvcNAQEEBQADgYEA0NDOfUAk1Puw +ghgHzdXzTBZLJkhj9B80D678aSGX/dSOIIJGUo/AXRNfwtVRVUfQ+PQs/LgygGJ6 +u1NUTuhVDJrJROd+bguDp5DSqR/om9uupSvGxGjcGGLpcrGES7hWuTU1VIRgdC8Z +1BK3qYToeIsiaDzIjrkZplq5brgBHoE= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/clientstub.py b/gui/JavaApplication1/client_keiko/clientstub.py new file mode 100755 index 00000000..147ecaaf --- /dev/null +++ b/gui/JavaApplication1/client_keiko/clientstub.py @@ -0,0 +1,104 @@ +#!/usr/bin/python + +import os, sys +from M2Crypto import SSL +sys.path.append('/home/soners/work/geni/rpc/util') +sys.path.append('/home/soners/work/geni/rpc/util/sec') +from sec import * + +SERVER_HOST = '127.0.0.1' +SERVER_PORT = 8002 +AUTH_HOST = '127.0.0.1' +AUTH_PORT = 8002 + +renew_res1 = 0 +renew_res2 = 0 + +def verify_callback(preverify_ok, ctx): + return 1 + +class GENIClient(): + def __init__(self, hrn, type, id_file, id_key_file, acc_file, cred_file): + self.hrn = hrn + self.type = type + #check if the certificate and the private key exists, terminate if not + if not os.path.exists(id_file) or not os.path.exists(id_key_file) : + print 'The certificate or the private key does not exist.\n' + os.exit(1) + #check the acc and cred files + if not os.path.exists(acc_file) or not is_valid_chain(acc_file): + open(acc_file, 'w').write('ANONYM') + if not os.path.exists(cred_file) or not is_valid_chain(cred_file): + open(cred_file, 'w').write('NO_CRED') + #initialize the security system + self.sec = Sec('client', id_file, id_key_file, acc_file, cred_file) + #ssl parameters + self.ctx = SSL.Context() + self.ctx.load_cert(self.sec.id_file,self.sec.id_key_file) + self.ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, depth=9, callback=verify_callback) + + def connect(self, host, port): + #if the acc and cred needs renewal then do call to authority + if self.type == 'user' or self.type == 'slice' or self.type == 'SA': + reg_type = 'slice' + else: + reg_type ='component' + renew_res1 = renew_cert('accounting', '.', reg_type, self.hrn, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + renew_res2 = renew_cert('credential', '.', reg_type, self.hrn, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + if renew_res1 == None: + print "There is no certificate in the directory "+"./\n" + os.exit(0) + #connect to server + server = SSL.Connection(self.ctx) + server.connect((host,port)) + peer = self.sec.auth_protocol(server) + if peer: + return server + else: + return None + +def main(): + try: + #read the input file + fp = open('tmp_input.txt', 'r') + user_data = fp.readline() + call_data = fp.readline() + print 'Read file.\n' + + #client related info + HRN = user_data.split(' ')[0] + TYPE = user_data.split(' ')[1].split('\n')[0] + name = get_leaf(HRN) + ID_FILE = name+'.cert' + ID_KEY_FILE = name+'.pkey' + ACC_FILE = 'acc_file' + CRED_FILE = 'cred_file' + my_client = GENIClient(HRN, TYPE, ID_FILE, ID_KEY_FILE, ACC_FILE, CRED_FILE) + print 'Constructed client.\n' + + #operation call + message = eval(call_data) + server = my_client.connect(SERVER_HOST, SERVER_PORT) + if server: + server.write(str(message)) + result = server.read() + server.close() + print 'Performed the call.\n' + else: + result = "Error in client data structures.\n" + + if renew_res2 == 1: + result = "Cred renewed. "+result + if renew_res1 == 1: + result = "Acc renewed. "+result + #write result to output file + open('tmp_output.txt','w').write(result) + print 'Written to file.\n' + except: + #write result to output file + open('tmp_output.txt','w').write("An error occurred in client stub.\n") + print 'Exception occurred.\n' + +if __name__=="__main__": + print 'Client started.\n' + main() diff --git a/gui/JavaApplication1/client_keiko/cred_file b/gui/JavaApplication1/client_keiko/cred_file new file mode 100644 index 00000000..98c0d2d7 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/cred_file @@ -0,0 +1,59 @@ +-----BEGIN CERTIFICATE----- +MIICazCCAdQCAQAwDQYJKoZIhvcNAQEEBQAwDzENMAsGA1UEAxMEa2VpbzAeFw0w +ODAzMjgxNDI1MTZaFw0wODA1MDkwNjI1MTZaMB8xHTAbBgNVBAMTFFJlZ2lzdHJ5 +IGNyZWRlbnRpYWxzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCXHLOL11Ug +ObJS5pb8ftgz7kstltCD+Ua1DSHKf8M1anRvcVnS1rOZ0r/IPdurWxRry3EKraBK +wHO/qADcTVgjvXBia/zFM46jmFmUFPdql2HZQqW7i+5QFVpIibfCGJUR3uwaQkkg +mhYLe3FH79327oZiA5E/+xvyrZeTbL0IHwIDAQABo4HLMIHIMIHFBgNVHREBAf8E +gbowgbeGgbRodHRwOi8vI2NyZWRlbnRpYWxfc2V0OigwLTApKDEtMCkoMi0wKSgz +LTApKDQtMCkoNS0wKSg2LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEp +KDMtMSkoNC0xKSg1LTEpKDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBs +YW5ldGxhYi5qcC5rZWlvIzE6cmVnOmNvbXA6cGxhbmV0bGFiLmpwLmtlaW8wDQYJ +KoZIhvcNAQEEBQADgYEAy72/MrNh6ZcAFgTl908nPl0KZGViSIQZG/Ks+QxR2MaD +SV0fPHrzv+RprLJw0frTjwIpPFDhDSvjbZB3+HWNhgKd88mIzwUSMOZjGmLGijRC +VNE5Pf1H2O76yXCc98Tm8ymkeMxps1gH1hfem6N4aToA4tTNma3poQnn3SaHpig= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICTzCCAbgCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQyNjQ2WhcNMDgwNTA4MjAyNjQ2WjAfMR0wGwYDVQQDExRSZWdpc3RyeSBj +cmVkZW50aWFsczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5WipNHGH/bn0 +AHWnf4YdxTFIql1WQqAkkZe+wK1q/ZHG72OUSrUAe3oV/TxiWqNUs9tItPFUMNhS +9r5+ZaVLNZFFl1WQ+tPk+KmhDfwcz9GWCwxpKwHWi0l36xtU/Y6nBupxzcNnj41t +EBXTnVmbNHgLXRAg6RgFpr4PjyhyML0CAwEAAaOBsTCBrjCBqwYDVR0RAQH/BIGg +MIGdhoGaaHR0cDovLyNjcmVkZW50aWFsX3NldDooMi0wKSg0LTApKDYtMCkoNy0w +KSg4LTApKDktMCkoMC0xKSgxLTEpKDItMSkoMy0xKSg0LTEpKDUtMSkoNi0xKSg3 +LTEpKDgtMSkoOS0xKSMwOnJlZzpzbGM6cGxhbmV0bGFiLmpwIzE6cmVnOnNsYzpw +bGFuZXRsYWIuanAua2VpbzANBgkqhkiG9w0BAQQFAAOBgQCQ9r5c/zYcsPuBV4iY +s1KD1E6B1xTu+TtvQw8GMK4JwTLaiBCdX6tiUkOHw40mej3huXD0KSDiBTt34Bg9 +9/E5XwqE0L604WATE4zVzz3s/lP1MroMzjoSphFzXdyHHQRYAOMLWr8e6JLH8qvA +CKI2ZD423aSCNB3FVxqlMyChwg== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICTjCCAbcCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MjY0NVoXDTA4MDUwODIwMjY0NVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOAP +5nv145+K6sfR0G7BMWBN9Zp9tVBdyxjohCzej6VX2fu40AjLb6m5ffRNk9WNroCx +hstcmwrbExRha6pzISsD0MIPUuf48sQmeyTHkpCdWbkbD/FtU7ENI5ZA5dQozFFt +EK2UW1kCv+IzjSVKmBRMfMcEY6UfuU15jdRm8sRlAgMBAAGjgakwgaYwgaMGA1Ud +EQEB/wSBmDCBlYaBkmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDItMCkoNC0wKSg2 +LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEpKDMtMSkoNC0xKSg1LTEp +KDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBsYW5ldGxhYiMxOnJlZzpz +bGM6cGxhbmV0bGFiLmpwMA0GCSqGSIb3DQEBBAUAA4GBAGR3d1rIelq++rJjlerk ++Xlbg+siLcDfNrOE4BgPWqZz9G6QDg+oxpmyP7SkqtO/u/D0PLyndcdKqpXsEisw +28KZtudxBTS5cRpTBCZnoUAGBKLJ3pwRqozwKxxCG8rmsUeGl0xdAjLVw9tzLppO +7LyVz7tZQkIyNF23gv+z9IQU +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/keiko.cert b/gui/JavaApplication1/client_keiko/keiko.cert new file mode 100644 index 00000000..82fbfc7a --- /dev/null +++ b/gui/JavaApplication1/client_keiko/keiko.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVrZWlrbzAeFw0w +ODAzMjgwNDE5MzdaFw0xMzAzMjcwNDE5MzdaMBAxDjAMBgNVBAMTBWtlaWtvMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCXHLOL11UgObJS5pb8ftgz7kstltCD ++Ua1DSHKf8M1anRvcVnS1rOZ0r/IPdurWxRry3EKraBKwHO/qADcTVgjvXBia/zF +M46jmFmUFPdql2HZQqW7i+5QFVpIibfCGJUR3uwaQkkgmhYLe3FH79327oZiA5E/ ++xvyrZeTbL0IHwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAIGDtblGdZBm9C1irOwj +vcKM39SDb1MCb5zdBeuidVMPRazIHwMV3QYrrkQVnN9xffjGGyS77pKARYvDdFWm +Lm5LYP7fbRNndR7Y5VZT1uWJtIJn7LEA6fLoqMPftXwDpKYiLP6c/p11FgRYVlAC +WvE0MGOUIOsYSgBmvdcfEPzg +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/keiko.pkey b/gui/JavaApplication1/client_keiko/keiko.pkey new file mode 100644 index 00000000..03984b8b --- /dev/null +++ b/gui/JavaApplication1/client_keiko/keiko.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCXHLOL11UgObJS5pb8ftgz7kstltCD+Ua1DSHKf8M1anRvcVnS +1rOZ0r/IPdurWxRry3EKraBKwHO/qADcTVgjvXBia/zFM46jmFmUFPdql2HZQqW7 +i+5QFVpIibfCGJUR3uwaQkkgmhYLe3FH79327oZiA5E/+xvyrZeTbL0IHwIDAQAB +AoGAPVG2Qg7VSkhfZmiP6FIIpboS46MJZiRnXty/U47Yxfo22Wojyvy40LjGfhkr +5LMG7F8Xtf+SxgKmdaVVBBCWrPp4OqkU/mal7mFEkc69rtJUigmsUsFv1SldgBq2 +qUYE337+dgP8+crziOEIA846Yrz69EnHSMKcEPAclxXCAPECQQDE35Em7pFKKRXx +d35pjh6UX0nWUEvxzGnNFazRMaal8R9wz4NKsbo/K46MbG+udbF0Qd6rcG4mCe+5 +1sFCsLx7AkEAxH7TJNSHAj+YyZr+g/fJ4l0tlIKZHNnZ30cnm20PVNr+lGe92lFw +QGlr0BJVKcNxFy2cE5zgmZdvegFTDl8rrQJBAIcQHcPIzZJEJ5K1+Nqvrpj52m0W +P1POehNBuIL3/i1AA+Lf6mG3FmA6IJyD1AarJaftfLa+9kJQdM9Y3tNC7rsCQQCk +FmSsNO4paoJkmRJBkgL9DWKqygSimynd0sW4fXJ4IgjGVXutfKSIpYBq2WRU4+jk +uinEFxVYLaXh9IkvTzphAkEAqyutr5X7XLe6E8km3MVgXgPjH3bn9Au4t/JWH7gV +Tc352qD5VFoByxpv57ZIhWF4dlqikFZYCIbuSgbKfUEsTg== +-----END RSA PRIVATE KEY----- diff --git a/gui/JavaApplication1/client_keiko/trusted_certs/geni_mng.cert b/gui/JavaApplication1/client_keiko/trusted_certs/geni_mng.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/trusted_certs/geni_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/trusted_certs/geni_slc.cert b/gui/JavaApplication1/client_keiko/trusted_certs/geni_slc.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/trusted_certs/geni_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_mng.cert b/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_mng.cert new file mode 100644 index 00000000..c1b42112 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52QbJtucIQUE +YZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba +6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5amLZcMPm +u/G64ieWI8QMUxYgCE1ut3bI1QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJH5KqIU +2lrA9calI3oklbWpduiZspbwCUkhr8PNVDnkXSI1K+egDqFTaANVp1DxXU8qaDS6 +X5+s9Qf9FQ5+9mfSaocma6YW4Qfb3Zm/mYmpt+nknTlnVuEaTENyBIPfr0pDqzld +GGcYPul25KknFmdPOrqAUzma9n568u2KYlfz +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_slc.cert b/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_slc.cert new file mode 100644 index 00000000..9f5b851d --- /dev/null +++ b/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTEzMDMyNzAzNDQ0OFowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz8uZVHahZ +QqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vGO7aT7bJC +apb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9 +OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABRIUVzW +JbwQKnqM3rVHJoSgtYWpgDvJosLCrLZhsXrukOsC8Gs8V6vPTPO7kofdUbHQKRnL +xp1nI5hlWIlq/XOnh+NEPZaB2SAKwfl3FZwUqjaEVd/VYOfsRryZtiUz4sL3CtXN +C8i/I4HwCnrl/pmzbprqpGq+RJTa5yLmBw6r +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/acc_file b/gui/JavaApplication1/client_osaka/acc_file new file mode 100644 index 00000000..a7c9fedb --- /dev/null +++ b/gui/JavaApplication1/client_osaka/acc_file @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MjExMDUxWhcNMDgwNzIyMTQ1NzMxWjAaMRgwFgYDVQQDEw9HRU5JIEFjY291 +bnRpbmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANAGdic1KHHvvlTE7id6 +fmQU4HZ5iZwp9RqFiflTlvc/fJelxS8cV51rE878eZymgbVYwLIcO/Tyvfkg+axM +nBzzWgzSX4wk/zuuNPV0ZwzG0Vf9EN/hzqzu1KWRMxT0/vz6Kri33eTgbyURWp4D +OGYRqR7E573fDd8SWGfWW7AXAgMBAAGjXTBbMFkGA1UdEQEB/wRPME2GS2h0dHA6 +Ly8jaHJuOnBsYW5ldGxhYi5qcC5vc2FrYSN1dWlkOjE1MTI4NTYzNzgzNjk1MTc5 +NTEyOTg5MzAyMTMzNDQ0OTQyMjMyOTANBgkqhkiG9w0BAQQFAAOBgQAfdUPl4pLy +ILFiIvr7a4cH+hfgTvJOwr2U07RZfjiu5qxugOwPJJT0S/RLRRBdaL1VOM/f3ZLl +tRM7JBtaHw5iNQlVAJIWV9rhEKuDywc7Yw6sfsnmNCLie7M2QX9WpQ3G/l21y33G +q6wKxV8TVAj04juCHdJ16FQnx/612VtDOA== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/clientstub.py b/gui/JavaApplication1/client_osaka/clientstub.py new file mode 100755 index 00000000..1a263317 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/clientstub.py @@ -0,0 +1,154 @@ +#!/usr/bin/python + +import os, sys +from M2Crypto import SSL +sys.path.append('/home/soners/work/geni/rpc/util') +sys.path.append('/home/soners/work/geni/rpc/util/sec') +from sec import * + +SERVER_HOST = '127.0.0.1' +SERVER_PORT = 8002 +AUTH_HOST = '127.0.0.1' +AUTH_PORT = 8002 +MAX_RESULT = 3000 + +renew_res1 = 0 +renew_res2 = 0 + +def verify_callback(preverify_ok, ctx): + return 1 + +class GENIClient(): + def __init__(self, hrn, type, id_file, id_key_file, acc_file, cred_file): + self.hrn = hrn + self.type = type + #check if the certificate and the private key exists, terminate if not + if not os.path.exists(id_file) or not os.path.exists(id_key_file) : + print 'The certificate or the private key does not exist.\n' + os.exit(1) + #check the acc and cred files + if not os.path.exists(acc_file) or not is_valid_chain(acc_file): + open(acc_file, 'w').write('ANONYM') + if not os.path.exists(cred_file) or not is_valid_chain(cred_file): + open(cred_file, 'w').write('NO_CRED') + #initialize the security system + self.sec = Sec('client', id_file, id_key_file, acc_file, cred_file) + #ssl parameters + self.ctx = SSL.Context() + self.ctx.load_cert(self.sec.id_file,self.sec.id_key_file) + self.ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, depth=9, callback=verify_callback) + + def connect(self, host, port): + #if the acc and cred needs renewal then do call to authority + if self.type == 'user' or self.type == 'slice' or self.type == 'SA': + reg_type = 'slice' + else: + reg_type ='component' + renew_res1 = renew_cert('accounting', '.', reg_type, self.hrn, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + renew_res2 = renew_cert('credential', '.', reg_type, self.hrn, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + if renew_res1 == None: + print "There is no certificate in the directory "+"./\n" + os.exit(0) + #connect to server + server = SSL.Connection(self.ctx) + server.connect((host,port)) + peer = self.sec.auth_protocol(server) + if peer: + return server + else: + return None + +def toFileFormat(res_str): + out_str = "" + try: + res_dict = eval(res_str) + if res_dict['geni'].has_key('pubkey'): # in public key, replace '\n' with ' ' + pubkey = res_dict['geni']['pubkey'] + pubkey = pubkey.split('-----BEGIN RSA PRIVATE KEY-----')[1].split('-----END RSA PRIVATE KEY-----')[0].replace('\n',' ') + pubkey = '-----BEGIN RSA PRIVATE KEY-----'+pubkey+'-----END RSA PRIVATE KEY-----' + res_dict['geni']['pubkey'] = pubkey + + if res_dict.has_key('message'): + out_str = res_dict['message']+'\n' + else: + out_str = "{'geni':{\n" + for key in res_dict['geni']: + val = '' + if res_dict['geni'][key] == None: + val = '' + elif isinstance(res_dict['geni'][key], str): + val = res_dict['geni'][key] + else: + val = str(res_dict['geni'][key]) + out_str = out_str+"'"+key+"':"+val+"\n" + out_str = out_str + "}\n" + out_str = out_str + "'pl':{\n" + for key in res_dict['pl']: + val = '' + if res_dict['pl'][key] == None: + val = '' + if isinstance(res_dict['pl'][key], str): + val = res_dict['pl'][key] + else: + val = str(res_dict['pl'][key]) + out_str = out_str+"'"+key+"':"+val+"\n" + out_str = out_str + "}}" + except: + out_str = res_str + return out_str + +def evaluate(call_data): + call_data = eval(call_data) + #adjust the key format to obey server's storage format + if call_data['g_params'].has_key('pubkey'): #replace the ' ' with '\n' + pubkey = call_data['g_params']['pubkey'] + pubkey = pubkey.split('-----BEGIN RSA PRIVATE KEY-----')[1].split('-----END RSA PRIVATE KEY-----')[0].replace(' ','\n') + pubkey = '-----BEGIN RSA PRIVATE KEY-----'+pubkey+'-----END RSA PRIVATE KEY-----' + call_data['g_params']['pubkey'] = pubkey + return call_data + +def main(): + try: + #read the input file + fp = open('tmp_input.txt', 'r') + user_data = fp.readline() + call_data = fp.read() + print 'Read file.\n' + + #client related info + HRN = user_data.split(' ')[0] + TYPE = user_data.split(' ')[1].split('\n')[0] + name = get_leaf(HRN) + ID_FILE = name+'.cert' + ID_KEY_FILE = name+'.pkey' + ACC_FILE = 'acc_file' + CRED_FILE = 'cred_file' + my_client = GENIClient(HRN, TYPE, ID_FILE, ID_KEY_FILE, ACC_FILE, CRED_FILE) + print 'Constructed client.\n' + + #operation call + message = evaluate(call_data) + server = my_client.connect(SERVER_HOST, SERVER_PORT) + if server: + server.write(str(message)) + result = toFileFormat(server.read(MAX_RESULT)) + server.close() + print 'Performed the call.\n' + else: + result = "Error in client data structures.\n" + + if renew_res2 == 1: + result = "Cred renewed.\n"+result + if renew_res1 == 1: + result = "Acc renewed.\n"+result + #write result to output file + open('tmp_output.txt','w').write(result) + print 'Written to file.\n' + except: + #write result to output file + open('tmp_output.txt','w').write("An error occurred in client stub.\n") + print 'Exception occurred.\n' + +if __name__=="__main__": + print 'Client started.\n' + main() diff --git a/gui/JavaApplication1/client_osaka/cred_file b/gui/JavaApplication1/client_osaka/cred_file new file mode 100644 index 00000000..2dc4a361 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/cred_file @@ -0,0 +1,44 @@ +-----BEGIN CERTIFICATE----- +MIICUDCCAbkCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MjExMDUxWhcNMDgwNTA5MTMxMDUxWjAfMR0wGwYDVQQDExRSZWdpc3RyeSBj +cmVkZW50aWFsczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0AZ2JzUoce++ +VMTuJ3p+ZBTgdnmJnCn1GoWJ+VOW9z98l6XFLxxXnWsTzvx5nKaBtVjAshw79PK9 ++SD5rEycHPNaDNJfjCT/O6409XRnDMbRV/0Q3+HOrO7UpZEzFPT+/PoquLfd5OBv +JRFangM4ZhGpHsTnvd8N3xJYZ9ZbsBcCAwEAAaOBsjCBrzCBrAYDVR0RAQH/BIGh +MIGehoGbaHR0cDovLyNjcmVkZW50aWFsX3NldDooMi0wKSg0LTApKDYtMCkoNy0w +KSg4LTApKDktMCkoMC0xKSgxLTEpKDItMSkoMy0xKSg0LTEpKDUtMSkoNi0xKSg3 +LTEpKDgtMSkoOS0xKSMwOnJlZzpzbGM6cGxhbmV0bGFiLmpwIzE6cmVnOnNsYzpw +bGFuZXRsYWIuanAub3Nha2EwDQYJKoZIhvcNAQEEBQADgYEAOjGYfQry2jLhVTCx +7aygF13tq8+h7l8AzEOjTldzFF9h+OQscT74FP6e7hneDgI3EqBwWrW6E8yplJkS +flpKKuShlfSDoY3iLalSqZLhQHGX6fZ3oNlKGHJmJtL/QPhzs4tMwm5Jf0IXNadV +KVTpeZ1/xmfEJ8+E9HxYEvrKeEI= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICTjCCAbcCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MjY0NVoXDTA4MDUwODIwMjY0NVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOAP +5nv145+K6sfR0G7BMWBN9Zp9tVBdyxjohCzej6VX2fu40AjLb6m5ffRNk9WNroCx +hstcmwrbExRha6pzISsD0MIPUuf48sQmeyTHkpCdWbkbD/FtU7ENI5ZA5dQozFFt +EK2UW1kCv+IzjSVKmBRMfMcEY6UfuU15jdRm8sRlAgMBAAGjgakwgaYwgaMGA1Ud +EQEB/wSBmDCBlYaBkmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDItMCkoNC0wKSg2 +LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEpKDMtMSkoNC0xKSg1LTEp +KDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBsYW5ldGxhYiMxOnJlZzpz +bGM6cGxhbmV0bGFiLmpwMA0GCSqGSIb3DQEBBAUAA4GBAGR3d1rIelq++rJjlerk ++Xlbg+siLcDfNrOE4BgPWqZz9G6QDg+oxpmyP7SkqtO/u/D0PLyndcdKqpXsEisw +28KZtudxBTS5cRpTBCZnoUAGBKLJ3pwRqozwKxxCG8rmsUeGl0xdAjLVw9tzLppO +7LyVz7tZQkIyNF23gv+z9IQU +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/osaka.cert b/gui/JavaApplication1/client_osaka/osaka.cert new file mode 100644 index 00000000..ce4da44a --- /dev/null +++ b/gui/JavaApplication1/client_osaka/osaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvc2FrYTAeFw0w +ODAzMjgwMzQ0NTBaFw0xMzAzMjcwMzQ0NTBaMBAxDjAMBgNVBAMTBW9zYWthMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQBnYnNShx775UxO4nen5kFOB2eYmc +KfUahYn5U5b3P3yXpcUvHFedaxPO/HmcpoG1WMCyHDv08r35IPmsTJwc81oM0l+M +JP87rjT1dGcMxtFX/RDf4c6s7tSlkTMU9P78+iq4t93k4G8lEVqeAzhmEakexOe9 +3w3fElhn1luwFwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABOBGbnYsv2xjOXidUtp +e1woERQGJRe7HJrbo9NyI5ozjSLt9yphY11ZmNex2IhKIrmbRSPfDnKNYaMHFOpz +qbJMCmC4uUIUd9HY8bg4mQ4wjwdWkLA9uWlmpAFRoIY3eNEvv5tpUnD3sV1dEDsQ +uQQcjxVTSgQQgjpE1KJ/KQ6q +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/osaka.pkey b/gui/JavaApplication1/client_osaka/osaka.pkey new file mode 100644 index 00000000..25155f25 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/osaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDQBnYnNShx775UxO4nen5kFOB2eYmcKfUahYn5U5b3P3yXpcUv +HFedaxPO/HmcpoG1WMCyHDv08r35IPmsTJwc81oM0l+MJP87rjT1dGcMxtFX/RDf +4c6s7tSlkTMU9P78+iq4t93k4G8lEVqeAzhmEakexOe93w3fElhn1luwFwIDAQAB +AoGAflTuPDFUNp1aATD3UJJbX3wuNMTqhSQV7d1bRUc2T0EG8TGC5nFX5Am7JeC+ +GhwkeXVE0OXEo6UnKbyU48ZCp1lL70bjiPvhS/wceTbjuxJq2wS2hjIwf9NKyZ1j +ppO0gpvxOVNbIgyS3Yj2T98sYkJCVBnBN2huUsfzmHSeKIECQQD3SOiKRGfla+Du +dfBY7tKNxxXYTZwV2eYKhMZFW6rMcGboqoAXFMVUTEdHB2Ozk2wHsKcDb3WFpqQI +0QFqdNefAkEA11tW5cDIjiLeppSi57knZr9aYfysJcHslez9wgFGgK72s8XB8CfS +QqzPTmQm4F3NVM+5Y5PbMp55ntEiwPg0iQJAMnGsBjCoJRPZoatraSjmyMc4/JPw +aEC3/aNSMundMLEpPQMy+AJjsquQyruGKibDndn6Z+f/yFDTG31PVaEaLwJAV8AQ +GG4FSmVK8/V8q472TxeJbIPYYUozbKO0gmiioaypOXdLHuAa/LANiJOmg6W1FOnP +UJPerTGFvQDaeGaqgQJBAItAXexGSQEA1AKVzP31zorlb6zBh6dTxxrMhfeROwZx +drr47bhcwuiJ011xXzea9iy1dWJOtC8JrQ/YVw14Sjc= +-----END RSA PRIVATE KEY----- diff --git a/gui/JavaApplication1/client_osaka/trusted_certs/geni_mng.cert b/gui/JavaApplication1/client_osaka/trusted_certs/geni_mng.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/trusted_certs/geni_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/trusted_certs/geni_slc.cert b/gui/JavaApplication1/client_osaka/trusted_certs/geni_slc.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/trusted_certs/geni_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_mng.cert b/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_mng.cert new file mode 100644 index 00000000..c1b42112 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52QbJtucIQUE +YZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba +6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5amLZcMPm +u/G64ieWI8QMUxYgCE1ut3bI1QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJH5KqIU +2lrA9calI3oklbWpduiZspbwCUkhr8PNVDnkXSI1K+egDqFTaANVp1DxXU8qaDS6 +X5+s9Qf9FQ5+9mfSaocma6YW4Qfb3Zm/mYmpt+nknTlnVuEaTENyBIPfr0pDqzld +GGcYPul25KknFmdPOrqAUzma9n568u2KYlfz +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_slc.cert b/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_slc.cert new file mode 100644 index 00000000..9f5b851d --- /dev/null +++ b/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTEzMDMyNzAzNDQ0OFowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz8uZVHahZ +QqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vGO7aT7bJC +apb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9 +OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABRIUVzW +JbwQKnqM3rVHJoSgtYWpgDvJosLCrLZhsXrukOsC8Gs8V6vPTPO7kofdUbHQKRnL +xp1nI5hlWIlq/XOnh+NEPZaB2SAKwfl3FZwUqjaEVd/VYOfsRryZtiUz4sL3CtXN +C8i/I4HwCnrl/pmzbprqpGq+RJTa5yLmBw6r +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/dist/JavaApplication1.jar b/gui/JavaApplication1/dist/JavaApplication1.jar new file mode 100644 index 00000000..f346822d Binary files /dev/null and b/gui/JavaApplication1/dist/JavaApplication1.jar differ diff --git a/gui/JavaApplication1/dist/README.TXT b/gui/JavaApplication1/dist/README.TXT new file mode 100644 index 00000000..5fc38c7b --- /dev/null +++ b/gui/JavaApplication1/dist/README.TXT @@ -0,0 +1,31 @@ +======================== +BUILD OUTPUT DESCRIPTION +======================== + +When you build an Java application project that has a main class, the IDE +automatically copies all of the JAR +files on the projects classpath to your projects dist/lib folder. The IDE +also adds each of the JAR files to the Class-Path element in the application +JAR files manifest file (MANIFEST.MF). + +To run the project from the command line, go to the dist folder and +type the following: + +java -jar "JavaApplication1.jar" + +To distribute this project, zip up the dist folder (including the lib folder) +and distribute the ZIP file. + +Notes: + +* If two JAR files on the project classpath have the same name, only the first +JAR file is copied to the lib folder. +* If the classpath contains a folder of classes or resources, none of the +classpath elements are copied to the dist folder. +* If a library on the projects classpath also has a Class-Path element +specified in the manifest,the content of the Class-Path element has to be on +the projects runtime path. +* To set a main class in a standard Java project, right-click the project node +in the Projects window and choose Properties. Then click Run and enter the +class name in the Main Class field. Alternatively, you can manually type the +class name in the manifest Main-Class element. diff --git a/gui/JavaApplication1/dist/lib/swing-layout-1.0.jar b/gui/JavaApplication1/dist/lib/swing-layout-1.0.jar new file mode 100644 index 00000000..50f15901 Binary files /dev/null and b/gui/JavaApplication1/dist/lib/swing-layout-1.0.jar differ diff --git a/gui/JavaApplication1/manifest.mf b/gui/JavaApplication1/manifest.mf new file mode 100644 index 00000000..328e8e5b --- /dev/null +++ b/gui/JavaApplication1/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/gui/JavaApplication1/nbproject/build-impl.xml b/gui/JavaApplication1/nbproject/build-impl.xml new file mode 100644 index 00000000..d21a5a0a --- /dev/null +++ b/gui/JavaApplication1/nbproject/build-impl.xml @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + diff --git a/gui/JavaApplication1/nbproject/genfiles.properties b/gui/JavaApplication1/nbproject/genfiles.properties new file mode 100644 index 00000000..d7c8159a --- /dev/null +++ b/gui/JavaApplication1/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=6777d69e +build.xml.script.CRC32=09de7c06 +build.xml.stylesheet.CRC32=240b97a2 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=6777d69e +nbproject/build-impl.xml.script.CRC32=b93da968 +nbproject/build-impl.xml.stylesheet.CRC32=65d7ca21 diff --git a/gui/JavaApplication1/nbproject/private/private.properties b/gui/JavaApplication1/nbproject/private/private.properties new file mode 100644 index 00000000..c36df805 --- /dev/null +++ b/gui/JavaApplication1/nbproject/private/private.properties @@ -0,0 +1,4 @@ +application.args= +javac.debug=true +javadoc.preview=true +user.properties.file=/home/soners/.netbeans/5.5.1/build.properties diff --git a/gui/JavaApplication1/nbproject/private/private.xml b/gui/JavaApplication1/nbproject/private/private.xml new file mode 100644 index 00000000..c1f155a7 --- /dev/null +++ b/gui/JavaApplication1/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/gui/JavaApplication1/nbproject/project.properties b/gui/JavaApplication1/nbproject/project.properties new file mode 100644 index 00000000..58e400c2 --- /dev/null +++ b/gui/JavaApplication1/nbproject/project.properties @@ -0,0 +1,57 @@ +application.args= +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/JavaApplication1.jar +dist.javadoc.dir=${dist.dir}/javadoc +jar.compress=false +javac.classpath=\ + ${libs.swing-layout.classpath} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.source=1.5 +javac.target=1.5 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding= +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=javaapplication1.GeniGUI +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +src.dir=src +test.src.dir=test diff --git a/gui/JavaApplication1/nbproject/project.xml b/gui/JavaApplication1/nbproject/project.xml new file mode 100644 index 00000000..f3875b64 --- /dev/null +++ b/gui/JavaApplication1/nbproject/project.xml @@ -0,0 +1,16 @@ + + + org.netbeans.modules.java.j2seproject + + + JavaApplication1 + 1.6.5 + + + + + + + + + diff --git a/gui/JavaApplication1/src/javaapplication1/DisplayHandle.java b/gui/JavaApplication1/src/javaapplication1/DisplayHandle.java new file mode 100644 index 00000000..e755de91 --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/DisplayHandle.java @@ -0,0 +1,570 @@ +/* + * DisplayHandle.java + * + * Created on March 29, 2008, 2:42 AM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; + +import java.io.*; +import javax.swing.JPanel; +import java.awt.*; +import javax.swing.*; + +/** + * + * @author soners + */ +public class DisplayHandle { + + /** Creates a new instance of DisplayHandle */ + public DisplayHandle(BufferedWriter outCommand) { + this.outCommand = outCommand; + createCompListUser(); + createCompListSlice(); + createCompListNode(); + createCompListSite(); + } + + private void createCompListNode(){ + compList_node = new GuiComponent[33]; + GuiComponent[] compList = compList_node; + String[] tmplist1 = {"readable","pl"}; + String[] tmplist2 = {"writable","pl"}; + String[] tmplist3 = {"readable","geni"}; + String[] tmplist4 = {"writable","geni"}; + compList[0] = new GuiComponent("node_id", tmplist1, "text", "Node Id", ""); + compList[1] = new GuiComponent("last_updated", tmplist1, "text", "Last Updated", ""); + compList[2] = new GuiComponent("boot_state", tmplist2, "combo", "Boot state", "boot, dbg, inst, new, rcnf, rins"); + compList[3] = new GuiComponent("site_id", tmplist1, "num", "Site Id", ""); + compList[4] = new GuiComponent("pcu_ids", tmplist2, "num", "PCU Ids", ""); + compList[5] = new GuiComponent("session", tmplist1, "text", "Session", ""); + compList[6] = new GuiComponent("key", tmplist2, "key", "Key", ""); + compList[7] = new GuiComponent("conf_file_ids", tmplist2, "text", "Conf file Ids", ""); + compList[8] = new GuiComponent("ssh_rsa_key", tmplist1, "text", "SSH RSA Key", ""); + compList[9] = new GuiComponent("ssh_rsa_key_write", tmplist2, "key", "SSH RSA Key", ""); + compList[10] = new GuiComponent("uuid", tmplist1, "text", "UUID", ""); + compList[11] = new GuiComponent("nodegroup_ids", tmplist2, "num", "Node Group Ids", ""); + compList[12] = new GuiComponent("slice_ids_whitelist", tmplist2, "text", "Slice Ids Whitelist", ""); + compList[13] = new GuiComponent("last_contact", tmplist2, "text", "Last Contact", ""); + compList[14] = new GuiComponent("nodenetwork_ids", tmplist2, "text", "Node Network Ids", ""); + compList[15] = new GuiComponent("peer_node_id", tmplist2, "num", "Peer Node Id", ""); + compList[16] = new GuiComponent("hostname", tmplist2, "text", "Hostname", "randomsite.edu"); + compList[17] = new GuiComponent("slice_ids", tmplist1, "num", "Slice Ids", ""); + compList[18] = new GuiComponent("boot_nonce", tmplist2, "text", "Boot Nonce", ""); + compList[19] = new GuiComponent("version", tmplist2, "text", "Version", "PlanetLab BootCD 3.1"); + compList[20] = new GuiComponent("date_created", tmplist1, "text", "Date Created", ""); + compList[21] = new GuiComponent("model", tmplist2, "text", "Model", "Dell OptiPlex GX280"); + compList[22] = new GuiComponent("peer_id", tmplist1, "num", "Peer Id", ""); + compList[23] = new GuiComponent("ports", tmplist2, "text", "Ports", ""); + compList[24] = new GuiComponent("description", tmplist4, "text", "Description", "New node for testing purposes"); + compList[25] = new GuiComponent("rights", tmplist4, "text", "Rights", ""); + compList[26] = new GuiComponent("pubkey", tmplist3, "text", "GENI Public key", ""); + compList[27] = new GuiComponent("pubkey_write", tmplist4, "key", "GENI Public key", ""); + compList[28] = new GuiComponent("wrapperurl", tmplist4, "text", "Wrapper URL", "local"); + compList[29] = new GuiComponent("disabled", tmplist3, "bool", "Disabled", "Yes, No"); + compList[30] = new GuiComponent("userlist", tmplist4, "text", "User List", ""); + compList[31] = new GuiComponent("pointer", tmplist3, "num", "PL Pointer", ""); + compList[32] = new GuiComponent("g_uuid", tmplist3, "text", "GENI UUID", ""); + + } + + private void createCompListUser(){ + compList_user = new GuiComponent[28]; + GuiComponent[] compList = compList_user; + String[] tmplist1 = {"readable","pl"}; + String[] tmplist2 = {"writable","pl"}; + String[] tmplist3 = {"readable","geni"}; + String[] tmplist4 = {"writable","geni"}; + compList[0] = new GuiComponent("person_id", tmplist1, "num", "Person Id", ""); + compList[1] = new GuiComponent("bio", tmplist2, "text", "Bio", ""); + compList[2] = new GuiComponent("first_name", tmplist2, "text", "First Name", ""); + compList[3] = new GuiComponent("last_name", tmplist2, "text", "Last Name", ""); + compList[4] = new GuiComponent("last_updated", tmplist1, "text", "Last Updated", ""); + compList[5] = new GuiComponent("key_ids", tmplist2, "num", "Key Ids", ""); + compList[6] = new GuiComponent("phone", tmplist2, "text", "Phone", ""); + compList[7] = new GuiComponent("peer_person_id", tmplist2, "num", "Peer Person Id", ""); + compList[8] = new GuiComponent("role_ids", tmplist2, "num", "Role Ids", ""); + compList[9] = new GuiComponent("site_ids", tmplist1, "num", "Site Ids", ""); + compList[10] = new GuiComponent("uuid", tmplist1, "text", "UUID", ""); + compList[11] = new GuiComponent("roles", tmplist2, "num", "Roles", ""); + compList[12] = new GuiComponent("title", tmplist2, "text", "Title", ""); + compList[13] = new GuiComponent("url", tmplist2, "text", "Url", "someuser.dom.edu"); + compList[14] = new GuiComponent("enabled", tmplist2, "bool", "Enabled", "Yes, No"); + compList[15] = new GuiComponent("slice_ids", tmplist2, "num", "Slice Ids", ""); + compList[16] = new GuiComponent("date_created", tmplist1, "text", "Date Created", ""); + compList[17] = new GuiComponent("peer_id", tmplist2, "num", "Peer Id", ""); + compList[18] = new GuiComponent("email", tmplist2, "text", "Email", "someuser@domain.edu"); + compList[19] = new GuiComponent("description", tmplist4, "text", "Description", "test user"); + compList[20] = new GuiComponent("rights", tmplist2, "text", "Rights", ""); + compList[21] = new GuiComponent("pubkey", tmplist3, "text", "GENI Public key", ""); + compList[22] = new GuiComponent("pubkey_write", tmplist4, "key", "GENI Public key", ""); + compList[23] = new GuiComponent("wrapperurl", tmplist4, "text", "Wrapper URL", "local"); + compList[24] = new GuiComponent("disabled", tmplist3, "bool", "Disabled", "Yes, No"); + compList[25] = new GuiComponent("userlist", tmplist4, "text", "User List", ""); + compList[26] = new GuiComponent("pointer", tmplist3, "text", "PL Pointer", ""); + compList[27] = new GuiComponent("g_uuid", tmplist3, "text", "GENI UUID", ""); + + } + + private void createCompListSlice(){ + compList_slice = new GuiComponent[24]; + GuiComponent[] compList = compList_slice; + String[] tmplist1 = {"readable","pl"}; + String[] tmplist2 = {"writable","pl"}; + String[] tmplist3 = {"readable","geni"}; + String[] tmplist4 = {"writable","geni"}; + compList[0] = new GuiComponent("slice_id", tmplist1, "num", "Slice Id", ""); + compList[1] = new GuiComponent("description", tmplist2, "text", "Description", ""); + compList[2] = new GuiComponent("node_ids", tmplist1, "num", "Node Ids", ""); + compList[3] = new GuiComponent("expires", tmplist2, "text", "Expires", ""); + compList[4] = new GuiComponent("site_id", tmplist1, "num", "Site Id", ""); + compList[5] = new GuiComponent("uuid", tmplist1, "text", "UUID", ""); + compList[6] = new GuiComponent("creator_person_id", tmplist2, "text", "Creator Person Id", ""); + compList[7] = new GuiComponent("instantiation", tmplist2, "combo", "Instantiation", "delegated, not-instantiated, plc-instantiated"); + compList[8] = new GuiComponent("name", tmplist2, "text", "Name", ""); + compList[9] = new GuiComponent("created", tmplist1, "text", "Created", ""); + compList[10] = new GuiComponent("url", tmplist2, "text", "Url", ""); + compList[11] = new GuiComponent("max_nodes", tmplist2, "num", "Max Nodes", "10"); + compList[12] = new GuiComponent("person_ids", tmplist2, "num", "Person Ids", ""); + compList[13] = new GuiComponent("slice_attribute_ids", tmplist2, "text", "Slice Attribute Ids", ""); + compList[14] = new GuiComponent("peer_id", tmplist1, "num", "Peer Id", ""); + compList[15] = new GuiComponent("description", tmplist4, "text", "Description", "test slice"); + compList[16] = new GuiComponent("rights", tmplist2, "text", "Rights", ""); + compList[17] = new GuiComponent("pubkey", tmplist3, "text", "GENI Public key", ""); + compList[18] = new GuiComponent("pubkey_write", tmplist4, "key", "GENI Public key", ""); + compList[19] = new GuiComponent("wrapperurl", tmplist4, "text", "Wrapper URL", "local"); + compList[20] = new GuiComponent("disabled", tmplist3, "bool", "Disabled", "Yes, No"); + compList[21] = new GuiComponent("userlist", tmplist4, "text", "User List", ""); + compList[22] = new GuiComponent("pointer", tmplist3, "num", "PL Pointer", ""); + compList[23] = new GuiComponent("g_uuid", tmplist3, "text", "GENI UUID", ""); + + } + + private void createCompListSite(){ + compList_site = new GuiComponent[31]; + GuiComponent[] compList = compList_site; + String[] tmplist1 = {"readable","pl"}; + String[] tmplist2 = {"writable","pl"}; + String[] tmplist3 = {"readable","geni"}; + String[] tmplist4 = {"writable","geni"}; + + compList[0] = new GuiComponent("last_updated", tmplist1, "text", "Last Updated", ""); + compList[1] = new GuiComponent("node_ids", tmplist2, "num", "Node Ids", ""); + compList[2] = new GuiComponent("site_id", tmplist1, "num", "Site Id", ""); + compList[3] = new GuiComponent("pcu_ids", tmplist2, "num", "PCU Ids", ""); + compList[4] = new GuiComponent("max_slices", tmplist2, "num", "Max Slices", ""); + compList[5] = new GuiComponent("ext_consortium_id", tmplist2, "text", "Ext Consortium Id", ""); + compList[6] = new GuiComponent("max_slivers", tmplist2, "num", "Max Slivers", "5"); + compList[7] = new GuiComponent("is_public", tmplist2, "bool", "Public", "Yes, No"); + compList[8] = new GuiComponent("peer_site_id", tmplist1, "num", "Peer Site Id", ""); + compList[9] = new GuiComponent("abbreviated_name", tmplist2, "text", "Abbreviated Name", ""); + compList[10] = new GuiComponent("name", tmplist2, "text", "Name", ""); + compList[11] = new GuiComponent("address_ids", tmplist2, "num", "Address Ids", ""); + compList[12] = new GuiComponent("uuid", tmplist1, "text", "UUID", ""); + compList[13] = new GuiComponent("url", tmplist2, "text", "Url", ""); + compList[14] = new GuiComponent("person_ids", tmplist2, "num", "Person Ids", ""); + compList[15] = new GuiComponent("enabled", tmplist2, "bool", "Enabled", "Yes, No"); + compList[16] = new GuiComponent("longitude", tmplist2, "num", "Longitude", "34.3"); + compList[17] = new GuiComponent("latitude", tmplist2, "num", "Latitude", "45.4"); + compList[18] = new GuiComponent("slice_ids", tmplist2, "num", "Slice Ids", ""); + compList[19] = new GuiComponent("login_base", tmplist2, "text", "Login Base", ""); + compList[20] = new GuiComponent("date_created", tmplist1, "text", "Date Created", ""); + compList[21] = new GuiComponent("peer_id", tmplist1, "num", "Peer Id", ""); + compList[22] = new GuiComponent("description", tmplist4, "text", "Description", "test slice"); + compList[23] = new GuiComponent("rights", tmplist2, "text", "Rights", ""); + compList[24] = new GuiComponent("pubkey", tmplist3, "text", "GENI Public key", ""); + compList[25] = new GuiComponent("pubkey_write", tmplist4, "key", "GENI Public key", ""); + compList[26] = new GuiComponent("wrapperurl", tmplist4, "text", "Wrapper URL", "local"); + compList[27] = new GuiComponent("disabled", tmplist3, "bool", "Disabled", "Yes, No"); + compList[28] = new GuiComponent("userlist", tmplist4, "text", "User List", ""); + compList[29] = new GuiComponent("pointer", tmplist3, "num", "PL Pointer", ""); + compList[30] = new GuiComponent("g_uuid", tmplist3, "text", "GENI UUID", ""); + } + + //input is in format: {"'field1_name':value1", "'field2_name':value2", ...} + public void FillComponentList(String recordType, String[] dict){ + GuiComponent[] complist = null; + if (recordType.equals("user")){ + complist = compList_user; + } + else if (recordType.equals("slice")){ + complist = compList_slice; + } + else if (recordType.equals("node")){ + complist = compList_node; + } + else if (recordType.equals("SA/MA")){ + complist = compList_site; + } + + for (int i=0; i 1) + comp_value = line[1]; + if (comp_value.equals("None")) + comp_value = ""; + int j; + for(j = 0; j tmp_key_file.txt\n"); + outCommand.flush(); + + //get key from temp file + String result = ""; + File file = new File("tmp_key_file.txt"); + int i = 0; + while(!file.exists() && i<5){ + i++; + try { + Thread.currentThread().sleep(200); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + try { + Thread.currentThread().sleep(100); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + if (file.exists()){ + BufferedReader in = new BufferedReader(new FileReader("tmp_key_file.txt")); + String tmp = in.readLine(); + while(tmp!=null && tmp.length() > 0){ + result += tmp+"\n"; + tmp = in.readLine(); + } + in.close(); + + outCommand.write("rm tmp_key_file.txt\n"); + outCommand.flush(); + } + //write the result in the textfield + t.setText(result); + }catch (Exception ex) { + ex.printStackTrace(); + } + } + + } + + public void displayComponentList(String recordType, JPanel panel1, JPanel panel2){ + + GuiComponent[] complist = null; + if (recordType.equals("user")){ + complist = compList_user; + } + else if (recordType.equals("slice")){ + complist = compList_slice; + } + else if (recordType.equals("node")){ + complist = compList_node; + } + else if (recordType.equals("SA/MA")){ + complist = compList_site; + } + + panel1.removeAll(); + panel1.setLayout(new SpringLayout()); + + int count1 = 0; + for (int i=0;i + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/gui/JavaApplication1/src/javaapplication1/GeniGUI.java b/gui/JavaApplication1/src/javaapplication1/GeniGUI.java new file mode 100644 index 00000000..ad93a59c --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/GeniGUI.java @@ -0,0 +1,452 @@ +/* + * GeniGUI.java + * + * Created on March 29, 2008, 3:46 PM + */ + +package javaapplication1; + +import javax.swing.SpringLayout; +import org.jdesktop.layout.GroupLayout; + +/** + * + * @author soners + */ +public class GeniGUI extends javax.swing.JFrame { + + /** + * Creates new form GeniGUI + */ + public GeniGUI() { + initComponents(); + + jPanel4.setVisible(false); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + + javax.swing.JPanel[] panelList = {jPanel3, jPanel4, jPanel5, jPanel6, jPanel7}; + panelfiller = new PanelFiller(panelList, statusLabel); + panelfiller.initializePanels(); + + } + + private void passCallToHandler(String opname){ + User user = new User(); + user.setCurrentUser(hrnTextField.getText(), (String)typeCombo.getSelectedItem(), dirTextField.getText()); + RecordInfo record = new RecordInfo(); + record.setCurrentRecord(rechrnTextField.getText(), (String)rectypeCombo.getSelectedItem()); + + panelfiller.setUser(user); + panelfiller.setRecord(record); + panelfiller.handleOperation(opname); + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + jPanel1 = new javax.swing.JPanel(); + hrnLabel = new javax.swing.JLabel(); + hrnTextField = new javax.swing.JTextField(); + typeCombo = new javax.swing.JComboBox(); + dirTextField = new javax.swing.JTextField(); + typeLabel = new javax.swing.JLabel(); + dirLabel = new javax.swing.JLabel(); + jInternalFrame1 = new javax.swing.JInternalFrame(); + jPanel3 = new javax.swing.JPanel(); + jPanel4 = new javax.swing.JPanel(); + jPanel5 = new javax.swing.JPanel(); + jPanel6 = new javax.swing.JPanel(); + jPanel7 = new javax.swing.JPanel(); + jPanel2 = new javax.swing.JPanel(); + rechrnLabel = new javax.swing.JLabel(); + rechrnTextField = new javax.swing.JTextField(); + rectypeCombo = new javax.swing.JComboBox(); + rectypeLabel = new javax.swing.JLabel(); + jButton1 = new javax.swing.JButton(); + jButton2 = new javax.swing.JButton(); + jButton3 = new javax.swing.JButton(); + jButton4 = new javax.swing.JButton(); + statusLabel = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + formMouseReleased(evt); + } + }); + + jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("User Info")); + hrnLabel.setText("Enter your HRN:"); + + hrnTextField.setText("planetlab.jp.osaka"); + + typeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "user", "SA", "MA" })); + + dirTextField.setText("./client_osaka"); + + typeLabel.setText("Type:"); + + dirLabel.setText("User GENI directory:"); + + org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jPanel1Layout.createSequentialGroup() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(typeLabel) + .add(hrnLabel)) + .add(26, 26, 26)) + .add(jPanel1Layout.createSequentialGroup() + .add(dirLabel) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(dirTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE) + .add(hrnTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE) + .add(typeCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 66, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) + ); + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1Layout.createSequentialGroup() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(hrnLabel) + .add(hrnTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(13, 13, 13) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(typeCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(typeLabel)) + .add(14, 14, 14) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(dirTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(dirLabel)) + .addContainerGap(46, Short.MAX_VALUE)) + ); + + jInternalFrame1.setTitle("Record Data"); + jInternalFrame1.setVisible(true); + jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Non-editable Information")); + org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 825, Short.MAX_VALUE) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 199, Short.MAX_VALUE) + ); + + jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Set User Fields")); + org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4); + jPanel4.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 825, Short.MAX_VALUE) + ); + jPanel4Layout.setVerticalGroup( + jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 180, Short.MAX_VALUE) + ); + + jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Set Slice fields")); + org.jdesktop.layout.GroupLayout jPanel5Layout = new org.jdesktop.layout.GroupLayout(jPanel5); + jPanel5.setLayout(jPanel5Layout); + jPanel5Layout.setHorizontalGroup( + jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 825, Short.MAX_VALUE) + ); + jPanel5Layout.setVerticalGroup( + jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 192, Short.MAX_VALUE) + ); + + jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("Set Node fields")); + org.jdesktop.layout.GroupLayout jPanel6Layout = new org.jdesktop.layout.GroupLayout(jPanel6); + jPanel6.setLayout(jPanel6Layout); + jPanel6Layout.setHorizontalGroup( + jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 825, Short.MAX_VALUE) + ); + jPanel6Layout.setVerticalGroup( + jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 182, Short.MAX_VALUE) + ); + + jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("Set SA/MA fields")); + org.jdesktop.layout.GroupLayout jPanel7Layout = new org.jdesktop.layout.GroupLayout(jPanel7); + jPanel7.setLayout(jPanel7Layout); + jPanel7Layout.setHorizontalGroup( + jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 837, Short.MAX_VALUE) + ); + jPanel7Layout.setVerticalGroup( + jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 221, Short.MAX_VALUE) + ); + + org.jdesktop.layout.GroupLayout jInternalFrame1Layout = new org.jdesktop.layout.GroupLayout(jInternalFrame1.getContentPane()); + jInternalFrame1.getContentPane().setLayout(jInternalFrame1Layout); + jInternalFrame1Layout.setHorizontalGroup( + jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jInternalFrame1Layout.createSequentialGroup() + .addContainerGap() + .add(jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jInternalFrame1Layout.createSequentialGroup() + .add(jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap()))) + ); + jInternalFrame1Layout.setVerticalGroup( + jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jInternalFrame1Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + ); + + jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Record Select")); + rechrnLabel.setText("HRN:"); + + rechrnTextField.setText("planetlab.jp.osaka.tokyobranch"); + + rectypeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "-", "user", "slice", "node", "SA", "MA" })); + rectypeCombo.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + rectypeComboItemStateChanged(evt); + } + }); + + rectypeLabel.setText("Type:"); + + jButton1.setText("register"); + jButton1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton1MouseReleased(evt); + } + }); + + jButton2.setText("remove"); + jButton2.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton2MouseReleased(evt); + } + }); + + jButton3.setText("update"); + jButton3.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton3MouseReleased(evt); + } + }); + + jButton4.setText("lookup"); + jButton4.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton4MouseReleased(evt); + } + }); + + org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2); + jPanel2.setLayout(jPanel2Layout); + jPanel2Layout.setHorizontalGroup( + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(rechrnLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 38, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(rechrnTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 271, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel2Layout.createSequentialGroup() + .add(rectypeLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 38, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(jButton1) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jButton2) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jButton3) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jButton4)) + .add(rectypeCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 66, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(30, Short.MAX_VALUE)) + ); + jPanel2Layout.setVerticalGroup( + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(rechrnLabel) + .add(rechrnTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(rectypeCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(rectypeLabel)) + .add(27, 27, 27) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jButton1) + .add(jButton2) + .add(jButton3) + .add(jButton4)) + .addContainerGap(22, Short.MAX_VALUE)) + ); + + statusLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP); + statusLabel.setAutoscrolls(true); + + org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() + .addContainerGap() + .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jInternalFrame1) + .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() + .addContainerGap() + .add(statusLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 857, Short.MAX_VALUE))) + .add(28, 28, 28)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) + .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(statusLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jInternalFrame1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(153, 153, 153)) + ); + pack(); + }// //GEN-END:initComponents + + private void jButton4MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton4MouseReleased +// TODO add your handling code here: + passCallToHandler("lookup"); + }//GEN-LAST:event_jButton4MouseReleased + + private void jButton3MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton3MouseReleased +// TODO add your handling code here: + passCallToHandler("update"); + }//GEN-LAST:event_jButton3MouseReleased + + private void jButton2MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseReleased +// TODO add your handling code here: + passCallToHandler("remove"); + + }//GEN-LAST:event_jButton2MouseReleased + + private void jButton1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseReleased +// TODO add your handling code here: + passCallToHandler("register"); + + }//GEN-LAST:event_jButton1MouseReleased + + private void formMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMouseReleased +// TODO add your handling code here: + + }//GEN-LAST:event_formMouseReleased + + private void rectypeComboItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_rectypeComboItemStateChanged +// TODO add your handling code here: + + jInternalFrame1.setSize(500,800); + jInternalFrame1.revalidate(); + jInternalFrame1.repaint(); + + int selected = rectypeCombo.getSelectedIndex(); + if (selected == 1){ + jPanel4.setVisible(true); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + } + else if (selected == 2){ + jPanel5.setVisible(true); + jPanel4.setVisible(false); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + } + else if (selected == 3){ + jPanel6.setVisible(true); + jPanel4.setVisible(false); + jPanel5.setVisible(false); + jPanel7.setVisible(false); + } + else if (selected == 4 || selected == 5){ + jPanel7.setVisible(true); + jPanel4.setVisible(false); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + } + }//GEN-LAST:event_rectypeComboItemStateChanged + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new GeniGUI().setVisible(true); + } + }); + } + + private PanelFiller panelfiller; + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel dirLabel; + private javax.swing.JTextField dirTextField; + private javax.swing.JLabel hrnLabel; + private javax.swing.JTextField hrnTextField; + private javax.swing.JButton jButton1; + private javax.swing.JButton jButton2; + private javax.swing.JButton jButton3; + private javax.swing.JButton jButton4; + private javax.swing.JInternalFrame jInternalFrame1; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel4; + private javax.swing.JPanel jPanel5; + private javax.swing.JPanel jPanel6; + private javax.swing.JPanel jPanel7; + private javax.swing.JLabel rechrnLabel; + private javax.swing.JTextField rechrnTextField; + private javax.swing.JComboBox rectypeCombo; + private javax.swing.JLabel rectypeLabel; + private javax.swing.JLabel statusLabel; + private javax.swing.JComboBox typeCombo; + private javax.swing.JLabel typeLabel; + // End of variables declaration//GEN-END:variables + +} diff --git a/gui/JavaApplication1/src/javaapplication1/GuiComponent.java b/gui/JavaApplication1/src/javaapplication1/GuiComponent.java new file mode 100644 index 00000000..40e9b7cc --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/GuiComponent.java @@ -0,0 +1,119 @@ +/* + * GuiComponent.java + * + * Created on March 29, 2008, 2:45 AM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; + +/** + * + * @author soners + */ +public class GuiComponent { + + /** Creates a new instance of GuiComponent */ + public GuiComponent(String name, String[] property, String type, String label, String defaultVal) { + this.name = name; + this.property = property; + this.type = type; + this.label = label; + this.value = defaultVal; + + } + private String[] property; + private String type; + private String label; + private String value; + + /** + * Holds value of property name. + */ + private String name; + + /** + * Getter for property name. + * @return Value of property name. + */ + public String getName() { + return this.name; + } + + /** + * Setter for property name. + * @param name New value of property name. + */ + public void setName(String name) { + this.name = name; + } + + /** + * Getter for property property. + * @return Value of property property. + */ + public String[] getProperty() { + return this.property; + } + + /** + * Setter for property property. + * @param property New value of property property. + */ + public void setProperty(String[] property) { + this.property = property; + } + + /** + * Getter for property type. + * @return Value of property type. + */ + public String getType() { + return this.type; + } + + /** + * Setter for property type. + * @param type New value of property type. + */ + public void setType(String type) { + this.type = type; + } + + /** + * Getter for property label. + * @return Value of property label. + */ + public String getLabel() { + return this.label; + } + + /** + * Setter for property label. + * @param label New value of property label. + */ + public void setLabel(String label) { + this.label = label; + } + + /** + * Getter for property value. + * + * @return Value of property value. + */ + public String getValue() { + return this.value; + } + + /** + * Setter for property value. + * + * @param value New value of property value. + */ + public void setValue(String defaultVal) { + this.value = defaultVal; + } + +} diff --git a/gui/JavaApplication1/src/javaapplication1/PanelFiller.java b/gui/JavaApplication1/src/javaapplication1/PanelFiller.java new file mode 100644 index 00000000..17d5d11d --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/PanelFiller.java @@ -0,0 +1,248 @@ +/* + * PanelFiller.java + * + * Created on March 29, 2008, 10:45 PM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; + +import java.io.*; +import javax.swing.*; +import javax.swing.JOptionPane; + +/** + * + * @author soners + */ +public class PanelFiller { + + /** Creates a new instance of PanelFiller */ + public PanelFiller(JPanel[] panelList, JLabel statusLabel) { + panel1 = panelList[0]; + panel2 = panelList[1]; + panel3 = panelList[2]; + panel4 = panelList[3]; + panel5 = panelList[4]; + this.statusLabel = statusLabel; + + try{ + rtime = Runtime.getRuntime(); + child = rtime.exec("/bin/bash"); + outCommand = new BufferedWriter(new OutputStreamWriter(child.getOutputStream())); + }catch (Exception e){ + JOptionPane.showMessageDialog(null, "The program cannot start bash.\n"); + return; + } + + displayHandle = new DisplayHandle(outCommand); + } + + public void handleOperation(String opname){ + + JPanel curpanel = null; + String type = record.getType(); + if (type.equals("user")) + curpanel = panel2; + else if (type.equals("slice")) + curpanel = panel3; + else if (type.equals("node")) + curpanel = panel4; + else if (type.equals("SA")){ + curpanel = panel5; + type = "SA/MA"; + } + else if (type.equals("MA")){ + curpanel = panel5; + type = "SA/MA"; + } + + if (opname.equals("register")){ + String params = displayHandle.PanelToString(type, curpanel); + String rest = params.substring(12); + if (rest.charAt(0)=='}') + params = "'g_params':{'hrn':'"+record.getHrn()+"', 'type':'"+record.getType()+"'"+rest; + else + params = "'g_params':{'hrn':'"+record.getHrn()+"', 'type':'"+record.getType()+"', "+rest; + String message = "{'opname':'"+opname+"', "+params+"}"; + String result = SendToClientStub(message); + String[] res_arr = result.split("\n"); + String send_str = ""; + for (int i=0; i 0){ + + String status_str = ""; + for (int i=0; i 0){ + result += tmp+"\n"; + tmp = in.readLine(); + } + in.close(); + + outCommand.write("rm tmp_input.txt tmp_output.txt\n"); + outCommand.write("cd "+curdir+"\n"); + outCommand.flush(); + }catch (Exception e){//Catch exception if any + System.err.println("Error: " + e.getMessage()); + result = "Problem occured in client stub.\n"; + return result; + } + return result; + } + + public void initializePanels(){ + displayHandle.displayComponentList("user",panel1, panel2); + displayHandle.displayComponentList("slice",panel1, panel3); + displayHandle.displayComponentList("node",panel1, panel4); + displayHandle.displayComponentList("SA/MA",panel1, panel5); + } + + public void setUser(User user){ + this.user = user; + } + public void setRecord(RecordInfo record){ + this.record = record; + } + + private User user; + private RecordInfo record; + private javax.swing.JPanel panel1; + private javax.swing.JPanel panel2; + private javax.swing.JPanel panel3; + private javax.swing.JPanel panel4; + private javax.swing.JPanel panel5; + private javax.swing.JLabel statusLabel; + + private BufferedWriter outCommand; + private Runtime rtime; + private Process child; + + private DisplayHandle displayHandle; + +} + + diff --git a/gui/JavaApplication1/src/javaapplication1/RecordInfo.java b/gui/JavaApplication1/src/javaapplication1/RecordInfo.java new file mode 100644 index 00000000..6af39f30 --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/RecordInfo.java @@ -0,0 +1,71 @@ +/* + * RecordInfo.java + * + * Created on March 30, 2008, 12:07 AM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; +import javax.swing.*; + +/** + * + * @author soners + */ +public class RecordInfo { + + /** Creates a new instance of RecordInfo */ + public RecordInfo() { + } + + public void setCurrentRecord(String hrn, String type){ + this.hrn = hrn; + this.type = type; + } + + + /** + * Holds value of property hrn. + */ + private String hrn; + + /** + * Getter for property hrn. + * @return Value of property hrn. + */ + public String getHrn() { + return this.hrn; + } + + /** + * Setter for property hrn. + * @param hrn New value of property hrn. + */ + public void setHrn(String hrn) { + this.hrn = hrn; + } + + /** + * Holds value of property type. + */ + private String type; + + /** + * Getter for property type. + * @return Value of property type. + */ + public String getType() { + return this.type; + } + + /** + * Setter for property type. + * @param type New value of property type. + */ + public void setType(String type) { + this.type = type; + } + +} diff --git a/gui/JavaApplication1/src/javaapplication1/SpringUtilities.java b/gui/JavaApplication1/src/javaapplication1/SpringUtilities.java new file mode 100644 index 00000000..f2eb8ccb --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/SpringUtilities.java @@ -0,0 +1,224 @@ +package javaapplication1; +/* + * Copyright (c) 1995 - 2008 Sun Microsystems, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of Sun Microsystems nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import javax.swing.*; +import javax.swing.SpringLayout; +import java.awt.*; + +/** + * A 1.4 file that provides utility methods for + * creating form- or grid-style layouts with SpringLayout. + * These utilities are used by several programs, such as + * SpringBox and SpringCompactGrid. + */ +public class SpringUtilities { + /** + * A debugging utility that prints to stdout the component's + * minimum, preferred, and maximum sizes. + */ + public static void printSizes(Component c) { + System.out.println("minimumSize = " + c.getMinimumSize()); + System.out.println("preferredSize = " + c.getPreferredSize()); + System.out.println("maximumSize = " + c.getMaximumSize()); + } + + /** + * Aligns the first rows * cols + * components of parent in + * a grid. Each component is as big as the maximum + * preferred width and height of the components. + * The parent is made just big enough to fit them all. + * + * @param rows number of rows + * @param cols number of columns + * @param initialX x location to start the grid at + * @param initialY y location to start the grid at + * @param xPad x padding between cells + * @param yPad y padding between cells + */ + public static void makeGrid(Container parent, + int rows, int cols, + int initialX, int initialY, + int xPad, int yPad) { + SpringLayout layout; + try { + layout = (SpringLayout)parent.getLayout(); + } catch (ClassCastException exc) { + System.err.println("The first argument to makeGrid must use SpringLayout."); + return; + } + + Spring xPadSpring = Spring.constant(xPad); + Spring yPadSpring = Spring.constant(yPad); + Spring initialXSpring = Spring.constant(initialX); + Spring initialYSpring = Spring.constant(initialY); + int max = rows * cols; + + //Calculate Springs that are the max of the width/height so that all + //cells have the same size. + Spring maxWidthSpring = layout.getConstraints(parent.getComponent(0)). + getWidth(); + Spring maxHeightSpring = layout.getConstraints(parent.getComponent(0)). + getWidth(); + for (int i = 1; i < max; i++) { + SpringLayout.Constraints cons = layout.getConstraints( + parent.getComponent(i)); + + maxWidthSpring = Spring.max(maxWidthSpring, cons.getWidth()); + maxHeightSpring = Spring.max(maxHeightSpring, cons.getHeight()); + } + + //Apply the new width/height Spring. This forces all the + //components to have the same size. + for (int i = 0; i < max; i++) { + SpringLayout.Constraints cons = layout.getConstraints( + parent.getComponent(i)); + + cons.setWidth(maxWidthSpring); + cons.setHeight(maxHeightSpring); + } + + //Then adjust the x/y constraints of all the cells so that they + //are aligned in a grid. + SpringLayout.Constraints lastCons = null; + SpringLayout.Constraints lastRowCons = null; + for (int i = 0; i < max; i++) { + SpringLayout.Constraints cons = layout.getConstraints( + parent.getComponent(i)); + if (i % cols == 0) { //start of new row + lastRowCons = lastCons; + cons.setX(initialXSpring); + } else { //x position depends on previous component + cons.setX(Spring.sum(lastCons.getConstraint(SpringLayout.EAST), + xPadSpring)); + } + + if (i / cols == 0) { //first row + cons.setY(initialYSpring); + } else { //y position depends on previous row + cons.setY(Spring.sum(lastRowCons.getConstraint(SpringLayout.SOUTH), + yPadSpring)); + } + lastCons = cons; + } + + //Set the parent's size. + SpringLayout.Constraints pCons = layout.getConstraints(parent); + pCons.setConstraint(SpringLayout.SOUTH, + Spring.sum( + Spring.constant(yPad), + lastCons.getConstraint(SpringLayout.SOUTH))); + pCons.setConstraint(SpringLayout.EAST, + Spring.sum( + Spring.constant(xPad), + lastCons.getConstraint(SpringLayout.EAST))); + } + + /* Used by makeCompactGrid. */ + private static SpringLayout.Constraints getConstraintsForCell( + int row, int col, + Container parent, + int cols) { + SpringLayout layout = (SpringLayout) parent.getLayout(); + Component c = parent.getComponent(row * cols + col); + return layout.getConstraints(c); + } + + /** + * Aligns the first rows * cols + * components of parent in + * a grid. Each component in a column is as wide as the maximum + * preferred width of the components in that column; + * height is similarly determined for each row. + * The parent is made just big enough to fit them all. + * + * @param rows number of rows + * @param cols number of columns + * @param initialX x location to start the grid at + * @param initialY y location to start the grid at + * @param xPad x padding between cells + * @param yPad y padding between cells + */ + public static void makeCompactGrid(Container parent, + int rows, int cols, + int initialX, int initialY, + int xPad, int yPad) { + SpringLayout layout; + try { + layout = (SpringLayout)parent.getLayout(); + } catch (ClassCastException exc) { + System.err.println("The first argument to makeCompactGrid must use SpringLayout."); + return; + } + + //Align all cells in each column and make them the same width. + Spring x = Spring.constant(initialX); + for (int c = 0; c < cols; c++) { + Spring width = Spring.constant(0); + for (int r = 0; r < rows; r++) { + width = Spring.max(width, + getConstraintsForCell(r, c, parent, cols). + getWidth()); + } + for (int r = 0; r < rows; r++) { + SpringLayout.Constraints constraints = + getConstraintsForCell(r, c, parent, cols); + constraints.setX(x); + constraints.setWidth(width); + } + x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad))); + } + + //Align all cells in each row and make them the same height. + Spring y = Spring.constant(initialY); + for (int r = 0; r < rows; r++) { + Spring height = Spring.constant(0); + for (int c = 0; c < cols; c++) { + height = Spring.max(height, + getConstraintsForCell(r, c, parent, cols). + getHeight()); + } + for (int c = 0; c < cols; c++) { + SpringLayout.Constraints constraints = + getConstraintsForCell(r, c, parent, cols); + constraints.setY(y); + constraints.setHeight(height); + } + y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad))); + } + + //Set the parent's size. + SpringLayout.Constraints pCons = layout.getConstraints(parent); + pCons.setConstraint(SpringLayout.SOUTH, y); + pCons.setConstraint(SpringLayout.EAST, x); + } +} diff --git a/gui/JavaApplication1/src/javaapplication1/User.java b/gui/JavaApplication1/src/javaapplication1/User.java new file mode 100644 index 00000000..336749f2 --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/User.java @@ -0,0 +1,92 @@ +/* + * User.java + * + * Created on March 29, 2008, 11:36 PM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; +import javax.swing.*; +/** + * + * @author soners + */ +public class User { + + /** Creates a new instance of User */ + public User() { + } + + public void setCurrentUser(String hrn, String type, String directory){ + this.hrn = hrn; + this.type = type; + this.directory = directory; + } + + /** + * Holds value of property hrn. + */ + private String hrn; + + /** + * Getter for property hrn. + * @return Value of property hrn. + */ + public String getHrn() { + return this.hrn; + } + + /** + * Setter for property hrn. + * @param hrn New value of property hrn. + */ + public void setHrn(String hrn) { + this.hrn = hrn; + } + + + /** + * Holds value of property type. + */ + private String type; + + /** + * Getter for property type. + * @return Value of property type. + */ + public String getType() { + return this.type; + } + + /** + * Setter for property type. + * @param type New value of property type. + */ + public void setType(String type) { + this.type = type; + } + + /** + * Holds value of property directory. + */ + private String directory; + + /** + * Getter for property directory. + * @return Value of property directory. + */ + public String getDirectory() { + return this.directory; + } + + /** + * Setter for property directory. + * @param directory New value of property directory. + */ + public void setDirectory(String directory) { + this.directory = directory; + } + +} diff --git a/gui/JavaApplication1/test/NewJFrame.form b/gui/JavaApplication1/test/NewJFrame.form new file mode 100644 index 00000000..bc1510ba --- /dev/null +++ b/gui/JavaApplication1/test/NewJFrame.form @@ -0,0 +1,1037 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/gui/JavaApplication1/test/NewJFrame.java b/gui/JavaApplication1/test/NewJFrame.java new file mode 100644 index 00000000..ba492038 --- /dev/null +++ b/gui/JavaApplication1/test/NewJFrame.java @@ -0,0 +1,1221 @@ +/* + * NewJFrame.java + * + * Created on March 24, 2008, 8:22 PM + */ + +import java.io.*; +import javax.swing.JOptionPane; + +/** + * + * @author soners + */ +public class NewJFrame extends javax.swing.JFrame { + + /** Creates new form NewJFrame */ + public NewJFrame() { + initComponents(); + + jPanel6.setVisible(false); + jPanel7.setVisible(false); + jPanel2.setVisible(false); + + //public key prompt will be visible for only register and update + jLabel31.setVisible(false); + jTextField20.setVisible(false); + + try{ + rtime = Runtime.getRuntime(); + child = rtime.exec("/bin/bash"); + outCommand = new BufferedWriter(new OutputStreamWriter(child.getOutputStream())); + }catch (Exception e){ + JOptionPane.showMessageDialog(null, "The program cannot start bash.\n"); + return; + } + + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + jPanel1 = new javax.swing.JPanel(); + jLabel1 = new javax.swing.JLabel(); + jTextField1 = new javax.swing.JTextField(); + jComboBox1 = new javax.swing.JComboBox(); + jTextField24 = new javax.swing.JTextField(); + jLabel29 = new javax.swing.JLabel(); + jLabel30 = new javax.swing.JLabel(); + jPanel4 = new javax.swing.JPanel(); + jLabel2 = new javax.swing.JLabel(); + jTextField2 = new javax.swing.JTextField(); + jComboBox2 = new javax.swing.JComboBox(); + jPanel3 = new javax.swing.JPanel(); + jToggleButton6 = new javax.swing.JToggleButton(); + jToggleButton7 = new javax.swing.JToggleButton(); + jToggleButton8 = new javax.swing.JToggleButton(); + jToggleButton9 = new javax.swing.JToggleButton(); + jLabel28 = new javax.swing.JLabel(); + jLabel31 = new javax.swing.JLabel(); + jTextField20 = new javax.swing.JTextField(); + jButton1 = new javax.swing.JButton(); + jInternalFrame1 = new javax.swing.JInternalFrame(); + jPanel6 = new javax.swing.JPanel(); + jLabel7 = new javax.swing.JLabel(); + jLabel8 = new javax.swing.JLabel(); + jLabel9 = new javax.swing.JLabel(); + jLabel10 = new javax.swing.JLabel(); + jLabel11 = new javax.swing.JLabel(); + jLabel12 = new javax.swing.JLabel(); + jLabel13 = new javax.swing.JLabel(); + jLabel14 = new javax.swing.JLabel(); + jLabel15 = new javax.swing.JLabel(); + jLabel16 = new javax.swing.JLabel(); + jTextField6 = new javax.swing.JTextField(); + jTextField7 = new javax.swing.JTextField(); + jTextField8 = new javax.swing.JTextField(); + jTextField9 = new javax.swing.JTextField(); + jTextField10 = new javax.swing.JTextField(); + jTextField11 = new javax.swing.JTextField(); + jTextField12 = new javax.swing.JTextField(); + jComboBox4 = new javax.swing.JComboBox(); + jTextField21 = new javax.swing.JTextField(); + jComboBox5 = new javax.swing.JComboBox(); + jPanel7 = new javax.swing.JPanel(); + jLabel6 = new javax.swing.JLabel(); + jLabel25 = new javax.swing.JLabel(); + jLabel26 = new javax.swing.JLabel(); + jLabel27 = new javax.swing.JLabel(); + jComboBox3 = new javax.swing.JComboBox(); + jTextField22 = new javax.swing.JTextField(); + jScrollPane1 = new javax.swing.JScrollPane(); + jTextArea1 = new javax.swing.JTextArea(); + jTextField23 = new javax.swing.JTextField(); + jPanel2 = new javax.swing.JPanel(); + jTextField3 = new javax.swing.JTextField(); + jLabel3 = new javax.swing.JLabel(); + jLabel4 = new javax.swing.JLabel(); + jLabel5 = new javax.swing.JLabel(); + jTextField4 = new javax.swing.JTextField(); + jTextField5 = new javax.swing.JTextField(); + jLabel32 = new javax.swing.JLabel(); + jTextField25 = new javax.swing.JTextField(); + jPanel5 = new javax.swing.JPanel(); + jLabel17 = new javax.swing.JLabel(); + jLabel18 = new javax.swing.JLabel(); + jLabel19 = new javax.swing.JLabel(); + jLabel20 = new javax.swing.JLabel(); + jLabel21 = new javax.swing.JLabel(); + jLabel22 = new javax.swing.JLabel(); + jLabel23 = new javax.swing.JLabel(); + jLabel24 = new javax.swing.JLabel(); + jTextField13 = new javax.swing.JTextField(); + jTextField14 = new javax.swing.JTextField(); + jTextField15 = new javax.swing.JTextField(); + jTextField16 = new javax.swing.JTextField(); + jTextField17 = new javax.swing.JTextField(); + jTextField18 = new javax.swing.JTextField(); + jTextField19 = new javax.swing.JTextField(); + jScrollPane2 = new javax.swing.JScrollPane(); + jTextArea2 = new javax.swing.JTextArea(); + jLabel33 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("User Info")); + jPanel1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jPanel1MouseReleased(evt); + } + }); + + jLabel1.setText("Enter your HRN:"); + + jTextField1.setText("planetlab.jp.osaka"); + + jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "user", "SA", "MA" })); + + jTextField24.setText("./client_osaka"); + + jLabel29.setText("Type:"); + + jLabel30.setText("User GENI directory:"); + + org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jLabel29) + .add(jLabel1)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jComboBox1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 66, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 212, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(61, 61, 61) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel30) + .add(jTextField24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 173, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(39, 39, 39)) + ); + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1Layout.createSequentialGroup() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel1) + .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel30)) + .add(8, 8, 8) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jComboBox1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel29)) + .addContainerGap()) + ); + + jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("GENI Parameters")); + jLabel2.setText("HRN:"); + + jTextField2.setText("planetlab.jp.osaka.tokyobranch"); + + jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "-", "user", "slice", "node", "SA", "MA" })); + jComboBox2.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jComboBox2ItemStateChanged(evt); + } + }); + + jToggleButton6.setText("register"); + jToggleButton6.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jToggleButton6MouseReleased(evt); + } + }); + + jToggleButton7.setText("remove"); + jToggleButton7.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jToggleButton7MouseReleased(evt); + } + }); + + jToggleButton8.setText("update"); + jToggleButton8.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jToggleButton8MouseReleased(evt); + } + }); + + jToggleButton9.setText("lookup"); + jToggleButton9.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jToggleButton9MouseReleased(evt); + } + }); + + org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel3Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel3Layout.createSequentialGroup() + .add(jToggleButton6) + .addContainerGap()) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup() + .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, jToggleButton9, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 82, Short.MAX_VALUE) + .add(org.jdesktop.layout.GroupLayout.LEADING, jToggleButton7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 82, Short.MAX_VALUE)) + .add(106, 106, 106)) + .add(jPanel3Layout.createSequentialGroup() + .add(jToggleButton8, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 82, Short.MAX_VALUE) + .add(106, 106, 106)))) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel3Layout.createSequentialGroup() + .add(jToggleButton6) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jToggleButton7) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jToggleButton8) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jToggleButton9) + .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + jLabel28.setText("Type:"); + + jLabel31.setText("Public Key:"); + + org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4); + jPanel4.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel4Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) + .add(jPanel4Layout.createSequentialGroup() + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jLabel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 38, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel28, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 38, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 271, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jComboBox2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 66, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(jPanel4Layout.createSequentialGroup() + .add(jLabel31) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jTextField20))) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(106, 106, 106)) + ); + jPanel4Layout.setVerticalGroup( + jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel4Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel2) + .add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jComboBox2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel28)) + .add(17, 17, 17) + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel31) + .add(jTextField20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + ); + + jButton1.setText("Send"); + jButton1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton1MouseReleased(evt); + } + }); + + jInternalFrame1.setVisible(true); + jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("PL parameters for SA/MA")); + jLabel7.setText("Name:"); + + jLabel8.setText("Abbreviated Name:"); + + jLabel9.setText("URL:"); + + jLabel10.setText("Login Base:"); + + jLabel11.setText("Longitude:"); + + jLabel12.setText("Latitude:"); + + jLabel13.setText("Public:"); + + jLabel14.setText("Max Slices:"); + + jLabel15.setText("Max Slivers:"); + + jLabel16.setText("Enabled:"); + + jTextField6.setText("newname"); + + jTextField7.setText("abbname2"); + + jTextField8.setText("rand.com"); + + jTextField9.setText("my_loginbase4"); + + jTextField10.setText("44.4"); + + jTextField11.setText("66.6"); + + jTextField12.setText("10"); + + jComboBox4.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Yes", "No" })); + + jTextField21.setText("300"); + + jComboBox5.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Yes", "No" })); + + org.jdesktop.layout.GroupLayout jPanel6Layout = new org.jdesktop.layout.GroupLayout(jPanel6); + jPanel6.setLayout(jPanel6Layout); + jPanel6Layout.setHorizontalGroup( + jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel6Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel11) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 63, Short.MAX_VALUE) + .add(jTextField10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel10) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 58, Short.MAX_VALUE) + .add(jTextField9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel9) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 102, Short.MAX_VALUE) + .add(jTextField8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel8) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jTextField7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel7) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 91, Short.MAX_VALUE) + .add(jTextField6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel6Layout.createSequentialGroup() + .add(jLabel12) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 75, Short.MAX_VALUE) + .add(jTextField11, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jPanel6Layout.createSequentialGroup() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel15) + .add(jLabel16)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 56, Short.MAX_VALUE) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jComboBox5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField21, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(jPanel6Layout.createSequentialGroup() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel14) + .add(jLabel13)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 62, Short.MAX_VALUE) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jComboBox4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField12, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(36, Short.MAX_VALUE)) + ); + jPanel6Layout.setVerticalGroup( + jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel6Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel6Layout.createSequentialGroup() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel7) + .add(jTextField6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel8) + .add(jTextField7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel9) + .add(jTextField8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel10) + .add(jTextField9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel11) + .add(jTextField10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel12) + .add(jTextField11, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) + .add(jPanel6Layout.createSequentialGroup() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel13) + .add(jComboBox4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel14) + .add(jTextField12, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel15) + .add(jTextField21, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel16) + .add(jComboBox5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(150, 150, 150)))) + ); + + jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("PL Parameters for slice")); + jLabel6.setText("Instantiation:"); + + jLabel25.setText("URL:"); + + jLabel26.setText("Description:"); + + jLabel27.setText("Max Nodes:"); + + jComboBox3.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "plc-instantiated", "delegated" })); + + jTextArea1.setColumns(20); + jTextArea1.setRows(5); + jScrollPane1.setViewportView(jTextArea1); + + jTextField23.setText("10"); + + org.jdesktop.layout.GroupLayout jPanel7Layout = new org.jdesktop.layout.GroupLayout(jPanel7); + jPanel7.setLayout(jPanel7Layout); + jPanel7Layout.setHorizontalGroup( + jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel7Layout.createSequentialGroup() + .add(25, 25, 25) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel25) + .add(jLabel6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel26) + .add(jLabel27)) + .add(43, 43, 43) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jComboBox3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false) + .add(org.jdesktop.layout.GroupLayout.LEADING, jTextField22) + .add(org.jdesktop.layout.GroupLayout.LEADING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 235, Short.MAX_VALUE)) + .add(jTextField23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 56, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(191, Short.MAX_VALUE)) + ); + jPanel7Layout.setVerticalGroup( + jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel7Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel6) + .add(jComboBox3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel25) + .add(jTextField22, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel7Layout.createSequentialGroup() + .add(7, 7, 7) + .add(jLabel26)) + .add(jPanel7Layout.createSequentialGroup() + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 58, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(16, 16, 16) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel27) + .add(jTextField23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(18, Short.MAX_VALUE)) + ); + + jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("PL Parameters for node")); + jTextField3.setText("boot"); + + jLabel3.setText("Bootstate:"); + + jLabel4.setText("Version:"); + + jLabel5.setText("Model:"); + + jTextField4.setText("PlanetLab BootCD 3.1"); + + jTextField5.setText("Dell OptiPlex GX280"); + + jLabel32.setText("Hostname:"); + + org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2); + jPanel2.setLayout(jPanel2Layout); + jPanel2Layout.setHorizontalGroup( + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) + .add(jPanel2Layout.createSequentialGroup() + .add(jLabel3) + .add(23, 23, 23) + .add(jTextField3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 161, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel2Layout.createSequentialGroup() + .add(jLabel32) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jTextField25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 161, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel5) + .add(jLabel4)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jTextField4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 161, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 161, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(102, Short.MAX_VALUE)) + ); + jPanel2Layout.setVerticalGroup( + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(30, 30, 30) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel4) + .add(jTextField4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel32) + .add(jTextField25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jLabel3)) + .add(jPanel2Layout.createSequentialGroup() + .add(55, 55, 55) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel5) + .add(jTextField5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(24, Short.MAX_VALUE)) + ); + + jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("PL Parameters for user")); + jLabel17.setText("First name:"); + + jLabel18.setText("Last name:"); + + jLabel19.setText("Title:"); + + jLabel20.setText("Email:"); + + jLabel21.setText("Password:"); + + jLabel22.setText("Phone:"); + + jLabel23.setText("URL:"); + + jLabel24.setText("Bio:"); + + jTextArea2.setColumns(20); + jTextArea2.setRows(5); + jScrollPane2.setViewportView(jTextArea2); + + org.jdesktop.layout.GroupLayout jPanel5Layout = new org.jdesktop.layout.GroupLayout(jPanel5); + jPanel5.setLayout(jPanel5Layout); + jPanel5Layout.setHorizontalGroup( + jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel5Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel17) + .add(jLabel18) + .add(jLabel19) + .add(jLabel20)) + .add(28, 28, 28) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jTextField16, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField13, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(22, 22, 22) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel24) + .add(jLabel23) + .add(jLabel22) + .add(jLabel21)) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jPanel5Layout.createSequentialGroup() + .add(21, 21, 21) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jTextField18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField17, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(59, Short.MAX_VALUE)) + .add(jPanel5Layout.createSequentialGroup() + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 202, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addContainerGap()))) + ); + jPanel5Layout.setVerticalGroup( + jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel5Layout.createSequentialGroup() + .add(19, 19, 19) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel17) + .add(jTextField13, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel21) + .add(jTextField17, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel18) + .add(jTextField14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel22) + .add(jTextField18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel19) + .add(jTextField15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel23) + .add(jTextField19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel20) + .add(jTextField16, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel24)) + .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE)) + .addContainerGap()) + ); + + org.jdesktop.layout.GroupLayout jInternalFrame1Layout = new org.jdesktop.layout.GroupLayout(jInternalFrame1.getContentPane()); + jInternalFrame1.getContentPane().setLayout(jInternalFrame1Layout); + jInternalFrame1Layout.setHorizontalGroup( + jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jInternalFrame1Layout.createSequentialGroup() + .add(jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap()) + ); + jInternalFrame1Layout.setVerticalGroup( + jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jInternalFrame1Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 207, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(19, 19, 19) + .add(jPanel5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(22, 22, 22) + .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addContainerGap(55, Short.MAX_VALUE)) + ); + + jLabel33.setFocusTraversalPolicyProvider(true); + jLabel33.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + + org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 604, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(layout.createSequentialGroup() + .add(153, 153, 153) + .add(jButton1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 277, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(198, 198, 198)) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(jInternalFrame1)) + .add(layout.createSequentialGroup() + .add(53, 53, 53) + .add(jLabel33, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 501, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(22, 22, 22) + .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 92, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jButton1) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jLabel33, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 33, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jInternalFrame1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(794, 794, 794)) + ); + pack(); + }// //GEN-END:initComponents + + private void jButton1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseReleased +// TODO add your handling code here: + String operation = ""; + if (jToggleButton6.isSelected()) + operation = "register"; + else if (jToggleButton7.isSelected()) + operation = "remove"; + else if (jToggleButton8.isSelected()) + operation = "update"; + else + operation = "lookup"; + + //user data + String user_hrn = jTextField1.getText(); + String user_type = (String) jComboBox1.getSelectedItem(); + + //call data + String hrn = jTextField2.getText(); + String type = (String) jComboBox2.getSelectedItem(); + String pubkey = jTextField20.getText(); + + String gparams = ""; + String pparams = ""; + + if (type == "SA" || type == "MA"){ + String name = jTextField6.getText(); + String abbreviated_name = jTextField7.getText(); + String url = jTextField8.getText(); + String login_base = jTextField9.getText(); + String longitude = jTextField10.getText(); + String latitude = jTextField11.getText(); + String max_slices = jTextField12.getText(); + String max_slivers = jTextField21.getText(); + String is_public = ""; + String enabled = ""; + + + if ((String) jComboBox4.getSelectedItem() == "Yes") + is_public = "True"; + else + is_public = "False"; + if ((String) jComboBox5.getSelectedItem() == "Yes") + enabled = "True"; + else + enabled = "False"; + + if (pubkey == "") + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"'}"; + else + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"', 'pubkey':'"+pubkey+"'}"; + pparams = "{'name':'"+name+"', 'url':'"+url+"', 'login_base':'"+login_base+ + "', 'longitude':"+longitude+", 'latitude':"+latitude+", 'is_public':"+ + is_public+", 'abbreviated_name':'"+abbreviated_name+"', 'max_slices':"+max_slices+", 'max_slivers':"+ + max_slivers+", 'enabled':"+enabled+"}"; + } + else if (type == "slice"){ + String instantiation = (String) jComboBox3.getSelectedItem(); + String url = jTextField22.getText(); + String description = jTextArea1.getText(); + String max_nodes = jTextField23.getText(); + + if (pubkey == "") + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"'}"; + else + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"', 'pubkey':'"+pubkey+"'}"; + pparams = "{'instantiation':'"+instantiation+"', 'url':'"+url+"', 'description':'"+description+ + "', 'max_nodes':"+max_nodes+"}"; + + } + else if (type == "user"){ + String first_name = jTextField13.getText(); + String last_name = jTextField14.getText(); + String title = jTextField15.getText(); + String email = jTextField16.getText(); + String password = jTextField17.getText(); + String phone = jTextField18.getText(); + String url = jTextField19.getText(); + String bio = jTextArea2.getText(); + + if (pubkey.length() == 0) + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"'}"; + else + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"', 'pubkey':'"+pubkey+"'}"; + + pparams = "{'first_name':'"+first_name+"', 'last_name':'"+last_name+"', 'title':'"+title+ + "', 'email':'"+email+"', 'password':'"+password+"', 'phone':'"+phone+"', 'url':'"+url+ + "', 'bio':'"+bio+"'}"; + + } + else if (type == "node"){ + String hostname = jTextField25.getText(); + String boot_state = jTextField3.getText(); + String version = jTextField4.getText(); + String model = jTextField5.getText(); + + if (pubkey == "") + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"'}"; + else + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"', 'pubkey':'"+pubkey+"'}"; + + pparams = "{'hostname':'"+hostname+"', 'boot_state':'"+boot_state+"', 'version':'"+version+ + "', 'model':'"+model+"'}"; + } + + String message = "{'opname':'"+operation+"', 'g_params':"+gparams+", 'p_params':"+pparams+"}"; + + //do the call to the python client + String curdir = System.getProperty("user.dir"); + String client_folder = jTextField24.getText(); + String result = ""; + + try{ + //cd to the client folder + outCommand.write("cd "+client_folder+"\n"); + outCommand.flush(); + + FileWriter fstream = new FileWriter(client_folder+"/tmp_input.txt"); + BufferedWriter out = new BufferedWriter(fstream); + out.write(user_hrn+" "+user_type+"\n"); + out.write(message); + //Close the output stream + out.close(); + outCommand.write("./clientstub.py\n"); + outCommand.flush(); + + //get the result of the call from the python client + File file = new File(client_folder+"/tmp_output.txt"); + int i = 0; + while(!file.exists() && i<5){ + i++; + try { + Thread.currentThread().sleep(200); + } catch (InterruptedException ex) { + ex.printStackTrace(); + result = "Problem occured in client stub.\n"; + jLabel33.setText(result); + return; + } + } + + try { + Thread.currentThread().sleep(200); + } catch (InterruptedException ex) { + ex.printStackTrace(); + result = "Problem occured in client stub.\n"; + jLabel33.setText(result); + return; + } + + BufferedReader in = new BufferedReader(new FileReader(client_folder+"/tmp_output.txt")); + result = in.readLine(); + in.close(); + + outCommand.write("rm tmp_input.txt tmp_output.txt\n"); + outCommand.write("cd "+curdir+"\n"); + outCommand.flush(); + }catch (Exception e){//Catch exception if any + System.err.println("Error: " + e.getMessage()); + result = "Problem occured in client stub.\n"; + jLabel33.setText(result); + return; + } + + if (operation == "lookup"){ + + + + //node fields +// {'pl': {'node_id': 10756, +// 'last_updated': 1206716001L, +// 'boot_state': u'boot', +// 'site_id': 10145, +// 'pcu_ids': [], +// 'session': None, +// 'key': None, +// 'conf_file_ids': [], +// 'ssh_rsa_key': None, +// 'uuid': u'154709652654203573378094948211939942919', +// 'nodegroup_ids': [], +// 'slice_ids_whitelist': [], +// 'last_contact': None, +// 'nodenetwork_ids': [], +// 'peer_node_id': None, +// 'hostname': u'tttyeni.com', +// 'slice_ids': [], +// 'boot_nonce': None, +// 'version': u'PlanetLab BootCD 3.1', +// 'date_created': 1206716001L, +// 'model': u'Dell OptiPlex GX280', +// 'peer_id': None, +// 'ports': []}, +// +// 'geni': {'description': None, +// 'rights': None, +// 'pubkey': None, +// 'wrapperurl': None, +// 'disabled': None, +// 'userlist': None, +// 'hrn': 'mynewnode', +// 'type': 'node', +// 'pointer': 10756, +// 'uuid': None}} + +//user fields +// {'pl': {'bio': None, +// 'last_name': u'Okawa', +// 'last_updated': 1170811781L, +// 'key_ids': [], +// 'phone': u'+81-466-49-3529', +// 'peer_person_id': None, +// 'role_ids': [20], +// 'site_ids': [10145], +// 'first_name': u'Keiko', +// 'uuid': u'53584984475370335298592451262408000792', +// 'roles': [u'pi'], +// 'title': u'Professor', +// 'url': None, +// 'enabled': True, +// 'slice_ids': [], +// 'person_id': 12397, +// 'date_created': 1170811781L, +// 'peer_id': None, +// 'email': u'keiko@sfc.wide.ad.jp'}, +// +// 'geni': {'description': None, +// 'rights': None, +// 'pubkey': '-----BEGIN RSA PRIVATE KEY-----\nMIGMAgEAAoGBAJccs4vXVSA5slLmlvx+2DPuSy2W0IP5RrUNIcp/wzVqdG9xWdLW\ns5nSv8g926tbFGvLcQqtoErAc7+oANxNWCO9cGJr/MUzjqOYWZQU92qXYdlCpbuL\n7lAVWkiJt8IYlRHe7BpCSSCaFgt7cUfv3fbuhmIDkT/7G/Ktl5NsvQgfAgMBAAE=\n-----END RSA PRIVATE KEY-----\n', +// 'wrapperurl': 'local', +// 'disabled': None, +// 'userlist': None, +// 'hrn': 'keiko', +// 'type': 'user', +// 'pointer': 12397, +// 'uuid': None}} +// + + +//slice fields +// {'pl': {'description': u'', +// 'node_ids': [], +// 'expires': 1207943671L, +// 'site_id': 10145, +// 'uuid': u'166270525633143177647274842267687147563', +// 'creator_person_id': 12974, +// 'instantiation': u'plc-instantiated', +// 'name': u'keio_keikoslc', +// 'slice_id': 15390, +// 'created': 1206734071L, +// 'url': u'', +// 'max_nodes': 10, +// 'person_ids': [], +// 'slice_attribute_ids': [], +// 'peer_slice_id': None, +// 'peer_id': None}, +// 'geni': {'description': None, +// 'rights': None, +// 'pubkey': None, +// 'wrapperurl': None, +// 'disabled': None, +// 'userlist': None, +// 'hrn': 'keikoslc', +// 'type': 'slice', +// 'pointer': 15390, +// 'uuid': None}} + +//site fields +// {'pl': {'last_updated': 1206743152L, +// 'node_ids': [], +// 'site_id': 10240, +// 'pcu_ids': [], +// 'max_slices': 10, +// 'ext_consortium_id': None, +// 'max_slivers': 300, +// 'is_public': True, +// 'peer_site_id': None, +// 'abbreviated_name': u'abbname2my', +// 'name': u'newnamere', +// 'address_ids': [], +// 'uuid': u'215768548793207591574508192043308034894', +// 'url': u'rand.com', +// 'person_ids': [], +// 'enabled': True, +// 'longitude': 44.399999999999999, +// 'slice_ids': [], +// 'login_base': u'tokyologinb', +// 'latitude': 66.599999999999994, +// 'date_created': 1206743152L, +// 'peer_id': None}, +// 'geni': {'description': None, +// 'rights': '(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)#0:reg:slc:planetlab.jp.osaka#1:reg:slc:planetlab.jp.osaka.tokyobranch2', +// 'pubkey': '-----BEGIN RSA PRIVATE KEY-----\nMIGMAgEAAoGBANsAFcsPHdx1cEyChNljSHDp16vp9GjJBhOhD5/1jiaD8qfQgbcx\nIlMDGOROKJqeNCIk5yuuv46O4obai6MXCfGPnLCvBL7IeI95tImJt0NFg19wHe+I\nwDOabHRJCfSXYViuBDBJUuuMITLmK2cBIlY/lkPKYROXq9FMtht9dekzAgMBAAE=\n-----END RSA PRIVATE KEY-----\n', +// 'wrapperurl': 'local', +// 'disabled': None, +// 'userlist': None, +// 'hrn': 'tokyobranchty', +// 'type': 'SA', +// 'pointer': 10242, +// 'uuid': None}} +// + + + + } + + jLabel33.setText(result); + + }//GEN-LAST:event_jButton1MouseReleased + + private void jComboBox2ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jComboBox2ItemStateChanged +// TODO add your handling code here: + + int selected = jComboBox2.getSelectedIndex(); + if (selected == 1){ + jPanel5.setVisible(true); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + jPanel2.setVisible(false); + } + else if (selected == 2){ + jPanel7.setVisible(true); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + jPanel2.setVisible(false); + } + else if (selected == 3){ + jPanel2.setVisible(true); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + } + else if (selected == 4 || selected == 5){ + jPanel6.setVisible(true); + jPanel5.setVisible(false); + jPanel7.setVisible(false); + jPanel2.setVisible(false); + } + }//GEN-LAST:event_jComboBox2ItemStateChanged + + private void jToggleButton9MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jToggleButton9MouseReleased +// TODO add your handling code here: + jToggleButton6.setSelected(false); + jToggleButton7.setSelected(false); + jToggleButton8.setSelected(false); + if (!jToggleButton9.isSelected()) + jToggleButton9.setSelected(true); + + jLabel31.setVisible(false); + jTextField20.setVisible(false); + }//GEN-LAST:event_jToggleButton9MouseReleased + + private void jToggleButton8MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jToggleButton8MouseReleased +// TODO add your handling code here: + jToggleButton6.setSelected(false); + jToggleButton7.setSelected(false); + jToggleButton9.setSelected(false); + if (!jToggleButton8.isSelected()) + jToggleButton8.setSelected(true); + + jLabel31.setVisible(true); + jTextField20.setVisible(true); + + }//GEN-LAST:event_jToggleButton8MouseReleased + + private void jToggleButton7MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jToggleButton7MouseReleased +// TODO add your handling code here: + jToggleButton6.setSelected(false); + jToggleButton8.setSelected(false); + jToggleButton9.setSelected(false); + if (!jToggleButton7.isSelected()) + jToggleButton7.setSelected(true); + + jLabel31.setVisible(false); + jTextField20.setVisible(false); + }//GEN-LAST:event_jToggleButton7MouseReleased + + private void jToggleButton6MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jToggleButton6MouseReleased +// TODO add your handling code here: + jToggleButton7.setSelected(false); + jToggleButton8.setSelected(false); + jToggleButton9.setSelected(false); + if (!jToggleButton6.isSelected()) + jToggleButton6.setSelected(true); + + jLabel31.setVisible(true); + jTextField20.setVisible(true); + + }//GEN-LAST:event_jToggleButton6MouseReleased + + private void jPanel1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel1MouseReleased +// TODO add your handling code here: + + }//GEN-LAST:event_jPanel1MouseReleased + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new NewJFrame().setVisible(true); + } + }); + } + + //global for communicating the shell + private BufferedWriter outCommand = null; + private Runtime rtime = null; + private Process child = null; + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jButton1; + private javax.swing.JComboBox jComboBox1; + private javax.swing.JComboBox jComboBox2; + private javax.swing.JComboBox jComboBox3; + private javax.swing.JComboBox jComboBox4; + private javax.swing.JComboBox jComboBox5; + private javax.swing.JInternalFrame jInternalFrame1; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel10; + private javax.swing.JLabel jLabel11; + private javax.swing.JLabel jLabel12; + private javax.swing.JLabel jLabel13; + private javax.swing.JLabel jLabel14; + private javax.swing.JLabel jLabel15; + private javax.swing.JLabel jLabel16; + private javax.swing.JLabel jLabel17; + private javax.swing.JLabel jLabel18; + private javax.swing.JLabel jLabel19; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel20; + private javax.swing.JLabel jLabel21; + private javax.swing.JLabel jLabel22; + private javax.swing.JLabel jLabel23; + private javax.swing.JLabel jLabel24; + private javax.swing.JLabel jLabel25; + private javax.swing.JLabel jLabel26; + private javax.swing.JLabel jLabel27; + private javax.swing.JLabel jLabel28; + private javax.swing.JLabel jLabel29; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel30; + private javax.swing.JLabel jLabel31; + private javax.swing.JLabel jLabel32; + private javax.swing.JLabel jLabel33; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel5; + private javax.swing.JLabel jLabel6; + private javax.swing.JLabel jLabel7; + private javax.swing.JLabel jLabel8; + private javax.swing.JLabel jLabel9; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel4; + private javax.swing.JPanel jPanel5; + private javax.swing.JPanel jPanel6; + private javax.swing.JPanel jPanel7; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JTextArea jTextArea1; + private javax.swing.JTextArea jTextArea2; + private javax.swing.JTextField jTextField1; + private javax.swing.JTextField jTextField10; + private javax.swing.JTextField jTextField11; + private javax.swing.JTextField jTextField12; + private javax.swing.JTextField jTextField13; + private javax.swing.JTextField jTextField14; + private javax.swing.JTextField jTextField15; + private javax.swing.JTextField jTextField16; + private javax.swing.JTextField jTextField17; + private javax.swing.JTextField jTextField18; + private javax.swing.JTextField jTextField19; + private javax.swing.JTextField jTextField2; + private javax.swing.JTextField jTextField20; + private javax.swing.JTextField jTextField21; + private javax.swing.JTextField jTextField22; + private javax.swing.JTextField jTextField23; + private javax.swing.JTextField jTextField24; + private javax.swing.JTextField jTextField25; + private javax.swing.JTextField jTextField3; + private javax.swing.JTextField jTextField4; + private javax.swing.JTextField jTextField5; + private javax.swing.JTextField jTextField6; + private javax.swing.JTextField jTextField7; + private javax.swing.JTextField jTextField8; + private javax.swing.JTextField jTextField9; + private javax.swing.JToggleButton jToggleButton6; + private javax.swing.JToggleButton jToggleButton7; + private javax.swing.JToggleButton jToggleButton8; + private javax.swing.JToggleButton jToggleButton9; + // End of variables declaration//GEN-END:variables + +} diff --git a/server/component/planetlab/acc_file b/server/component/planetlab/acc_file new file mode 100644 index 00000000..46d4ddfd --- /dev/null +++ b/server/component/planetlab/acc_file @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTA4MDcyMTIxMzE0NVowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52Qb +JtucIQUEYZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5 +vxvHG/ba6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5 +amLZcMPmu/G64ieWI8QMUxYgCE1ut3bI1QIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjI0MzUxNTc1NTgwMDAzMjMz +OTE1MDMwNzc4Njg0Nzc1MzE3NDMwDQYJKoZIhvcNAQEEBQADgYEAOUYu4V5PBKiW +PlUyLlNTrRRMvF7drxEG1T4BFHhQ9Nn2zWkT9Kbo1PmJBFTGoqHw+E+zJ5bUSirm +iLByRm5WV/bJSwY6WGuupq0vrDrqKQJLwQO/C3Y9frAYiHEgOeRN3TV3nKmDrTQ6 +lNrOd7q0H1mNFEOOh60oKBgOFOb3SC0= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/buaa/buaa.cert b/server/component/planetlab/buaa/buaa.cert new file mode 100644 index 00000000..334ffa95 --- /dev/null +++ b/server/component/planetlab/buaa/buaa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRidWFhMB4XDTA4 +MDMyODAzNDUxNloXDTEzMDMyNzAzNDUxNlowDzENMAsGA1UEAxMEYnVhYTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyZeOXa7mEE4qpqe2G+fdsVsVzMFMR3hG +Jhq5Q7NUD68DMVrSy42Z/ZbfVr4x4FeU3AYkYYB59J7kWRSgJS1baPmsWjexta73 +DbjRbOb8R+zsNMXq3GJ7t8QpjkVvQOgO41qO18Hv4o4buOqBPNLDTIf2g08wv++r +EPITtsEaWOkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAwx9cw840gTPhxs6wQj7TQ +SZ61sDE4hn1fPzy+7CuwclgIHaapaZVoMyki4l4GiU0GC4gXQL8I4+dyj6ymEjiw +jvWNA6kC+MuZAYgemDEdse8hbl7bPUY/RR/I4MjNC9tsqRMRJOVFLYP57jTFF+aG +yM/0kkQ9I0/IlVncRV7g8Q== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/buaa/buaa.pkey b/server/component/planetlab/buaa/buaa.pkey new file mode 100644 index 00000000..25350e22 --- /dev/null +++ b/server/component/planetlab/buaa/buaa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDJl45druYQTiqmp7Yb592xWxXMwUxHeEYmGrlDs1QPrwMxWtLL +jZn9lt9WvjHgV5TcBiRhgHn0nuRZFKAlLVto+axaN7G1rvcNuNFs5vxH7Ow0xerc +Ynu3xCmORW9A6A7jWo7Xwe/ijhu46oE80sNMh/aDTzC/76sQ8hO2wRpY6QIDAQAB +AoGAb+udlbOBdTIAie/4sfuD4HCCZOA4WkGTKJqTmtuX4vE2Y5NaDrq58Mlvi3gi +trvJIHKkhiFPFBmXC0HhO2K4KUza2faGlxr1Haz1gfBnibVmQFHm5EzfY7TPAmmB +vuktBSGUXYexrOallF3G1VDsZpVC0rkeEx0IAsV3q0RfclUCQQD/nrITIEdRbhWT +ljYOSzwWCtOkcTxWHJqCKX//nuaPU82YkRypfjoembeSWe9LLF1QAyT5ep7vz3m9 +CBLTaXJXAkEAyeRLUrLIobYFxfxJQor3o8zfMPk/UiX+OKFkxmoR0H0f/26OpkWC +v8w5/NOagPTuGF7u1LBr0zxFmhPRYUAGvwJAEfYXsypYeItQrs8mOzjkHvRhzLM8 +NxzJao359X832ihcUPUZW3uIH/BTKtBw9QpIAEBIT9Ni6Zzdg//WOs60/wJAFJTS +XO7e5yVgN0u9yCvUjP1Ar4RpQR2gafOCC3wars9iqK6Dmk2xw421R6HmuUi+0Ps0 +i7gkdddKHSfyC2D0jwJAZbQwq9JS/yEzqB1jyUXnr13h3k3YSNWriZS4zHGJRvkM +zRzRqORiUALCrvsCAArbmhj+oUBf85Uilehmoq47eA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canarie/canarie.cert b/server/component/planetlab/canarie/canarie.cert new file mode 100644 index 00000000..7c2656dc --- /dev/null +++ b/server/component/planetlab/canarie/canarie.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdjYW5hcmllMB4X +DTA4MDMyODAzNDUxNFoXDTEzMDMyNzAzNDUxNFowEjEQMA4GA1UEAxMHY2FuYXJp +ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3jYKDL4WmomA+pE0h93I7HYP +pF1FVVnBMOHMh96QEF+42x3jJONsp0ygkfH5fKG4t22m2y5yrsPWzovH0xYF2veT +AlUkUTLEIAPrubKA3a0unvOj0a7hzboLKvC56SxGQzjfnKTM2n30hbrDdkdEQSXp +jCdIpx+qpp8Gd69xagcCAwEAATANBgkqhkiG9w0BAQQFAAOBgQDI/aczA6wxKreP +lP4uFL33dAK0OnxYGywJ16RaWrtOz5G8Na8OA3pWJGpHcRIILWPre0IaP/Z6VHh9 +O8bkQXVPwh44XslwP6XQA6kSnNE23QYSTnTxJd6fdVzEY8GwFTYvaJUFyLPaEcOV +LhW3TKJ/5QMwOSdM++U+hEznrYSUtw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canarie/canarie.pkey b/server/component/planetlab/canarie/canarie.pkey new file mode 100644 index 00000000..ea158974 --- /dev/null +++ b/server/component/planetlab/canarie/canarie.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDeNgoMvhaaiYD6kTSH3cjsdg+kXUVVWcEw4cyH3pAQX7jbHeMk +42ynTKCR8fl8obi3babbLnKuw9bOi8fTFgXa95MCVSRRMsQgA+u5soDdrS6e86PR +ruHNugsq8LnpLEZDON+cpMzaffSFusN2R0RBJemMJ0inH6qmnwZ3r3FqBwIDAQAB +AoGAWQ39PxgbhPmgmEsDa4QmFyZFpJDAzbD37PhBeR5oTDegpSg4NTtz+ySJoZQB +ccJ6fgDTAzp9Oa9A8mwwvFcyJs0ljXhBogN+UPS286dI1QvCn7spQJXCR1gORHns +xTtFI1McpSbxPTLEn3MzsN/RcWJxqqC8R6pyibrdFGDnsvkCQQDzPzNVO2gP6Qqw +s1zvF/ZP7xRi/To7LGAqoHg8OBa9+I0Nl6mL/zPdGIWoLmntXBsuLMr03TctNc9S +O93ycGXTAkEA6dyAabhecpJeIipVRoTnM9jTF9lThEAYSDhZwPsKo+1KU/HucSKG +VkxKijkTm4xrScQX5BNhdMxslAXg12hGfQJBAK51ub97qBshLYWmXxUsvoB+HMUS +kd026pIoHZQzNjxyM9h32iaKlwwQNmx1PYv775Kilb4hmx1V5qg4P+tOKfkCQDHW +CY99+LKVunWxa8bBX7vOwv1cFM4kEoihaY8UcGoKkUJeVh/J6bLOQzw9eY42WE65 ++RVjg+st/R12OznsQMkCQQDHHITsut3W932XWKqkWjPL0Uj8biv+pthkmF9vGWR+ +eNxhrq6U5F827ntcdRuswl4BhqSyPf7DxrwGvnAJsQ2O +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canariecalgary/canariecalgary.cert b/server/component/planetlab/canariecalgary/canariecalgary.cert new file mode 100644 index 00000000..4114752a --- /dev/null +++ b/server/component/planetlab/canariecalgary/canariecalgary.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZWNh +bGdhcnkwHhcNMDgwMzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjAZMRcwFQYDVQQD +Ew5jYW5hcmllY2FsZ2FyeTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtc25 +kbCfHxwMP1+meY6oEycqt0BtqprPFNIO7gd1V/cybAuDNpcE/kBSDtqbsaSsu0AB +LkuWznYpM4VSytbeNLpJfIocRKG7zBFt302VJAVXJGZqiZA0Pz2h8JkVIaPCN2wx +L66bPjql5gqfEe3DsNXKJzU8LpvQbyOdg1nkJTMCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQB39RMq1VSypgxAwtPGw49fnJpe0IdxWFTN9lL5qb2mOh0/sjGYtmXtcQgx +XmpbIAgrPWvz5PuLL/9LEBrRv9ZcmRFQJ55Cgfcrlogz2SK9aAXHH7rb6xHDC9Zh +wArfmkCUjGXvj6iUnW995x6NIETWRszWgILZmwkA7pg0N/07uQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canariecalgary/canariecalgary.pkey b/server/component/planetlab/canariecalgary/canariecalgary.pkey new file mode 100644 index 00000000..a8b9ae07 --- /dev/null +++ b/server/component/planetlab/canariecalgary/canariecalgary.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC1zbmRsJ8fHAw/X6Z5jqgTJyq3QG2qms8U0g7uB3VX9zJsC4M2 +lwT+QFIO2puxpKy7QAEuS5bOdikzhVLK1t40ukl8ihxEobvMEW3fTZUkBVckZmqJ +kDQ/PaHwmRUho8I3bDEvrps+OqXmCp8R7cOw1conNTwum9BvI52DWeQlMwIDAQAB +AoGALg99IGg7KEqW38eACfQWqSOXMu5j2oF2TbQajDvfgvXiFHWmPMJuRWxOXe0M +3Sj3iklhAzWrc4uETMVOgI2Hpi7ZN8GGSk+v2Khko0/3eJLW8tJpJSYVsV6SaSQ2 +cETEaiZBSX6XPiQ1VX7OClLwXm1CuXXxl+8gaMuSqof0rIECQQDfpT/dZAjcsW1Y +ZzirX20+muBjsCiktpwUt22PX5cDGfxYshIaIQTwiw3fOohNsrV13bH7+MU68Y4B +yTdkKRnxAkEA0Bragy7Uv0WR2FXXl39nTqrpBg8PliedDNvWn+L8fHH56NQKpgrl +DdwJQhha/HiR1DgWXK11VOamuqkYDavtYwJAb8zyQkCR1ZG08e6X+8O2nwdZiTw0 +9TJ8kDaqRHQqz9gbuFM8jWdYSs+Y3bErFnxyDjwHj8jq/+5laSsnz6BkYQJAWCbX +4vPGeNNOaVZLgcgdCazKEp/0mUVkeFrzOj0beNeK5f5UGGvLBSjs3wuUFxg3pa6w +gkeTyQf/HliccMYgQwJAWcaQ4Cwo2R2zbbDykHrB3I4Zws34V8xdNvNwdQfxMUid +DA4sn24t2AT/jdW2lIfL+zMlVBWv7TVJ/cipbBnBuw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canariehalifax/canariehalifax.cert b/server/component/planetlab/canariehalifax/canariehalifax.cert new file mode 100644 index 00000000..8829e229 --- /dev/null +++ b/server/component/planetlab/canariehalifax/canariehalifax.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZWhh +bGlmYXgwHhcNMDgwMzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjAZMRcwFQYDVQQD +Ew5jYW5hcmllaGFsaWZheDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvtI1 +dPD0GphqXPqDL2+qnzcgQdr3ofOxGSiCG1/32qnJg66DkoaZL39b+ZVbUh3TXCZA +azv60Odc6OznsnBn5Q+Y0GTFuX8857w2ITNivVZzWxsb88pPKZyuFb8HC0zz7ZNt +ElsWPIdT1ydzYEhkrap9nPilr0VjiLTqNnZehqcCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBddA64IXn/bTO+jpcqUKcs4trnqZ+a16yDwZovT2YDUow3av8vW8YfbHSK +HD6KSO1EO/eylukNYgFlOZcIR+daKzWcvygOurObFyEvvhN4XVBsrQc7S5MKIv3X +NLTc+zG8LAEc/SMCo2DoWNDpmgp2v1qwxvOTReuGyKEFw8Wgaw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canariehalifax/canariehalifax.pkey b/server/component/planetlab/canariehalifax/canariehalifax.pkey new file mode 100644 index 00000000..138772a5 --- /dev/null +++ b/server/component/planetlab/canariehalifax/canariehalifax.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC+0jV08PQamGpc+oMvb6qfNyBB2veh87EZKIIbX/faqcmDroOS +hpkvf1v5lVtSHdNcJkBrO/rQ51zo7OeycGflD5jQZMW5fzznvDYhM2K9VnNbGxvz +yk8pnK4VvwcLTPPtk20SWxY8h1PXJ3NgSGStqn2c+KWvRWOItOo2dl6GpwIDAQAB +AoGBAJFgQrux6rbsUXQ+on0cPMgJznh9otVufAjntJ+4cHLVkaHR7YlPJBtskxzF +bgpUkLcOqVtJGd/XtA/8lNR8EJnAVBZf1DD79DOZXtqm7BYMAli7eC8u9NAU0XI+ +bs7WfSYLm4/xJixtydqVW3L02mIGwJm2yyfTOlO/flFTDG2xAkEA5WHemxVr1/1o +CrZBMSICXYT4cZlVBeUuDtfbc2p0I+leuDHh1jjpT36PcB3hPR4eJn9Y5vlanIim +7S4dP6eQKQJBANT20wELh2QQd/K/OPPwVwKrxzl1hZIxOoOJ3ecCUHgOzkmGsjhd +bA4KCbdK8/W6o0KTf4Xg5xUfM/3wph/5+k8CQQDDFPZWXOSIIFsw6QoOuEbctG77 +ZhV6WwxN0WUxBnNZ62sEKmBQabx7QD7Lco4SBaBMy3eXkLBweoPFKbf0YBTpAkEA +rX7T0eMhjsy324Qbkuf3Cs8FA/ORONNwNx9HL168TcLKHi5k3PSHBjz5Q2EFtOgy +/xcI6fmaaKO+CKBXxm8xkwJAfOQlvP3vDgcMHE7tpNcPwV6cv9Mm4jWgpE+M+vOZ +uC8on90OpKiCoIec8tKAe9UsD4+H3257IbPYvWGPG6dMQQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canariemontreal/canariemontreal.cert b/server/component/planetlab/canariemontreal/canariemontreal.cert new file mode 100644 index 00000000..fde06278 --- /dev/null +++ b/server/component/planetlab/canariemontreal/canariemontreal.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPY2FuYXJpZW1v +bnRyZWFsMB4XDTA4MDMyODAzNDUxNVoXDTEzMDMyNzAzNDUxNVowGjEYMBYGA1UE +AxMPY2FuYXJpZW1vbnRyZWFsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7 +EXFo+JX2HP6fkaGACCszvP4W3kJJEM7k4XF9OQuyF49MKNZESlCIBXdxO3hqUXsa +XuxYwgqN/5kigJaKIsrgRITF6wRG7G+VW1YTOI78cHgyxGoq8rL+Fk5eAJR/z5+k +VbYCBtG/ZE3M9gkpYiQ+eC0thT1j9vhyJ0Wf+At9/wIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAAlD/WVNRjoAE2WjV0C8ZbdC7ruWP7KqCikPp/LGaZTHCmkg/5vGFnHB +qnXGzyDsP7ojT37mDPSrLTjWs9dmQXPIiVy1hMqXTxEf0UXQs9S7NaT0tmUDVCZD +3XVwrffaIHNQbLCxtvYiHkyrDIUqenLENv6eUPZmWqkHuMb+n5Kn +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canariemontreal/canariemontreal.pkey b/server/component/planetlab/canariemontreal/canariemontreal.pkey new file mode 100644 index 00000000..03dcba82 --- /dev/null +++ b/server/component/planetlab/canariemontreal/canariemontreal.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC7EXFo+JX2HP6fkaGACCszvP4W3kJJEM7k4XF9OQuyF49MKNZE +SlCIBXdxO3hqUXsaXuxYwgqN/5kigJaKIsrgRITF6wRG7G+VW1YTOI78cHgyxGoq +8rL+Fk5eAJR/z5+kVbYCBtG/ZE3M9gkpYiQ+eC0thT1j9vhyJ0Wf+At9/wIDAQAB +AoGALgnX8G6lcYGnRJwxs/HOuBf+LKCcjaDeWkQFizz73OOhd6vhN8NWWHOH9s0d +EIVnF5Fe92Uh9dp+1Jfy9KIlbWmskeoVGYCZgsC59ywEKm94+d6Q6ZHMsQBkbAOb +w2bmOWuY/4mMd7MZ9jT7xCsriegtQcq9LJNDThPij5F3QKkCQQD5Y/gbMJsYoPp1 +faaly7kCtda0v/2eXjZaaWPFiiYiApqcW2tjvZ5n4SUaFbg1jmCaiXIuNk8QpU3m +YyeyQscDAkEAwAajM3CCY+i1ft9EPiTCE9JeeyNDPMXfIMU2CTSuTB4SkU1VSH8y +mE8c6pHLgL5a4N/3dpkBDX+0cqYyTunOVQJAWBEkYT2l12mpaGoJukyZtcpO2p9d +yVoNqZnD4NMrKiFvRb3Gy37/fEF2X6LB3S+9D3Vv+7+z5fXp72yebQXFzwJAFAtd +U8xFwBoVf/XcUMRTgfAurpniteBNx0TuvA1EuGtXMtWotlWYuW9grFelr32vTNP0 +J+wWwQr4khMpIzWitQJBAJkjqgMiFdbHKp7KrySzjskDLwm9ef8qX0vri82xFE2E +uBDxaUNk/5ryKgGc60nRS8ejBwNtA+vsELnL5V5rS5c= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canarieottawa/canarieottawa.cert b/server/component/planetlab/canarieottawa/canarieottawa.cert new file mode 100644 index 00000000..467ae3d1 --- /dev/null +++ b/server/component/planetlab/canarieottawa/canarieottawa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnzCCAQgCAQAwDQYJKoZIhvcNAQEEBQAwGDEWMBQGA1UEAxMNY2FuYXJpZW90 +dGF3YTAeFw0wODAzMjgwMzQ1MTVaFw0xMzAzMjcwMzQ1MTVaMBgxFjAUBgNVBAMT +DWNhbmFyaWVvdHRhd2EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANsehfto +7rT28DebePJM2S/1D/svAPKm12Y+zwVkVTOrIgSl79k6fvOd03KKbGqqiIIq2Q9V +RCs89k0XWOcYpbAhr9E83uz6iPtkKy3yI0fxE/R7j54MN1phBb4hDb/1FAUy7TYO +yRgAbc3wwyHpvNE2uFHDVZD88kqGW6RH3Tf9AgMBAAEwDQYJKoZIhvcNAQEEBQAD +gYEAij6o9JYVxr/eh6dDJ/q+CVExdFJwURCtUGd/Cb2MPMh4KwW/Uj9P8/ALh7iO +LW34o0Uy9Hu3j6eSDyVSG/YIYdeWodrFxOxdl6bRpKACcn79KUF9bQxK/48KxBaH +rT9UgwP0aXBsyFVyVm3HHh3r8OTb4dnhPeETBVmC20UEx14= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canarieottawa/canarieottawa.pkey b/server/component/planetlab/canarieottawa/canarieottawa.pkey new file mode 100644 index 00000000..f707b170 --- /dev/null +++ b/server/component/planetlab/canarieottawa/canarieottawa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDbHoX7aO609vA3m3jyTNkv9Q/7LwDyptdmPs8FZFUzqyIEpe/Z +On7zndNyimxqqoiCKtkPVUQrPPZNF1jnGKWwIa/RPN7s+oj7ZCst8iNH8RP0e4+e +DDdaYQW+IQ2/9RQFMu02DskYAG3N8MMh6bzRNrhRw1WQ/PJKhlukR903/QIDAQAB +AoGBAJbKDpHQyFSoiu75guXblKq4DmNhGVnjDuBB4N1pCmkgH6zrNH9dDfhAaD6u +m6Vb7c0GB5HRr7PBpA2xP3DpOTsR06XvYBOsD1003IIm9DFzg9ex1qPyBSh8i8Z8 ++DyT0fGCu8IdFG69J7+6GJ+jsGO9LZPAE6vunbn913PtPKHRAkEA+NZisssoFpUe +earqAnNmbWuSF3AN48rhGf3npKoGfYKibqlCbQpc8KX9fdagQcZF9Pjb0DgSiE5p +vXuwpLm0ywJBAOFtJwvqkJO9rm/5flY7j3Wv0DqVGOgvSr66/I7g9P/gAYoiF/SJ +PQ/hQvxVR9jeo4UJ0I5r3zY24+AAy8NgdVcCQQCbYmQnea0CzQNGvm96ME2Zrj5/ +3D0QLbP64w4vSOzcmyKLL66HIJ2AuGZemhNgf0tX+b5pe1o3O5/T7tUTR9OZAkA3 +A6Z12Ab0p2P828yjSuHV/NQ6l8x+TZxWM9gTHn9sOsTlazChcyS9zWHFpyJjoOIT +Q7PsLhNJbdfrAQa5Zb79AkBDtiSWBvMzlycXbN1W2jD0w8U69Nw1JFA6QvC+5TJr +1cPM8vtIAO/Nfsxef4tnJH4ZC0D3jNynjUSSQQ43qgkN +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canarietoronto/canarietoronto.cert b/server/component/planetlab/canarietoronto/canarietoronto.cert new file mode 100644 index 00000000..1fb40fff --- /dev/null +++ b/server/component/planetlab/canarietoronto/canarietoronto.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZXRv +cm9udG8wHhcNMDgwMzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjAZMRcwFQYDVQQD +Ew5jYW5hcmlldG9yb250bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArHDM +jD4o/ieSTKVNeQ21os1nuJge3BI04kpltuTdgZeQJUOSG6cQ45kERtFAwSKjFIsH +wGMgbjyfp7kCD+oBEft+8HhJ/tLdiXJwb77fyczlqFm4em/cJui3g3ktaSTTrWGI +tkqYYbdrPVAUO9XFzql6cawa/CawOZ91c36er9ECAwEAATANBgkqhkiG9w0BAQQF +AAOBgQAYq5ArENN1S6fHpTHS9YeF8/PN9T6naiNg1qIGZjuT+FXhL6ZQp1ZCxc/T +YsPi9HE3VN/hm0+8srKZ7/Gs8hN1YHTw1pOEFhjMDQ2+vAVD25smBKFwVqtfbFPA +HuDhZkfsp8wJKwz9hoTu8cNMt5upVoseLX7ZcbedHIhGbE7sUQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canarietoronto/canarietoronto.pkey b/server/component/planetlab/canarietoronto/canarietoronto.pkey new file mode 100644 index 00000000..cd6a7092 --- /dev/null +++ b/server/component/planetlab/canarietoronto/canarietoronto.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQCscMyMPij+J5JMpU15DbWizWe4mB7cEjTiSmW25N2Bl5AlQ5Ib +pxDjmQRG0UDBIqMUiwfAYyBuPJ+nuQIP6gER+37weEn+0t2JcnBvvt/JzOWoWbh6 +b9wm6LeDeS1pJNOtYYi2Sphht2s9UBQ71cXOqXpxrBr8JrA5n3Vzfp6v0QIDAQAB +AoGBAIGD6y3+Vf2mLQziLxEXye+wRRHxN2RlTFEWPdUjincWJg7G9ItObLH1MLAb +5H3rDP+V+Ml36ljBscxgeXsIb6odEHn4zsACsJrhG2t6nRLOR3OwyS+licCxKlO1 +5ZuXabEy0kpoRs0cAIAeziirlEnVjYMD3RpTa7JVmJdeJZR9AkEA2uWe6A2UCmj6 +wIFMJ4StMp8E+Y4npp2YbyRxc94nffUnr/0tAHaOkr3Vv7SKiU5cJsmoZrdZe2hZ +s52ziK5azwJBAMmrWC6+LGBHl+WU+Xw3FAj5W/4+sqzR3lwkmF9UNdXgwregooQM +IVFdZlHCeXggsLU8TOw0dTIQq1Q76aLgc18CQQCzKsNYWNTVeHvV2X8F0ZkaGAKw +aOSXgeLlBcU++5UDiggECowtFt03yt4L3bCPFm5i6ShHesdpNU5GsEvlEiENAkEA +lXr0zQjXGbJXa6ul1SV6K0CxqF1O0PxqZkAV1Ss1EEgd7EAb1ear14R0cAvHP3xz +npKIrdggOjDS3YffIIRf3wJBALvKZsztWzHL4963GDlW3syaN/m7BzPw9TBX7gQF +Ey7DFXYA5lZgr56cuYnuQ8cWYsEYuodi2gYSXJulPEJNRcU= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canariewinnipeg/canariewinnipeg.cert b/server/component/planetlab/canariewinnipeg/canariewinnipeg.cert new file mode 100644 index 00000000..e1045253 --- /dev/null +++ b/server/component/planetlab/canariewinnipeg/canariewinnipeg.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPY2FuYXJpZXdp +bm5pcGVnMB4XDTA4MDMyODAzNDUxNVoXDTEzMDMyNzAzNDUxNVowGjEYMBYGA1UE +AxMPY2FuYXJpZXdpbm5pcGVnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD1 +NKpF8AeUWS8fsMZTNASvQ1lPF73LZJiNi407cEcrElgr39zNU0ztTyOlka/e/c5f +LtRLbq8FlTF8Wt3QtQvmdISs5EBbWhzDaDvERcmJb8S99ZeCCnJpqIoHSam91w5z +1mUrG1+jYi6Ypa7s6uF7y1fJVDgGoiqqSkKB7ZJIWwIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAL4mPpKmOCX9R4SNFz5B5qu7auc/pU0kPqFqOVb0LMNCrtPZUElo/LxY +WAce0FtWU3LXOqcl34KgHsqM9QwN0OprLOnxhtw9vhmucIXgBaIpQ32neROMdl1W +fs3LlLRuOrQNlhiLVklC6UHNF9VSOHXOhb/1toaKaNFVL9/g0I3H +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canariewinnipeg/canariewinnipeg.pkey b/server/component/planetlab/canariewinnipeg/canariewinnipeg.pkey new file mode 100644 index 00000000..3159e467 --- /dev/null +++ b/server/component/planetlab/canariewinnipeg/canariewinnipeg.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQD1NKpF8AeUWS8fsMZTNASvQ1lPF73LZJiNi407cEcrElgr39zN +U0ztTyOlka/e/c5fLtRLbq8FlTF8Wt3QtQvmdISs5EBbWhzDaDvERcmJb8S99ZeC +CnJpqIoHSam91w5z1mUrG1+jYi6Ypa7s6uF7y1fJVDgGoiqqSkKB7ZJIWwIDAQAB +AoGAQsY3xFnsRnrO+WtTZt8Yk33cuUw21Eetv4YMTO5zgwg42KHa6FNR9KIDjBgT +c79cTtFa4Lvgj72kP0Ajfa1/8pa5gbaEtxZl5fzqZZ0y0MK1lSUSBO/9kyouAEdc +MxBBug5vGursmGOMpR3QBZQbixq241H/LLYaajNJMz//9NkCQQD+KKaUlg6V0IAR +zBfXCWLOQASuq7RZmeG/RWq0ooRatAYhBwe0XgMkll4k7mOYH9X/YHS9CLnTlBgo +FsAZXSEXAkEA9vtpGVZ6c4a1vCF2MFjuVkOeJJQwducH1fkGmDSs0gxVov2VMa6K +RxNdDSo7mtWC4R+1bfeIv0f5ksuhG2i1XQJBAN0VH1JA9Y78P2s7zcEQORKQPYJz +ef43DVgEWj2m4NrFnk88fkc3QCSjaGFXvOqnRs9OaD3HSV3yhNDaeV+W0yECQGWm +ccog4oL7tX55kygw4d8VM1hAuXWmfn4dYQ5x15MXyoMrtSTefkDkgk6xzBhcueIn +58cbsudvGxPExUj/nm0CQQCF/bvqvafdvujepCKhqWsOyMkVT0BR2hLXJc1BZwwL +Fc/cZln/IjNiGFF8bJUBDRMPI3fThEolwmkxiLVNnXoH +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canterbury/canterbury.cert b/server/component/planetlab/canterbury/canterbury.cert new file mode 100644 index 00000000..5249fbb2 --- /dev/null +++ b/server/component/planetlab/canterbury/canterbury.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2FudGVyYnVy +eTAeFw0wODAzMjgwMzQ1MTRaFw0xMzAzMjcwMzQ1MTRaMBUxEzARBgNVBAMTCmNh +bnRlcmJ1cnkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK62ChC4YDwm4WzH +DGvWVljmH9tmlhPVYPVcSw0pnCE270jzCQNI1IVP6soFrmACIqCAhHlK4vosNLrE +AzrRXM4h8ulHSp1Ncm1DF88yLnDe4iqMTV72NTr1tEdmMAFgh7572ILurFrBiE9o +1IVhsoPR/7kEiP9zW+fGmX72DERpAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAiZpn +VkZfktFqUEXRuUrPmX9TnwZCEeWCuQDNsvEmUeMsJjCNIKWk+0o3ov7MOmfX1tJf +sfmzgaBeI5nfOkojs5yNv4AbFJls/gIvaHPc8l5n3jqXWpCuDsj50VSPNrC7xQwv +ykAiu+/Ue6bwhBnpRdUfnQcVBsIjVr4MCTJxz3A= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canterbury/canterbury.pkey b/server/component/planetlab/canterbury/canterbury.pkey new file mode 100644 index 00000000..772c2a94 --- /dev/null +++ b/server/component/planetlab/canterbury/canterbury.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCutgoQuGA8JuFsxwxr1lZY5h/bZpYT1WD1XEsNKZwhNu9I8wkD +SNSFT+rKBa5gAiKggIR5SuL6LDS6xAM60VzOIfLpR0qdTXJtQxfPMi5w3uIqjE1e +9jU69bRHZjABYIe+e9iC7qxawYhPaNSFYbKD0f+5BIj/c1vnxpl+9gxEaQIDAQAB +AoGALkwxOKMTZX1MKX5J7V28PgyljoeN562Y5wxRGyjWpfqfyG4XClbHcpht+KEu +x2Rpdqz37giJQ5BpXMDKtlB6zfkZ6b2vX7uIUvSKx8q+rgHxVd4ghKSJ+3cr+9vH +qTq3wia5k6Eh387oHIsPKZAYIxZYRd4xS+JdJJcjERUgPA0CQQDWiJq88+E4qUK0 +Rz2/YnnZzyzAsAOBYph8DtDO8ORTWoTCOJIjXdY4fpM7q/0DiApCYHoOFOtdrCcj +JQz9EBtXAkEA0Hr3S/Rz9PH9kk/oQ0fkji+qJn/hI1PZx5aH03gOaJGNTBOenp7a +2EFUeUh7K9TI+e0LL9YO3x3OdgeGD6qGPwJAalvBM0pJb1ji3BOxti9xL525lzHs +GvoxlNeXh/D/kZ9/z/ZR5TzBVrLR9bR3tId+ZpgECvUuFvuhT5gvz0pr8wJALmcg +QfSwFpYCJZ3Jiagn1AoB6j3OY6mXMJhttQDk3BuBgqxfQtkCxt2Lqs8aM0BSV2aO +deBEQR8GRDkaesQuywJAROUBn2Het4js7Yjc1KcQNSgjqsANOyJk4oqmv3GM/7zH +4U9yA4JwibcIqvQzkxQMP5LFNL3TiHcmvbTCAzEW0A== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetbuaa/cernetbuaa.cert b/server/component/planetlab/cernetbuaa/cernetbuaa.cert new file mode 100644 index 00000000..3ab81dd1 --- /dev/null +++ b/server/component/planetlab/cernetbuaa/cernetbuaa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2VybmV0YnVh +YTAeFw0wODAzMjgwMzQ1MTdaFw0xMzAzMjcwMzQ1MTdaMBUxEzARBgNVBAMTCmNl +cm5ldGJ1YWEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOU56plFuussQyN5 +HGwE93iVAQJlDysPxGFJfbGD3/kllKtEPFNza34GBLClz+ILSB0RC1lIoVqI/3/v +1c1djzaI24bu4fO/+VAkyNxSk0xdKNMOGX3zWJPrXSwSm/V0kUiaRJrAe4TJ8ybA +bjSoqhwCjh86MdSoqkh4WmwihqtpAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAGymq +KV+ZmpYG7UaELknvgqOThcqJTRKFx57Y9KDzVcCukSjzCo294JI3AU0I+jqX1g4L +fu+UX//IDi4RE5wV9eFUjWZePwYqfZ3PU/cNzip7uxC0MvhAIAlNcpN/IClkfcef +A91/LE1qrfqj4QwtrqKp3sm1bZ6FVklSll33d1g= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetbuaa/cernetbuaa.pkey b/server/component/planetlab/cernetbuaa/cernetbuaa.pkey new file mode 100644 index 00000000..dba785be --- /dev/null +++ b/server/component/planetlab/cernetbuaa/cernetbuaa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDlOeqZRbrrLEMjeRxsBPd4lQECZQ8rD8RhSX2xg9/5JZSrRDxT +c2t+BgSwpc/iC0gdEQtZSKFaiP9/79XNXY82iNuG7uHzv/lQJMjcUpNMXSjTDhl9 +81iT610sEpv1dJFImkSawHuEyfMmwG40qKocAo4fOjHUqKpIeFpsIoaraQIDAQAB +AoGAfrv4sulUoPWF4TTyu947HJX1Sueo7Tv4bXl+Xwj0agGXIuHFILZtte2J5kim +mOl342orBiAb5bxc1tU5NiQGKypuLLuX7NPASxlULGBdF9PkZdMPRbq5Kt/Hz+18 +Fwpz/Z1P2LeNbarH46qQUtIlZdG4Wgfgugg26QLYjyI8cgECQQD+MWgTZCdO5Tbl +bmdM1XeEpXyJLcAIKpz69A9oSMwF6kormQwtB8+ksfkwJA3p3I9yggBd6up0rA7y +EnkUzeWhAkEA5tsS9hSCnN/v+a5+FyAp0aFEok3mZvgsUSRtIO9iMKtROiMgwksL +v8X8eLTE9bZGzqhnfSyaz99pbaBn3SFgyQJAT8SFWoB1bWa0wW7R7+SVKwUbfZjj +yCxHMuFf7GPb0odhWykeDwuCd7Z58kd+LkNOqKpvHwnXJWHRFtoBMSwjwQJAH9nF +6fG2e5Jh957dgq9LVcLcR1BcI4TGCIPwEoU0lOZuFIlYMbZM7q6QQM8gBY6aglS1 +wo1u5pM6ZoelDNtYEQJAW5u7DUHSzofCkc2pijD08yeZiLbYaBNGjjNQOmHOnqex +s7E7C7hRRCBsG34gQyicM39QM34KY+T8hoBsxTJPEg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetpku/cernetpku.cert b/server/component/planetlab/cernetpku/cernetpku.cert new file mode 100644 index 00000000..729688a1 --- /dev/null +++ b/server/component/planetlab/cernetpku/cernetpku.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0cGt1 +MB4XDTA4MDMyODAzNDUxN1oXDTEzMDMyNzAzNDUxN1owFDESMBAGA1UEAxMJY2Vy +bmV0cGt1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFXdkcYlGIK/c3d3vk +37Ym2n7VgrFjCDDTs9noz5l+d+LEIwcralcDpHQN7gfN1QI5DiNx7FI7AyuK30+A +72Bqt0Y3CmNdoqJLgdxRgvZqmILgMU0cVmZhuyQghKRVg1S6B7xVt1D0iCMZcR8r +mk5uWvsdcgxNxWVrgd+1hQbkwwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAKdifuAf +RW4tExQ+TD82wrbYNugjg7llF9rmS1beIPuJ/XM8On7qVECBaDqERuT9xzf83J6E +FvFaM4YknmmY4UMS/9kZ1TlmwXnhb/HdgiY+oHrP/sCPmIReLLXinLHZrx8/BDhO +vaNWZ8FQUUS7xME1kHxWYjpXorX8e9g6t95c +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetpku/cernetpku.pkey b/server/component/planetlab/cernetpku/cernetpku.pkey new file mode 100644 index 00000000..8febd3f4 --- /dev/null +++ b/server/component/planetlab/cernetpku/cernetpku.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDFXdkcYlGIK/c3d3vk37Ym2n7VgrFjCDDTs9noz5l+d+LEIwcr +alcDpHQN7gfN1QI5DiNx7FI7AyuK30+A72Bqt0Y3CmNdoqJLgdxRgvZqmILgMU0c +VmZhuyQghKRVg1S6B7xVt1D0iCMZcR8rmk5uWvsdcgxNxWVrgd+1hQbkwwIDAQAB +AoGANpV+7x+t5tgp9fgglqrcSKCTBV+wyW/BeTs7X+zSSazEVXROjk5JpGM+CYA0 +PlPT2o2zddVi5Jk62Jxr83/AjSaYscsb6I0b+Ga3V2zmYgEaqRAv6V9gHg3X/XDz +QGLCWmZAW7bxJWWlH8kPJJW1x4BFilGPjVN7sC3JYg2xHwkCQQDpfCls9smZuomL +Olqsv+y4AwobCClBdpsQ6iNpOaeFPKzdJs1sJQ+434CnMlgeKxeVgWLTg62of7ci +k+cwrbVPAkEA2GYQGoL/gU5j/F7mms83pRV3DD3WUiwGBsDMsL3PQTctxTuThKFj +QHnMl/DXp1MTV4+VtiMPc/VRB82jJqPkTQJBAJ6b4ehLnZf4yAb0lTRVDJHUPsEu +QhheYeiTpYqNx+cS2LtC6LlWU9/atKLf6ExWKac+Rcw533ZfjCDJKHxBBLECQQCt +EGsemNe41TW3tzocY07wUwtjmezWyOiE7BqH2zVuxa9wRqZC80NKZF6QwYfnBNS6 +OVYVVVLdfTsxz28EzxwdAkAWUlma89vUe9LaNWl+fT+yR63TvQA7ZOebjz68xnU/ +gCH/MModP/E6wT03TpMPVUKfB9fs/rw3LqfkLx7IRmTF +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetsdu/cernetsdu.cert b/server/component/planetlab/cernetsdu/cernetsdu.cert new file mode 100644 index 00000000..1f8d5ffa --- /dev/null +++ b/server/component/planetlab/cernetsdu/cernetsdu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0c2R1 +MB4XDTA4MDMyODAzNDUxN1oXDTEzMDMyNzAzNDUxN1owFDESMBAGA1UEAxMJY2Vy +bmV0c2R1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD5YZVljyUyrf3joEi +VRJV/figk8NfpSVlyTZmCa6MUwdVW2DOW+trGnbyOh/NVGG35k6jEV9ulUfS5sTU +cDCnhUoZTkHo71oZb32nK1EpxT8051/IyRGXy3P39LH4j1phFJsA8B/j9Ur4uDiA +FZ9mZZ12l72pAGNjJpLg7kSU0QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFwUP4GP +9X/SlnfHnftioaLp16i0hZBYha+fOC0GI4pOv/oUK8NJkJTDIaawZ1EmFioH89oB +BJQakAqXmfgSdxYta9zLgrzuM2sFfuWGOudeig0m4TzALo55cAsZN3Ag5tndmsms +L8ass8DIzdkcP6OVau5YittLo6W8IIjcY+Zy +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetsdu/cernetsdu.pkey b/server/component/planetlab/cernetsdu/cernetsdu.pkey new file mode 100644 index 00000000..e7321720 --- /dev/null +++ b/server/component/planetlab/cernetsdu/cernetsdu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDD5YZVljyUyrf3joEiVRJV/figk8NfpSVlyTZmCa6MUwdVW2DO +W+trGnbyOh/NVGG35k6jEV9ulUfS5sTUcDCnhUoZTkHo71oZb32nK1EpxT8051/I +yRGXy3P39LH4j1phFJsA8B/j9Ur4uDiAFZ9mZZ12l72pAGNjJpLg7kSU0QIDAQAB +AoGAVrLloklspHmXtAOo2VYHWHGfsQnUpScFByhnX/+W9dnlW/ymOo5qAavjys64 +tnpLCUXvtbIBp4KAGDI0GMVScntS9cyjXMRR+5tQbBhwkbR2Xqjfhq77kCXckDl0 +0PwRxWkB9ORBi0K2GPpuXWhVv43PuPqN2pCKCDS2SjMU8yUCQQDq6CT994MwT57u +d8UHwcMrmVng93FcUmRqgDF7R0uyfbNYH40RCaWCrh1yGRCASg94R3CALaFOaJ66 +aHRejrVrAkEA1XykrfpVJ/MiXUJvdElLSIJbJp7/FIl5rLD2ErUZ/39mjBOtOKil +aQrHcicrPup+AQQFzqJjIToR725wQZbxswJAannzWpK4ikts1NbBHnT7jGWkUc6X +Oau3DHcy9pgofa1wf389p/1hYkyd2Dv4OM5ZGMH5AoCsXygY2pHCPaIeJQJBAMkk +6zRQzLMbTaF42vJBrIDg8WjuHYAIF3AyO2dc4uXr737De04K9+6EjW5soT5iSd5D +IAWU0rmXsRZag8IIqikCQQDlQhvshRrm8sfEaOn3d5isqMI9S1BuBaervevQPziQ +/6iBwFRoiVpuHHE4Cy2Ci2KDwhrZ1HKNERQLeicyLz5O +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetxjtu/cernetxjtu.cert b/server/component/planetlab/cernetxjtu/cernetxjtu.cert new file mode 100644 index 00000000..0158e759 --- /dev/null +++ b/server/component/planetlab/cernetxjtu/cernetxjtu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2VybmV0eGp0 +dTAeFw0wODAzMjgwMzQ1MTdaFw0xMzAzMjcwMzQ1MTdaMBUxEzARBgNVBAMTCmNl +cm5ldHhqdHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALR5VcYbJxbv9T/5 +jqNfs/2L7L3YsElp2AOgMyxsJe3nbqjqa0P0hpJlVN86voY2izJfm5jkMG12BvN3 +cDNLx0JO2+0auZk9VkhXpQkvS5RNHiyzwH6Op/vAR4bKQbqd7mWGDTpyBWPTDOrn +ZQ+/lreYZvrGWPv3YRDcsWZBnRepAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAEWN6 +LkHFbGON43U4TX1pcnFrMmGS4LdpWo9bXEnMUlTqKSBhrgWUtT47CHxPuvtJ3D2y +fx52FrrbQ6cvS/bL78G4SJDPcH2zx+GpKcYTrT5RdZNvUd125e8+vBFJzExqLHry +YASbjzPhXPIu17iS6hEMLtQ7MH0HMZFC5JuLw3s= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetxjtu/cernetxjtu.pkey b/server/component/planetlab/cernetxjtu/cernetxjtu.pkey new file mode 100644 index 00000000..11648468 --- /dev/null +++ b/server/component/planetlab/cernetxjtu/cernetxjtu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC0eVXGGycW7/U/+Y6jX7P9i+y92LBJadgDoDMsbCXt526o6mtD +9IaSZVTfOr6GNosyX5uY5DBtdgbzd3AzS8dCTtvtGrmZPVZIV6UJL0uUTR4ss8B+ +jqf7wEeGykG6ne5lhg06cgVj0wzq52UPv5a3mGb6xlj792EQ3LFmQZ0XqQIDAQAB +AoGAezhk0e/0DnsjjdyMAQv0zmZc63opUtaLgF4+0lO8yeQ77+St/CXWQ9ofypJH +R0eyXmBc0lTqo7H0KQMhfkR89KjNa/MJ8MPUn114Gb68mtKO2lwt19fh9aR8bfNH +7BDE+KX5d0DfRYgajOW7I9TVFKxkvGsIxHXGevue2/hZOAECQQDlsg625dpBQjbl +8nnRIMjGkSVbS/uxMr5jW17h3mMlXsas2wLWHFASgl0EkHYdUaLKwvCDYEIxbiy3 +CFdTmUwpAkEAySRB9XF66lW0xZt/KSE7UoBeQX03/OE8Rf3X4awPx9Ppb49Cbns0 +jKwqirZt2wTNB0GnbH04PhmEKwE/OJbfgQJAW6z2fH8+3h78ZEij4BjyqXYS795i +xXWYUXWNaB7neWnbZ/A9sJE6UDjhwUmbKtaDX+PwNK89nBb6F89nc0FTCQJAReMe +M9zJG3DKDbr4lN7iEMlfdpu+f1P3ME6B2vyAwyrDOirppx+R46rSYT3/r5DceD/8 +nzpm91TAUnztbYkmgQJBANbOtpCtC+XBO+ry6VVq+CCZX7IEYAcTd8L6AQGKw2V6 +iKRF5P+sraQ5hzy8zutPE+OnDfcf2OZgWCoYoUBTLSQ= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetxmu/cernetxmu.cert b/server/component/planetlab/cernetxmu/cernetxmu.cert new file mode 100644 index 00000000..0549510f --- /dev/null +++ b/server/component/planetlab/cernetxmu/cernetxmu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0eG11 +MB4XDTA4MDMyODAzNDUxN1oXDTEzMDMyNzAzNDUxN1owFDESMBAGA1UEAxMJY2Vy +bmV0eG11MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjHAvqs0SoOQvZa/on +VVJoSwj76HhGQVkPnDdN8kFOelHTOYIBU1t1tR6AeDam5Q9Cz9R+7phd04P1cZYX +sbK3dpTaAx9/QtdlOYtJhb8Czl02VGiAIKGtucWGwdUqBhDjyL9OtAQLCeYYRDOR +41FITTS8g1QoUuaddMkULWlCIQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAOEAEp5/ +fQsgpnUDp91rQkyp8kXVynwIGcq/yexKVP1sXR0B+RiSQNYae/Z80AFdyjaGxXv5 +54eaxTB4+nslYgSH5112freERD/VQVI5g265DBQbNslWM8cAjZKCznxE6+DYB+rq +3MXDSynVGJ/FiO9dQ9ZMLzYAJy677iI0Dxve +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetxmu/cernetxmu.pkey b/server/component/planetlab/cernetxmu/cernetxmu.pkey new file mode 100644 index 00000000..90cf5e82 --- /dev/null +++ b/server/component/planetlab/cernetxmu/cernetxmu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDjHAvqs0SoOQvZa/onVVJoSwj76HhGQVkPnDdN8kFOelHTOYIB +U1t1tR6AeDam5Q9Cz9R+7phd04P1cZYXsbK3dpTaAx9/QtdlOYtJhb8Czl02VGiA +IKGtucWGwdUqBhDjyL9OtAQLCeYYRDOR41FITTS8g1QoUuaddMkULWlCIQIDAQAB +AoGASnlhAwbkZdHHK/Y3ovxcuKyadpkGD+vP+8l7bUka11RPTtfV5P9jx5asOO6y +5UnKFlu20CUHvATnie5EjOKNuvOm9/XypubZy5kY2phGx4xeWNylqmdvPb6QF1tQ +AnLCMZqZoDG7IQqqJpHeWCBDXQj2c/qIoN1Gu+8ILCqG6H0CQQD4Yd9dcjxwgdxy +ASRcEf6KB9uZwLHoHOrDJasz04bRdvD+kc1nnOjLFeX9SmpYOSKOn9Nhbmq7UVHq +YREOG4O7AkEA6hMnqdnBBdtiOMHoovWAx+oJawqjdKR7IvZ1ZJWKD+SYqpKUnYsW +N3wwwIVhQvAPZMuffikGytJCDLK1srad0wJBAJ0xM69sEJwTU3RDDMPID5NDjdMs +hGslgd2nBUZzZCtEXxh9JcWhJCMC5N78LXlQD3K764cJ3jpWKMVwUN7gwukCQQDO +ZBljAGfb/Da9CO1RUts8arXnNjguDyGsEFguWlSj8tJSBHEaAJuUTOLHvlOmK/nG +zGxTV2VvzLkEbUcczzyVAkEAitZ/SQKEFIKyqTp8UJhaWOEl8cXXKq4BF2yUNBqL +cJF/gEpK+1pa9cL5l30ZjQsI3UglZvKpe0PI0zLNN2aAzw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetzju/cernetzju.cert b/server/component/planetlab/cernetzju/cernetzju.cert new file mode 100644 index 00000000..7bce17ce --- /dev/null +++ b/server/component/planetlab/cernetzju/cernetzju.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0emp1 +MB4XDTA4MDMyODAzNDUxN1oXDTEzMDMyNzAzNDUxN1owFDESMBAGA1UEAxMJY2Vy +bmV0emp1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC41psBzJCUM4N89bkl +ZscR7AS6/06JI5dA2X0XHEkJ1YJhHAVOWL/4N0ocHe4XjI58zp8ZH7Zs1p/Ypb0a +i0Blgowxmlmiljo6QxcySp/7Gf2c2v5WvR2jooL4ifrqE4tvaGP8Jbe6taLJ8dh0 +o8vkZZAQBKHqBfIIqThtUOsdFwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFPo1/q8 +a9GbA8l6BZBMNdnRv3ltdV0qETyXOas2Z+NRjutGUXBw5Tgz2+6OUIyw8+nzfd9U +IE6jOm2es9gz1e8uhpHpbc9f/BHZu7WNF7uiszMmlw4R5eMou3AGEQGP92PL/VG6 +fdPU1NYJCF0vUHePSuoE9r2eQdoFeYEG7b5J +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetzju/cernetzju.pkey b/server/component/planetlab/cernetzju/cernetzju.pkey new file mode 100644 index 00000000..1ccc56f4 --- /dev/null +++ b/server/component/planetlab/cernetzju/cernetzju.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC41psBzJCUM4N89bklZscR7AS6/06JI5dA2X0XHEkJ1YJhHAVO +WL/4N0ocHe4XjI58zp8ZH7Zs1p/Ypb0ai0Blgowxmlmiljo6QxcySp/7Gf2c2v5W +vR2jooL4ifrqE4tvaGP8Jbe6taLJ8dh0o8vkZZAQBKHqBfIIqThtUOsdFwIDAQAB +AoGAILdbmGXs8U5s56FWtBgNBE8SR0cJT5zNGN1mFsEa7HKuMSIUjlmHIRgoNfHW +QrTOQ6kO4BOM5pbWlDJB1oDvVLsTH1PXMl6sLuy4/PMVjwqKLhXOOxEIqfGY+axM +VfHXX5+N9BDYUCKVKJI/njqOvZrNvLPfLjM7YZI6t+vafIECQQDsFSPVsCejDqJj +rH2kJOesdsHZXjWDVvUIzXBnCHdkQRPjdPh9j7/kxpY5xAf5y7YhA+J6hhLK4g92 +K2dj7fvrAkEAyG6z7R/8aMkhYvMkq7jSdGKmCojOQzpB+KEn+dq9lThRIFpHIEqP +8CtndjjImXjDERjmh7pWpdde8ilmh/K0hQJAPQa17a4MgPTue0+CZuT3UjicoYDd +2manDrB0Zt3kZvD/oCODfImlNBE1khcfbK4BFYW4jK2NvA41qvlLT6ScIwJACjJH +iPqllpcU0bnY1buTSURzefm3tIfUL1fTdsx/9IVm6yRsleH1LJyoqMT+v3/7PHVt +1N3P5qPsOpmMk8HvGQJAdaW/Ipy6ZoNxNTH/s2kURF9ppkBMO0FAkENe/ELglcM7 +BHudxfWofoJ7mSwDKSdkaaZMXoQ65GFZj26SXqw9yw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cred_file b/server/component/planetlab/cred_file new file mode 100644 index 00000000..baee0f48 --- /dev/null +++ b/server/component/planetlab/cred_file @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICFDCCAX0CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTA4MDUwODE5NDUwNVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALWW +L+HnZBsm25whBQRhkxmQDy1ZxL1/RWQA81Ln855GFpD+IsRFAjYRX+uY8K4BFCGV +kuGbljm/G8cb9trpFv29goQwO6NnB1zdCOEBthLvZXbytt0h4fKwnsl4bP0nU4Mt +LNtwK3lqYtlww+a78briJ5YjxAxTFiAITW63dsjVAgMBAAGjcDBuMGwGA1UdEQEB +/wRiMGCGXmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6Y29tcDpwbGFu +ZXRsYWIwDQYJKoZIhvcNAQEEBQADgYEAAXHGFK7T0PrNSNk0kDYeHm33WuMars2w +LNAbFiqDmvJONGq1x7RmBSnskrqyI+pkMA3qHwnq5ixqcr+B45jOZfuZuhwQqSLc +7iR06F3AC3Xad+uN++JR9zXUueNcy4hKrQPkIrPOSZJKow9IWEk/3f3TFQKu+pfm +7gaaRN11vAg= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/equinixsi/equinixsi.cert b/server/component/planetlab/equinixsi/equinixsi.cert new file mode 100644 index 00000000..22cccd53 --- /dev/null +++ b/server/component/planetlab/equinixsi/equinixsi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJZXF1aW5peHNp +MB4XDTA4MDMyODAzNDUxNFoXDTEzMDMyNzAzNDUxNFowFDESMBAGA1UEAxMJZXF1 +aW5peHNpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUiF/QE/IzkQQ47Vs +Y+gOMig7vjYkZydOv9GV4IO75rcvWi46jzdziQusIa8IHBLIKq/EXbIDttS1vmr3 +JDzvBey3/ZLJVNyjlU309L3IfGLQn2KxhvO7Rtck6olpuvy3ehmRAI6YiTu3JLD1 +Vf/hmkkf8qWUUv3QxeNXn9i+AQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAC6Ez075 +hyhPyqwj3e30GoT5VSxZ7EPNFJ5s9QjF1XKEdBvkjydaZpZU9kS4tqfWWkubr9kr +z/z8VEBJJibOmXn5m1k9qDKWvdJuajstq9hy0T3qkEF0bkbCIbRpv6ELWBdEyhXs ++xiOGvZri4tN3X8d9No8+iIP6JVGHpfedIp2 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/equinixsi/equinixsi.pkey b/server/component/planetlab/equinixsi/equinixsi.pkey new file mode 100644 index 00000000..ed8b3664 --- /dev/null +++ b/server/component/planetlab/equinixsi/equinixsi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCwUiF/QE/IzkQQ47VsY+gOMig7vjYkZydOv9GV4IO75rcvWi46 +jzdziQusIa8IHBLIKq/EXbIDttS1vmr3JDzvBey3/ZLJVNyjlU309L3IfGLQn2Kx +hvO7Rtck6olpuvy3ehmRAI6YiTu3JLD1Vf/hmkkf8qWUUv3QxeNXn9i+AQIDAQAB +AoGAVLiCA+Tg8Tm7FupzCAvROtD66AnzdfZiusIMcJmacrTfHE+Wmuip2kflZeYh +diIXHDr2jcH/gS1ec511RB8Tb3FVX4Hz7UQpE80d8gHwANKCRVzkvOpjWT7P2w9E +Nr2uzoPm9tTl0pD9eKPywCX4fwHozdNsHg/KHXDiTzz30IkCQQDnx4UWjPR3cur1 +LLv+LtMlKzUdNPROykd5xDIyPijg3oIeFVtnbwJFfeNM/NpTcKAEdTpfGurSEQqj +0lx9NWFHAkEAwr8A3MBpT17T8HOyKN01Fq0EA0JTIrrxKFwuJ3aqRu2Cv0QzB8Lu +OEt2uzTLtVb5s0pxumrtsfYD8TGDt8ZKdwJAGy61Fw305cVedN6INak8LhHBKum4 +9TyX4Vn3IRlVJfoyfGC41YqZU5kN/UtyN3Lv8VXmQJ0hiP1iqA/VtQF7pQJAX4/Y +fXqRcpgmyeQL9Y9uwJzPzkWag/1V3yc0orrRHZLoyLBPlixqNweY0I48s9RlHTyX +iBF2aBA/qPhSGTjdSwJAascMKL0kxlK38BsUa/EEVgY9ljSLRZ503BfJRoAfDtJt +sDugaoW6uThetvCpmBraYE8vH9xT0Gd1z7HZAK3YzA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/aston/aston.cert b/server/component/planetlab/eu/aston/aston.cert new file mode 100644 index 00000000..df8fa5fc --- /dev/null +++ b/server/component/planetlab/eu/aston/aston.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVhc3RvbjAeFw0w +ODAzMjgwMzQ1MTNaFw0xMzAzMjcwMzQ1MTNaMBAxDjAMBgNVBAMTBWFzdG9uMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDhItY3WxNdSEOgvMlmQJDU4SpDqUmZ +/cLkXhdkkgend1lysqTBGd0zUaq153a7vdyVFlDjjCWDy9IcWvzXxm+zW0AiocWO +vkA3jSNlZlAFelTPQymkyemdoRVwDXwq5jLjd06Ce4Jw+O1Gmx16FoHAhsiEusn7 +9cHDLmlv2HtrhwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAMkOlb+SEM8cKIzNe2vN +UAm5/OQvCjsXWBMzPJJJqLjpLLXCmyU67qnF6vFcPTYbjD3qWVUmYuhDsmYi9X1K +RFVaCzVbawv8S327/IjUAmJgqrfZWbx2n0jXRh9L4sCJKN+byHebx4Rdn/l7tNK3 +rurToaW1yGisqsoxalMAgzHu +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/aston/aston.pkey b/server/component/planetlab/eu/aston/aston.pkey new file mode 100644 index 00000000..57f18eb3 --- /dev/null +++ b/server/component/planetlab/eu/aston/aston.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQDhItY3WxNdSEOgvMlmQJDU4SpDqUmZ/cLkXhdkkgend1lysqTB +Gd0zUaq153a7vdyVFlDjjCWDy9IcWvzXxm+zW0AiocWOvkA3jSNlZlAFelTPQymk +yemdoRVwDXwq5jLjd06Ce4Jw+O1Gmx16FoHAhsiEusn79cHDLmlv2HtrhwIDAQAB +AoGBAMjb8c61XNNus5dmlzC5Df4/XRu8n0PaGNTx9WDuwBFy88TXCRKW5rjwdaOQ +/GeHfpMss8IvuRCa+bv+mXJRQjlQIUe0ZvPtaPu7btoWjNXpb7GXYAg5n1w3KV8l +73UN7ctJqfDTx0zqOi/rG3Ifd1dHEiOXnb2OgCHzAcx5L+jhAkEA8MoOR5nc4Hrf +Xzux9GbjF8rOHJhbBgzTok/4cpbQAkIbpe/Y5BvPaC87wI58dg74IWVBFN4mEyAW +P6h4mnnBHwJBAO9bpNsBCjFbjzRChJ38zLe3beu5glNeLXxX2/EIPvEiEPbeeNgw +zRRDFwdOxeMHAMK6KYB9VJnz8SsEmrBpAJkCQQDnkxv6prJzvhhXqbyy9cSQHD7v +52MbRXjAULL72alBkryucSah81EcvNh1j1OJ40mmLJBT9nadzC05mdgrkM83AkEA +ihaT8CkUaU9KObsaaU78CA1R5AmdD12o3jCN2euI7HJb2SCWFRtqZQMjmPqwHX7f +yHfAE7m6gisC+m9oktexGQJBAIf0MBJe9emMEpm1O7x4GnCc4UuxbLwoM3NLj9vU +FnOWfwtdsh4kZGsvFDrVutkQ69Myu7wO0P9j2V04ZPHqFxI= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/bamberg/bamberg.cert b/server/component/planetlab/eu/bamberg/bamberg.cert new file mode 100644 index 00000000..af917cc8 --- /dev/null +++ b/server/component/planetlab/eu/bamberg/bamberg.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdiYW1iZXJnMB4X +DTA4MDMyODAzNDUxMloXDTEzMDMyNzAzNDUxMlowEjEQMA4GA1UEAxMHYmFtYmVy +ZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsTjYSNopBhkruvqj0irmcG9Q +6yZkJ5855UBI6Mg3PPU+FZdaNjqaLUQ7KYLGaWOVEUiYU2ibLxSyqkcdoPgSitoK +kB1jQvDH7zRnxiIvcN5a3I9lZe2V1/pMOEH3v4dffTCn+NjuqjBDxq/nOpy9NS+f +6QUX11fmlyvX+85NYa8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA8Nn0ZAryb+VXB +44LNQfZUgOzpTE+E4QwN1kw12TZ7zup0syf9lw47bbRraUTo+4Be0zQ3sSAV4WWG +0IffaXHMF46mecGiotu5JzU7kqAhbMfWZ9cdY7emtErN5Q2R7qNt4gt3qTPFLQE2 +xkw4xqs4KVWaHDIR5cJcQacotiEarA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/bamberg/bamberg.pkey b/server/component/planetlab/eu/bamberg/bamberg.pkey new file mode 100644 index 00000000..865bc2ec --- /dev/null +++ b/server/component/planetlab/eu/bamberg/bamberg.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCxONhI2ikGGSu6+qPSKuZwb1DrJmQnnznlQEjoyDc89T4Vl1o2 +OpotRDspgsZpY5URSJhTaJsvFLKqRx2g+BKK2gqQHWNC8MfvNGfGIi9w3lrcj2Vl +7ZXX+kw4Qfe/h199MKf42O6qMEPGr+c6nL01L5/pBRfXV+aXK9f7zk1hrwIDAQAB +AoGAQF0+4Caro5Vcton1GY2PJ+Kl5uGImoNPyZ0xXanpte/z3m+byfo6qJoRSqA+ +Y2RRbXeKKzDgu5au1P0DG8U9Jim59yDkHfyCgPiPrnbKZGsYskTrjYlNtiFdS5gi +5iiKTk4rvM0RvpdfJq9eO1lAFmFfkaRdCcdwG4Pn1Q3zkwECQQDkE0e2htlohoCM +Cli5M7Ht+xWQk0MJJk213iyQSw4NKg81/0AKCVC5TCUQNbkqNcH3YbFgsTBvxL7i +r69SVx/vAkEAxuui43Wqz48Bepq+XyTMBeT6oBxX+MWA2wL546OMSo6rNxqccsJg +ZpQvsnDhJ4xsTIy+Ctl/INB7FE/50hAaQQJAG2fhryInD7NR0QIRRTfcAo+wOK4p +WPkcT2VCD5ilOJm8OC3SwSH7bDilH3yFInhRNWusx8Si4FtQ4KZht9A2SwJAYSPJ +E9LuaxWm3zyaItRRXb+INJAi1bV9S3aUmXnQlMg/DFXOeKw7b1yGPlmpWirU6D0C +wUGdN2UX9b9ofBCpAQJAbTWBCa0slC0jevP9lpFqD95IuqIdUqvLeA161/wFF66K +MXfLyE879gEq0ymOEhXvIH1HqX/1ntZy8MBjsrS7ZA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/basel/basel.cert b/server/component/planetlab/eu/basel/basel.cert new file mode 100644 index 00000000..e9c3291c --- /dev/null +++ b/server/component/planetlab/eu/basel/basel.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwViYXNlbDAeFw0w +ODAzMjgwMzQ1MTFaFw0xMzAzMjcwMzQ1MTFaMBAxDjAMBgNVBAMTBWJhc2VsMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCm6vgvoOYyxRFARTDsAr4roIVljF8A +C2oTcRO9rwMlOjv351KNn1J44I6Wbo7k96kl7ss/hDJ6rh3mabUI1X5QSKRW+qgv +o9nNXB8uaxjZYImzxAh/lXigP7gSFFKduDg1wvQPQ9JrUEmHGDh79R3AnXQy46Qd +RCzi1tWTdCOAXQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAApNt6gFVAGcaMqKfyXm +NaWSDywxQlfLeakh4cSl2RQRvzeagb7WknzUCTcyAcVTS+FTWF2ar4CN4T7kFkIJ +8cSARUnEAdiovLluIFjsHT6cplSlVo4XyOmBJc2nV/kx03O/ZVE2KzXNmhUL2ILH +mZSaBedAKzRa0DYNfHZNGkZW +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/basel/basel.pkey b/server/component/planetlab/eu/basel/basel.pkey new file mode 100644 index 00000000..90983dc9 --- /dev/null +++ b/server/component/planetlab/eu/basel/basel.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCm6vgvoOYyxRFARTDsAr4roIVljF8AC2oTcRO9rwMlOjv351KN +n1J44I6Wbo7k96kl7ss/hDJ6rh3mabUI1X5QSKRW+qgvo9nNXB8uaxjZYImzxAh/ +lXigP7gSFFKduDg1wvQPQ9JrUEmHGDh79R3AnXQy46QdRCzi1tWTdCOAXQIDAQAB +AoGAehWWHU/zzuJwca+pzpVa/pHTv6hhu6idl0a3h59AD7R+NB3PNaJ4Mc0cvU5z +2WiDISl9IyHPwgcj+2kJbkKotWU14B/0d1JtZMQkZNzeTjRutFnetLlq+8GHbB3O +7aGbm+18/THVjRa/iUFXMN+jFNErtEB1mcYc3I+pgdM3DAECQQDWWeOli4JCtDVh +BR2Gu6fbttMDGhXhjLsXa5bCqoDQldy6GGNkTtHMoCQeEX1Ei+EpkvKpOHJ8EBt+ ++9hrZ6DdAkEAx1mviJJWE3Uhn45x1EsEysVk1hBl1ePFY2nr4hhVjkykoaDrl/og +LubbmNUGaG2eMDB6QlYUL9Mw9STNSOGlgQJANKAZDdm0f1/zAwDYgO2thnnaUJak +7J06icN2XhCyU4OXj3DRZh0b0Rs4AtHUaXHWM/jJ7tXW9bKWrZRzS9tDWQJBAMUi +yrRKyjY5qcNokOZ4PUfsRlhuJNaMhQFXmL2ghNLQtiljwjcrUbIv988+MjUI2dsb +xXteNl5JAewatasyAYECQQCr048hst5rvKBQtWwgebSM6C08rXPjMsMEyhXuNkl9 +HnDilxnQJ9H1EXZMAoO3SYTQu6OFcvShMGjEtVfkId7p +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/budapest/budapest.cert b/server/component/planetlab/eu/budapest/budapest.cert new file mode 100644 index 00000000..84b84fe9 --- /dev/null +++ b/server/component/planetlab/eu/budapest/budapest.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhidWRhcGVzdDAe +Fw0wODAzMjgwMzQ1MTJaFw0xMzAzMjcwMzQ1MTJaMBMxETAPBgNVBAMTCGJ1ZGFw +ZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC4Ia89aJVladDMP3vI6Ir +vnNrpG9nUKC1/+G57iTwdcMrD6VCMVOh2LiXIvhJ+DqMRXObj/mtYBEOdlbVPiaQ +d9N/p6d5Ohd0WgG4gIvWFVjVpXb48fNxOdJnbgeJLl04Y/wREx/ibJ86+z2oi1NS +Mwh3AuQTNWvC7PIAaOvzuQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJiOVAY5zlLp +qiBT/03vSMPy/7n/RPzUcMUV05bmKk4NX0309/MxWcmyyfeG4sZ32baoT2hBjivj +0DaoGTrvp2BjXBuAyOwpqBKD5xx7XVrqZo8SGavAzfmw/E3aWGsakrX+jEzSb+k+ +lEPs5Nf+HWcBXN09CHRvjrKOeLyHOK0J +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/budapest/budapest.pkey b/server/component/planetlab/eu/budapest/budapest.pkey new file mode 100644 index 00000000..258340aa --- /dev/null +++ b/server/component/planetlab/eu/budapest/budapest.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDC4Ia89aJVladDMP3vI6IrvnNrpG9nUKC1/+G57iTwdcMrD6VC +MVOh2LiXIvhJ+DqMRXObj/mtYBEOdlbVPiaQd9N/p6d5Ohd0WgG4gIvWFVjVpXb4 +8fNxOdJnbgeJLl04Y/wREx/ibJ86+z2oi1NSMwh3AuQTNWvC7PIAaOvzuQIDAQAB +AoGAB1a1PEBz0I1GMz2REoRhAwy1BAS5PUbIBpKQSZQyR+vnYaPBMXDyGVI0AV0L +xJ1YdxfWdrFBUcogWk8Sjg09Hnq+uDzvNJeCCnpIQXrK7B07o6qxNc616Jo3XzeL +zY8fwzallYU0vUqdKv/MlNQUoBGZEFDPLSUrb6+I7GJTnxECQQD1lQeDX87UwNea +9jJC2RLLoLnnbuo9zg5djuBOgbpNgP8Qv7WCtcinhD23O+a/4+mW/nf+6fzUfnK3 +gQyShIBDAkEAyyTZroDD1sA1ZmKuK9C/89uyhywaVFTB3K5tGJIkC9+3NUeK/U02 +d0MRfve76tFP5jDMnfYmhjVrSOD8oOFKUwJBAM9IHrNQZq9EpbbyHrI1rpuY6dDh +2WyZQ57MPZ+F9837F073wSi2bsqV39GNCdLleAAugPH0ZaalpAYnMolotSkCQQCh ++7ZgQWjnushZ5eIAKiqFpu/KfU5ZZGRZNfTkHNQFa9RI9c1Mgd8mZiJzXdNIQLM3 +WD4wzvCVH892g4CuQDblAkBvNtWJC8d8dfGCfl/7j8v2A6soJ7e/VdaGY5Y0Gd6t +IikUrHPy96AQ6IvyLyC2+Hu2hwp+F93YysY0EfUpOiWV +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/cesnet/cesnet.cert b/server/component/planetlab/eu/cesnet/cesnet.cert new file mode 100644 index 00000000..bcbf30c9 --- /dev/null +++ b/server/component/planetlab/eu/cesnet/cesnet.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZjZXNuZXQwHhcN +MDgwMzI4MDM0NTEyWhcNMTMwMzI3MDM0NTEyWjARMQ8wDQYDVQQDEwZjZXNuZXQw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMmLxk8ynQsQmyHLGBT/LJbnDiLA +Lb+NWL83XfYATmyUepxf3q/QL5c2pn5zWEn2tSj7Vk/i77n77uklRsz0Fyklp9Fm +GnyRvL32TC/Q5G1YkVQD/TLwaqgFzgEalWxyxvWx6S1XphVH3N4KdQ6l4YqANAL4 +wM5JMDl6zSNb6owlAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAPSF/xBjhuhA+G+Wo +mLLPzOmZMFvtzJDkBldiVHVW/BnH9m6tvpzot/ICJseCOMjL4FLr5XsNPQGY5Q06 +dMBOrAQ5F+P3797Vryqnt+aZ2Q7/3qmkz1U90xDWkY0YnPay99w1op8t+bU/urOB +QCPBP5eXEAiW3YHoJglYY02mTtM= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/cesnet/cesnet.pkey b/server/component/planetlab/eu/cesnet/cesnet.pkey new file mode 100644 index 00000000..9212c24b --- /dev/null +++ b/server/component/planetlab/eu/cesnet/cesnet.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDJi8ZPMp0LEJshyxgU/yyW5w4iwC2/jVi/N132AE5slHqcX96v +0C+XNqZ+c1hJ9rUo+1ZP4u+5++7pJUbM9BcpJafRZhp8kby99kwv0ORtWJFUA/0y +8GqoBc4BGpVscsb1sektV6YVR9zeCnUOpeGKgDQC+MDOSTA5es0jW+qMJQIDAQAB +AoGAQM8Te9AYs8ApQlqeadIMMpIl94K4s0nuab6SFlLO5RdxvesOHpbhVsyaCTtp +/o64fm8juBiPYczjbFEyTSGIeH5dKZt2HCR3/veYt3Y9TWRUKiJIyHX6T9lUvk3c +a94ouLAbnznug/rZzgBgbEsTljxEA5l4xY0W+bGF64UnYgECQQDyv0nSirrOJZsN +oCtqeuRhW3Sb1+3stBNNSE8Nx+DhVyiH3/7w5InpWko2T+FH8bS0itDIqVrew6zM +ENds6yRBAkEA1IylHKnhEt1IqzVk/JjFBzn5FN/TD2PPDujGvgdSoxefk3lP9Wvh +TzsdUFZ9FgYrwRbkIhfNh2CvFCYjhHOe5QJALwaPrpHhjn4Kg6E7x+z2wUWOWYKD +PQ/FjXsslWbbUcwotenW4aPkc6hiKBNheSaB81fRCo6EZBNULlQ054zGAQJARHeV +zFjwtrnvaa9Ge5PejAhhsxayj1eQYHYdZyNGvGCkt8WxOxZoOrSJKdLiclDEkWuF +S3Itc7lyTGRItqbj/QJAVp3kuDwvZFPOPvKKxIGud8kDq6DUx6Qh1VBEzieECcBZ +IHxAnhhS7yrhx5TGBb60ElsYlN8Cz5cHT2rrt7h2fw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/enst/enst.cert b/server/component/planetlab/eu/enst/enst.cert new file mode 100644 index 00000000..aef7771d --- /dev/null +++ b/server/component/planetlab/eu/enst/enst.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRlbnN0MB4XDTA4 +MDMyODAzNDUxMVoXDTEzMDMyNzAzNDUxMVowDzENMAsGA1UEAxMEZW5zdDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzythg9Lyz4WQExbBco51Yp5eopHFTG62 +dqqmCKxwfUMcfdNejdZMpVHpK22ZguCLY+jzErF081hrvsnAh8mnYm2YgJQB+UH8 +VMv8+T1tZ93qw+0Fb/Ge2tfy66syLGYxt1Tv43wVhBpnQHBZLhp3bhB3m4iaCBBh +FPOuovHAHPsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQArY4c80aunEoaNfFeJ6a7a +aYz8ly5bLuhLPbPI5oM3JvtAVlFAvi1SdfYJei+CoJw8V79/hdcws7NyltCsAoyM +KE+sJo0XmOuaiPIbrAY1zMvDMUxNQV35L4emBS8xvkb4lMS564nybiaWkdTLcj57 +R+uQYSN+eUhYM0ISl1UyNQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/enst/enst.pkey b/server/component/planetlab/eu/enst/enst.pkey new file mode 100644 index 00000000..616175db --- /dev/null +++ b/server/component/planetlab/eu/enst/enst.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDPK2GD0vLPhZATFsFyjnVinl6ikcVMbrZ2qqYIrHB9Qxx9016N +1kylUekrbZmC4Itj6PMSsXTzWGu+ycCHyadibZiAlAH5QfxUy/z5PW1n3erD7QVv +8Z7a1/LrqzIsZjG3VO/jfBWEGmdAcFkuGnduEHebiJoIEGEU866i8cAc+wIDAQAB +AoGBAMrxbC1+0G2KIYERoZ9e/o8FJR+MPQKK0iOdN9j3U5rhy19XWCEJ9Ttd6lSo +oOEcpm/RG40MWcyoqaPUb86VNGnr9OVMz1aKgtd7UT5/wSH6qNQqTyxmc5UvT9a5 +HYuZGrLhYKqpdHgCTAs8fFadBlqvie7Egjk4xUDgqL86U4uBAkEA75w/6Rjc02Tg +3CMRO0ND/HhGk5QmPKr9O1VvoKauHVJ7BcggiSzVJNDfs9wXCBE59N5RW5QuBesC ++9A94Uv+uQJBAN1XEVpHrp+uQO+HgCMWUroihS8xdeXzmJFl7AoUzisdpgrf378T +CozPhWtmVTVPbYlpw9mRVDUFtfG0mxdVP1MCQQCz40iQBZx0EH5IhwM+zMdT2jCS +R11VmsG3M/M0Vy7M0MmPk6npkoEKvM3VyFx6MASk8+t8p4jN5Jw+1R4/8L/xAkAY +z1OgnPxT5cJdlwCj7jKjro7jNVYTynRFh/knQCHD73TXLzTzQ/0gv3ojCbtvWFHc +30AWuRWJQ/Sa/TWNLf8FAkByoMy2N0qxZHW56INWxeQxLUjQNjreokzc+uxnuid7 +99G90MYtDF2xB4MuoGEmuhncN2ootOzNJBtoJBhgXPrh +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/ethzcs/ethzcs.cert b/server/component/planetlab/eu/ethzcs/ethzcs.cert new file mode 100644 index 00000000..09989f46 --- /dev/null +++ b/server/component/planetlab/eu/ethzcs/ethzcs.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZldGh6Y3MwHhcN +MDgwMzI4MDM0NTExWhcNMTMwMzI3MDM0NTExWjARMQ8wDQYDVQQDEwZldGh6Y3Mw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMOZHp315vFgwqJt8NGyGjgjgGNy +pIjQraOeOI7NiQtQGPatyHdLfQcx3NP/vr9IWvBiWuzc8nsefBGcCo7/zHgdPgFC +4NwuLC+7wwx74vaUfQzZ/w4iwyCdK/z7D72N0aeArDXJtO6WyQDJ4Obq4VEynic/ ++w1WqRiMocL1vcTDAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAmqgTWVs1am54+9uG +o51Frye/U7bBuMIdQxW8sje31fpeovY5ax6L2VdwlpLzHHGTjwrt9P7QP1O+9Ate +t5PInr8dRtnHwaTnfvjCPCBqiVUV2eZdQ5ykMuMGp8GjGp3YItYYrW3zjoyxhjLg +n34+mlVKXVGJvsRNMtSd0QPqv+4= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/ethzcs/ethzcs.pkey b/server/component/planetlab/eu/ethzcs/ethzcs.pkey new file mode 100644 index 00000000..5d7f0517 --- /dev/null +++ b/server/component/planetlab/eu/ethzcs/ethzcs.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDDmR6d9ebxYMKibfDRsho4I4BjcqSI0K2jnjiOzYkLUBj2rch3 +S30HMdzT/76/SFrwYlrs3PJ7HnwRnAqO/8x4HT4BQuDcLiwvu8MMe+L2lH0M2f8O +IsMgnSv8+w+9jdGngKw1ybTulskAyeDm6uFRMp4nP/sNVqkYjKHC9b3EwwIDAQAB +AoGAQf3EHakcLK3nnOOYzzbWr8ASjfrc1igJnV1BWbSwmveAJKHHM7BtU2MYTRJI +6cJgpB+a67UzviQv2cUartpQwlIQCF0lbeODfV02NJuRvm7l2zabPnsD3Vpkd/fT +Ddypd58/fhtMkXC5in9OpkFBIhPZIBzoozGcRPBGBBCUKaECQQD0SFqoxNNpOIol +Uef52Ns5GRZqJAk3KL2bYQ4u60Wus06NZ9h0IaRHGXFCPmxjsFRBxOecZKIvtuKW +9fCTSSixAkEAzPry1EGgoFl293tSW/eVBa/ppkc20Xqum6d0LAff1U7m7xYJgDKS +NPnF0hFOzJ6sdnSu2EUm2dfdVfQ0Bq+hswJAHIeOvwMtxa4qxC0KsK1Y/RQnAAJx +aRXC/zCYnXYwzzR1yiIEr5t2Oi+IgLoVopbnYD8E5ckDABuV3xeeHzV+IQJAXu3N +La2jBP/Jz71GHB9h3XtlesM6SPNHEAESFR4kdDYRTyJmjf9dpLkT+0BWvP6zIjzR +iIkl//cvoxHwUjRebwJAGG5LWzSUdoKEdJIaVY+Di2BNcnCrY9aPHE1MfmPrMWe6 +6uoRR1h2M+Zjwg8utfZZHiSVXRD5aiXbpxONw6Jsww== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/eu.cert b/server/component/planetlab/eu/eu.cert new file mode 100644 index 00000000..71503229 --- /dev/null +++ b/server/component/planetlab/eu/eu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJldTAeFw0wODAz +MjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMA0xCzAJBgNVBAMTAmV1MIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQDqHC9YfOeLuKZo00SXcAb0nbblh6CXXC12EWRP +ONatusAytLXOmwFFx4/wwAAkXoRFeigwbwIoOdasZxbXdTDEGIK2Ca3/ZgRaDJ/Q +Gox5xFSlQnDymMqQwKMy4orplR5F4sCvK7bX5eZ2TaJK/B/old4ztyUVD7fNWtaD +ywD09QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJlRUNLmYhdpShPAcZLTDtP8ThQg +ck9r1qS+nm/yH+vifbYxkcovj4mNk0QwT9Ji9wIqyBBLIWkiQHHKIZsLrqd44NWQ +Z72zY2tghAPZ5StfWXymMzSPXOlEYXeiKhh18jKwJCqNMQys/g/rc7cANT5zvHlL ++KgWEIeKa3eZ9g0a +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/eu.pkey b/server/component/planetlab/eu/eu.pkey new file mode 100644 index 00000000..d08593e4 --- /dev/null +++ b/server/component/planetlab/eu/eu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDqHC9YfOeLuKZo00SXcAb0nbblh6CXXC12EWRPONatusAytLXO +mwFFx4/wwAAkXoRFeigwbwIoOdasZxbXdTDEGIK2Ca3/ZgRaDJ/QGox5xFSlQnDy +mMqQwKMy4orplR5F4sCvK7bX5eZ2TaJK/B/old4ztyUVD7fNWtaDywD09QIDAQAB +AoGAUT/Q6rwGvEYscusHvisiLtlhtY15na5fFL/6eUg3sXnD5JU1F+xR577X5O0t +33FyJI69zflo3T8dkx4AHmzMrEfw+UKV4lxL7sIY3Z7+Myk0Xi3cQeMJZ2pmScOU +2aLXvoF8knBpvwN4aGriXyJLLCigwRnFk4Wv9yQypzQlWG0CQQD9jTeLbgwwUQNz +MnaNheqZFhCgjHaSs7q8klGZp7tPdf+pp0m2S8yZTx8BDCdAdbVeMFnxsq1ObP0X +ROBy/O3DAkEA7F7ogtQ8+XWUjDe+jowOQiGyBGeQzDBnG/EMZMg+m1yOd7vPW/Tt +UvfYM7E7DsI5kVPyb9IgrORtPRl2KAdO5wJAT9pJw//ElvLswzsBW1DxsYThd67F +KS6xgPIUAPBybXQcMLIe5Oq6ZQ4mFY5eTk7D8AYKTbSYIDry+oEWryA5QQJBALAv +pjwumyyOuiUyP/Xc65vbpeemksXApnqrWEOfBxujCAazlULD9EpNt3gAeTbtCyAK +ZMF47SYyNkK+wdXgbK0CQQD4FR/Zbo9fGuR6C+zV9BO/GfF2HP7986y4/UhPRqnB +AkCVOZTNTKGRMgtfWJ4uOX4lZofsVyt3JkZk4JZ1lD1q +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/eurecom/eurecom.cert b/server/component/planetlab/eu/eurecom/eurecom.cert new file mode 100644 index 00000000..20b67748 --- /dev/null +++ b/server/component/planetlab/eu/eurecom/eurecom.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdldXJlY29tMB4X +DTA4MDMyODAzNDUxMVoXDTEzMDMyNzAzNDUxMVowEjEQMA4GA1UEAxMHZXVyZWNv +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwHptkJhfxO8csVHW3Nh6+Xdf +wSxDSLG/C1OB3MIaZ5hZx67Z2nY8yTq16btMr3KW6HkiUWcggFhm6ODIt6xZl/Hi +s2KnRuxPxHghmmflCcV9NOV+gSCS2fK6XVkEQWGjH9SbbSwaxuNsxgrremH1KEpt +lbMexhZEoCLPsK6AaDUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCbalTuhd9eFTu0 +aSRh8h2MzQLrSFXvSeNxNEeMN+h7TAnDHa5foNB/AIrn6xKjwKGmRcIn6SCXXgsc +0l0Eo/Tp5VTyocYApeBz4Z5MQgS2Jhj+eAVjqzvpKet0vfzQvHCmCHD3hILtcZg7 +LQVHX3w7j+W8xgMuNzIVL+vvhr1+WQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/eurecom/eurecom.pkey b/server/component/planetlab/eu/eurecom/eurecom.pkey new file mode 100644 index 00000000..09e646e5 --- /dev/null +++ b/server/component/planetlab/eu/eurecom/eurecom.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDAem2QmF/E7xyxUdbc2Hr5d1/BLENIsb8LU4HcwhpnmFnHrtna +djzJOrXpu0yvcpboeSJRZyCAWGbo4Mi3rFmX8eKzYqdG7E/EeCGaZ+UJxX005X6B +IJLZ8rpdWQRBYaMf1JttLBrG42zGCut6YfUoSm2Vsx7GFkSgIs+wroBoNQIDAQAB +AoGBAKSo14xIXj16FQC4s2gQpfs+HSODezf4HyhQUxsIzk/rbHq/4Uzbs5quaCtA ++RRqoiDUaABdiddiSP9WNT+z6Jvw7/RHtVBA8/t+3IVol0J5JyZXIjtxHAIr5sJi +4zT6tibREPpA75JQS4tZb1jzh7o40FXLwjpT5h7DhHaYBECtAkEA5M/UzThkVqrh +MFJANc1JFbGxw14C5aad/KJ/w54Wp9ntAFaufzH/4LZJVv2z//nlh/3nIexZIXdI +BRjpgu9eewJBANdZX8LTrrwlBT1RIljK0CjQE3xQggOQyFMS2JgsLqco/ACvKDCe +vIlYhbrs7a3tQxz65CjOWEVn7ELeFllm7Q8CQGRJAwf/U1r5AkHfiu0J0KKFg1gR +eEuXP19fCYh/XYar6UhgtZJiI7glrPdHswDaUlPMYOVpZZdZZGN3i8ErkMkCQGOI +oJU5J/M4HTLZFEn7+7hRbCAySdWCDsUu2cOD8FA8xjU+wBGw3K2Sp8TdC4IvPqzf +XaNqtCvoO7AwXB4YT4sCQB2C92++rozjILLzaZCVcZB3/KTz3dhDm098gCjwT3FD +Qp9TJbGu2gHDMOi/+FkjebbcCPdIbi673jeWLRrq420= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/fokus/fokus.cert b/server/component/planetlab/eu/fokus/fokus.cert new file mode 100644 index 00000000..09bb7542 --- /dev/null +++ b/server/component/planetlab/eu/fokus/fokus.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVmb2t1czAeFw0w +ODAzMjgwMzQ1MTNaFw0xMzAzMjcwMzQ1MTNaMBAxDjAMBgNVBAMTBWZva3VzMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCvsj70OcS5KZc6ZSzgfhwO0rUQjRy +SwlywNLsOl1LiYEW3DMYsjM7itxsVHmgyc7MXQECx+drmrr1WMdaTJbtFUEQ+Cw/ +VPRvYL5lGeKb25GYN7AG5FbE/0In9wM16qBkIcCEACis+xfcKhBCWfC12N+WiCD/ +7PfJhesjAElv9wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAIxtLycCN44lgR7m6tPD +5QJriSSIcKh32mjtEmms3hz9wgIC77NLMxf3dUHZnbd5wHWzic5HowE2aICM3Ojw +5FX+AJNj6rbT3ay7YTnI9aqYj93Ae5ILvYUF3D0jx1bf/OelBGxxcDGDH0mfnLHb +nqgJIZy+ykHsGnCrfYpdTMi5 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/fokus/fokus.pkey b/server/component/planetlab/eu/fokus/fokus.pkey new file mode 100644 index 00000000..717abc65 --- /dev/null +++ b/server/component/planetlab/eu/fokus/fokus.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDCvsj70OcS5KZc6ZSzgfhwO0rUQjRySwlywNLsOl1LiYEW3DMY +sjM7itxsVHmgyc7MXQECx+drmrr1WMdaTJbtFUEQ+Cw/VPRvYL5lGeKb25GYN7AG +5FbE/0In9wM16qBkIcCEACis+xfcKhBCWfC12N+WiCD/7PfJhesjAElv9wIDAQAB +AoGBAJ18N4AcUaFfsoFUi2IW6tenuz2nRE5hDAT2lhten2+khPX9oHyKLxApnVMl +hS5XxJpTY6viCO1ltWcPIjeN1EX+yjUrN+H1v3YMNf8+1bjXn3pbbtFS8kM0rCDO +08fGEzBoU344vGnQs+Ng7Lw+2S4Mp4Z3YGk2PuB0KJmvSyzhAkEA9PLGQdf4gliI +EjefsuGVl2Cu8/bNxcn+7vPl3vvnoMGDnI60DFNEGgAi8UthiX+nz7ErydQmj75Y +K9pdlti9WQJBAMuIJnVOrWlx6MbZzFM5SkpzHckdBkuZlUW+EvlLfQmfPUj6yq+v +Bl951m6RtZCqB5BgM/jl5EcSZnz29VlXXc8CQQCx3OehQBWvcGG9+K350lwxQ39G +n1vj1z1KfcfZFsmmrV3H/Mc4e+3jg13cIIR+tzc/VMMbFvW5Qtn7XeC/fDphAkEA +n/9ctDTwT4cTRVarr/TGePY7wQCHFWEbnmLISZ9VIP5EUB2OvkLp0J5Xuj3jLGDt +Z0qpMI2QQWqulKgSwXPTswJANzY+qdqxsP4AMAOsCnFEIWhHzQYxZsABupiztoUR +88vcCcUXfociKq2Rq2H32ZP/fUkqAH5fxFrHoYfv86RdVw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/hawh/hawh.cert b/server/component/planetlab/eu/hawh/hawh.cert new file mode 100644 index 00000000..d3a9eee3 --- /dev/null +++ b/server/component/planetlab/eu/hawh/hawh.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRoYXdoMB4XDTA4 +MDMyODAzNDUxMloXDTEzMDMyNzAzNDUxMlowDzENMAsGA1UEAxMEaGF3aDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAraNVWkOIx6q3QgWENg+ctj2zKPwqHzSn +esPQGV2/oeFflpLhcI3wkIunmmOkjTEKU21l91h7PZHhO8Unu9pijstrMSEV9dSF +9KS++UlFxNr1WUN1E24h0lGYpxg7at5jJyABYsZxicEDGTJC1KDz5hYlsJuzZOdP +m4fqtknWlUUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBO5Ij8xJ4a/C8QyEwrhqqq +lPFmR6LOj9E7QKUDkvTN4aUcyAhwKFO3jPYUj0kTKEZrMYHfBuAZCOKuqZ3CsiM4 +Q3MbsrsK2QaaN7Y96Hi4+y6I2AxURhPny94+cvpuy+R772CImZcQkchbYkWN9PxS +6j9KZpingwedMCfTDhmaXg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/hawh/hawh.pkey b/server/component/planetlab/eu/hawh/hawh.pkey new file mode 100644 index 00000000..18d860a0 --- /dev/null +++ b/server/component/planetlab/eu/hawh/hawh.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCto1VaQ4jHqrdCBYQ2D5y2PbMo/CofNKd6w9AZXb+h4V+WkuFw +jfCQi6eaY6SNMQpTbWX3WHs9keE7xSe72mKOy2sxIRX11IX0pL75SUXE2vVZQ3UT +biHSUZinGDtq3mMnIAFixnGJwQMZMkLUoPPmFiWwm7Nk50+bh+q2SdaVRQIDAQAB +AoGBAI1A7DRr8B+OD1rUJgPcm33dn5vd115fdUd3eBjKnRRRxXM2tdLchTDxiz0b +hked92p6+pJHFqq1u+blsjctpzJv1OkVwQAtAjMCEXJkV4oHp7WBQzkB38vrsSkj +61UY8+zx+s6f0T+ufOzP9X9hHBgnYG97iKH5thRBs2AHMyQBAkEA1buEGBmn7INw +fO3ZTLOlMbM+00sZ8XcUAKDL9wbTRUDTT50KMsBEv2FoyDozj2qzdQ1+VPQ+wjCJ +1gwNGZPcgQJBAM/5+7aWWDEK4XsbD1hD4eBQ9ExNEvDHX1SpC7pNRyEV7gb1zCRo +bfdrkTfEgVhkl8QdluRlmVFiMCEZW9Hy5sUCQQDMN1Y4nNL5RoGFrNFy2zddLJI7 +20dXk1qWWw1n46qcQhtlt3wWD+XgIte2cP3w65e6oQDzdUg9zZj13x/pL4GBAkAl +jERdmpchg41h5GjIzrig/vycKe4ZemVDq6FqaTlGR+dJamcIy7HO0aTOJLQVeVPN +HGp5ob4ka021LBbfuLLhAkAu23E7+Fu2juZHVnd/tbb59TRvewUHLMX1dNhRgQ6O +Dhio1INSE3+JfdMHWBuDKmh8mAlBE46GdAq0ejfvScVH +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/inria/inria.cert b/server/component/planetlab/eu/inria/inria.cert new file mode 100644 index 00000000..2af2bd6c --- /dev/null +++ b/server/component/planetlab/eu/inria/inria.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVpbnJpYTAeFw0w +ODAzMjgwMzQ1MTFaFw0xMzAzMjcwMzQ1MTFaMBAxDjAMBgNVBAMTBWlucmlhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUB3CRlBac5jA61ydzRIu5ZlJIs1qg +UYkNbkFCqs5kb+g+NGU8/jZ6ib2NBYLZeiKULFly/TygM/RuCmCbXDm3HB1ua+Er +wfHH8PgCPC6xhukurBfIcW9z1m4xtIL59uSWHcSOTaaIUyUxpf+olRZSjVWCZXjA +w1FKO4Mcja7ZVwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAC0hE3yEmrKDcwHLDKvn +Aw+lESJrcRgMn5aR0i7gG+cyFImle2i/qVg1C8S2N0Fsama6gV08aRKoelkETlsl +rpbN1EEGmCyGXo0ZrKQcGyRGePtD4EBUNvVADwp3xsHgDLLN02NcxAbIe8V1tr79 +bN2MVTUfqGHYyqPSMAgWNpB0 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/inria/inria.pkey b/server/component/planetlab/eu/inria/inria.pkey new file mode 100644 index 00000000..4fea2f51 --- /dev/null +++ b/server/component/planetlab/eu/inria/inria.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDUB3CRlBac5jA61ydzRIu5ZlJIs1qgUYkNbkFCqs5kb+g+NGU8 +/jZ6ib2NBYLZeiKULFly/TygM/RuCmCbXDm3HB1ua+ErwfHH8PgCPC6xhukurBfI +cW9z1m4xtIL59uSWHcSOTaaIUyUxpf+olRZSjVWCZXjAw1FKO4Mcja7ZVwIDAQAB +AoGAO8V5I2D22vY9RGkg0urQ5MwGiD4fXzB9DU82kH+sPT4a32ZP39jeLL8ls1qJ +X5uBofm6oaLn81WSI29DeqiOEB/zcu0QALv6qf1PzaZjJHMSA8nBpTShGPHngzKL +0i5aPmMulfwx8AvopxqGWuwXBoo5hYB186se0kDkh4aGL1ECQQD5FKhQgd1Q1EU7 +VZVwEIfyDkkXEGXHxZxCGKErTRvZY713FVgWKPbql2LoJLz/md9HzMJC5py6wraF +i4Q2eerfAkEA2etJ7mGKRlWk2jf6ujtcR5kpyY2WNJJAEl4Ad+5YBdut/qVwyp7c +qmB0cyXn4MiOPzNs9E+16hDS0UuaBDzYiQJBAI+cI3dXiN0Dpm8RZznXrioXpniP +0b8e5nsNbE9lA/uREDpKqiEMuWCErFggZoAQnbXuDss334GmpknVKQOnw40CQQDW +3dtAs2YuoYVxMN8EP0Fmy0tbk0J2RXntYkhd+GFMLWXq/l8vOeJkD8TiQI7YoYc4 +I9GbNvkseDgV69BJu2DZAkEAmq3b7bKzWV7LIzzT9C+n6sJk4ceHbOmNU1UUXEyR +piMtZ5Diiu/XIbMK3BX7DOgwyjZg3PYn6T1ETkiGLuEoiQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/irisa/irisa.cert b/server/component/planetlab/eu/irisa/irisa.cert new file mode 100644 index 00000000..35e46627 --- /dev/null +++ b/server/component/planetlab/eu/irisa/irisa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVpcmlzYTAeFw0w +ODAzMjgwMzQ1MTJaFw0xMzAzMjcwMzQ1MTJaMBAxDjAMBgNVBAMTBWlyaXNhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4aHi15dxe2j22K6SaUVfn/M/qi93D +MNqm66kYfDnoHW1S578KuvYKm8LjHMxE1iEmQYaPBlUhuFI4GA2sXCvkwOa4DXmk +4Y9drbsXbes1xUKPgW4pk6aWUWoEF++Yom8oUs88Cj2fYj6hYWJMH+vwxe2hEug3 +GQJgt+PzwrwFUQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADYmO3j6KxWng87gcqKy +WPYlXzsmHsY12l7SHxCvuVA/LWEi/+Lq/mIKs8NP0Vz3usTLC0Tlnux8zA3eY/BV +RogbG2zMCqMOWmGI6Cuk5www6kg8xcB0pEdEOSrCkdl6tOvD+P70qENdCyzTVRAq +UYu6jXXfgOqEFKsA8RsLyjz2 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/irisa/irisa.pkey b/server/component/planetlab/eu/irisa/irisa.pkey new file mode 100644 index 00000000..9d45280a --- /dev/null +++ b/server/component/planetlab/eu/irisa/irisa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC4aHi15dxe2j22K6SaUVfn/M/qi93DMNqm66kYfDnoHW1S578K +uvYKm8LjHMxE1iEmQYaPBlUhuFI4GA2sXCvkwOa4DXmk4Y9drbsXbes1xUKPgW4p +k6aWUWoEF++Yom8oUs88Cj2fYj6hYWJMH+vwxe2hEug3GQJgt+PzwrwFUQIDAQAB +AoGBAJXYnq4AWG/jG15aXGjhTHNAZZsLiGpB2ork2AUDfPJ2Zw2FLyIDBkdchqKS +FhKhhVJW0IaL+MVrx7O5J/M0+pyIP7S4tC34+hmMEMEnLX5kz+5Ew0mz0X9DA3q6 +Y9tCpXMK1ZcMJ0+aKHKtQ3l+EO0UpW3ktbSyXP8n3pFtahU5AkEA3w0Otqu+PtyR +QneXmTyYUKGfBob5gkrnCt5JzXKH+ZeLNma88gRlLRD0zVaTa7IHuo9WGfWRYrda +jNbIMkMEAwJBANOmFfC0qP4hTYJp2E1KVweDr/5fBKdnHGLFFAgPfhjCR/SrU3dW +CuhtXWfqWLx7nlpbYwHt9VjVe2GuZVFKMxsCQDLVbv0CtyDsc86KIuqxfKUjsHJ0 +YHjpSS6Y6okACS1A9GE5mOYvSj+zFZeWm5J3yHskH6Na6/9reh+O86FA1LECQC2I +NoIhK5X4bidXQ/xkuNJaBzuvD15ANYAeK9AMHTGQYlCFpyAuN4yHMqgPZ2WtJoUD +0gnxOm4RB0kdbpiNYO8CQDTRO9fv8+Kj/Ae2cEgNtpzdIBZbkD+pfMQbIhbOlbV7 +4zUniBi6a3oyPMJhLB4+cDyPXgU4MkhJ1+g0f/DG/yo= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/konstanz/konstanz.cert b/server/component/planetlab/eu/konstanz/konstanz.cert new file mode 100644 index 00000000..a2b81f27 --- /dev/null +++ b/server/component/planetlab/eu/konstanz/konstanz.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhrb25zdGFuejAe +Fw0wODAzMjgwMzQ1MTNaFw0xMzAzMjcwMzQ1MTNaMBMxETAPBgNVBAMTCGtvbnN0 +YW56MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQWT2bjARg/AQ8DEkNPpyl +5YAolBOgKC1y06iY7xzEttATHJCzYKzKQXMe5PUNjyzC2uBo7r3vfvwyI/wybIWO +m+irk6MZFR6113aszUbfU6qjdwOr75NGA30+WIWYAtCLGAPp0bSgfVZ1/3ubPaGo +fBO11Y4Gx2K0S4raiOxLXwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAL+CG7ZLbQVb +QOedZ0wjFNHJnB0Ljq64egmLLxGm282ILaIjfCRHgO7t+YTLav83VWgauDvDEhqg +HOE8AbMfwsqnB9/9qdvY4CcYQZLP8GTrlXw0VJ30EAhE1l8zJACSNJ5EdWanynlD +y4KNFMTvmuml7vCGIk5nCct4KHN4Fsdr +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/konstanz/konstanz.pkey b/server/component/planetlab/eu/konstanz/konstanz.pkey new file mode 100644 index 00000000..91c5ab4c --- /dev/null +++ b/server/component/planetlab/eu/konstanz/konstanz.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDQWT2bjARg/AQ8DEkNPpyl5YAolBOgKC1y06iY7xzEttATHJCz +YKzKQXMe5PUNjyzC2uBo7r3vfvwyI/wybIWOm+irk6MZFR6113aszUbfU6qjdwOr +75NGA30+WIWYAtCLGAPp0bSgfVZ1/3ubPaGofBO11Y4Gx2K0S4raiOxLXwIDAQAB +AoGAb4HDgjM+yLU4gvbERi1jYzpgC9esZUP7hwAWtLsMd4+r7v6Txx0PfTPoK/m3 +2WjuON8xyZc02i/pQ+CUglwoYcJ7+UIcAvV9Q0FpWifTqu6wuEVIQ/uak+PnfNJn +HgQ3JoBaMc/kjPwifsP8ZH1cI9LzxbgJSz2a/gqOLxQJ9LkCQQDqt3pnz0kDxDu/ +2NHtEZFMWlnMS/zb/wSQUQin6NWdMi4cL2vPPBoYSfNRu6PYFirgY3gPiowF8dXt +pqQjZ+l1AkEA4z2stRzqXlLFe3rEKT8/T9fCGg/OSVRd9HNq1QaWL8Z4qe8lS0Hu +l60S+CxKF5VdSCLxIb4tRiDqHvJAHeFzAwJBAMuXJpeQ1xZrSiBYY46spEmEPUvV +xZjVlRHRGB78+P0HH7PW9j6lNUVIL8P/bFjssXg9D1D7rgUiBZvD5a/IXFkCQCyK +tEWz60Sd2NPBVp33JcPSuNs+6eJ5xQjbbr9e0SWAM7qrg5Xi0I+ufx9iHwvMXUJ8 +huNkUZ+DaCC0v1icDl0CQFGvVWVIt2gs+zRktRDn4A+9bn9DNQR4EYjXFRLpcjZR +9BToOH4F1YFwN8KsLsd1Trwxbgn95tcSLVsGv+i/df8= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/lisbon/lisbon.cert b/server/component/planetlab/eu/lisbon/lisbon.cert new file mode 100644 index 00000000..68acab5a --- /dev/null +++ b/server/component/planetlab/eu/lisbon/lisbon.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZsaXNib24wHhcN +MDgwMzI4MDM0NTEzWhcNMTMwMzI3MDM0NTEzWjARMQ8wDQYDVQQDEwZsaXNib24w +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMkMVksDZpnD0JPgwE9Bef6HmLu/ +hbnXMkYY1myiz6t1k++O3drDeHwk+8xv/CIaRN1373Fk8AY79xzBndpE/JyrDK7b ++zzF4+l/E+AypBu1744WK6t+Vb0X57NvearVYj5qqw+dMbDAXsG8VZpqTMvgvFga +0VWEJHaLRnA7DMYPAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAFvusHll6EiW+MugQ +xiv4YrEz3mgZGligfsYgdO+S5DqSVGVw/oQZ9s+d955wKcLm8cplyq3SZjjxbQo5 +WSH/3WM6Yc5dq9JxKugOQvCW8xEkktAkxDXd6pxzKtKVNt3NVyqCIQnJI1eNHZDD +K1N9wiQrABEaPmp66QTyLCqnaZ0= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/lisbon/lisbon.pkey b/server/component/planetlab/eu/lisbon/lisbon.pkey new file mode 100644 index 00000000..f0c0e62b --- /dev/null +++ b/server/component/planetlab/eu/lisbon/lisbon.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDJDFZLA2aZw9CT4MBPQXn+h5i7v4W51zJGGNZsos+rdZPvjt3a +w3h8JPvMb/wiGkTdd+9xZPAGO/ccwZ3aRPycqwyu2/s8xePpfxPgMqQbte+OFiur +flW9F+ezb3mq1WI+aqsPnTGwwF7BvFWaakzL4LxYGtFVhCR2i0ZwOwzGDwIDAQAB +AoGBAMDTpVxTCbAHAGEk2i3p5eD7GsFQAyloPd6/acFOMpIHtni4dQ6iFkgzjJHb +Al+PBGfJ5YzDu/auwucAyK6VJhZEkzaX2Bs0LxB4mRuZkyAdyaNkopsLKlLGIFjn +ooofucnegUCxPpTOmqW8eP5UVeDPW4JNB2KCTquM9BVKg45hAkEA98qW3cdtbinV +pHLnSl0dDOF52EtZZV8l4cVQZaojtW2hRw16z4lBVXR1i4dbPci+NK0BGJlJn3wG +G+KIdvwVUQJBAM+1Vtnytxaedz8Xu4QlaYiNLifJJevlnJb3m1HNd89s+AqZrcRn +UOdophiHd619i2muYKegUpbJWPUTQ5+/zV8CQC4+oe9cE8E2j4e0ZhQL0qsfvYSv +c0ym+EPtdjazDR0EC9Bd5Kis3gOby4Axz8Z1G4JrM0Qq/4GDPQShP4StQTECQQC8 +Q7eHMPI2tEeNjmtOqcJwHNc7BJ00phg61g+YI8522mQw536TSLoSJc526ULWo7ab +gYzmIvD472OML3vZ7jWtAkEAvDSN63WyYNcRginRZDz3DtCBLDnKH7DP84KbSWU4 +pNZY05m99ncDEreUQUE+C5gIfrgHxj7OoU6vej96sXPwEg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/moscowstate/moscowstate.cert b/server/component/planetlab/eu/moscowstate/moscowstate.cert new file mode 100644 index 00000000..7be3a6fe --- /dev/null +++ b/server/component/planetlab/eu/moscowstate/moscowstate.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmzCCAQQCAQAwDQYJKoZIhvcNAQEEBQAwFjEUMBIGA1UEAxMLbW9zY293c3Rh +dGUwHhcNMDgwMzI4MDM0NTEyWhcNMTMwMzI3MDM0NTEyWjAWMRQwEgYDVQQDEwtt +b3Njb3dzdGF0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAl627vZKnAp6G +ENRWovRyvghFcKRpfdUPH/3y8sc6VU6gaBOe6Gj6zYzQmVWsUALUYImrhNKuHqby +gJkU1FJE7Gvl06FW12bOHXgxCZ+++RVdA718BRtJ35eg155kXY/H8xQJA+IQfOcs +8VT5HBMNj1SQdDDV5VUniJN8nq4qGkkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCJ +JCqRa3eH+edF6N01F5p+CbD7CU+yACr1SRoVYT/vEFduy0ILDMSdsoyK5eKNKkbI +yx0LPnR63Sz/0T41Bw4MJvepDkWebKGiHkvR2ijH4M7DslrXRCQbiFJ/RMlh9eGZ +I0kxWyfQ++DvwTM8PKskEGvDZ3Aoa8U8ZMPDbzvuYA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/moscowstate/moscowstate.pkey b/server/component/planetlab/eu/moscowstate/moscowstate.pkey new file mode 100644 index 00000000..7b0be2c8 --- /dev/null +++ b/server/component/planetlab/eu/moscowstate/moscowstate.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCXrbu9kqcCnoYQ1Fai9HK+CEVwpGl91Q8f/fLyxzpVTqBoE57o +aPrNjNCZVaxQAtRgiauE0q4epvKAmRTUUkTsa+XToVbXZs4deDEJn775FV0DvXwF +G0nfl6DXnmRdj8fzFAkD4hB85yzxVPkcEw2PVJB0MNXlVSeIk3yerioaSQIDAQAB +AoGAXUqBP49U45qHERDZHK9HZ7SEqUymibui6uVyKXr6WP/cT0dKJN507DphDv6P +1kJ3R81FTpOafsXmP8xn8FONif5Fxgwd4IhjMpzvMFTl78WqBDIzPtoMvkCYnzeI +jWrFQuCGbsJqKcqNq8x3Pc4nr6Noyp8W3d6SKvJyjFFO5BECQQDG86Tk16i7fZHP +4jWfSI2eJq/5K1SqtvZLpr3tHAvJ+tQEnCTPSN6mAzhmt5f9B5nbz8TYShlO/Gsm +zwOg+w4FAkEAwyvvm9JbPqh7CuUSE0j5fOdsjZ473csln0hz/Tp+Zg55h95uQzmn +gnkc/SYL4rk/SB1M7Rdo8LiXbbKPlsaKdQJAAzY3uUIKBUzXp8V9HB8tuhnhyWH7 +se3WOA5vDn7fadlUxuZGadpBTejLZk0cdQdEYpoOEXfQxMeqayv4YQbsiQJAOxok +9yTeaL0QdZ4kuR5SHtbd8ozGSEXqYK/KIBcEi9c6SkC7VzQwW7xdYPOSidfbJ/Vn +hCygpLThdmCqRthcuQJBAJg7AgQYAShkV0dWo2+8V2phqD1OOydQGlmVxV5l/3yM +EPGI4nacY55lEf2thkectSzyOVnUdlqf3fhiVxzzZEw= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/msuchem/msuchem.cert b/server/component/planetlab/eu/msuchem/msuchem.cert new file mode 100644 index 00000000..145aced2 --- /dev/null +++ b/server/component/planetlab/eu/msuchem/msuchem.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdtc3VjaGVtMB4X +DTA4MDMyODAzNDUxMloXDTEzMDMyNzAzNDUxMlowEjEQMA4GA1UEAxMHbXN1Y2hl +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArPBMxnccIJ7m8M3B4KxsUj0U +4GwaS48ZDXp0nJSf/sRIiFEw1lGFYH246UaklHpOWejrgPsx8QneEHDVNHZoxVp2 +bE0nQ6DAqrNBX0YPCW5URJi21ufMz/SiFLPAn+BHYGqI+TPiy2IrhwaXXQunetBL +CejJlm4Fiwwl0qCITq0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQBT2aVYrS9V01P1 +DeC6AW+qVS/jNqzST0j5lGrpmJ+vp3O5oGxkM5KT2JIiuy0thilK1w3+RF8nOw1q +tp9+e4inxujR/NWdW7L1fUemPMX1h9VI0o1w8S9xSFm9/ShyNf1cM9yS8nVYi3JU +TMRydbPlsMNK1gFuZdIvuzVvuzxDUA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/msuchem/msuchem.pkey b/server/component/planetlab/eu/msuchem/msuchem.pkey new file mode 100644 index 00000000..7285d8c2 --- /dev/null +++ b/server/component/planetlab/eu/msuchem/msuchem.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCs8EzGdxwgnubwzcHgrGxSPRTgbBpLjxkNenSclJ/+xEiIUTDW +UYVgfbjpRqSUek5Z6OuA+zHxCd4QcNU0dmjFWnZsTSdDoMCqs0FfRg8JblREmLbW +58zP9KIUs8Cf4Edgaoj5M+LLYiuHBpddC6d60EsJ6MmWbgWLDCXSoIhOrQIDAQAB +AoGAFDB9lhHju78xUN2Ei9k1UCiHXmfgbf/HufYY1QrY3uJFYXyxCeQ8gPZMdxdj +MV5R9Vcm30j0HKK9RQgXK+fC9U4n+u0khOhLWDomkRZZokJv5VHpjCtQ1BmT8vjU +uL7PEjz5/BGVIj15oo8nN0Cvdct0UtD7lM/mn8zpd4JILcECQQDUJayAO1y0hd9X +v8wIzkb7M1b2aHYsG/djaaqQFpBScEMQwoMQsahXoykESTrzAL46rdRk5u/ZbjXo +vYELA+49AkEA0K/OLxxZmGec5hpgpqkIces7zV+KOk1j0BbnL3xed7rF0Y2ty58G +PtWXTI9Mj1enxn6mu4P3eEUIITCx0o7ZMQJAbKiLLPa6qd+zoD8lYxE8O+d00Cp6 +9GaylCGH8dsMupyzTP9DoCZOgeyY0pAreFFWHbnxAmliSexwAjAlyx2NRQJBAJeN +NSVNZ1ug03bf7RTbaMCiXpm1KoNQtI3oNBhuL4Sv5P1b8L0RTc3P+8KjxqvKspMa +YyeGnO+A4niIDnulNeECQQCle1G30FUv+GgM9OswiyDkwTK4cXi7/o3SEzLrV7e4 +l57JCKPSfIBNxH6SvYsThJmQaZdtVANh72pL2PF1hup/ +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/tcd/tcd.cert b/server/component/planetlab/eu/tcd/tcd.cert new file mode 100644 index 00000000..1e444e6b --- /dev/null +++ b/server/component/planetlab/eu/tcd/tcd.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0Y2QwHhcNMDgw +MzI4MDM0NTEyWhcNMTMwMzI3MDM0NTEyWjAOMQwwCgYDVQQDEwN0Y2QwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAKJ4mpTDyGhza+hxWAXyoqSIGXS+517fgfqp +Ep6AHEtGizp872mFFoSspQCrmhlh7VzP530oq83/JwIxGYdR9SG6/f+92aH0chVo +fq0iIlCaQXBdecDLFComSOacylZ/CSs1MI1bTdzEhRq3jUw++eeEjK1GC2NjSXb9 +3/IqJnyjAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAmnAkMdB2gVC4vY7gnRWPOZHd +ZipXDZaQABgTDvWyt36xlfbMLE6K2GU40i2FqQspQOmmgf6EMjEBDKvsll3McZLo +55EB/TR8rhrBVgGGgvg9OfZeYP1ECwxlxkd9x+nczWzLHW6V2aii344c0P8il6S1 +gir3sb7jPmVYfyk921E= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/tcd/tcd.pkey b/server/component/planetlab/eu/tcd/tcd.pkey new file mode 100644 index 00000000..f95b523f --- /dev/null +++ b/server/component/planetlab/eu/tcd/tcd.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCieJqUw8hoc2vocVgF8qKkiBl0vude34H6qRKegBxLRos6fO9p +hRaErKUAq5oZYe1cz+d9KKvN/ycCMRmHUfUhuv3/vdmh9HIVaH6tIiJQmkFwXXnA +yxQqJkjmnMpWfwkrNTCNW03cxIUat41MPvnnhIytRgtjY0l2/d/yKiZ8owIDAQAB +AoGAcYB/vV3pK882m3RTYhRXu0m5Pu3/BTBvxYVIFKK7IXtu2LVfLABl8toJi6ZW +SVU4VZaIyc8X9xlBTy6t/vMqpADe2S7R4qg9ZsCOCPJp6HXd5dFw7jLb2MZrvVVH +mlVG9tRNis2Q5j8msyuwM46QtnJBZepV4swFGlKYdTXZiwECQQDOCKFkeqsgd8lb +tm5s2T78mkr20OfrkvGaDxpLbf2duXuK5gJrvv5kXQQg4t/g4W9U+3QZvTIm651i +/J7fBAzzAkEAyd9wQT5NPOsMlkLNOJobUupQCLrU03XiKHLa2ZYNqKD8UTSsgxAT +1G57q0SpqDE5DXuHB70CTS+yMrEun3X9kQJAOCd2BXLBjVnYkZyJQDV9y08qO1b4 +vuYP31NacVCLHR/eoh7Kbh9iKmyHoYb0SdBnjZvzKsi8EIuLG92KV3I9LQJAWkVa +MzKi40zQUhkJH/h5o3g31c+GABFE0oWZq5bYAMIMUlvVkL4Nv/6vuoR3wUhRlN/a +H/G7J7zeWKC2koP2oQJAK4ugULFZQT2Y+TiT0IeZ0kxoj/MALVcxqj6+kNH0eYIL +ueCTvcZkgcAbjD/WzGhCHFNUg931ej9jyUusrrgZZg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/univie/univie.cert b/server/component/planetlab/eu/univie/univie.cert new file mode 100644 index 00000000..891d9e21 --- /dev/null +++ b/server/component/planetlab/eu/univie/univie.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1bml2aWUwHhcN +MDgwMzI4MDM0NTEzWhcNMTMwMzI3MDM0NTEzWjARMQ8wDQYDVQQDEwZ1bml2aWUw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANNMPYyHTw5D1By7KsmXmBJZpjKO +uuO1bAZDmqXDGkUgTgfCxHLFH+ARW2f4jwckX4XJQgzhAjKU+X2jf8WrYYipRo9m +ueKNdZa6R35/nJ368ZaM33+pXQEbRa2DbWTGD/ysw7LysOP2uygmy8NGG/hI/U4D +jZyyA3hMALfxg/tLAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAJNJ5jlSiZ0M7kAdN +8gUIC0bWs+xphl9VIdcIOfhmO7rl7tG1T0FAda1jVXWVMpLbYCSPWg4uG/IZz7r0 +ZW2hMoeWVu0caM9t9Nrk+vGq0lyBfO4mF2VMydZCOBn08gl10QjnfMIOQRDHX0QC +4SltWoEvF10/SoNrUKLdDW9rdkM= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/univie/univie.pkey b/server/component/planetlab/eu/univie/univie.pkey new file mode 100644 index 00000000..8cc271cb --- /dev/null +++ b/server/component/planetlab/eu/univie/univie.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDTTD2Mh08OQ9QcuyrJl5gSWaYyjrrjtWwGQ5qlwxpFIE4HwsRy +xR/gEVtn+I8HJF+FyUIM4QIylPl9o3/Fq2GIqUaPZrnijXWWukd+f5yd+vGWjN9/ +qV0BG0Wtg21kxg/8rMOy8rDj9rsoJsvDRhv4SP1OA42csgN4TAC38YP7SwIDAQAB +AoGBAMMjfRBEgjlNYR5rqLdm3lXMH5Y/hM/5Y9thIfiGd8Nxcz7tnBnWfXqk7QLX +ZdgVunZHCU31m971AHkMv1rhzP8GuBmQXIy5Vfhh3VvXArTzWaaZjymqDr9wFP7z +2Myi7z693ukezZChp1QSbNz171G9O19vs5PZ4yzF9YF+P8HxAkEA/7narf4mOCb5 +9Xs+eeAJXgFFDq2eJYTtDs8HPFMoz9Y8XOx2evuyan/2CAgO9RJ052sViRLR0HrL +zeiTeuHGwwJBANOGMxSm2n7SjJy102C8Q3IYEIuxU/f2nDB7PRHmDzI9nlWlNCDA +aKRyOYtU4r37xb38BuKpCHM8rCqTBlYrgNkCQQCdhC1e3x1LmTZ+Ltvc1lLuxHl1 +ARxYn/glFwCt98s7ugqUclLIjiDn2MoDSHNuIWBA64ToWd9DO2AuBQRSvJ9hAkBO +c8CwUS5KyWaznNCYWVsejwRb+1osZsAJTzwYTl6mgKogE9TgrNxi2aa0IbizRBVU +YIxhNtZWf1NPuxYnkZ0JAkAVSSeRZ0mMEOhDPF4NWUWptK+FlrZDMM+rZaT/MCnr +T3C+fhKkmg3hto88hONW0j/1hj1S95cMRnbqxrlKqPhX +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/unizh/unizh.cert b/server/component/planetlab/eu/unizh/unizh.cert new file mode 100644 index 00000000..eb1cf08b --- /dev/null +++ b/server/component/planetlab/eu/unizh/unizh.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwV1bml6aDAeFw0w +ODAzMjgwMzQ1MTJaFw0xMzAzMjcwMzQ1MTJaMBAxDjAMBgNVBAMTBXVuaXpoMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDtHmPkqhgqVlwDMcgjZhXRkOMbxnOW +zBg+EaTBR2oCmw7qt0LGQuqBRIEsW/hn9hZzrrf5Dunps/rv0J8f26i5sv5qw9Vw +oVmCORcFw/q4aEvPn2oEZX8E5huPYjGy9c1eb0Q6JAX1qStv+AM9Hq47QBEDkZq5 +T1VfcCt8UAw79QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAIFuptajC6HtzQOEykji +j7EsBrShGtLQZCGtaJStrk463fthVKwZATDWqhxRgCmvI5LFqQcxjvnZmixQWf7G +SxzVpO2+wbfk8932Aiu6+BeckFySB1ZNG6czmE8ijPIgGkm/Qneub1kKV438Pir4 +nSuSmrHTue1P8tvqwVfc5vB3 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/unizh/unizh.pkey b/server/component/planetlab/eu/unizh/unizh.pkey new file mode 100644 index 00000000..bb0dfa29 --- /dev/null +++ b/server/component/planetlab/eu/unizh/unizh.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDtHmPkqhgqVlwDMcgjZhXRkOMbxnOWzBg+EaTBR2oCmw7qt0LG +QuqBRIEsW/hn9hZzrrf5Dunps/rv0J8f26i5sv5qw9VwoVmCORcFw/q4aEvPn2oE +ZX8E5huPYjGy9c1eb0Q6JAX1qStv+AM9Hq47QBEDkZq5T1VfcCt8UAw79QIDAQAB +AoGBAJd7br3KnJ2PhkDUMNPMh+vV8ADyiy2vPV2J0ANaKDN589GnOhWG8mGa7hr0 +toFUCYvl9so56N3QiWNjmAS2Q9cDwgAXdItVxvjj9m7Iog8RNIqf+hCSmW1yWzCW +5QR5B0RWxMQBuEKo8rb8G4XfUXPBa5u78IpXqaM6PMruUJYBAkEA/WsCBYi8iIBZ +Kpg7TKcjKL26dtjfgCZcXibyAV1vvhfIk0ViY3YglDJNTTFQertLjYhnMw9jf/s2 +IHIXOJg41QJBAO+I3map0mLX8hT7EZhdJdjusSv2XyZ9XoXlrW8tEqHCkGrSiF8S +Q3olk2BIHe4VslCuia+xksHzDdJULmjNhqECQCd07c+mxpQKR9fV9AWvUE4bnFi8 +06/ESUVvkuabgbZ7RYOInhUWY2QvoNGQCBPT7aOPxWGx17ApkPfkS7FIIjECQE/M +cBMRljY5rLtSnRz+QyKO+lUkAbTn5TqENpAoGuHq2IPN2YKaqgIiTIOx4s6zSbFZ +RCNU7AhS+ZLNWpytg6ECQQDv87sce1NHkzgWTUugH/c3NvXFv80mai4bNXUi2sPR +uLTtTrsEkMdVQaZje4KrzO/81me0ihK+8mn7FshpMYAI +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/upb/upb.cert b/server/component/planetlab/eu/upb/upb.cert new file mode 100644 index 00000000..f9bb6d42 --- /dev/null +++ b/server/component/planetlab/eu/upb/upb.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1cGIwHhcNMDgw +MzI4MDM0NTEyWhcNMTMwMzI3MDM0NTEyWjAOMQwwCgYDVQQDEwN1cGIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAKciMgBkd5Edh9nGAQdDZqgvp8fUdf4sK9g1 +1YZTgQSE7cd1WvIpRqsm65IrEyeyTAJZ5EYYv3uFeOsHD7Wu5n9SOJSTi1SDemQn +m+ydaAEj3xVUpQNhqqWMMYPx3JMSLBqGn1SL3QF0N5Ll26q14ebsR9NEO31MHIvD +CylKcbXBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEARqpWQsoqanjmOnwINgUJ6wfH +C7VJtAmNDmH3VTWQgQIIp3+tZMuUqUvSJi9fMrwA9F3NyajPVUW1H5pNuHzvNHy7 +k2w0Etm3wSkYdpTMYDHdk8lIG3Yzhy4M5o6Q7BJ9Yh6s3Hfg+cIrJTp8I08JSHEJ +15HWiQgamhtiubXo47I= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/upb/upb.pkey b/server/component/planetlab/eu/upb/upb.pkey new file mode 100644 index 00000000..0d5ab11b --- /dev/null +++ b/server/component/planetlab/eu/upb/upb.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCnIjIAZHeRHYfZxgEHQ2aoL6fH1HX+LCvYNdWGU4EEhO3HdVry +KUarJuuSKxMnskwCWeRGGL97hXjrBw+1ruZ/UjiUk4tUg3pkJ5vsnWgBI98VVKUD +YaqljDGD8dyTEiwahp9Ui90BdDeS5duqteHm7EfTRDt9TByLwwspSnG1wQIDAQAB +AoGAQUFErIqNdIdHJ2v7ss5KIpiYtZjqiNbON5itSckIsq8D98CGRc5/3QtRJrzS +uckPjEt0qTm4aY3vbDRRmeoz7Bizy7wrgpdDu2BGCSh7IS5Gegtc09ljXhPjMAKC +zAqOI3/e07jBnHBFVNlQRaEGTyHR0k+qaAg4sWfvu6hbgAECQQDPTQ6TULXorTqq +4+s6n/LVeFRef94dpo3QYk+AoWa5y5g5ljK0t92o3sRSmEDwNf2ATZKx6lfGDEk6 +GIxt8ZFBAkEAzmV/CbiSK85gUBVvVQ1aDDa6YUle1JyRzF1P/4y+9d53rQR0PkKU +6JU5W928cByu34CNyvny36iD1tpTTlKEgQJAdvb3yF7nJhJTusJ1uf0UtKELeffT +lhyBAfeJPH5jn3hRcaraio+B62l8LRInIjM5uanK58Nef8+JLofr/yREgQJAJWRL +5JX0nU0RM9D+T3lQw/+yOmfRb1FCNLT/BjwYaHC6W7T/3juvwIcwUg1U0zbPE5y1 +k30+2/gqkmURTJI0gQJBAJLuidQk3oiMUoQXbdIyFqaNUK8UV7FZjOR2nLvkDbMK +0MrfV9JcsBOR6PBkoFfGsBcH5P/ofyOTbhSrZcJTBFI= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/fing/fing.cert b/server/component/planetlab/fing/fing.cert new file mode 100644 index 00000000..e1116a0b --- /dev/null +++ b/server/component/planetlab/fing/fing.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRmaW5nMB4XDTA4 +MDMyODAzNDUxNFoXDTEzMDMyNzAzNDUxNFowDzENMAsGA1UEAxMEZmluZzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwpqTIWTTb0YSSLNHVUTaoBSZuwadn+Hn +vJ4WsA4UCh9H3m5EqcvFMaGt01CUjWJF414BzxfstsZOjIGRT8O2i1lXzstw01v6 +MmGzOs2HdZo0BVKBzqCUq5gnfj6HKFqIrbfd1Sebm+7h9fAhAE84ptMvZ78Oi72/ +WB9nHacpG4ECAwEAATANBgkqhkiG9w0BAQQFAAOBgQAuC5l3PUk9MM3goNedNco/ +nSW2pZ+1UT5XtISbkzcJ0kuwmEaegQcMg7cM4aVTE5YqrrOO4rSPhHzAv7C93Dpl +HR7lgJnwIEeP2h8aP5l8WJU2d/g2cwh9KJhUT1GptAPkWpllN9GFrnSqrSD5ZdsM +dK3qUgkVIV2avvEqKVl/Jw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/fing/fing.pkey b/server/component/planetlab/fing/fing.pkey new file mode 100644 index 00000000..8a77f78f --- /dev/null +++ b/server/component/planetlab/fing/fing.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQDCmpMhZNNvRhJIs0dVRNqgFJm7Bp2f4ee8nhawDhQKH0febkSp +y8Uxoa3TUJSNYkXjXgHPF+y2xk6MgZFPw7aLWVfOy3DTW/oyYbM6zYd1mjQFUoHO +oJSrmCd+PocoWoitt93VJ5ub7uH18CEATzim0y9nvw6Lvb9YH2cdpykbgQIDAQAB +AoGBAL3u2AMTwTktjtLeB5U1qpvq/1AG2PkfJ2p0cXhLhUuL1D1IKkP+2evi/SDt +2M9VRxjuu51AoIyTaD7Chuzu+822wX4bwPVw13K6pz/KIutcr3Ge2aN+2Eq+abbp +Q2OtGPrzaJBh7GOFoXBU26fJLHF0ACcg4E6PBLG/WtzyH+dxAkEA/OF7bX0qbY9D +K4z+whOig0yxSegzJQw1v1YMeixrmGIYfHPliAFiqkjYQu+inC2qwhtfucRRCxC+ +XJoO3r1KDwJBAMUBEn5XfL1AIMhynqeX6zuNkpJUFjzXtu3BjuQ4Gylbr0LcJSXJ +bbB6nGUGOBtfZ9ZqMf39+wyC9P7+D2MlEW8CQQCNmFPcQrF3FzitMg2T7hqZGmBK +2dGJdQTDVhM2dZjpgkPjq6FiPiRY5ODy2etbN9bdSSaYhew7Hez5POoGnkbRAkEA +hjrazPbzaUd+jtV6QJsEjolB6y4cEMyyOYF+yQVpjF6KJjY1oW+Dq5F/al44cH4r +FC87bOJW4gmAwRV+ioFBRQJBAO293rYT50Uyvx9uNA+uVz5LR6phxUrQWzKzdM++ +AAm9y8hcH6WhWFZsfuu86QOgi508PrOerY1my5w7UlMkES0= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/haifa/haifa.cert b/server/component/planetlab/haifa/haifa.cert new file mode 100644 index 00000000..c0a00413 --- /dev/null +++ b/server/component/planetlab/haifa/haifa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVoYWlmYTAeFw0w +ODAzMjgwMzQ1MTRaFw0xMzAzMjcwMzQ1MTRaMBAxDjAMBgNVBAMTBWhhaWZhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVRFJyFpUvwjrBT0A2VBPQGmAFehnL +Jfd61juLdNL5Pou7tULogaQlRq0TiE5+mDdRSshVrTDp5lmOvgzECs9fI07jNPhS +JL7aHNdy5CIcRibq6s7jAW2ulj+6fMvtB3LP6M1P2TMaJETIQdN0tF6cTmXTW3zc +9DHufx5twIXOUQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGPTcm8qei/mtCl9RXtx +Z8Ijw28v3LA48w7Y+72qB+oVmUiepzsd9ZjOVed1aQu1lHk1KwcwHy8YpPLacBzt +yLTOraiDfZOE4PFnzqr0zMAsHBhjlFBcoFU5MJUuo7cO1I2Ru0zLtBAQLKcxpOY/ ++9dbqhSnRYWlDiSfmz846HLX +-----END CERTIFICATE----- diff --git a/server/component/planetlab/haifa/haifa.pkey b/server/component/planetlab/haifa/haifa.pkey new file mode 100644 index 00000000..60e341fc --- /dev/null +++ b/server/component/planetlab/haifa/haifa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDVRFJyFpUvwjrBT0A2VBPQGmAFehnLJfd61juLdNL5Pou7tULo +gaQlRq0TiE5+mDdRSshVrTDp5lmOvgzECs9fI07jNPhSJL7aHNdy5CIcRibq6s7j +AW2ulj+6fMvtB3LP6M1P2TMaJETIQdN0tF6cTmXTW3zc9DHufx5twIXOUQIDAQAB +AoGBAMdb0bIimB0H9MKl4cGngMnlDeOwyxHTEO/7+beYYmtp41d5zuzn21iZI8uB +fNbsVbGhNXqZpoLPuOItmGNeM4/m8Bxvq3M6Zb0ZZjzcWa6dbIPevIgcYq+TTUVW +te27nvS7ScZYk2Znp0nDAN6h1zHXxYgBmY2iq5ZUJZgpUYrdAkEA+cwqwZCiDubS +QjqkUwQ7nUFk6s/xYFltLDBdtbWQHxEi/5E5SKyQpRvBFd7XxVYYjdG3k2wLVhbR +UjIA5dEvlwJBANqP8t/K8e4Ikpcu/Dqy5hEJp8zsDGPWPVG4Pfn9wK8/VmkuLLGJ +0lb1TnNptL7FGuigLXPkRurGntzZ/MtarlcCQQDQKvPKoVRcJME9zg7Y2+MuNqv5 +/taBW6TeOWQupKL5MNfAsO5TAPP9lDaBmlaoLgqCTS213klIMfW4kNEss/n7AkEA +lD3ciwQYsc2ot9hLhfi/aUD2Sly0TqcKMjpX9w6wuWypTG/gKo8DVq3NhyRkTpxc +EvpJufhUTXtoVv2Xo8oewwJAH0uqT46zoJ4AMas8jqA2Eyh4t42d0YxmmsYUwWCv +Q4hxi9dD4JPjzmjD3QDbFFiXH3kAJxhDupGcVigxVqZDpQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/icavite/icavite.cert b/server/component/planetlab/icavite/icavite.cert new file mode 100644 index 00000000..0a30704c --- /dev/null +++ b/server/component/planetlab/icavite/icavite.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdpY2F2aXRlMB4X +DTA4MDMyODAzNDUxNVoXDTEzMDMyNzAzNDUxNVowEjEQMA4GA1UEAxMHaWNhdml0 +ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu9p0gv4RXjs85pSNCaIL/Aw4 +YZM2ITkft6+sptBFDHFD62MVRIORJ8cXYMG1qyKvAJuyrXlijvrAVk0ipk0I36/4 +VSC7ZxrETCuKgpxZYmurdIDcPY9keX1S6Qd5Enb7lBCwuoYRJnkwZJdl9Wn+JEHi +grZd8GF0PUQiJLLRkW8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQBWcbT7WlwsI4dr +vqyu37TD1arT3XF62imjOXJkLRS8LqrX6Eze7j+v7ATgnReOy+uzIDPucs9f/Edo +Lj0n0YgbZPXfqoJglraC3SRZNHL2I/Obuc74SLUXD2z46khzLH4l2qz55XPOpheR +u4YUxRl/wAeP6nmhfrcDerJfSoKPJg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/icavite/icavite.pkey b/server/component/planetlab/icavite/icavite.pkey new file mode 100644 index 00000000..30e22ca0 --- /dev/null +++ b/server/component/planetlab/icavite/icavite.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC72nSC/hFeOzzmlI0Jogv8DDhhkzYhOR+3r6ym0EUMcUPrYxVE +g5EnxxdgwbWrIq8Am7KteWKO+sBWTSKmTQjfr/hVILtnGsRMK4qCnFlia6t0gNw9 +j2R5fVLpB3kSdvuUELC6hhEmeTBkl2X1af4kQeKCtl3wYXQ9RCIkstGRbwIDAQAB +AoGAFsaz3bYEURKJncNhHkvhfBvXMi1xILIWYGUSX99cn9eTzpRi3b29+b6v3PFf +n3JDGaXHEjVnd8J7U3tiuhsY+iC8+Wy6jFC32ssFX4X/p4IDjjUPTi/A/8TlSOJ5 +gS/IiVurHgRFgSVx8/Q9KHIG99Kbojy04m6t667QQh6RC2ECQQDsoEU45wyTRUOJ +8FqNGd+QznXIR4Ll8NX1VU4jnFymi3B0bqH2CttIoS3cQI6f6VlMzcFnRklAkujz +oEKnRnHpAkEAyzvmGM0J8d9xskkUbVl+jGlkQCrzhhppag8S8KwSn5rzmYlfAnn5 +Iievq1Le26BdHARtBGBMe4dd08NiHXu5lwJAdkv5z2TTSJ0MEt3ypzAUMNTG1YXK +zyIEFU68bdkyCKEVa2AT4Gm1Dy5lOwObSh7i4h7LXdIptPq9M28fY3k4YQJBAKOL +8U+1+LHG8VTakHCq2zadPUqSBeS97mSl+sTohBgidrPwox94Dm9Y5noFN0ggVa1N +NnmWERY7Sds22QcG4MMCQHcKgBhqnJbGFgMYTumyZFsmDOiP+Fk9cgTatIl5RD6L +qZhbQksOriBHhrPhQwFd0sV7yfvzb0SIG+0jc2FDnNo= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/ihaifa/ihaifa.cert b/server/component/planetlab/ihaifa/ihaifa.cert new file mode 100644 index 00000000..7803d2f0 --- /dev/null +++ b/server/component/planetlab/ihaifa/ihaifa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZpaGFpZmEwHhcN +MDgwMzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjARMQ8wDQYDVQQDEwZpaGFpZmEw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANfTFZiyfNB5Sme43bsZjbEwD2AQ +2pk5XGqDl1sFnzRABmItRU5lmPbCNwk2vxEGxLMRGhTryawroqoXt1HMgBRpgIbh +e5YttkCxwh2a0FbSyTdPyUX7u2a60S9uhIC9Jot30tL72wkpSWKVvfFG+8h51Nw0 +0FIMoILG4daOqNipAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAFKFvMG6TPXCbjzUn +j490a+ugqEoxap3zUrHjwU9UCo31D/fZ5aV4BYdnz7U0Z7kKJfuE/eFGWk52cKlj +BxoxtBcnXDUwTLV9cvYBbuXi0X1RIOTCkrIh6OXffbyno4uOg7811KvSplmoZjm6 +d0jZbipPIXbjhUGxG/d5YBiOZaM= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/ihaifa/ihaifa.pkey b/server/component/planetlab/ihaifa/ihaifa.pkey new file mode 100644 index 00000000..3faa7b54 --- /dev/null +++ b/server/component/planetlab/ihaifa/ihaifa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQDX0xWYsnzQeUpnuN27GY2xMA9gENqZOVxqg5dbBZ80QAZiLUVO +ZZj2wjcJNr8RBsSzERoU68msK6KqF7dRzIAUaYCG4XuWLbZAscIdmtBW0sk3T8lF ++7tmutEvboSAvSaLd9LS+9sJKUlilb3xRvvIedTcNNBSDKCCxuHWjqjYqQIDAQAB +AoGBANZ7HoY+Ms3XC7tiO3BZp7dDpLP6a9ND7vSnS34Yayu4yN8+UBbl3oqzXZBZ +iK26BTZTM5FA9Y2VW7Ufln3C9i//j3k8gAQ8EXX4Ag8LNosrLTv+wxRYwnT21U3R +wt3e60L9UlODb8OVaF8Eym3svdb/glCofRR2nRO4QSiOlbt1AkEA8Dnk6t4AxjdB +/jYrlVrohADV9OEs3p7TSTwKUe2ABN/FYKRHPZb9M3v9kyUNCImFrfbwDWPl9RGW +5d+nhoSY/wJBAOX/AkvLwRLWtR0VtP0npEDTylLLH/Eg2IIYILODQrNj33HoeH/o +oZqKWP1TD4IO/TrrKgoB6tBVJK/+YSwdJlcCQQCli5AIlsK71hqhP91bCJHRXe4T +2hUcuSDrh/eoq92b/kU7qxn5BJMqppiBjXfk2TiJQPH+mEhBUUTG1xDQb5IrAkEA +mIhvNWWEPsI2i3uB9QL9ZCER5abhIEHwVRc7WNKMwfxSjHDouavGwX9PVXJorpDS +UOj1kH2FBXXyRuYl++O5MQJBAO25lGjB+zf+lC1q0HzJ/gpKNcsTJ3iQwOtnwcM5 +NirU4DBdEpESX7wOODlX+KMSk8jk3MEu7J+kOfD2XdO9Mms= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/iitr/iitr.cert b/server/component/planetlab/iitr/iitr.cert new file mode 100644 index 00000000..2fbaab52 --- /dev/null +++ b/server/component/planetlab/iitr/iitr.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRpaXRyMB4XDTA4 +MDMyODAzNDUxNFoXDTEzMDMyNzAzNDUxNFowDzENMAsGA1UEAxMEaWl0cjCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtXCGHTOYNsc7Ywl8i4zAI5V0nnzpPk9T ++HJsBJ0R5hUTdyVwq1U03S7AcrMGB8ah2BZ5m7BKT6RF6z1EHA3B8Usg3d838d0M +yYvka2xWyyt7Wv0gKxivxYs+hNm+2nDe0SkQ7MgEiHaDxh4dRoJAP3LtWTxzziy8 +aEkQHmNQ38sCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBVY5oZq1LGw5nQU/gstVT3 +ll6hKkPZNMBCJqnQWX1m88Z2ujEqhOHQie/pYcqHan15tpSQ36N2+Yb9KEPo+OWp +QbhODG0OsteTCEXcfkjJIo680pGtSfzwlIqc0BYWO6fSTZmJxGLT3FhkFD5NjELd +reJMPK9dlS0bs+cVDTOrWQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/iitr/iitr.pkey b/server/component/planetlab/iitr/iitr.pkey new file mode 100644 index 00000000..0767d895 --- /dev/null +++ b/server/component/planetlab/iitr/iitr.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC1cIYdM5g2xztjCXyLjMAjlXSefOk+T1P4cmwEnRHmFRN3JXCr +VTTdLsByswYHxqHYFnmbsEpPpEXrPUQcDcHxSyDd3zfx3QzJi+RrbFbLK3ta/SAr +GK/Fiz6E2b7acN7RKRDsyASIdoPGHh1GgkA/cu1ZPHPOLLxoSRAeY1DfywIDAQAB +AoGAM3YC0+16Uq8XbPOX24zEQlN1jC4piX6+dk0dzgEuvm9j4ftAhZfZMpK8Cswz +/aic5skZHMtXiFczbZEm7D4Kr4clsxCZfrwUqx3FxuxmxfjMsh3Fu9AgBVMVyx7E +exLICtEDl9R1uipOf/8DWkeqwRTqn2dHFlnLraVnFSjJzwECQQDfb7Y7zqDzWrtf +M4mX2xXNENz6iJg41ZvT1JNeX0YELavyWkFGt6ZGqwnGMV+4Za6YtKc3tAPMDD1E +OFFu5hKhAkEAz+Hu+ZA34XC7At2pAMBtX3sk5Y/k/KqLu47EhXXPfY+9PuOAQl3s +0ZRkrO7p4xIHy3Yrr0V4SE+MkTNS4O4G6wJAD2EiGwXDAF0rbocenmw/GOljPH9w +cuEJI9CLAEDwkdMO9dSOj66ObGjTeGfnncqp9OriY6wpYr8o7Gwv9sExYQJADgra +BLusOqtNxqzIfMeC299Kp8MnmbW/iKTlO4qwwG+UPgpKILGNjL60akYdQHx4UFMk +MkvEC0ZsXWaVI6KQjwJBAIdddkJtyGlY8QKUyZKwy5RfcJElo8RvyqbiwutZM3Qu +wEyQfHiCmobbtlKYupg2BT6fRXRabDUP8wTCk3nZRyE= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/ileixlip/ileixlip.cert b/server/component/planetlab/ileixlip/ileixlip.cert new file mode 100644 index 00000000..7cf125af --- /dev/null +++ b/server/component/planetlab/ileixlip/ileixlip.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhpbGVpeGxpcDAe +Fw0wODAzMjgwMzQ1MTVaFw0xMzAzMjcwMzQ1MTVaMBMxETAPBgNVBAMTCGlsZWl4 +bGlwMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3q7HMiN4fWJSWt/s4QpIs +5/6Gp62YdqoOLDn6SNPvvNtdO6bzOY+DbOrI/DkQtyJxnuhootacKZquMxDzzwtW +AzU4RmGo8W7OqhSUSg9uoKYgDSTDPfg/detasx54qgr210LUp1rNKw88e/cmBysP +vSROFRKcn1I+670/tw/mdQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADQpxAkBtOcq +QkNyo3KSNOwY603kWhsgmPlZ1BJ7M7A8z4C35EP9E3G3Wd16Orzx5zk51GJGfG5p +B7T/U8lnCdyBP8bb+kxHWPY2ZypJ9pkxpIQacNtx/ghOhKPWzK/PPnfOT4qclk7k ++cs9JBCLGvfcUoOH66WYT08sDkKCL7Bv +-----END CERTIFICATE----- diff --git a/server/component/planetlab/ileixlip/ileixlip.pkey b/server/component/planetlab/ileixlip/ileixlip.pkey new file mode 100644 index 00000000..db7b5f2b --- /dev/null +++ b/server/component/planetlab/ileixlip/ileixlip.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC3q7HMiN4fWJSWt/s4QpIs5/6Gp62YdqoOLDn6SNPvvNtdO6bz +OY+DbOrI/DkQtyJxnuhootacKZquMxDzzwtWAzU4RmGo8W7OqhSUSg9uoKYgDSTD +Pfg/detasx54qgr210LUp1rNKw88e/cmBysPvSROFRKcn1I+670/tw/mdQIDAQAB +AoGARaVqd0eTCsnZFknPjibYLQUPo9njXsPoehVVKs4A55BykijzhplWDRz47puN +vAPloLYEJOFShcbU66dbj0f8YM3Ak3fpRFCZEbhKyl8UrCL7nTsZYtWW1L9Q1szj +ApjCLnHDmdUsfc3+wsczmlrmxqm9b9C2JAq1DsGKGWfEh6ECQQDcJisKiXUyRfyQ +VBoDoE56A8vW8vtwcEihMKRL5m408brQDQ3pmczMyLeCHcaHpIAST3YMgueQ4l+y +gSEaGsEtAkEA1ZTFl8RBnSFG3PqKLotxH5nOuAbi2sWYDn5YWrHB1b+hf1rTBdb5 +e17/dcAZFTljO2kV5vAkI059nJfijq43aQJBAInK6g3CU7SP0bGUsmOqpvQABEoZ +8/9AiHU7uNo49Kn203L9eMPKHEHhL9slP+oOsIrFaaITHVW2GyfjYxCvxlECQQCJ +k35AB2wYcgH6f+wYlTu2FlYhFlZ0g4kx9NKnAQ+RxxGZPoDlpxcnEAdP6wB9Om0g +LM2t54vvrjSddPy72Z7ZAkBBeMG+9r6V06BH8xsJ65gNsAneH3wi/xO6xc2HI3AL +B6lYUXaIN0xUhwTjwqWr/Gyj9gjJ1oYcQ33qw2UngxTQ +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/jaist/jaist.cert b/server/component/planetlab/jp/jaist/jaist.cert new file mode 100644 index 00000000..504c19d4 --- /dev/null +++ b/server/component/planetlab/jp/jaist/jaist.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVqYWlzdDAeFw0w +ODAzMjgwMzQ1MDdaFw0xMzAzMjcwMzQ1MDdaMBAxDjAMBgNVBAMTBWphaXN0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDic2ybBWwWDf4s22JCNA3Q/FSQv5zk +k7G2HTXLmSgpva5pPVN+ou25Nc7dobIxOgtFgRMLRG/z8MekYQvN/oeOKnfA/3GH +YxtUB8aQOq/zje3mmbJ6euFBhxginWm6RB/BiK4rMDHbjClJ1NVATQPJ0oe/XvWJ +1yJkcGLt76fjnwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAF0OSdldZmbIQX0GfXWL +EMFxBn5fu9jb+JZbRQOwg35ynP24yPspJEirfXxZKnaR3QQzH4W812nVk8IoIri5 +RmkdfaSn7gX9YbJQyFJio5HdLNTHF6jlp+2ox02wslsd3MwGi6dRiUceloRs3nm6 +ngDGUeWnds8Rj4V2wYN3vEI4 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/jaist/jaist.pkey b/server/component/planetlab/jp/jaist/jaist.pkey new file mode 100644 index 00000000..c15a0079 --- /dev/null +++ b/server/component/planetlab/jp/jaist/jaist.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDic2ybBWwWDf4s22JCNA3Q/FSQv5zkk7G2HTXLmSgpva5pPVN+ +ou25Nc7dobIxOgtFgRMLRG/z8MekYQvN/oeOKnfA/3GHYxtUB8aQOq/zje3mmbJ6 +euFBhxginWm6RB/BiK4rMDHbjClJ1NVATQPJ0oe/XvWJ1yJkcGLt76fjnwIDAQAB +AoGBALGlAsoJ0uTqTT87SzXMSBpuGJkE+DuIcZ0ABTeXCp7UIoKEjX+GqR7mS0Yq +lvNvKXB49UudgIXJmZQmXXBYAFXYzHyM3u+m7T178sCD6r2LhThZEBlRVOhup2d8 +6vm+9HM6Si8eQzCmxQzb6oeTU/qgeUotC0YD4pTW3KzDTcQBAkEA8oqW4oNnEXUu ++zlYMZnymy6VGVtZpx5qZOniaqO2isA7eYWbeC7W56pRZeW6FMMw+PAcs4lZNfjB +MWIw3ZtRgQJBAO8EQxpNuk/fNNZ0Vu8oM3e+Ke8KLMpebWS+8OKX2jTUujrAOfOi +JQnjPLSwm3t/AkVtHkQknG1p97qks5cBhR8CQDfCqvu6kAiQc1OolGEa7o7Ev9yL +huoH8RfwOXCg4Me3eDTxBZQ02I18N6iAjy5Uzb59nWudSRhCb1AGLgvUuIECQGgR +jAIM691RC1mAyEVTVK2DcBCzdnMakDj4ZjvS8GBmazufbNwmskfO2CS4bMplr6B4 +9V+oLS/6nrF2evd54vMCQQCYU5W50/YdpIaysLbHou4yDNqEmMmgnmYeZLmzKAp7 +AyieJek0QIhz8Pdt1Uv8/Z5K2i81HW5Znk1ijsiMUGtV +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/jp.cert b/server/component/planetlab/jp/jp.cert new file mode 100644 index 00000000..b5c047c8 --- /dev/null +++ b/server/component/planetlab/jp/jp.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJqcDAeFw0wODAz +MjgwMzQ1MDVaFw0xMzAzMjcwMzQ1MDVaMA0xCzAJBgNVBAMTAmpwMIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQDG54g2Zw05TvORV1u1rsdxWPJI0hGhvvYxCFUz +2mzgrb+iB2j29mbkCW4brtTfKMjynMRJ6BcPNf4ZNvV9K1c9PXOzzdz2a17R3k3a +JMA2TZFG1S64V+XfO3bJt7AKSV34IIvYVS3fa2mEi0Y34DC2Py//LE0rrRtS72Pz +TFWm3QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALQ5eRlhZ+QttwWoNL/8/d633esY +80uLAWi9M34UzUD9jn4j+2VLBZAnX9T9DInMHty2zNhbiUokEEwImUR4U1jeUcGG +iC6fz2iMQC3mHfvcYKVJ0itFvxOZkbqn5Cswbfdzf3ZiqCGrpOajrx4xSnqbNORd +YGk7ytRDpkU84I2V +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/jp.pkey b/server/component/planetlab/jp/jp.pkey new file mode 100644 index 00000000..7c096c4f --- /dev/null +++ b/server/component/planetlab/jp/jp.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDG54g2Zw05TvORV1u1rsdxWPJI0hGhvvYxCFUz2mzgrb+iB2j2 +9mbkCW4brtTfKMjynMRJ6BcPNf4ZNvV9K1c9PXOzzdz2a17R3k3aJMA2TZFG1S64 +V+XfO3bJt7AKSV34IIvYVS3fa2mEi0Y34DC2Py//LE0rrRtS72PzTFWm3QIDAQAB +AoGBAIUaSzycmWzQOI36N5TM8QoYy4mPid0DPRxyxxF8CYAQxTxYWRVqrk/LP7Om +uyzazh4Mag5LEaNMLk4RSRYJ+sYCAQyuxa8/pj6GS+kp0Evysx1pZc6+++PecVG1 +74BrVAkyL7ox3bPvgg6fax9WwpjJXPruFAHKIBJgvbPwtvoBAkEA7Yn7MFmBsxrf +gfCiRLi9hKo9GgVxYNJLwRTuB5BjErIF08NujTHsJEAdthzsiX0WfE61iNufSWGX +0itEmtTUqQJBANZc4wSz8Lgj1DbB/w58RvymUEQP02fWYnpaGvfwQ5bwAZSlaR48 +i/9l7v8KG2pNuyZoOHt53Iji8HBYCUwarRUCQCnCBO91/LAAvGP6anxMQbzNtJob +dNgBgCG8TS/1OQVzWETm6UtXCF1DDDYUlZyB6e8GYzFg8nqS9n6S7qeNXKkCQBsd +kNHteQux7IwoqfzJF6mp2Alj/xfpdHeJolOunr4fCfQloFBk1EiwOjUksCcYQg4v +rMVhutXN7yAm4rYvwakCQEaMRVL3cd1pJHLP7gY6pZs24TfPvOEi8mBo643vX4mD +8Ky5Tn0yuUjW213T/rv4bX3LoFSNvHJxDHbuINw7Y+A= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/keio/keio.cert b/server/component/planetlab/jp/keio/keio.cert new file mode 100644 index 00000000..0627235c --- /dev/null +++ b/server/component/planetlab/jp/keio/keio.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRrZWlvMB4XDTA4 +MDMyODAzNDUwN1oXDTEzMDMyNzAzNDUwN1owDzENMAsGA1UEAxMEa2VpbzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu0TiWDCiaIP0VAktXNJTFhLSvwb66LbT +tTutmcPKtiJggrexYLdS4ZjSXiToqzpkWj/cCPjvKORWFTU6a3ETHnHlVGWfia3T +1IiUuCFzG1NB9IjBH+o/0tsxow5s0wX+cl+3Jqj+VihWvEntyOaJ+7C1CiKTS1G1 +FP5acRP473MCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCiFGqgj1w5JHuli/uBsP6z +TEzL8XNsLcU8ccbv9fTBp55VqC1DPdTldU0UCjoQs3/ButuZupJjWp33dtlt4jcM +FE0DUMj1RxRXOSg/RDszEQ/AiFA51fhFf2nCisVcYMbge0W/PFko6Cbc2ZQ3/ESa +XLASlCT+bEX7r02va/SlEA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/keio/keio.pkey b/server/component/planetlab/jp/keio/keio.pkey new file mode 100644 index 00000000..7627098c --- /dev/null +++ b/server/component/planetlab/jp/keio/keio.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC7ROJYMKJog/RUCS1c0lMWEtK/BvrottO1O62Zw8q2ImCCt7Fg +t1LhmNJeJOirOmRaP9wI+O8o5FYVNTprcRMeceVUZZ+JrdPUiJS4IXMbU0H0iMEf +6j/S2zGjDmzTBf5yX7cmqP5WKFa8Se3I5on7sLUKIpNLUbUU/lpxE/jvcwIDAQAB +AoGAD5N0LBenen/3M4Ir5ruLs5tPMhpXhkGmrD1RfCef1bRYSKcUttGosCDw5mm1 +fIB31lXXbFugMMuFKXBq8oLOLyankUbNuJvDwc+RT+J5WZ6jELSz1ay2h/SoT622 +t0RdmJCNnPGr0o8LOOQX4VZQlm/HXTqFmcSmCmYuug7LowkCQQDb9PdDo9tojgB/ +HMFt5C4MYT/fC1eyjlFJd8Qoy83B+XUqdKH7/ocPUXMFrWo9QZz02N2BX+fXPgMI +h6pV9XD3AkEA2fSwDbHhlEu3+/v1NWcA0H8lSw1yJ28paMLTM6oV4xevGaMBcgYL +W9BEXhehw3Hx2rmDwMS6ZZM/CPqLHt4SZQJBAMsLfV4RWq9PtqGgl+arpt6Cv4VU +YSZRPjSFvKy0RkJz13bTp9yJf3/ifj2VcecONKfJseCF+ey2L/Kl2dXz9s0CQDmH ++Ay1Xnj5f6gY+sHM3Y8rcJmeA/rawdBwVLV3eO2Hq+WVfGUvqUHj+Jfpnv5rDk8Q +1vFEPHthYasqDxznu20CQBJIxujmGajl09faO9GKPpfl3B2PZ3v7BcHyLcXPEBog +WY/TwXBcHkI/4FKw8iSVMEbAosg/p11ZXOzXcHc9bvI= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/naist/naist.cert b/server/component/planetlab/jp/naist/naist.cert new file mode 100644 index 00000000..75b3a1b5 --- /dev/null +++ b/server/component/planetlab/jp/naist/naist.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVuYWlzdDAeFw0w +ODAzMjgwMzQ1MDVaFw0xMzAzMjcwMzQ1MDVaMBAxDjAMBgNVBAMTBW5haXN0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6T9srwMUCCSXJ4qjB9XqP+FomrtdO +SGkdkhHBfgzCeHWMkkC68BCPmzgTkMKi4GVvFQyRJltCk4r5ayhG4h3SwuTEIVWC +hlMrfZMyB+ziuB0nXyoiCJiyU6Zi7qFjj+8hcE8fgJts0o5Qwb9Q9AsZwHPD6SJT +oqXgXj8vBxU/kQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABPiuWtaKUvjx3tmP12s +wjW1ezl3bO/hscr9lWZ2Yi9uq75MdVTDbKZbgllfxQVYVdsksmegYvIO+tNisnsW +/2IAtigrW+89U/SEpgGcDB0qUlvkuxiPcZGg+f9Phrw/FpR/47i9E7wmYfo5hi6p ++3uEVHL+EU1SKH5sfqbHkCUq +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/naist/naist.pkey b/server/component/planetlab/jp/naist/naist.pkey new file mode 100644 index 00000000..8de0cd2d --- /dev/null +++ b/server/component/planetlab/jp/naist/naist.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC6T9srwMUCCSXJ4qjB9XqP+FomrtdOSGkdkhHBfgzCeHWMkkC6 +8BCPmzgTkMKi4GVvFQyRJltCk4r5ayhG4h3SwuTEIVWChlMrfZMyB+ziuB0nXyoi +CJiyU6Zi7qFjj+8hcE8fgJts0o5Qwb9Q9AsZwHPD6SJToqXgXj8vBxU/kQIDAQAB +AoGBAKmuZvbPJt22xRK7+mRDlK8gScKnQ/HI4usKiF9H1IkcujofTRKz5vFTNVwk +YA+E/PyRGBPt8fmNdGm6HUGJWAx21gYsjMJ0YLW74rJM1gqzJD9BGcghU8ifUS1d +HTjoPMAqe97CQttwx1h+yWT07SNMnIFyOkGrqRjjP85r5wZtAkEA8DHvBkPkAfRr +1+c38jaUz+AZbc1TMfEIdFeD69oVRRDjipyMMYZkfvIU6n9iBrwSIeC6TQKy56xq +2C3tZCPfmwJBAMaSRAWs5TVdgjQ/CersVdqe+utf986UPAMqU1mPe97AXwVAe0or +JwMQIYxl2pQSDS7y2Ix0+u79GAVn88L5zkMCQQCkrGdGMVdpq6wgGmp1ycvedLKa +X/GQxMJaGQHduedpMXn+tvM6pPvTOJ70Yh7PpTL9PPgdAiOrx758tYgSZrHPAkAj +TryjmbODwqW1LoRP7kfxwJTzJzRD2h21nmAFq7qlx+TdZTLG5FdidwrQEQhFjdQk +Re/1QZOgzQXpaCtyvsJLAkAYc7UhlPac+4yQpwyhMtxVvd/qjyrF4yYyAyNfrI2L +ktfp2cw1/9tuZeGaymmn8BSqKqKTOePEtqISAn/tChXL +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/nict/nict.cert b/server/component/planetlab/jp/nict/nict.cert new file mode 100644 index 00000000..750a7ff4 --- /dev/null +++ b/server/component/planetlab/jp/nict/nict.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRuaWN0MB4XDTA4 +MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowDzENMAsGA1UEAxMEbmljdDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1HgF/Ae3eVigZBiS5CF9NlDInHpY1bz5 +5xFF3rsbsS1Ks613amaQol7UAriYrMx29aqKrwtUCVEjuxud1tIRkSuyvCVdlioj +jBjzI3WXWY4A8NHG6kO1eIAiLN31UUQJ1pz0T7I5B+vF2gR9awDpLwaj1M4lUN9h +QlmMhxoipP8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCB24g4EN78aGHE4lp7CJLR +NYwE4FA+xmUKRVFAJ+iy6LPdiWxKG0TvSyScYUmP5p8wNVlw8UqbNInomvPmpVBA +RxYNCy+fBRdcgWtwBWshQBPUfk10btjUDDYyPgGoZHEcqP+VcRIA/hxmhuXV3Xuo +lCPiUE1tGIv78rncYpAS6A== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/nict/nict.pkey b/server/component/planetlab/jp/nict/nict.pkey new file mode 100644 index 00000000..c4b2363e --- /dev/null +++ b/server/component/planetlab/jp/nict/nict.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDUeAX8B7d5WKBkGJLkIX02UMiceljVvPnnEUXeuxuxLUqzrXdq +ZpCiXtQCuJiszHb1qoqvC1QJUSO7G53W0hGRK7K8JV2WKiOMGPMjdZdZjgDw0cbq +Q7V4gCIs3fVRRAnWnPRPsjkH68XaBH1rAOkvBqPUziVQ32FCWYyHGiKk/wIDAQAB +AoGAVgGT4pa5FXzjyEEOTRylU/RVkMoR5cuOmZOrZeL17b24zIz+luqXx7J9PfC9 +lM1bpkx3wS3jwbW/sgEW3pvAkfdCEHUqvVjp1kk2IH4feNCJ99YIVfrFMC9q/XcW +boyx7bq0BFVhE19aLZF5y6cHRsP6u2NUSVKkrP5p0KxT38kCQQD1L0vDSYfSZ7Er +puD9tnBvycThEYWzouGekXhcKqQB8Jad1bapqh3OLVU+a521mYuVwZBSU/JaX8zP +mwF5FbMzAkEA3ddJ+/jC6dcEeoTb0h1FVOJCYEcxGWq2QagMlINqmJXYJhaCyWph ++MuzuTFzvGXiHTIisH1ce+9UpEoO5/FHBQJBALtlHLjz+FV+X1GHyKrhx+oJAusq +40+7DEqP0LhQ9u1snxGfiG8A0KsGxwJgajekVaVuPgpOkwsz8WwzgtqzFTUCQQC9 +UXJxF313xCitSl6ydIprg1/z/C15rGj3pSt/PpukthQthP5+V0xe37Bz9jD38dbC +5btW9NUNa1THk/AenvjlAkA+H9baKaCAo2nTCq0N26Y+i0lU8bPqwLsLgLkqhyKS +jyNx6ahK51qf+l3N6kbXwRdUqOXWoYSzpuisPuhCqstj +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/osaka/osaka.cert b/server/component/planetlab/jp/osaka/osaka.cert new file mode 100644 index 00000000..066aadcb --- /dev/null +++ b/server/component/planetlab/jp/osaka/osaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvc2FrYTAeFw0w +ODAzMjgwMzQ1MDZaFw0xMzAzMjcwMzQ1MDZaMBAxDjAMBgNVBAMTBW9zYWthMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvOrdUhMZtS5ovbjcWD554LWLjS29J +T8Vx2M2sdgiphs2hSA129RsQ8JJFAf/G4hTOGPAyfY0OHCjI4PKp6gjOdYO80aty +HyzNvTrpDD++zhPJi+2m1tc/nv28PJYyDhif6pnWL9l9kixcPvYXAlpUhH1igkv+ +fnyRsBqcWyFyGQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAE72TvEG/vx6FbI7YVUz +0B8IN2D66gicWvr81T78bijQdvXuKoV3JY9Qz1kwZrzVhiWFgmXYd8peXAgs+7l2 +GkN/ZnNED6g4DjJuGfhCN9LH0ISCoMID5aP/XqvjGg94aVEccW+vEJVR25IE5kW/ +wn2NrQ4ZfrJnmTyHpDxs1t5m +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/osaka/osaka.pkey b/server/component/planetlab/jp/osaka/osaka.pkey new file mode 100644 index 00000000..f2dcbdef --- /dev/null +++ b/server/component/planetlab/jp/osaka/osaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDvOrdUhMZtS5ovbjcWD554LWLjS29JT8Vx2M2sdgiphs2hSA12 +9RsQ8JJFAf/G4hTOGPAyfY0OHCjI4PKp6gjOdYO80atyHyzNvTrpDD++zhPJi+2m +1tc/nv28PJYyDhif6pnWL9l9kixcPvYXAlpUhH1igkv+fnyRsBqcWyFyGQIDAQAB +AoGBAMnUFLWmqy2sefGIH8tp8/1Z9TLkAoisV1zcV3Enx9kWlMd73Xg+A86/1/eG +Xz9wn7LdUVCXofiEg1guiCwX+cJrr2d+/f8W82otpzKav9bqPlqyj4S+FQqOOJyv +X4rx0aiRyrSvwDJWPb0qdV+FeN0RWOPmMAUQo8E8MjtAFpF9AkEA/QvHjBi0AgWK +HB7zVeYt0qvw0vTySr4fH7DpwheM9iKVeUA8lSD+dqp32P9DIJ1h5JbLy9OwH3/P +szzSBDbPbwJBAPIFpV+yw3+1/B0AwKEJI6qN87+ftt5nI+rrjyctCfBiodRSFU7S +IycVCIHTRzscMKJFghl0xIIgJ7I94V4ukvcCQQDkSOA5L4AV4tF6FSIJ+KKWUK/u +YTTE4UhK2tvIUl7FHuYigSUmlKF8hMWiaocwwUszYidxNwTJJhFG7jO5wYjZAkEA +hRAVnEfstIqZ0lhXkDI2Kc9h9DkbkaujU8WvLxrUHBYeY1292Vgve41U4AwJXbZi +BtWwcc6BPAnxyU28WsvAgQJAem9czQyUwYos7WEdO0G9uVu2nRwkexmU9MjbXo6h +xwq1px6MOh60eSlHo1haUmbO6qhjo4KW0WhuDB/xr722xQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert b/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert new file mode 100644 index 00000000..fdc475d3 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvamdu +ZnVrdW9rYTAeFw0wODAzMjgwMzQ1MDdaFw0xMzAzMjcwMzQ1MDdaMBsxGTAXBgNV +BAMTEHBsY29sb2pnbmZ1a3Vva2EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +ALiP4bMZ+YGWbXliJoulekSWpr9oFikDgTt2/kiLRjbutSfgkzXQy6U7LuqHkqNs +xv3q5HtgfRRxQgBBbvqZwc8N8FeKRYtfMHuSkWL60NHICPgxfvD3w76ke/3wEUEf +3F7qFnGKUM6382WZbNvbuFkaKUc1W71aXZQdmnXgHcTvAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEAqb9J79EoVIM27ZvenA0TguPiUitoChAfvVGwPij0tEmtRC9KzeYz +dqoOZRb7BShH+OdQhMMP9n3d9ZQCIhgEei44bxHVgqRY/LXYNQmekMnfNmm44lVD +znfm/4oIibwmZ7oLSHBR0JHyWGL6VyHDTV/rXxuaV2Q8iM6wVpj8hDE= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey b/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey new file mode 100644 index 00000000..ce0a75e7 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC4j+GzGfmBlm15YiaLpXpElqa/aBYpA4E7dv5Ii0Y27rUn4JM1 +0MulOy7qh5KjbMb96uR7YH0UcUIAQW76mcHPDfBXikWLXzB7kpFi+tDRyAj4MX7w +98O+pHv98BFBH9xe6hZxilDOt/NlmWzb27hZGilHNVu9Wl2UHZp14B3E7wIDAQAB +AoGALRVwk7iPm1ksqs8QDWLByElouC7r4t7pTaZWnU/wOfD7rZ8NNsMnS9h2MHIn +nuYugc5EO+MpCrpT3g4d1veCQPCmgYnnXKnMeiK580cJjkWc/3P1IWd5kwNk3EXK +yWT9Jc0iaXFYnDRS4QUkScGvLT9A9251faM26br/+AA/8XECQQDiH9pnDLzN7vg6 +E9fiZHNoqlsAUAerWYhmH28r+0pdpx1Z4ao/9hbPVKzmuAs1a0jZZUAXW8wS0Rb8 +tlEJDTUXAkEA0PJGWImZstWz6DdXv5yoEodLSXLBYBF0OamHGIiJVfTMun+8Ljmw +K4qA224zTG7B9ELnzMx3RdhNkpeQHskF6QJBANKtYssILxCfSV6zBjzD4lLuBYMx +DTQ0YsTjHK0Zn5vKC6qmefzFx1K8TatYZfkLUABcOW6J9ITDkms5Yh7Q01kCQQC5 +h2aPFx8yfC7S8tEngqJ6UUe4X/z0oIri6HTcg9/uQv/GWcVuBis3fjQMoz1JkM8H +ZKEOaD8/9WBr2chOjZCBAkA6NdAQXDpOiO2P59A3xMyWWfk90RrIQ0zF5Xz1sSP/ +zaFRtfuDRLRkdbq1EWVY3D+gYJf2NygOqxIdTSoe3dji +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert b/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert new file mode 100644 index 00000000..fd39e55a --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBqTCCARICAQAwDQYJKoZIhvcNAQEEBQAwHTEbMBkGA1UEAxMScGxjb2xvamdu +aGlyb3NoaW1hMB4XDTA4MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowHTEbMBkG +A1UEAxMScGxjb2xvamduaGlyb3NoaW1hMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQDVI4af8tt3QE/CCrjRaR4UWTwKaUVXXPJ8ks4dleaZnQiiA3mgsoIidmJb +KOgZivvSxjKBhSkrsEr3JeQDN4ux0hnW/KH7JGFwZHHAdNF53l3ltZei/B9PT9GV +vTUAA+ZvOMj2nfdBAdr4lGAE3+Uj5AhniiArfZIrWmsdWHX02wIDAQABMA0GCSqG +SIb3DQEBBAUAA4GBACVKQAHA4+gTEiBslqR4Vjb1bFO04i4VwZZNS9CwToQCdVo4 +xyU+eU2uLzGyrGQspY4konw4znaCghzbiWz4y5HTqeEl+h74epjPZlOZH0Z8c4+H +KerQf1InAmU3cr8O7N+/zDO29RT1P5Drtp5FNHFAXTMJcMTOda4SJB4nVEGn +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey b/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey new file mode 100644 index 00000000..e4cb2ffd --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDVI4af8tt3QE/CCrjRaR4UWTwKaUVXXPJ8ks4dleaZnQiiA3mg +soIidmJbKOgZivvSxjKBhSkrsEr3JeQDN4ux0hnW/KH7JGFwZHHAdNF53l3ltZei +/B9PT9GVvTUAA+ZvOMj2nfdBAdr4lGAE3+Uj5AhniiArfZIrWmsdWHX02wIDAQAB +AoGASGdMGVPPt//x2DH6PLEf1bvGiKbgNmBNw4G/YQ+GCZLt1tOlYrChQoHCwcLw +rZSoHR7VE2if5sZ5gOGvRmR9IGjoxZWOiIoKjQwa7LqS+PL+z5QJlu5k4mzLXMR8 +t2nwOlIjp5uoNcHNQ87sjO3aB8uemInWDa4gpzbU3CfmbuECQQD7BOYYRie27lqy +9XoVXU9844OdoDdI9kGXCvhtYI3nsK4IMshBKSuAD5xEYF0rSphFmyBcRGU1gzeq +TNF8iaXRAkEA2V40z+9vqA7ziLXuqj79FkQ6b4dXXrbt2bvv4x0bwebYob9icu5V +avIgvAnGnCJuk5/5kW6h7m6hXJzLvbhe6wJBAOUOjFTcN8NS74rcO+Ig+rbQ+bot +iCVZKXMF/Ln6YKNqcvRiOqBTTDGYjRVMBdjKQfdKXhY0B1L0gSgy3vpQtPECQDEu +K2zQk8bGezt3TmSek8yx6zbIvG/lm7Mj3obYUytv+5u9HZ07Z4AnAFkLLTCuaa5l +B6ZsDZ9Q0JmPsFlgmbkCQQCKhk8Ak94BhK8PhH+ci0id5IxJbpMM2LPP0jpFTIYV +3AwhtDqlPSqnvXfW4Eq8uj9Sc2SJMJ8/CZCw7i32DaCD +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert b/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert new file mode 100644 index 00000000..f9aeed1e --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvamdu +a29jaGkwHhcNMDgwMzI4MDM0NTA2WhcNMTMwMzI3MDM0NTA2WjAZMRcwFQYDVQQD +Ew5wbGNvbG9qZ25rb2NoaTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu7X5 +54fIGlQr1h91GY2NjRnYWRDnyw0QrcsM1F20AHnGE6MLchfH1g3VsUDw9d0tFO5x +Migpu/ca0l6DobQN6Ft8+zZy9N8o+fQPYrSHAm4Cf66rMHY1IyHN0VnQmczs4Ig7 +GZBSPXbZBXA0nbgQ9VXeZW1xktDuzEUOnLIvzCECAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBNIQsP7JVGa4Tk/0K//v+kDUtEQe866QBAIScFUaYXNycM62NphRDI7ZXX +b8E5tnCY0qJy+SuzwseIMlP2ffHeHEGeurbjAcz5WpNl1h0BN1RVcTO5UXlSiwZR +xON0k/A+uHIjQzJb0FfxdDikaS01tkeBfq+/O/VoW6A7Xi5mZg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey b/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey new file mode 100644 index 00000000..5d2b311d --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC7tfnnh8gaVCvWH3UZjY2NGdhZEOfLDRCtywzUXbQAecYTowty +F8fWDdWxQPD13S0U7nEyKCm79xrSXoOhtA3oW3z7NnL03yj59A9itIcCbgJ/rqsw +djUjIc3RWdCZzOzgiDsZkFI9dtkFcDSduBD1Vd5lbXGS0O7MRQ6csi/MIQIDAQAB +AoGAPK/Er7oSU5DK61sYPL6q+OdWLtVsWxVKQyXWbAIvY8f65fZciPJvRSEL6VaZ +kKOFI7NDHXgmpgJpxYGRBQJ1TA/PrrySy/7eM9cnKa7h6GaJNWBl9dae0VifqESP +GgDd6xci6mI3C9A5VrmT0OJqU2eivubOvu5e39XvFmRNhsECQQDrMVpfFztxUb2j +AmiNSyznFTHHaOdKk1a/WqcGNj3THv3R/FoP8ritKNJi4hzPmxAwqlj0YtEl06js +JCFtYitlAkEAzFFAhJmgkVYRMMdfeZd5mXdJDQ92+sNjOhUz2EY8Ra6d+ZeCsIpD +/LXFHbk4xhukdQRp7EEw9QcmxNkgnEe4DQJBAOmgy+G7xTuK9DLSOKNqcr9VyW4J +of/tnnVVCqdcCEwI9B+8aoZ/GL5B18OMUwxTP2DoRpb09kd6GsoAFgh/RRUCQQCy +Oe5dvOUj4j/8nO3b0xZvmG5QxjyzYd0cvYIMFrhc0IVdQ5ztAq9rsePQmdG8fkBn +EwKS5AsgsqxO6lhX+vfBAkAGXCZHSgrjY4DLrpZ988qfr+zTmr8GXyywLxbHQtli +HmUEcaykHMW8nfu8F/eD75k5XuBUcSETOqG2hnsdQZSd +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert b/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert new file mode 100644 index 00000000..797e7c30 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPcGxjb2xvamdu +bmFnb3lhMB4XDTA4MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowGjEYMBYGA1UE +AxMPcGxjb2xvamdubmFnb3lhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCl +Ijoty6h9vvAwHFsMpD56jZSYcU/LAunUmsjMvKn7Hv5X00Lod0gpzylooM8P8w9s +n0sodFVNfjfQRiXhzMMhcpKBlK6lW+7L3JPpN4A6E2WkTKBKrRECb2n+Wj978+jq +LaXPvA7QKpbkFXRttyd8e27IerXaLGOcRs1YMNFbnwIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAHs48zcn3MISFKwFMMs+znnivqPfbNPt5k2EnOcnN4zAoOfaybs2vWR1 +ohVhYi49RCMNvPEj9DR+FYVG8KbKN6JTW4eG+6LSlOt/VgGOR5MhUNeXWpqo4m/v +6eTY8cxiq69b50amrEg4VOEUglMmscCyZdU4W/hUAhN4Edf2KIL3 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey b/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey new file mode 100644 index 00000000..d223dd97 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQClIjoty6h9vvAwHFsMpD56jZSYcU/LAunUmsjMvKn7Hv5X00Lo +d0gpzylooM8P8w9sn0sodFVNfjfQRiXhzMMhcpKBlK6lW+7L3JPpN4A6E2WkTKBK +rRECb2n+Wj978+jqLaXPvA7QKpbkFXRttyd8e27IerXaLGOcRs1YMNFbnwIDAQAB +AoGBAIQ1cQr1QQLb+gUqzqLCZNtNuyiJn+7TeE6lVhrE+fp6B/xcwfbIeVgv6eFA +zkbgvPqkVlIfQaR3Z0wyvWWYwKgfLUtEXztsd1T7ogmYQpAScdeKH7/jfduAYlHC +yMkmhlRYsQlRUizT6clug1cKLrTEoaKEBwMVvOYkElPzonVBAkEA17DxTtwYIaNB +vOqbKeCtaE+XbRVuIVy+gadnguLpi4x8T5dZPPssmvv8hiuiuaDDSYZzbwzBV+To +yRxzhSkHLwJBAMP+heRUCm77/tB69VeY+JOeYPeq5ZXVi34PyKF3OyBIFF9IvML+ +nBr+mFLZfHDs03dzVqXCr8qwMa+XRMvd1pECQAPKmHNKayIsPHuVpCSYTnQG8iJ4 +vfbYKoEc8DTcyD4rugOsJWVtBNu0kjvJiJK6wLQKKP1KvBtPasgeN+mfTwECQGsM +Um8CY+x4YJXYArbEi0h9YbMEOX9b8mN5FXjzWWzpUY81eDv8uqCX2/SsayZ2g42j +hnjk3AUVtR2VvnKnCLECQFK2ewWFdrSRfLKcN4vhULGtPl3x7uh4VbyUSUsiuls4 +q1b2xApXYVKRxD+LyGxiD+Rt6luvVEzdnvmt76ENa54= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert b/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert new file mode 100644 index 00000000..d7aa2389 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvamdu +b2theWFtYTAeFw0wODAzMjgwMzQ1MDZaFw0xMzAzMjcwMzQ1MDZaMBsxGTAXBgNV +BAMTEHBsY29sb2pnbm9rYXlhbWEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AK5FphD9l7e77gFWdDTI7GgsUNL6ZcdsallvNVZzhXihOqlsKmrHXLh2Hg8BBRth +UHkNi77iD0Hc//8dAIAJWFdIPZahfa7U9caQZlYraNfqUEmuuCTueh3Qv1AspThg +gIrNosP8Jz29W64FGLmMDe1Tu/ITty8K3BIJW/HIumWdAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEAEXJJRBW9GTO+clwX6pK6CqQ0iJS638UossGRSMR/whhBf/SneQb7 +Dx+QoXae3vlxM5o1QxEKsBom4jixLIzeJd0uA6qvIQaalJTjhFqCiCtiZQ3a16Sj +hsdRdubn49iYWScE9JpgDRGe52mheIZd185rlNzXAUWr6OSFcN5iK0I= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey b/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey new file mode 100644 index 00000000..176fdaec --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCuRaYQ/Ze3u+4BVnQ0yOxoLFDS+mXHbGpZbzVWc4V4oTqpbCpq +x1y4dh4PAQUbYVB5DYu+4g9B3P//HQCACVhXSD2WoX2u1PXGkGZWK2jX6lBJrrgk +7nod0L9QLKU4YICKzaLD/Cc9vVuuBRi5jA3tU7vyE7cvCtwSCVvxyLplnQIDAQAB +AoGBAKfS2sGx9NEzYVhYcUAD3eXUB2GlUS5i8Wd++NZwGTC500wkphR+OIRK+1dn +nAtqA50Ptmv0Ns0ujjiXLUwfs7mC6QQIO6nP+qlhQQlzky+jx4Xe0hIUEc+zzndh +rFdBZRnEViPo9XBeV2wB9NvLDnZ8pEafkjI0GrRy7cbyRNbhAkEA3ANkH2nDlVOX +PMRRjI9sWxSGpQEgiIjgGPCpSWiO+G4/0xRtQ+H9FTzegk1JTGZDj7hjf/tHVlvF +qOXncaxPKwJBAMrG8DUKysiWf0z4hPmYBRX4Y3I8xgEBnPgZPfm1utdsTAs0D6hM +raRKxWnN8j6jy5lEBbgCkxTsY0vYndvTelcCQCZxJT5j4Xum9mb0unb/3GPxqzEL +iF6y480Xx8x+y3RW9ynviMPyqaDbWNmVnXgO6kEja6dCBY3uTRQcz5rKC68CQAyO +SO1f37KP7w37DXDPAvGbUb0PGkuRqACMv5OotwsDv6mp7ZZEOTRFFPg6MlfCmKbC +2X/NWQIgqP1XSl8ENz0CQHgkffufkyBVijLMAQDwi7NSWHJOFBj2i4tK0uf6IVyq +nJCqQFMU+HWYlzB/DHzFn3xhqqVKyYnUQqPU6qhkQKA= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert b/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert new file mode 100644 index 00000000..e1c35d7b --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvamdu +b3Nha2EwHhcNMDgwMzI4MDM0NTA2WhcNMTMwMzI3MDM0NTA2WjAZMRcwFQYDVQQD +Ew5wbGNvbG9qZ25vc2FrYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzLZp +mjyYl0Dp5VSgj4I319Fz2ikuorayYmbnyyrKDX92eVEj54oYdl7qrcl4tUDn8eDg +qQLnN9G/aF2Ky048+pbZN9REh0UN9y/N+xxNO9StBb6BqvVk2JG+axvnTQ4sBluL +LbM7BmrVo+5s5p66SDZ0YTd9zbblq3un0uQGv8kCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQCKBHxWrJxTgMTR+wHhmc428FrNZYc4IDF7BxfRcnOzORzud5xBtCtJIqpz +QZKASxUPgd1YIs3l4yRsO0Cj8Ks9Mr23d4XnGBSszONlwzzXkPeXxLiBnZdMmE/q +FquF2Tjf6R+7dJrLVCUimq9DznNoOpmaqgDc8+Mr9RURbczkAw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey b/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey new file mode 100644 index 00000000..1effff7e --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDMtmmaPJiXQOnlVKCPgjfX0XPaKS6itrJiZufLKsoNf3Z5USPn +ihh2XuqtyXi1QOfx4OCpAuc30b9oXYrLTjz6ltk31ESHRQ33L837HE071K0FvoGq +9WTYkb5rG+dNDiwGW4stszsGatWj7mzmnrpINnRhN33NtuWre6fS5Aa/yQIDAQAB +AoGABJkURiKWSs9qcXw1HwQNvQs3Tu8d3Qm9d/hXvHh5kVQLlS39YHX5lq8LFlww +GeIbU5N5eFJYXyiW5AE13NslA3GR+9XODISe4yhGT/yJtbGzbxRROPhRx4saY0L2 +5Nh5dhSlXeC7YLFjlPNfiAyvpQ4/p6unovMZagA5IAmhNwECQQDz8rw5nyJ3OaVC +6wXL4nJFVqdzGlREeu4bMO96nWMqgeylFPJnwth3ixQeWv83/zaVN4k7OkWXggXk +kbjqCJ8TAkEA1tN0rzAexkfWPrfIS/K/OkWJd992bEL7s28onL1syCIA/5n3c5lS +r8Pk3TQXXQt2K4yCikwfTIsbkPo644OVMwJBAM08fdE4qgWGkRxAoKrMw/jEE7MK +BrVqeyKTRBdzjHe5wT+N5PcY/YdtkiqLwkb5R5G4nJMgzmXONWj8lIcJY9MCQQCf +9pTMXmiL/LHrwa3D393E5kKWoC7uLnJ+CieTjvmRjMBxk5RO37xSZOvmSwOapQ45 +H0eU81nbBTphmfJ/t1tBAkAIVSUyTwHGddiLSI2vkKsAhtlMHM/jdMnsi5XjauFm +qHpaqYvM1hUo+jMR/5VeYnE1p8QyM8I3b3rG79VT7DMH +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert b/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert new file mode 100644 index 00000000..259eb9b1 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPcGxjb2xvamdu +c2VuZGFpMB4XDTA4MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowGjEYMBYGA1UE +AxMPcGxjb2xvamduc2VuZGFpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1 +b6T3col+V1yomlQHPrWYqJdL4+snvgcoS+zqDP+5xR+U0oFRfwnGGDRZvIyQHjDg +XrXiLsz7vLotQW6bhFhWC8SqDYJGZsPQF7v+xi4Pma+Hv3gU/Z7zwgOBy5P8XpYP +3waHzT1aF+r8EgbAhINFH0S9JffsXc53/7fxldUSbwIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBACL8PIa58DZbe4H9fsEDboF7SY8xyl3XwwnWk9xoRs8YgAiQRbzAaQEb +Rwu0qkbagYvRVdNRj+OMBWZUGgQWBulJ4gNo/BKXZPkn9+ZnOJ8wlkG6cXrZgkjM +0MaODu2oDgZxvPTc7fYD+DswC+47LGQT5Wwq8RI+lqopiMrjm7wN +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey b/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey new file mode 100644 index 00000000..f8e75b53 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC1b6T3col+V1yomlQHPrWYqJdL4+snvgcoS+zqDP+5xR+U0oFR +fwnGGDRZvIyQHjDgXrXiLsz7vLotQW6bhFhWC8SqDYJGZsPQF7v+xi4Pma+Hv3gU +/Z7zwgOBy5P8XpYP3waHzT1aF+r8EgbAhINFH0S9JffsXc53/7fxldUSbwIDAQAB +AoGAT7hqh79v4m+IaxzEZxqKuDT7pYDTxnactnwF8SEdDActRTrpT2G+bagc+ID8 +Uiax2yRCTsu5jbLzKwdhDjwsg4TqKnDI+kp/FSp1wotRMqe4WN5lZvUngU0RGbvd +S62S0qvHTPGIxjwgkyWNk7B7UOY3jU2OpE9TSNtgSRbfN0ECQQDZLeB77qSSkjf9 +NRUPa2j0QWF2uhOoh04cvuNf3zsRz9o1TPRgLvszzkb/692PheEwhhyh8EIfGYsn +xug9APN3AkEA1d4pu8rLcHhKmoTOUp/R2BPI/A24RLZwOoeXA/wX73D4DJDIFWt4 +WCgX1r+FRbiRiwdscgBSrXIa+jYyka/myQJAJZlNrecI0t9BljKkbMD5sJ/JEdbx +JFIYcd2SW7y360OC0Yt7G1PG5Zcmr5PUDc7tx4rQVjDUIbI4ZzCGcFlDzQJAAuUB +3ZfODxShtdusSzP8jBcgdkDdSJjLhg9FvPkRfd0ijlD7VEbjFxZb1D09WYc4+Q+9 +qQFWHSDZOp+3KX+e+QJBAJRnjecDlV5hGqLmsf0P7XwtmhM/MQcBFhs6HbeUBQZM +XafaYRZKI5Z2ekgbHrspeM31paWfJ6zt0ub5Q6tA0tM= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert b/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert new file mode 100644 index 00000000..991b5620 --- /dev/null +++ b/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvdHBn +ZGFuc2swHhcNMDgwMzI4MDM0NTA3WhcNMTMwMzI3MDM0NTA3WjAZMRcwFQYDVQQD +Ew5wbGNvbG90cGdkYW5zazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3ca8 +xc8Cqjw+N2ffP18miWdZJJ6z4bCp13huLEeJTca8DiVj2anmKW7QsyH+hKa84QNb +OkK/bWnXEmBmDRd3ZILlnTUHmsWYrmmdcUMyf9MY9OfoMoByZp9xeJ0lTKUDahdN +2Pk7bohEZKB5Eo5qq3oqnXy3UfVDF6P9IkNEqG8CAwEAATANBgkqhkiG9w0BAQQF +AAOBgQDQ3Qcf4roY3bvZD4YoGXmKhBDGKBQPd9O27JcCQ5XiLME4aexw4akaNnVL +wOS5mUdjH04q8JuM8cNtil27uloRdYsCy1bX/trITqWg4foy5Cxsqn+ctHWbghZz ++DBPjgWQhDBw1sV1SDhjqg994/c5kWAWYh92FS/cv52dyy4WXg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey b/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey new file mode 100644 index 00000000..8b89596d --- /dev/null +++ b/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDdxrzFzwKqPD43Z98/XyaJZ1kknrPhsKnXeG4sR4lNxrwOJWPZ +qeYpbtCzIf6EprzhA1s6Qr9tadcSYGYNF3dkguWdNQeaxZiuaZ1xQzJ/0xj05+gy +gHJmn3F4nSVMpQNqF03Y+TtuiERkoHkSjmqreiqdfLdR9UMXo/0iQ0SobwIDAQAB +AoGBALczxxk4yqDKJzMp0VfOSE1VXGRN3Zbgk0z1pT1a0ue29f5RkMxr9z/e1PRF +brUx7/GJDkFwhiXiOtJpY6QI8IxDa8oCbEjLpYrMBZ9C3pLUHy4mbM/LaZxXdxX+ +A203NYrDWopRt3KcF/Fm63pOaPvu2b+DKips51XnQfp36qBBAkEA9PbfOWXIIjz5 +ZX5+FWcSLPpoI1G3hYldPgjMjrEI//ESov42bnN7BPwcYAZ0wZ7ecYZ0i8sd40LJ +QZdLwlBMHwJBAOfEcTeIiaMvuBKnoWFY5GkZyDfstgynsBHsQRbMWnGBvUvAgAMi +y++mrZUwxzumC7LdbBfZucqqcupH8dOPGbECQQCzm98IAqy/Dd3+oMRphO06tU9t +thjNfG41cdYqOXvTzTpQ7/uQ+HMWsJNNhO5OmOGYc3E4nnEHlIxj3z7Y9m8ZAkA5 +SWYOqvISYu4ltkd+b2Ft1RCXOiw5bo1nsLTZ9ML6QW5PthIuNECiSNmpAbiNNtq3 +aGGad5ejz4O+AvB0MW/RAkBmdjKVwfBHBALXJQPxDNLa/1JrDHuT8qO7RVXExc2I +mUcNAgvSDid4iA6wkFphe8z0vGDCgA987HDZfHYvI/EK +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert b/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert new file mode 100644 index 00000000..e683e742 --- /dev/null +++ b/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvdHBw +aW90cmtvdzAeFw0wODAzMjgwMzQ1MDdaFw0xMzAzMjcwMzQ1MDdaMBsxGTAXBgNV +BAMTEHBsY29sb3RwcGlvdHJrb3cwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AOtiAqrvauL/hvfHuIF+LIYirzIXmpS09Px7gl/Dwj8ilqfPi1740CLtMiOiFx4I +0aH2dDSwL2bH82aGICrLdTiL+7VKrK/xzloWIsHv7vdwekNNGEIH+MjLsU8NE5u/ +azxOJmFagVUDr6l7krxLlghGNhZQp7yWx9++RaY/+udpAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEANX/+a9QHDZo7TNGiP52Sf15Uyomdqaq6xhBkGpUTaeJWpRmTEE2/ +diXIHsCn3wUxoygIurWy/lYGuDewBeyRwF5jBaFcIqO+coPcrBsvhr4gzGCITB4E +jRjTuJQI2q5XC4VO3J4UGs9yy3V2yJrmQ7KqcDC2YTj1M13hTQRd+y4= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey b/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey new file mode 100644 index 00000000..df13212a --- /dev/null +++ b/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDrYgKq72ri/4b3x7iBfiyGIq8yF5qUtPT8e4Jfw8I/Ipanz4te ++NAi7TIjohceCNGh9nQ0sC9mx/NmhiAqy3U4i/u1Sqyv8c5aFiLB7+73cHpDTRhC +B/jIy7FPDRObv2s8TiZhWoFVA6+pe5K8S5YIRjYWUKe8lsffvkWmP/rnaQIDAQAB +AoGASLGsQT5PtGtWM4/q25MsDQEJOl8vzl1Ui+VZDlpW00jLXmgqktok7aRzp62X +lh8DHxIOMXd4LDX0ZeVmadEMEiMJema5df+JNfc3vbtToAthkvDpr/YZXjYIC01m +Ri62UjW8UnDnFavFa9KxzY2OtAkJ9IZP6eVH53eUhq1cQAECQQD168oPR49s13od +WixJn/ZihnbGjiYb37pCbG0YBBU7DnpF9HnE3tWQUTT+6og3t54gPRLMdpMo6opz +s56BEASBAkEA9Qenb1sMxorw9zGNhBc1R2fHb081OK2+zzXj6YFqUwckowcZzskR +Uw01Po8bMaouwWtibNz4/yUDiipwJUfO6QJADwsadC7TdjwEK1F9zg8r+kDxeRnu ++NuJwFBzp/lv9wnervLSlBlxhP+Ct2lPZeEkmiJCSSGjxOf8CjHdq1V4gQJAJDmq +dlsWq2+1KkaILoQj21erc3hZXPTK5eWIuWfpqTbAIt4U4a52QjoMqiAMHC6V1QCk +P4X3xfjZ6h5WEBzqqQJBAO6RMB9dDyama/NJwGCOi6uJlIoVvdA80ss6GT8LPhM+ +ylMnkQcprV0GdOiDazRT5qJX9HAusOi18Gg3T9MGSpY= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.cert b/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.cert new file mode 100644 index 00000000..7f546cf1 --- /dev/null +++ b/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvdHBw +b3puYW4wHhcNMDgwMzI4MDM0NTA3WhcNMTMwMzI3MDM0NTA3WjAZMRcwFQYDVQQD +Ew5wbGNvbG90cHBvem5hbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAta/a +d5HU6ZntMyohbF6CH9MveCcuqfKW2bTzx3vVzY4aqs97D4pqV4F8zAcQwjq0Vzqp +xIrwa4bxyikNwg2axy+abi9JvGHziKz03cVt7S84QkBmUMaEx/MNLHM6XCiZvTdi +x8ZKl/U/l7mDW7mkteFEzMLXUEq1BMv0X/wFnw8CAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBJviwXpD50PkO7zgI9BCvoNvmD219go7DrZdM+PfEvHgES+zrBFUhue0/O +8BeKqxaXDKChViG4O0Cs/BYNeRC/SM+e3O5GDzI2ixkVqiUOvHDrXpQnIEgzCURp +xhxD3STm97N8qk4eV03RUuS8hSgVQpcPb3BPA3MtBeiWh4tvKA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey b/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey new file mode 100644 index 00000000..78ac001d --- /dev/null +++ b/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC1r9p3kdTpme0zKiFsXoIf0y94Jy6p8pbZtPPHe9XNjhqqz3sP +impXgXzMBxDCOrRXOqnEivBrhvHKKQ3CDZrHL5puL0m8YfOIrPTdxW3tLzhCQGZQ +xoTH8w0sczpcKJm9N2LHxkqX9T+XuYNbuaS14UTMwtdQSrUEy/Rf/AWfDwIDAQAB +AoGAQAlyS/CHhapuMzlnPGX3ITZzJbtRtC6/wo4H2kioa+HpPkkQy8JyhtMp5FOd +MYg1ZgVULuT1pkCS2jksEzhuU6wKQFdbjqP86GSx70iYPqgbq7hSBrl/gsJF/rEb +vZ23Eh1hNdjPOhlamXGXNr6gS8zJbKkz6cY7Jdu7wfskR4kCQQDkS5VscxBWBtJe +XqHu5D4HUHql9qUblpjQXOZal9NcNnE6hzGIwRyemea0WMMWyzfXNIVxg3ZFxYKs +ZTuU0YX7AkEAy7xLqPvSRqVeTayngxFjs2OWN/26gGzvOUn7CCC/YDOkmanpXFL0 +rUXwXfFfVEAaRYrIOZ1/I6hjsQCIZITC/QJALBYslPTjgrluhqrfurJ5CBCSntoy +qFE80YAfO/914ajh1NumxTIFxNsTomBBzHUSI40Q+ArbHD44LfKevu53YQJBAJr4 +HSzqb2XhP7whikF+JrI7G/Z2/zfUpJqVFWd3UVqhraBcx+68AvUR7+XlRbfWEqW3 +DNoWXLEI0tu+JgEfoxkCQQCS0RjIMOFFXc9FpLWCnyTwvAol0aUhiA2iQSuoMDZl +fRvZyye13a43BdTrS9eZulPwCvhJZA/n2lg4s0+FE/6J +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/utokyo/utokyo.cert b/server/component/planetlab/jp/utokyo/utokyo.cert new file mode 100644 index 00000000..29b069ad --- /dev/null +++ b/server/component/planetlab/jp/utokyo/utokyo.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1dG9reW8wHhcN +MDgwMzI4MDM0NTA3WhcNMTMwMzI3MDM0NTA3WjARMQ8wDQYDVQQDEwZ1dG9reW8w +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANsNqOHKf2xdiCL5bCFd2/hKkY16 +1eh9aAcx3mAnr1ZsX1Rydq4ekbh8MbLfWgecku4K4gPEqTzWw9WVGdgS7uw9SjvG +AR5PIqGYUUT3zd/yCpRbvi9EqS3t2h3i7jd8z6CogNFlxPQNYg8mYesqXZi+1wIR +EaNkWiJOA3bppUdVAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAZRjE09B97FXikiNb +MOggBAwPw4GVTx1YZRi9vvAg6TelkKHt4h7ASZjEq05DmCyYAeRuMqx3rCSqSdNb +MtDtLSrnJFFdjTRuRPQN601wJLyC6QCGXmLZQeEMnq2QdQQ9XwHugaHBJGB+tB29 +k5tKGmEGoCINSkDson7C0XxxTp0= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/utokyo/utokyo.pkey b/server/component/planetlab/jp/utokyo/utokyo.pkey new file mode 100644 index 00000000..226d1200 --- /dev/null +++ b/server/component/planetlab/jp/utokyo/utokyo.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDbDajhyn9sXYgi+WwhXdv4SpGNetXofWgHMd5gJ69WbF9Ucnau +HpG4fDGy31oHnJLuCuIDxKk81sPVlRnYEu7sPUo7xgEeTyKhmFFE983f8gqUW74v +RKkt7dod4u43fM+gqIDRZcT0DWIPJmHrKl2YvtcCERGjZFoiTgN26aVHVQIDAQAB +AoGBAKgBGf3SqVgbhEYOtngA3KzZxDiWdWkSha6++KcWyMun4pWKFKwGlgzAc/2U +gCBGXgpkHmR1eLdIoHo3GNM38jWiHS7JfCYOYEvFx4aIQzX4P/R+5DfHBMN4Z5L6 +DzXO+ac5gQXaRL6zy47n9HSaH+wJh+09MeYj3tvPfs1lGn4hAkEA+lm5/ovFsKZd +jZhvCr9HwpbXNG47+m2HImv4khXo64+b80oZILUB2NnkDd+ydH9Ym54WxT1jB7jc +fs6mXGwxcwJBAN//ITh4PcvNVk4twF+AHmGennqCexN9UdC2KlwewWVKApKzmylC +1N273B1COpeH6+kZl7PQfGPwR1NJsR4SUhcCQFfyk3uPwKg5GZ53kXLWFbCPaxS5 +MQrd1V5LTeyME+JE9gU237L0w6xZh1s0Xa29WvR4SgmKcjKxR4yorhrDy28CQEx2 +53xDb7T2r5OYgqcXMUfZwffIOwN4MEmzJdq0lQhir2Ys8bawHcJjssw6I44+1AWK +uwKjFRN4nqCL8250ipkCQEoyBTRO/Dr7pNKD7reO6S4q8jBaMFoGYG76+6oAypBi +prXOPilRps7ZKOkpGNvtKV7Xr7Cz3hUcwr7IWaC6eY0= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/waseda/waseda.cert b/server/component/planetlab/jp/waseda/waseda.cert new file mode 100644 index 00000000..dfd33a30 --- /dev/null +++ b/server/component/planetlab/jp/waseda/waseda.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ3YXNlZGEwHhcN +MDgwMzI4MDM0NTA3WhcNMTMwMzI3MDM0NTA3WjARMQ8wDQYDVQQDEwZ3YXNlZGEw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALexccXPggc57pjBKUvx0xXr8c4G +SQmcTs8sQeQqULwWGiTpIYKW9ku1f7Ccj+0UwJIQpgxVCJ7GI4T53Bs3qftrMgTX +Tc6QajeCiGU7Aa/dwE/JFC6jqUAP1wHWuEXAm4DKZNma7vUOqElyq/92YseR1IRO +N3/rvlPsA2wyEFIFAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAo22DfyRxdWis3Rzj +etUjAr3oHQYcLpfTZV3J8QD4xGA553ZtuujTK9jOFHcc/d3qMEcbF6jZxdqWDrTq +iMbwXBVDElLKxVlDqDT6aB3ahBau5l4aFdk0z5xUAlp0nN+FrZckftDK6TSQCusU +C8wIeZUybyPa6M95DXhVI1YwIKg= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/waseda/waseda.pkey b/server/component/planetlab/jp/waseda/waseda.pkey new file mode 100644 index 00000000..41e2812b --- /dev/null +++ b/server/component/planetlab/jp/waseda/waseda.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC3sXHFz4IHOe6YwSlL8dMV6/HOBkkJnE7PLEHkKlC8Fhok6SGC +lvZLtX+wnI/tFMCSEKYMVQiexiOE+dwbN6n7azIE103OkGo3gohlOwGv3cBPyRQu +o6lAD9cB1rhFwJuAymTZmu71DqhJcqv/dmLHkdSETjd/675T7ANsMhBSBQIDAQAB +AoGAVbFcvwfvw8k9ylsKFdipPWfFdPQvrGETzsf5sSQgZ63z4lYzgMVF/smb2Nsg +tVvh/gHwRH6Ct/b86PLawIO2Mr3xvgH0u53yLbi6QDtp4+GUmq0duLrWIRvKycpy +dlEzn/15WcxrDzWXn8+voHek5wxdCH0iHV6pDiWeoHIdrWECQQDnFKUR/O3SjC/m +1cTcQQCw310xP/eOjEGsMK1W10/BhtkzR6b75gEGHhslQp1WAN8fM+sTk8mDr1nM +skf74W2JAkEAy4CXR9NwhicD25H+4i44/1+ikiG4fRyxVn74X5a7kdM037VmFgn4 +NMtqJyIXRBmsWYGm1Z4j1yDMGLIL2OK9nQJAOj+x/H7NVC2SRZXNMdgQ3ITxcOC2 +/m/MfiMnDqTnrdjYF10Qcp7f0zLzlMjd8Df4Bl2H/D9cpJ0m/bpS+uMwQQJAU5/1 +CqP9onMX57u35NQfwflXwfsvZ+JJkYS9pfI4A/WpzaAqYjYYlAFfDtO4gdiW9XUM +zM2eZsHofOF1ctvCFQJBAJEsgFG/I3t3f0NnzOFwifDDzu2BYt28pFcBu2lpv14V +IeW/ryOL2uNFkpvLLf1ZQFCAfeSPzHzT2k8YdZQkZug= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/wide/wide.cert b/server/component/planetlab/jp/wide/wide.cert new file mode 100644 index 00000000..e1827b79 --- /dev/null +++ b/server/component/planetlab/jp/wide/wide.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR3aWRlMB4XDTA4 +MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowDzENMAsGA1UEAxMEd2lkZTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxvuZnIVQj0yJAvn19de1bTD/Z7iBmSBL +bgeeP4RenqFsa9U/3971ckOGTyStZta1XkCkpXMqqXh1nJHnTdgF0ILm/h5GLzUB +hC+tzHFjETJ2H5YBDopuCf+AhlDkDBbpu6LEd10cJKwLSjHSxBa3bbQgtUT8sB7O +Z+Kope+jONkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAa7GcURkSdqMaBH0VHRzdD +QoHaSdUm+QTD7kVpP8NsUqP1ymvqV6JTWgRCLv5D7FRK6Q/EwvpdC8lxQCApKcno +ZyTYG0dusHCDQmAkfS+hjKsYmsZic7nYi5dtil72wNFXxuAkiVN+KBFKj5d7if1U +riGocsQF9GFe6d/J4l39Gw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/wide/wide.pkey b/server/component/planetlab/jp/wide/wide.pkey new file mode 100644 index 00000000..17c38dac --- /dev/null +++ b/server/component/planetlab/jp/wide/wide.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDG+5mchVCPTIkC+fX117VtMP9nuIGZIEtuB54/hF6eoWxr1T/f +3vVyQ4ZPJK1m1rVeQKSlcyqpeHWckedN2AXQgub+HkYvNQGEL63McWMRMnYflgEO +im4J/4CGUOQMFum7osR3XRwkrAtKMdLEFrdttCC1RPywHs5n4qil76M42QIDAQAB +AoGAS3CygZwtudarj3xTWzzIJTjRbHKQeAy9bF7pCW3XLc9Huu5jxC3U4thlAHaI +Y5f9tVlO0weB4jSwaocKqgG/2e3MSdWC6IU7wPQ75rlAWgtggyvowhpZqZht9UOE +c+9vJcukH+5//LbuClNdRlpunihu+XVe88R/2naLz7vy7IECQQDlzRqUpsg9blra +W3g5LimFwczYrZ2D3mHO0aPYsqIGAQq50KMR4ArpspV2l7bjUppWMHFGH10htjCS +I6XnDS2xAkEA3asKw2zquzzCE4HWONBS0aKWA5/ZTT4WmMTqbco0NpDVpH1OrWx4 +pA7cgd4Mfix43+umpM0i+2inBCE+Oam/qQJAbrc1wj7kpKxBe4isUKhL+xSXNCHZ +jQoch397eFEAPPJNj57Uoi0WNOgEmMGZrMZEc5gdSxKbVT2pAw/Hw50W0QJBAJPR +dpkBbbq0dps5jthOG5xONoluNCNtTvZLAiV6nLzycnWBVlERr5V/j45Ou7f8AhMY +ewUVAsnybMW1QWCEkRkCQG9e8cka04QBwPP7J+8uQD1gVks+ykFUiiZfXR92Y7SZ +Oo49U4idOeSDBV+o89urWKY6S8GwJpxs14zUo9bMcTw= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/ntu/ntu.cert b/server/component/planetlab/ntu/ntu.cert new file mode 100644 index 00000000..060caeaa --- /dev/null +++ b/server/component/planetlab/ntu/ntu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNudHUwHhcNMDgw +MzI4MDM0NTE0WhcNMTMwMzI3MDM0NTE0WjAOMQwwCgYDVQQDEwNudHUwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAKcx8RV8xui9KljAngEkZMsJTGrskOztJJ9A +xDOPfkBU2/VGqp02Ax391+F1H9azPsbna4m2rW9wG0uo+4YWBCXNukNJUegTNgW1 +BWmHUrxtGIhdt47H2jAgiQJSSqs5ChjB4VfbaSNhlRYRCBKntvsYBdqsxtyUfwUs +XsGNpCetAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAH7Eh035PJX3U4eh2J7j8g82K +JalWYgSOZOsTc///FTZb3lfPuDjxNJT0DNumvDH11KIIckbeZeC7skwVE9RWE4OC +PWNjne5M1BNTCtq8AqDqsn2eNZZV27vDjf1wGoiNhzqWZFkrB4IY/+t1k50wOI7P +ZVHMN/tN9NSQeZbwbXI= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/ntu/ntu.pkey b/server/component/planetlab/ntu/ntu.pkey new file mode 100644 index 00000000..b4000c4b --- /dev/null +++ b/server/component/planetlab/ntu/ntu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCnMfEVfMbovSpYwJ4BJGTLCUxq7JDs7SSfQMQzj35AVNv1Rqqd +NgMd/dfhdR/Wsz7G52uJtq1vcBtLqPuGFgQlzbpDSVHoEzYFtQVph1K8bRiIXbeO +x9owIIkCUkqrOQoYweFX22kjYZUWEQgSp7b7GAXarMbclH8FLF7BjaQnrQIDAQAB +AoGAZQP7kOvukbeY2j6mODJw42sezItZlIxC0CUlZbGQqfWbX7nuY0W65Gf2ArXt +Ip7xkuNHSdEhQG8PTssuDHlIz0RZkwkfpSTtvBZI/c1VMybA4g9+gNvUinKOCngS +OIZsHp5aPcde7+pss0XOtkQGiO8B8JWwG+z6zlWSi5AXxtECQQDPqQ49KSVWLe0D +5LsGr0sH5xNS25FcYu0sN7M6/EoXH6g3DWZN1WUlZ2DG0O+KslHZqlKUD4H1+DXh +vb7a98gDAkEAzh14Kmzj6iQLvD2yhZWapOo67gvbUdQQCh2N167jujVNEhOPrxAP +/9cjx1Grl0+F6D89+xMmmvdI1jI2vU56jwJBALDckjUC+zq36Lq9L5EU8PltFCco +vFgMJWXYlrzxLQUewD0LG4vE6N1/e4w5XRsqns2c47IYtx5P5Uw7N/b0vBMCQQCs +dDfAt48Srsoq3CxsXLohVeGsnrsIgjhRXlz5o1jiygoMH9XOkc/xLd6/vHOnjF/r +7E49rs5URqbooObwCaO9AkBdJOqMfmkmhvCsKQdbsLSzjiRkE1WboMQJYcN50ntv +FS2Zem6yhX07aEUoPpaqPhIp3Biz+kCumGyWNQ3ERnXa +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/planetlab.cert b/server/component/planetlab/planetlab.cert new file mode 100644 index 00000000..c1b42112 --- /dev/null +++ b/server/component/planetlab/planetlab.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52QbJtucIQUE +YZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba +6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5amLZcMPm +u/G64ieWI8QMUxYgCE1ut3bI1QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJH5KqIU +2lrA9calI3oklbWpduiZspbwCUkhr8PNVDnkXSI1K+egDqFTaANVp1DxXU8qaDS6 +X5+s9Qf9FQ5+9mfSaocma6YW4Qfb3Zm/mYmpt+nknTlnVuEaTENyBIPfr0pDqzld +GGcYPul25KknFmdPOrqAUzma9n568u2KYlfz +-----END CERTIFICATE----- diff --git a/server/component/planetlab/planetlab.pkey b/server/component/planetlab/planetlab.pkey new file mode 100644 index 00000000..15bf789f --- /dev/null +++ b/server/component/planetlab/planetlab.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC1li/h52QbJtucIQUEYZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLE +RQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba6Rb9vYKEMDujZwdc3QjhAbYS72V28rbd +IeHysJ7JeGz9J1ODLSzbcCt5amLZcMPmu/G64ieWI8QMUxYgCE1ut3bI1QIDAQAB +AoGBAIIlztPfAMTlKOnSUMI/HStpMTeT64rWOWnftIZrcRSzr2DkhQ6fV2JhOZqm +13ofk8ouZkQFO7rP2pzu0hM8lRi65WTelTbGPY+QAM0GFiCpNrQ4pIkyvFVLoMyy +Uz+JIqv3LwNPws4OIQvbccTm9WkoPy5o99mlHFVBZvgFvQ3RAkEA4ZeWM4fOuUZB +zdVeWXx2JqIrYCdbwvK5gSP3WtzilbUGLJmGZQzmohym/4wCYmecjH0F8LyFTxkh +/Sh+7V7I5wJBAM4QH0F4htrbbjf8yUYsGmaUALE6ttnKy4fTHCHK3fZNYq3kkWo4 +5exbxLgU/OomS24lZJ6wOZ6bP8MBkab3vOMCQBjO2baq/aHERyJCj5CZrkiLVufJ +DD9BAANimCYG2mgKMzaeX3gnVgmHyxmZJP37VOziJtAVezd6lRFI7cRewwsCQH4Z +XZcqE5RQnbVDS0RW7t0BCx9pp8XFlSGMLfX7+DKmjpGNgvM22HT4f3yK027Semxw +E5AMlWYa6T0Dc8dyaTMCQEqso8hRQIutEwddInaxrFcgj5fo/CAjqsaXhnPTCF5P +YFI/k+5B6GRNwTWkdm5qM0T8exlNqcQIu3/VG0qV6Bw= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/qub/qub.cert b/server/component/planetlab/qub/qub.cert new file mode 100644 index 00000000..9536b78e --- /dev/null +++ b/server/component/planetlab/qub/qub.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNxdWIwHhcNMDgw +MzI4MDM0NTEzWhcNMTMwMzI3MDM0NTEzWjAOMQwwCgYDVQQDEwNxdWIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALs8ps88FatjYjIvAeUAbqQzZWdg+CckO9fT +JdVF6I7fCHhaUU9KDFo3h+MCyu5IEvC+TtE4hhlGic+lIJbgOgLr9UKySLgHVd1M +rc4Uvsm2eBnSCwGwR3VRmlcElbC4FCOndZ5KdJDvLVzZelkOAf3ihyXlOIQZUGoB +F3b/UVzfAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAIYUDISPk5sTxAanVT+wiWJKw +zKGHridFcHO/ncprwWdbjuAnrdmseEti+dw3IcSZJUIZzSOCU/hTlKYVLKLPOl/s +BUY2PrnajFlAWcV1TIjgPnVpaNbMOsViAj4CahJgYmE7Vn8jn/hSkficucNMNy9F +KnY5tLI6jSeDbvqaBBw= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/qub/qub.pkey b/server/component/planetlab/qub/qub.pkey new file mode 100644 index 00000000..0af7fc20 --- /dev/null +++ b/server/component/planetlab/qub/qub.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC7PKbPPBWrY2IyLwHlAG6kM2VnYPgnJDvX0yXVReiO3wh4WlFP +SgxaN4fjAsruSBLwvk7ROIYZRonPpSCW4DoC6/VCski4B1XdTK3OFL7JtngZ0gsB +sEd1UZpXBJWwuBQjp3WeSnSQ7y1c2XpZDgH94ocl5TiEGVBqARd2/1Fc3wIDAQAB +AoGAN8SY6qC605GGbewSZGL8kWu9iE0ZnI7uRBpf6mYoHmXP4AkGrtcfVr+zeaob +R12wRoRodWigiGa6JV7JliazICh5wWv3UNDIlqacVzgqPm7hxLDL/f3nYA94Jp4b +8mo7SgeiiO7RRGxTsaPhbunjUgdnfHOs6g/p/A66k/kG2AECQQDz3FMw1DLTbHuV +qjSP8lUvn5LyAtsZrxY6Pkr+8o0/JY65qmgwpRUIf/52WEzFVo/r3Eh7u1YqP3Be +EI3ObMavAkEAxI67z5wC/4oExJ06Z2cEkH7hR+RI3yDKpbsF2swMuqQIuFSlgYuq +GLi5/HucgKqkzMkH3Mam101APL/zbPlY0QJAJ/HMErB/jtAzQiW6LGYGfCGIYWoE +V6WtX2b6w94ZMuHFCjaWkHlKA7VrihkWojB2rKzNlq7uA0eW8WGGyOxacwJAP58n +wXpxKf+lrXJq/h9FRfQbvWZyA+8cSOqxaXHUyPDhdbDIZZcsdpYMdWIZdThG4ZZM +ejS+uj/iBAfppiNLkQJBAOY+pydoKtGgKoXg2oyWPPX3jAdjsT9tzCkL9nxNBCxx +EH45AXqHga/t+GBtp2myEDyRIzcyxeyjI0oA77zUd5Y= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/snummlab/snummlab.cert b/server/component/planetlab/snummlab/snummlab.cert new file mode 100644 index 00000000..66f846c2 --- /dev/null +++ b/server/component/planetlab/snummlab/snummlab.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhzbnVtbWxhYjAe +Fw0wODAzMjgwMzQ1MTNaFw0xMzAzMjcwMzQ1MTNaMBMxETAPBgNVBAMTCHNudW1t +bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkXEAuln8V2lp/00RME9wI +aK6ZdcPVfbY/fnysijgqbO2ets2PSScOhsng0m5UcwguCjBd96B1v3HtA83kKJ3g +2U/CfQAAPxoIYHiAAuhZAZmMdggGlq+UW5ulmlvlR5AfmetFq9ef4zcr1O90WmGl +7Upnqbs3bk0MieLetMYWswIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADACDzVAAKKY +MOKL8NHSELT0cts6a2uzfrkUfzF1qFTJbXfx+q8BJ/AFzcQs+zOSJRPNdizZSEFQ +l0xPY989gFuOEiwp0rcR2MlhtBMvPCNuypLCZKBHRiriQzD05QKctwC6ta3XWFPX +iV7jdYbeNCaM6TOXofcbKvOurshg82dO +-----END CERTIFICATE----- diff --git a/server/component/planetlab/snummlab/snummlab.pkey b/server/component/planetlab/snummlab/snummlab.pkey new file mode 100644 index 00000000..ad1b48be --- /dev/null +++ b/server/component/planetlab/snummlab/snummlab.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCkXEAuln8V2lp/00RME9wIaK6ZdcPVfbY/fnysijgqbO2ets2P +SScOhsng0m5UcwguCjBd96B1v3HtA83kKJ3g2U/CfQAAPxoIYHiAAuhZAZmMdggG +lq+UW5ulmlvlR5AfmetFq9ef4zcr1O90WmGl7Upnqbs3bk0MieLetMYWswIDAQAB +AoGAfPnsj8A96Db9g574msSrFfXLdcMXYvnRH5ylXmlHZfMoB/xGeAKO4Tvau8om +vK4vdRqoRntplr84+Jlg8HF2AfAojd12kb4D73hzFRZBncde/AsYLb3hAaN7UTxJ +35NHXYHpSQOp9Mc3fVMa5VT0iA4WWPC7GSJ/XupW+6IecmECQQDNcSqQ6eVH6Jji +TyH2CROz/Ec5oFm5JnJKGlnvAyc3Uom3lmDAyHd5PY/bgJB47VmuWx3JpVQsrqe+ +rwb52uaxAkEAzM7wvlu3yNzcKDrBAB+NQmlSRg56yG2qy+WUWhOFGhLJ9pQGbuuA +87YNiIcO6QhEu20x7j5JekIouKhrnO10owJAHl3G0+quqEVaK8FUnMBUuDrm8D6i +ZHqpVAi3GFwX9NZvYsKIhJZdCn+t/tzu/eDfa6UuLvsQCRa71rSaTF4t0QJBAKyB +7dNY669bIHEeM+xHpzL2BV+O2KqzfLYrVM6ePHFevBBeVCDfaolcoX+KyutLlKEN +842Jl1hMG4KWEbZnZ+MCQHF7YSkAjgTDN6rCljSTN3Gt0Li12K08asZtd9Vk24K1 +Z1RB0Zqyt0wiacOMoYEhAbgJx1aG68qyq79O89/TP4c= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/sydney/sydney.cert b/server/component/planetlab/sydney/sydney.cert new file mode 100644 index 00000000..215be400 --- /dev/null +++ b/server/component/planetlab/sydney/sydney.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZzeWRuZXkwHhcN +MDgwMzI4MDM0NTEzWhcNMTMwMzI3MDM0NTEzWjARMQ8wDQYDVQQDEwZzeWRuZXkw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOdGb0v3G9K1Ygz+z/xM9VWYWkD6 +qRA4q+ITmRXI2TnWVDzTVUAhtYagZfNY21gVXXxmPw4Aq2yUNqwG/VL6Y2kg+kU6 +gXvviVU927um/eKTk1npbeRQOqgw0rJXBaD4eAk9w8zPEqQ5JX/gIu+he+l1MS2Y +lInr3ZqQf6fM5d8XAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAAj/RzoL3bN5SW8Vo +i8vsyx8H1ou053wpyjQut6SyiSEkUHLyirAEvTPiBzAcqB3l4PpgieHOjBPQkyeX +sODexQelFr6DYvS0wLVV6W1nIYvtItxwF+XuIWbIcOw76aDqelGKeowVVoORGuA8 +khdy/7++27MuvrETC2oeslR3zAw= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/sydney/sydney.pkey b/server/component/planetlab/sydney/sydney.pkey new file mode 100644 index 00000000..809d2abe --- /dev/null +++ b/server/component/planetlab/sydney/sydney.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDnRm9L9xvStWIM/s/8TPVVmFpA+qkQOKviE5kVyNk51lQ801VA +IbWGoGXzWNtYFV18Zj8OAKtslDasBv1S+mNpIPpFOoF774lVPdu7pv3ik5NZ6W3k +UDqoMNKyVwWg+HgJPcPMzxKkOSV/4CLvoXvpdTEtmJSJ692akH+nzOXfFwIDAQAB +AoGASoJ8tOKlyhq5vioR49z/ZVYyLaET+q/nYGyj80rEAUg112rWmlTB4N+oOOA1 +uokXl05xnhdFIzQU8RNHZgZZJBavkEcZV4PBdkw6XLqBk0ZC+vUPQUP1Rtqim+WX +NK0V7E9WIhB8+AMlwraLNGrD3wlgXNJJcctJ1KMQNoJwqSECQQD5pkOVSSX6OWIo +rSAugKCMWAGV1NAgtDyIwKlkDloKVmCJWAt0ANvLt8XEpZYDuWfDihM1ohBTQWQD +7ZNspiVZAkEA7SiEBqJYqS6OviritGGj/1kC64RwUX3mMHq2eYlHaWIrZK8N7XM1 +6WTURMmHnhiFdjNiCQ0+yFyVczhD68Pp7wJBAJOl6cKZCIT8+zjja20VVd6rDgT3 +YEB3WHXovEYY1tfWTjHsiJmLCHNrtOOgqyB4vw2+062cs9sJiYVpNQ/FE8ECQQC1 +nIA2QF6a+E9Ra6/+KIOZCIYG633DuiDr4R0ZxznLhuTqDnAg9UhEufUf1CCpved+ +U+zwN5drghLkkCLbSkU7AkEAwACEJB6qu+34pUIlowL+lS6cZXO+QOW6hqj+LeZ0 +02SgLt814wsiUbhiFesijxhL8PtVV1+eogcLwJltB5ZIxw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/tau/tau.cert b/server/component/planetlab/tau/tau.cert new file mode 100644 index 00000000..aff99b65 --- /dev/null +++ b/server/component/planetlab/tau/tau.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0YXUwHhcNMDgw +MzI4MDM0NTE0WhcNMTMwMzI3MDM0NTE0WjAOMQwwCgYDVQQDEwN0YXUwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAMahrQ5tP0SeLS0yzt0BpZI+OutFfD14jbzD +cEnKRiGxWZu8w+ECtztbNuYGGosW/XRRAdQIzSTFO/6WvPvcoJLwiSjLzp5sARol +DwPI4qCb3Syu3EuhFB2qIVNJNK873qHVFNVGlYb8VVeN7icoHhhgvksZOkdgLPhL +iblS3Ht/AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAlagtdmTzabPHhV3eBxfKTmBm +6Z8EHlldK6gxmFl0rZaX4xrO25C+dyTSr0VLWRHmUsseX4jiCQ3foeecjlOX5261 +8a1P15qVUd5ZJGG9dPaRJcsaDTDl1bEZBJmTOX4Zst2WsK9Ro5oNs7gjS4u+edNk +2/0BE43Vp1DwOBZIMHs= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/tau/tau.pkey b/server/component/planetlab/tau/tau.pkey new file mode 100644 index 00000000..751a4046 --- /dev/null +++ b/server/component/planetlab/tau/tau.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDGoa0ObT9Eni0tMs7dAaWSPjrrRXw9eI28w3BJykYhsVmbvMPh +Arc7WzbmBhqLFv10UQHUCM0kxTv+lrz73KCS8Ikoy86ebAEaJQ8DyOKgm90srtxL +oRQdqiFTSTSvO96h1RTVRpWG/FVXje4nKB4YYL5LGTpHYCz4S4m5Utx7fwIDAQAB +AoGAFphHlk+JFeYkX3LbIzrPuc4IZ8D0vA1dmi5lNI+k4KpK9jNH2O21KDRdD1d8 +Z3wLAtNAMP17UIZ7J5/ACap0PW92zANqv2l10b9axqTif9cGC0BGqWfiVU0iFJ/a +J4c9O0z1uXdRh67NfvakXomsMRVcGvDEydY2Y9jJb7AuH4ECQQDp84/RiuayQkXe +8oFbI0G+JKynwZx1BMHb+LZTShYQeG1/7aUKUUkcOZR7JKOaYgkv5rQHYfpoZWMJ +TFWslys/AkEA2Vn30Mpv2JvLwHHO+5k6nr8Mq7rsNXGQFpE4G7KCUgFDMeuGvBy3 +kA6nA20Q7WnTLlQyh0Kyk/tLzP7XSIffwQJAb8MXFXdRth7K2jLncO5q3bcPdCSd +5ZkcM0WhdDCUUdH2HYMdsMwcLQukzx81uO7UjLmdj1lTEsQ8h5ib5RNiaQJBAIk6 +lo6K4ecfJpvQv2B3NF26PiPHFw//LXwyH/zMzh88kNJZ5G2sq/EWbzhoikF7iUw8 ++NIRuHJaPVempwIyV4ECQEUak56swuG7e4f3+YkYPodLAf+KI1oetSBXqrkZFabk +R+4GmLSZ7yf1qD5TFMjpRUZVy7UKSqu//8cRLDk7mIo= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/ula/ula.cert b/server/component/planetlab/ula/ula.cert new file mode 100644 index 00000000..d9ba97ff --- /dev/null +++ b/server/component/planetlab/ula/ula.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1bGEwHhcNMDgw +MzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjAOMQwwCgYDVQQDEwN1bGEwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALIZwsxDl9ZU8rEYUtPa7jtvqADiwis5RyjQ +rjuuUKuWeb7dd2J13J005rg5mle8qt74H5GpweCG0cNMakedKaxH5ryxlsNEdiT6 +homPKHYp1gGLulTyzu+kNT6dNQtyR+nqwcMCJpae+eesxaTBFdz9RIwaqCdqxzs6 +sG93YUFnAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEANMCaPh3Fz1R/884kpo5wrymX +fkKMSg3IuMnMQpCHB+7nEWnIZ0Hv5merPTrjjRL2l755sr3Yiyj0vozKJhgWUVcA +8lr/SrNWzUoJQ8KW3xpReMGwmhpiouDV0tGeKpi2/jHHfLOTaLhSDH7hvVDxGiFM +m56R67xYhmfJE3AEUlY= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/ula/ula.pkey b/server/component/planetlab/ula/ula.pkey new file mode 100644 index 00000000..46f7c087 --- /dev/null +++ b/server/component/planetlab/ula/ula.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCyGcLMQ5fWVPKxGFLT2u47b6gA4sIrOUco0K47rlCrlnm+3Xdi +ddydNOa4OZpXvKre+B+RqcHghtHDTGpHnSmsR+a8sZbDRHYk+oaJjyh2KdYBi7pU +8s7vpDU+nTULckfp6sHDAiaWnvnnrMWkwRXc/USMGqgnasc7OrBvd2FBZwIDAQAB +AoGAH98cTRGLin+JLsf7io4TM++3UPFDbhjB8zvk8ikvpoU3JEDdrHELGdbtsuoc +BLdunJgqjhai61s1Do4ONuKZIj7trvnli55bIpt0jktkatNPLRYTZ0fPe9hvQy8D +N6MFLXpRJSD+95z9DLAEwFJoThx8yE7p4QGOvjSu3M4pEIECQQDia/BQin+s2iHu +yukNcH0/TJgbVBGJrZ3+ge14Pa/lYrCzn1xNfI4iEsV60cAXzBsSP+Bg6Nuk/eHG +0ki3DHgbAkEAyV3bOzrxbvL0O8XkQyTNcMeR1l6jNaSOl9ZWa7llMXYmt1bM/Tf9 +ZnL4sstfcN7gMrnToky+bRUkSrhmYTUIpQJAM+xW1tF8B/KZ933Wxfs27a4t745u +2yjSY4v+HiXfUXY5WWfBLg/TNGMjoE+7gnmO97doSDD+Na72+LY+cKPOYwJAP7G6 +eN/KIqgi7Q1JiJuJiFT4InDI+1zT5d9ccrKv+Zc/49pG+QnO06smU5fU1qUJEcKJ +2NqhmWuIkUIG0FSwKQJAHrkFWXphVIJlCv/ehjLijLTV3p41htaUaxQh3mWgJl3s +GLqYtrVCQZEVXdB2hc4TUHj5aZ7/+ov1ay9A8DNQtQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/unioslo/unioslo.cert b/server/component/planetlab/unioslo/unioslo.cert new file mode 100644 index 00000000..f1d9cdb7 --- /dev/null +++ b/server/component/planetlab/unioslo/unioslo.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwd1bmlvc2xvMB4X +DTA4MDMyODAzNDUxNloXDTEzMDMyNzAzNDUxNlowEjEQMA4GA1UEAxMHdW5pb3Ns +bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvQCvKu5zq8gSdnniQR0A+Xmm +CbNYJxcK2c7rtTHAKJgGYBZrvJRuEfwhW+6C1zmOuQfKL3KEyIQoXK05fRiWBM+U +P0pwrJvXgOHiVTzBhDHIYyNMPph/mF5pK7+P5ne8xdGpccjs2D5i1bg0CJ8nMKsK +1EftlXNAusLhhUuTWHMCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBQXm1IhRFBlRi0 +9paxfWSkfLkLv/ndYeFmsqR1IBx8L2hopHKLYDR1cMSvxapsRPzWZrxLD8QWTDKY +91yC5WOgSUhjEp+gGDI07pGqCtLvgfcGbESDzLrPdnJb+sS0wjSoG/EkigtVkUT1 +AOcilaV3/GTV4+DU7ws+SlGQYCcT4A== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/unioslo/unioslo.pkey b/server/component/planetlab/unioslo/unioslo.pkey new file mode 100644 index 00000000..8dd2efd9 --- /dev/null +++ b/server/component/planetlab/unioslo/unioslo.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC9AK8q7nOryBJ2eeJBHQD5eaYJs1gnFwrZzuu1McAomAZgFmu8 +lG4R/CFb7oLXOY65B8ovcoTIhChcrTl9GJYEz5Q/SnCsm9eA4eJVPMGEMchjI0w+ +mH+YXmkrv4/md7zF0alxyOzYPmLVuDQInycwqwrUR+2Vc0C6wuGFS5NYcwIDAQAB +AoGAfm7zvzNum66mcy0L5uUBHuJ66ShZQyUN9DCQy1BxrHYuZZ76CVf93fgdVMNU +MafmSu7kGSNxojWOTpjuyTlmOL/O8PQ60tb0/vGReyeVUywa9tTD08dwuUtnnqPa +cm5yCJbYsiA0b/g4qCO/sN4pOdw2vWJXBhDUcFkqtKQ04zECQQDzvj9HAIcm+u/s +QoXazXbxmwB7G/AWcp434sbKeQqlKtYWdxw/OTLwHyxd0as8UZtCoYexMczh4Kb4 +z6gTiY6LAkEAxoHAlI6me4lu1lW8DGM0NTdV/MFT8ttbQcuAhBrAd1QcI8JNQ6OE +QGRw7/ha10xawWp/oqYs/iKEvylkSDLCuQJBAIadhM8O8JXLs2Q1nT2pik6Hf61+ +UYvkQ5Oz8Hx0ezebP9/qarRUP9i0Lsml+b93hps3IPzw9yms7CqwbTBVIV8CQBJp +sLJW9QxaeCR7eWDwxsP06Q3z5NSPEkztEnOug5HOBHowqLgQb9EFQBCSSeLUm0p7 +lXFB1sSP8R5GOZ4Uz0kCQBPn2MbYB0L4ctPeEHsAkaSOtXIoo9DG/R0FfPbXHiIl +WLsxNoYIxmXA5OZLjN7z/JSiuNNLlOCCqv1pc72tWIE= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/att/att.cert b/server/component/planetlab/us/att/att.cert new file mode 100644 index 00000000..f5ea777d --- /dev/null +++ b/server/component/planetlab/us/att/att.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNhdHQwHhcNMDgw +MzI4MDM0NTA4WhcNMTMwMzI3MDM0NTA4WjAOMQwwCgYDVQQDEwNhdHQwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANALwPfWO4pnLtZBhuo35pS3WOGngD+ywwSJ +OH+jzENDyTyaLPWKrxwsVBQmjq4pvjQYPRbk/nFvvRGy3Yv4pA7GcdxsuOBlTEN2 +uPijQlsL/JDqJwLfuSxBZMMToM21jmsLhYG4M1Bf4Vfo32rrJmr7NMk41aT7wUuF +oB4EEReBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAfKimUT5OC9F/uZqTeaS5GjNa +fMqIYX5PvCQqyqWYNegV7VNQxKMqJ9TffxSgyv15i3kx4vmiOzmil72XKgts5QHK +AikZtM9VzuDBbCmwM0ETuctYFMT6p9dNvTwcas80vjgzZY0TtzjLEkELm5mNagP3 +uyvb/jgus1KQjDbzLJk= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/att/att.pkey b/server/component/planetlab/us/att/att.pkey new file mode 100644 index 00000000..c9360c03 --- /dev/null +++ b/server/component/planetlab/us/att/att.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDQC8D31juKZy7WQYbqN+aUt1jhp4A/ssMEiTh/o8xDQ8k8miz1 +iq8cLFQUJo6uKb40GD0W5P5xb70Rst2L+KQOxnHcbLjgZUxDdrj4o0JbC/yQ6icC +37ksQWTDE6DNtY5rC4WBuDNQX+FX6N9q6yZq+zTJONWk+8FLhaAeBBEXgQIDAQAB +AoGBAJ9lof9A4HV2AOifY+Ln2X5vy2V4lEY5jDlZeTQyJzoSIYiRB4lJLEkFnZWi +xQajbNs1BvkXkesPlWiOBjhL1EUrRiM3rt6XEpame7X/BK4arBr8LO1l+Lsp5dB4 +X/awQ3nuKt570VLtKZwceAJJIqlDu6yyEYKgzD+gdC+8oqyRAkEA9ygTgm7YhwIK +SlnfZc9FIK01i+Mh2ZAaqzIXXw901qleQQ3axsz48zcfkGfyz2DBqv4y4XeYs4c3 +sR5ICaEW/wJBANd9bc7ZZ/PmrHkPPC4+I2cRKygPQXNGfaN9UcI6re5SU+UOdX7P +O1mtAezPASrmN7WLPRcd00ADlXKjupsgUX8CQQCcjV4OOHgezEQIZHUE4A1BbXWF +bhF65bR+y/PR2tB/SDjTrBrv4dWu+TOdHLrIcNk7nlhMSJ0I2pWEM1IeB1OxAkBO +QYa3L8zIjmTkMdwxDu/cZie+DIxASMEntkMSviyb99nvvSh+PNPY5TNlxGcwJRrm +GwK8emBVRvfnAf6qhzoRAkBPmOp19ehelSAqzBN8thmRCVByhuLHUNQwZgX+HqnG +rPgfMILU2UL92mbk5kyC2p8uVqaLZjAGeCovrKAvceTa +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/aub/aub.cert b/server/component/planetlab/us/aub/aub.cert new file mode 100644 index 00000000..364955d7 --- /dev/null +++ b/server/component/planetlab/us/aub/aub.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNhdWIwHhcNMDgw +MzI4MDM0NTEwWhcNMTMwMzI3MDM0NTEwWjAOMQwwCgYDVQQDEwNhdWIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAMPs4WNHC3OxwDGISgDEgCahc3MBKAgpGhCd +OgMF2XHUafUof6pqHcQcHQoKy1Yte2cp3bLh1DyzV9Y1fOZ5kqMNzQrs+RlAS5pe +RIUVAPSGUTK/K5z9HyVP+rhGZlnjPJUZNbzY6eHq+65AfhNYf+75c27w1CBapN5Q +bERR/ZsvAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAe0bET48RK/NN7RUsA3GVcf0T +ikZDivZtj6m+yy4umB4h50jX1c4ORsuZ/Imm+6WfEdjd549N4JI7MqUzSqPlPnn2 +wL5Axw+X2PF9JmrNmdLOWRsdhBbvz0kjGI+MKwTsRhcRWByjqI/CqSnqeX8s1IoL +wTlPdGIcpsQw2Dl9MdY= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/aub/aub.pkey b/server/component/planetlab/us/aub/aub.pkey new file mode 100644 index 00000000..61b1a25d --- /dev/null +++ b/server/component/planetlab/us/aub/aub.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDD7OFjRwtzscAxiEoAxIAmoXNzASgIKRoQnToDBdlx1Gn1KH+q +ah3EHB0KCstWLXtnKd2y4dQ8s1fWNXzmeZKjDc0K7PkZQEuaXkSFFQD0hlEyvyuc +/R8lT/q4RmZZ4zyVGTW82Onh6vuuQH4TWH/u+XNu8NQgWqTeUGxEUf2bLwIDAQAB +AoGBAJk19za8Ss9JM+NIEZ6yCwiqfm5zfAuNoK1XVhMhEt553fXxmov3+Zju5yKA +OGwGmxacXZrSEDb7g/el0isk7K4n2K6ea/njnhFdw/3daYAEMA8Cd3xrvjTSmuZT +p5pH5QYqtJtfS2uls5t0xfahzq4amxhS9sRhshweAsVi7bq5AkEA80AXEEFo2m6U ++q9x0/nV+MozP/VNZGXwH+JvK5ebVMNLAjaGk6YOzyl7qE+8N+OGkpNTWwjyrBbA +nq5necMZiwJBAM4xyZojZkA6xsJ/7BwFepD70LQ+cZaAoQurzgJ/B+3H8uZN/cAJ +2bTto/0xNy8haTWr6Ha5EvSCv3BcGq/ckW0CQQCgW6vYp4Y8GZJVALwFhjos3P+U +Nl5ixWDbZCbtkfBwnJ4iQ1fMljhFEY/XkVj/bxsUHdNhvDBeilFJSqgkeR2pAkA7 +JJC9A5ZaqgFE3MhuqSuk1nXgnWCbWL3YySjIEoPFsmp7oLc+FBU8DkXRZAJ+JEk3 +Od3t39wOAkrDAcgt1UhpAkEAnQiIS/K25MrP5dF6i3FBNUrnIgLOn/f73zxaEgyJ +RblaJKR4Nbc+8bziLshovUR993meCeZr0kyinwIjlmghTg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/brown/brown.cert b/server/component/planetlab/us/brown/brown.cert new file mode 100644 index 00000000..0cc2c63f --- /dev/null +++ b/server/component/planetlab/us/brown/brown.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVicm93bjAeFw0w +ODAzMjgwMzQ1MDlaFw0xMzAzMjcwMzQ1MDlaMBAxDjAMBgNVBAMTBWJyb3duMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDGLYEu9DsSrCvcEwMi1EjZcUoJpAM +XyDZWEk2xt8kiNbJeJMhUsbRbJc6lxRFZwc6T6JN3YgbiKrH0AhLz3hA5hMJJete +oOyHu1vRospzJzzGjzAmoSANUQ9tdJFt2Bxodt2iMNl5lxGB9EKFspKozoTCNJDM +81pWAlxsMP7F3QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBACwN7R4/oRQn7LNL5RTn +IB0/8xWh7PB4DNxUN8iv0Nzcp8SPdMfbNO31HRLNbWiqGTQ4HjpU9sXP6pW5ds9p +9eLDsPeGKVyvBDG4KlVZlMjdh2kjU9dJptWS+GoWvUSUTQOx+Q6PGDm1xlqJWb0f +5Q8I/S5VoAIM7fpOK6w3glCA +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/brown/brown.pkey b/server/component/planetlab/us/brown/brown.pkey new file mode 100644 index 00000000..b56e0b68 --- /dev/null +++ b/server/component/planetlab/us/brown/brown.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDDGLYEu9DsSrCvcEwMi1EjZcUoJpAMXyDZWEk2xt8kiNbJeJMh +UsbRbJc6lxRFZwc6T6JN3YgbiKrH0AhLz3hA5hMJJeteoOyHu1vRospzJzzGjzAm +oSANUQ9tdJFt2Bxodt2iMNl5lxGB9EKFspKozoTCNJDM81pWAlxsMP7F3QIDAQAB +AoGAQixeiKp/ybXnygnn8ZVLlxsMzXqO/3NAvBfC9Y5s34J+f+Wi2fmusBgKD3hx +Cr1QaUnbfle2s8geTRnVxoj/e0L2T3vOXRBurHBYtIniEWmpcKP31UpYo4KpcNmn +Yp63uVVLCgz0Rk5CiK2R0hBBqNd49Zwhrf4y72G8QaFZB80CQQD98Zh0xsosceQc +Ytf2zPAbMvyUP62kf+FYUUpit7HUcH1eI3J5pvAkHRAGg39Gn0roH0LvmDVuONEW +GqyyXf1XAkEAxK0hS8PXyGEzYY2wYroXSlUmPuGULNiUx50rwIenPMchl6hgwL2n +MKIdSASocj3pcZk6by/qZ9V1KR02qQkh6wJBAOcOIbdvAJk771/cl7/ZbEZzN9nz +rpzUNkdTf6keltFCoO88tXX27N0PDHvAvdeWLGPTveWeyk7Fp4jDMIsCdfUCQB0+ +pTHP6DkqguphmDXF+AqciLhW8KKOfekErOnPAgYekhcr+V8PlFm98V6xGp8KJ7k1 +kKPR2ygfbHF1n5gY/IsCQQCzFr0zWG2PCRi4Vpa7qw298xWU4oK/viFUw9BT6h9E +uhfjxEWUE61bvq1iA2ozl6f0A9xp71rRGSUJa6ON9t1o +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/bu/bu.cert b/server/component/planetlab/us/bu/bu.cert new file mode 100644 index 00000000..76d4f9bb --- /dev/null +++ b/server/component/planetlab/us/bu/bu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJidTAeFw0wODAz +MjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMA0xCzAJBgNVBAMTAmJ1MIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCyCbwwtmRj1J7QlDLiXgXnyUrJe3Cf/tSywQUn +KttHVpOce0ulItvzXXGuQ/GPKR6N0sIu1P9GQwlFPCtJOppQZkXzd0QhxJQvVo9z +CtQJhk6PgY9BW0VxX58l8psaawMjIj20d5wLmlOc/aZVi0bQ6XfVFmGKUjqTOJFu +vHyG3QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABx5P9Sm38Ji6wV1dT7eoQbsBkc7 +uQpTHKrfiteGXbAETj7CvxygagQnpEW1PcTXZSA9OJhyD2oDpYo6ovJ3+wJxk/QN +Dwcw9o1WHqEpMY1OxZfuv5+I9eygcFVz8pHer+AJNIitZmC9cUHNXKGCj7/mv+fK +3VoJBySctBS2lD4+ +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/bu/bu.pkey b/server/component/planetlab/us/bu/bu.pkey new file mode 100644 index 00000000..769a89b5 --- /dev/null +++ b/server/component/planetlab/us/bu/bu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCyCbwwtmRj1J7QlDLiXgXnyUrJe3Cf/tSywQUnKttHVpOce0ul +ItvzXXGuQ/GPKR6N0sIu1P9GQwlFPCtJOppQZkXzd0QhxJQvVo9zCtQJhk6PgY9B +W0VxX58l8psaawMjIj20d5wLmlOc/aZVi0bQ6XfVFmGKUjqTOJFuvHyG3QIDAQAB +AoGBAKwIGB4Bv9Nu+d6VtO1i6NXlfSxe6J7Q//mR5UbJdITkNVH5GUkB/AKWgmhf +IqSwmON1iUjza48a63RJBZKG29/DD2Bv0zgHhLUe2hoQXjaN++EB7hInenrkshSn +HGzl7Nbkbi+EfAfH4S6hXcn5k4HOoa2cZZ4q2ypGXshSHi2BAkEA4iaX88Y0xZfo +qSw1oWqh0akiESq7HcjPJCkij13Rmp5o76J2eMCDy2jbg42hwVEMuuTUayVZw5RP +aNHkDI0H8QJBAMmJdfzVzca77pEwl0CEFRUuXJL+JE5+1NUbcB62omVjOnBrzHo0 +1HKfBSfN3myo1rJEZdianzVoh7yZKraBua0CQQCI6i6iooP+gKqWCTLq58DSSyBZ +3lHshU+LJ/BJddZZUsBbHDO3hW4FLxV+/rdIb4ZSfAlyWOmQc/Djl/cF9jgxAkA8 +WAta/A2ULts83+a565KAeBRB8xSd6D4D3SZSG+8+Glr6JFziToU6GMErbOnncRpv +4Cj6lTmMfVL/NoFiii81AkAkixOrO//KRSn2KDN8PPreLCCeh+17rTK1quKcTobj +6yGN6dFihAWYhdthG33ctl2ZUDgBnqSZ1EU11DRJHW82 +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/ccny/ccny.cert b/server/component/planetlab/us/ccny/ccny.cert new file mode 100644 index 00000000..970d6c11 --- /dev/null +++ b/server/component/planetlab/us/ccny/ccny.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRjY255MB4XDTA4 +MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowDzENMAsGA1UEAxMEY2NueTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAljF598JLC9OjVeo0ic1MT9IqmOXDZNZk +YBybcGgVx3Fn9Vc3rXprBbdU9xE2oJZnOdYO3yKrPjPW73zVEQ5qiMsx9nVC4Jbz +sl29UW2Tug7Rj91iY8p4H9QpbQoYyboZW/zrWjKYpQuXEg/Pcmd1jAuD17JJ7q69 +sQejujwgp+cCAwEAATANBgkqhkiG9w0BAQQFAAOBgQASF1qGhq+U7966BdpIX6cu +yuSAvuRlBkmYIdjqL9fKyOHSXx+xO3MTxAGf3KBL3Sfk7oesaEJpOgEpR4C0MdOj +8gthTINOoY5/M52GetW0Fw9ZjE9AF2ms7mWtJCD+YcEaaztwWRqc8LmnUsY+jdCG ++mfgTKbGBq/KYZSnCe4mJA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/ccny/ccny.pkey b/server/component/planetlab/us/ccny/ccny.pkey new file mode 100644 index 00000000..1fba42b2 --- /dev/null +++ b/server/component/planetlab/us/ccny/ccny.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCWMXn3wksL06NV6jSJzUxP0iqY5cNk1mRgHJtwaBXHcWf1Vzet +emsFt1T3ETaglmc51g7fIqs+M9bvfNURDmqIyzH2dULglvOyXb1RbZO6DtGP3WJj +yngf1CltChjJuhlb/OtaMpilC5cSD89yZ3WMC4PXsknurr2xB6O6PCCn5wIDAQAB +AoGAToMwog6EEnugz6GtszeJo9RWhjTdrpHQSNnLe7g9YlPrJzpflaT/2y4aEUmD +R/E3puk6PvStlcednPWhn9fsYibnIc713kz7YWNsdZ86zTFiC+JYTfI8V9JJFr01 +vQB/gWADBKG5W2swHuAdzHOCn2XOQT3zBDh7qAbkODPDb8kCQQDG3dAG+UJAeji0 +1bgY2UmeOsEZx2gV3MpBl8lUr+Vc6g605etP+YZovRdmMQxr76mx01rtdGX1de6u +DzXteEVDAkEAwVfbz1H8WazUtL/tWp0KDs9OH0yFGR33x9dIbCdCdLB+pAbsPuJs +Xk1kKjUwX2CW9QuIJeCdUG9K1LHthwpWjQJBAJPB/20PCrDJnxSNrymXWOGeGhfD +V4zW7dhqpQatYqf0qFS0eHCFn952kMo3K1mPSvB7b5X65D7LDzp4xsLYl+0CQEX4 +q/5d53v0xo4bn6TZjJhLgjRllw2+ALx8NyOdGbntXgey0bD4dMu0Knn0Aeuioz9P +yxgaMBS6ElTjh9kFbskCQEMqDf28LHUuwquHByS7c5k1ZaGMm3K5STHsrlVby0CC +wlFG2AQtySV46riKSqFHNNq7ivMXD/tEAT1FpjAaKV4= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/cernetneu/cernetneu.cert b/server/component/planetlab/us/cernetneu/cernetneu.cert new file mode 100644 index 00000000..c645cb52 --- /dev/null +++ b/server/component/planetlab/us/cernetneu/cernetneu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0bmV1 +MB4XDTA4MDMyODAzNDUwOFoXDTEzMDMyNzAzNDUwOFowFDESMBAGA1UEAxMJY2Vy +bmV0bmV1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTLF20LTPafaJz1Fpw +BF3JKJzMr83zhsyarJGF3np49KDRRLG2WtzCQ402d0qxKTHhwVl5wHvYQTB2ZnMC +QRue8kZVGYw8fduOkh147mIkz8btETWEIL3JeJF4jvN0SyJIYZax4QCwxEbvFWGn +rFvLvyYZyTwQFni5t8nqfIyONwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAENDnMoz +IgoaJOODParZ7f3kzntXdtwd17wmC8kCLzSoCwvSi6tdCfIy8WlTmLKd9B1fPPQD +3amfMJW66bqAwAT7WTh4htNn4KvzSG5zn7MbYnpmu5hPk+rToyDs4MC+C2ZNajZS +M04ux9JfV0c317TUPHVVoOe9T9p/5E/adVJk +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/cernetneu/cernetneu.pkey b/server/component/planetlab/us/cernetneu/cernetneu.pkey new file mode 100644 index 00000000..bb227673 --- /dev/null +++ b/server/component/planetlab/us/cernetneu/cernetneu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDTLF20LTPafaJz1FpwBF3JKJzMr83zhsyarJGF3np49KDRRLG2 +WtzCQ402d0qxKTHhwVl5wHvYQTB2ZnMCQRue8kZVGYw8fduOkh147mIkz8btETWE +IL3JeJF4jvN0SyJIYZax4QCwxEbvFWGnrFvLvyYZyTwQFni5t8nqfIyONwIDAQAB +AoGAHXuuQX+mI7UyvzVAwy744SL4cWOCP6PsYRQC5UvgkY6l/VG39hvNgpnn11jk +ZsO3oStbkLIdGF5Ro9Y97GymrFNp/FH74fY9bWQjYD97998v3P4BQ9fqgAB3eLvp +m+SBfbjh0AFjMYEFrDebEfeTwXJKBafhjK7blbrK2U2jsYECQQD0TtWFh8M8Xl1V +Cd/G8e4mDV+EchIUjG2tW3GLZABT8gWuupAHvm1FTUnqhJow/JPM4aXcnk2VZse5 +IoF3SELhAkEA3UeUSGo0JXjWi6x1w/96yRFX5DdHfOEQSB7FnkUXsMG9kXeNz4t8 +SRzART0kPO63v89IK088wdwnpXGFi2wMFwJADCQy1l0F5eUmrEg+V8vEMx3tBk8I ++P51oOzveqbwoTtg7usUp13eXlhV+RK3+wFCcycvsAQqBOfDuz6swnnT4QJATerX +jww+ondDbNlkeoiqjsSZo1XHyXRizFJxmcKQjgAapW9osw1VzVTfa0IVUZNphpQR +wJZdOZIxL7Oip657LwJAE2FGct3yCQBnYLd/xO6TC496oBFwoUOrAmUpKGKduMX8 +QR02FeFq99CS1jnCpiZ8Y//4uzyPNWrJJzdZqv81PA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/colorado/colorado.cert b/server/component/planetlab/us/colorado/colorado.cert new file mode 100644 index 00000000..c16e32db --- /dev/null +++ b/server/component/planetlab/us/colorado/colorado.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhjb2xvcmFkbzAe +Fw0wODAzMjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMBMxETAPBgNVBAMTCGNvbG9y +YWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5R6/v89nwXY6prkbU73Q7 +oXdjntFSeOjADfhZWdiv97uDKkl39NzSChsNUyi7n7kkU2tuDmLgvNJdaimqpdNs +AnRfTbH4VwzLKzBniXpb+bKk/sYABfAXae8Hd0uKF9kEwvMuxu6LW6Cznh9nwyHj +o6F9425WPFsJvVDm97khjwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAL1oCgtKkeFu +4h2Yp/xBvr3C+1WLyZCV0fnB0I9+p9ZhDUCmoJvGcYcWSPTkciHNUrcBgqqQgoaI +6Y1xxnXqu5CFX36PLPsgvSI6gn/PzERdl63ZDo21hxxaMn2KDlcm93NDSWnvTyXy +MlyCunt39C6tVqcF2cdkvC8HIVGYiIk3 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/colorado/colorado.pkey b/server/component/planetlab/us/colorado/colorado.pkey new file mode 100644 index 00000000..e5e9bbf9 --- /dev/null +++ b/server/component/planetlab/us/colorado/colorado.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQD5R6/v89nwXY6prkbU73Q7oXdjntFSeOjADfhZWdiv97uDKkl3 +9NzSChsNUyi7n7kkU2tuDmLgvNJdaimqpdNsAnRfTbH4VwzLKzBniXpb+bKk/sYA +BfAXae8Hd0uKF9kEwvMuxu6LW6Cznh9nwyHjo6F9425WPFsJvVDm97khjwIDAQAB +AoGBAIg6U/y276g7CKbUFeNyRLv9vogTl+MRLmkeeVUjE5b+tFu29VV33GFwol4C +zyTR4dTnPbN0azbUGcZxKPoYC1RMV8Bo7X30AalomY0gJnIuoVK8W3Nx1o59GAVK +2hPYhvJ0wDQPuBhKfDxZ/TYEbsgTpk3Z+Y9Go7s8Vfg7s69xAkEA/zseYmk23dTW +p8PCzc7d3qILxM/LpUf2IuN1/7QTJuIYFtWHyC9eqySyUVaHfczs5cXZVDYYUZrC +WhZ6CKe3JwJBAPoH+maXo+RlZe0kKpQd5gq+IZo2mAJgb05NwvsuSUieujXxZsA3 +YTjN5ipFV2Y6SqWnFMV9hixRdae10mKzA1kCQFV6ukFhVYPT7ZRARvTgrIQMp35h +zaVsRW4H2hQqfiOOo1y6ZQBRhRYycxo0raofQNPvgEro1xo1h5PeZT6S1Q8CQQCD +wkCKX87WRTj5Rt3JQBhCAP/kLHDej8MYGJJvm2yzADJQyu3CzWxGavqnu/LaxE0i +DnI7wHI8WJEP2BkOOhfBAkBlQ1o1LbMuyhPCKFh/yqZriaTvw0qtYwpDuOsEgk1h +nMyN+1LEoRA0i4/8U1WciSQpgz/05yj0hfbbZ5ntxlgL +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/columbia/columbia.cert b/server/component/planetlab/us/columbia/columbia.cert new file mode 100644 index 00000000..33c1d6e6 --- /dev/null +++ b/server/component/planetlab/us/columbia/columbia.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhjb2x1bWJpYTAe +Fw0wODAzMjgwMzQ1MDlaFw0xMzAzMjcwMzQ1MDlaMBMxETAPBgNVBAMTCGNvbHVt +YmlhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCPOe32hcQ/tsE/2fG6MYx +gzNue59nuWyLYl1Q90YQsx5T5Sbz1Q6358s1tZmMrKNHbH2hUAPrYNSYTD1ac6M1 +IqK1YkeiWqkOXcm+qC/6d2Ed3AaTAw57AGbQmKVSmpPyxI02RwcmES1Ure6dqDXf +yyyQH17Xs/qBUoFtb/pgOwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAA99GYIZlMCE +Gmqr5017QPf1nsGUjJLcp/0BWpNjCEpatnLn5CrQkkOcYbi3/b43sktqY4vIvv35 +weMHdI/KKYMQSSuQflxE0JpHWhJFsg1+aZb+K41i0AO9IfvFNjar+wsBG2LRp2I/ +S8Bi5ODLNlWF2dH5DpUio0YPMS1/dCyC +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/columbia/columbia.pkey b/server/component/planetlab/us/columbia/columbia.pkey new file mode 100644 index 00000000..576a74eb --- /dev/null +++ b/server/component/planetlab/us/columbia/columbia.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDCPOe32hcQ/tsE/2fG6MYxgzNue59nuWyLYl1Q90YQsx5T5Sbz +1Q6358s1tZmMrKNHbH2hUAPrYNSYTD1ac6M1IqK1YkeiWqkOXcm+qC/6d2Ed3AaT +Aw57AGbQmKVSmpPyxI02RwcmES1Ure6dqDXfyyyQH17Xs/qBUoFtb/pgOwIDAQAB +AoGBAIY/cigwJCErBFW/8QoZeGJgO/vwlYwrLEpqAfUj8tk3844oo3ODnlidbGYC +zc3cxD1pTqtfklXs5wMcLouFwRaURq8Io6lRmiZ/0liJVU3bx5uYnnOh0ND8/Lu+ +njgBHBAiVSyX303X6XEEo+2HNYswCv+IEkZNM0iLwXr2LogBAkEA4U1BwFqXkjCW +nomJtyhgPXtm8JNmrX1Vlb32M41qG28VjKWQmKlgRLOptOMqvxIS+Mj0nwX2V2fq +gDd5804qwQJBANy0HEiRhL1rODXumBMK6Fls88at+OEpaPpzuQ2vJ+PbbheXoAA5 +7lwfjTupac4VrguBFtO2B52JJvfZmjEctfsCQDvUxG1MoYvVE2quo7/cHRK2vrOM +sWvJKP1HISa3m0IF0fcz0J55/HLCM4MyAJwVNKyU0UGZ172GfyPll6EhVQECQQCN +qmLZRebxeyhKngspdf/snt3fcv5k8SK8WJm5Kewt+0Swihge7RCOO4Z5fGY47XuZ +UNQpMxeyTD4iK6Ao1CgPAkB6Yq+Bil3gREUDFtXsnqGm/M5UePiP3fGoFB8IUvZ9 +t2nAfY6EtsInmEs6duGoqbBcLUGicBqUJojkL4SROFwV +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/irp/irp.cert b/server/component/planetlab/us/irp/irp.cert new file mode 100644 index 00000000..ee69dbf8 --- /dev/null +++ b/server/component/planetlab/us/irp/irp.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNpcnAwHhcNMDgw +MzI4MDM0NTA4WhcNMTMwMzI3MDM0NTA4WjAOMQwwCgYDVQQDEwNpcnAwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAPzvSNF2gndHEE+bXk8ftHDeOBuBz74Q4tRE +bje+KsMrfJEkoDE8JReP87rsXJOAqKK5m+zVS8K5Eag/7FkVtEwWYygmwHa+4B8s +ryR/RSgz5B3dKiS2ZlGFB2tS5waaivy7HV5+7Dxe4EA+SRzM15smLGqvCFj8uot4 +RUp5+r5hAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAWYmG4UONb+7VVDSCO7vPjLml +/336Oevuk2S/+lBCo3YNfm2jPSjYeMG343STrj1PF28wNyY3+MZKUnRY/HDOHqT8 +FZvis8lFDZaX7xSkP/SbszFIaCjlIscY61uGt0bIFTmHQ8/W0hUEtjrkbq4uOu9T +0tF8Uh6BWD89R2YTHNw= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/irp/irp.pkey b/server/component/planetlab/us/irp/irp.pkey new file mode 100644 index 00000000..d8838fcc --- /dev/null +++ b/server/component/planetlab/us/irp/irp.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQD870jRdoJ3RxBPm15PH7Rw3jgbgc++EOLURG43virDK3yRJKAx +PCUXj/O67FyTgKiiuZvs1UvCuRGoP+xZFbRMFmMoJsB2vuAfLK8kf0UoM+Qd3Sok +tmZRhQdrUucGmor8ux1efuw8XuBAPkkczNebJixqrwhY/LqLeEVKefq+YQIDAQAB +AoGBAN+LlG4cMZ693fqdtLJ1sQJ4RFp7VmIDhpZYjJkTp7OrAYM+PZ6GK7oxbhZs +xD1RXrnDFb4xna3R53suU/NALYG4EttehyaCPPDVVrixQ/r7nw8ZvE9l9nbSvzkE +kAkcwn2MCL82+J7i9PYi65cBieT1y1eNFdalxHPB4B8FPsABAkEA/xtsivCpNvVn +wjoupM52ckBAZLqwpGoStZ6rdas8PkAVxVJjpU3zBLXnjuG5FNCTuLF3S1qktaBg +DcV9TC+9AQJBAP3R6flyK6pJg9zggpYxg/qBFmJiK+dRW2+Wzd3rGu3GPzGFGSuz +z7AD2sIwX3rRp3DxqvKvrTU5VLHlbMmHIWECQQDjqCCMOUp4/jWTMgLwFkPDn60X +dzct8m8x3yBaCO7hCqWjCuxb1504pfC4JJ3bgmthlhXEjGaSo0U05Pn1JGEBAkBi +Jc+x04IrAO5qdK5KYa9FKLF9LbUIZ59R0SCeFZF+LFC3V15aVdeTmon22TmyhmuW +8vxFh8UUdazYdXzRmN1BAkEAn4oPt7XtQp/cM8K3Z4kElYLUWuh469vbofkOTHWT +0A4hLZKwR901dTkjaC4sE30QwHkTM8xKei6kUr/14cy5Ww== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/jhuis/jhuis.cert b/server/component/planetlab/us/jhuis/jhuis.cert new file mode 100644 index 00000000..3773d3e4 --- /dev/null +++ b/server/component/planetlab/us/jhuis/jhuis.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVqaHVpczAeFw0w +ODAzMjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMBAxDjAMBgNVBAMTBWpodWlzMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5jmZLwSjBJ34ryAuZVvGYLhBNJV8q +eG01YIpYUijMKv3VyH/E88x/Kkh/V9PTZ6eOnuPSC55tZxvE7FEHJUuFg/uuww1m +eAamZV1twI8vG+ouTSIWcGfwj5OyPZiy8vLyHCCg+hHLBXRel8whm7uTaDKjBgke +rjS0H26IEQj4SQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADCXtGPQiIBWPpRPiSJL +tgPRVQvndalWATs4k8+tq7wQN2c6MUe1yGJedLTB+qYwJq5a+Ic4IcFK4gaHTLQK +dPrX0lRTflOanbN7dJuSscJaQ9K0efNtHDzoVlGsJBTOTuUp6uKVBi8Vppmfj+N6 +xIFCmAJsAWHTWR2cW4SxeiXQ +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/jhuis/jhuis.pkey b/server/component/planetlab/us/jhuis/jhuis.pkey new file mode 100644 index 00000000..1ae09744 --- /dev/null +++ b/server/component/planetlab/us/jhuis/jhuis.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQD5jmZLwSjBJ34ryAuZVvGYLhBNJV8qeG01YIpYUijMKv3VyH/E +88x/Kkh/V9PTZ6eOnuPSC55tZxvE7FEHJUuFg/uuww1meAamZV1twI8vG+ouTSIW +cGfwj5OyPZiy8vLyHCCg+hHLBXRel8whm7uTaDKjBgkerjS0H26IEQj4SQIDAQAB +AoGBAI6rXUozzLPYeyZWgGMStJ32v7ULB4QFQxH/9jeWCOLoNSPyMzGK279bkgTT +VjOHD+DWb5JWuCT9jH+hRpWaObijAXcdDXn9EKXzXkMEqPsWL/nY1Z3zE801sFJs +UbxkIGrGstKH137MHp5WEQgrbBJhYiXZEKG31tTVbmzExZEBAkEA/aGRxjiluMnG +g23wjRJjct2Y94pE/Dn7wRNoz5xinrJ8nHPXlShGe0xeX0IWQArg9I1DDW42dMb4 +/bl4U68F4QJBAPvjFk79cPVHqcnCkYIlMgwBpNwHmG/sqUZc+YtdcvqDP8QIJRdO +chnUvBZoUQ/jBydChmILMmWM4ia7/ssTb2kCQQDoGiFS6qgNkOkPgV5vWvKTPWMs +tOYog891gxOZWh2N6PzMF96javYFA4AhYFMITGxMn7FK6x7+gs99MWuB+VtBAkEA +3AlaGZKoNHxvw8JmHgykFXzyKQuxjERu8vqRO79ci55P+80pqZxrbEk8LU7fUUN/ +ojoo7kjds3xIqpGbWIcX0QJBAL7eTlqM8J6pyo/omr40JC5FGv7KNv0Pbh6JlV78 +izAwT0s/UzvLFTwgnjCmdX/DwMT2T4Bt3eW4C86KYAk5vTM= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/michigan/michigan.cert b/server/component/planetlab/us/michigan/michigan.cert new file mode 100644 index 00000000..87817573 --- /dev/null +++ b/server/component/planetlab/us/michigan/michigan.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhtaWNoaWdhbjAe +Fw0wODAzMjgwMzQ1MDlaFw0xMzAzMjcwMzQ1MDlaMBMxETAPBgNVBAMTCG1pY2hp +Z2FuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdUsESJzbkw8DWo5QVram6 +Tk4WclGCSnFiS86ERUkQE3pbDcv+kqKi5FGAuQL0dY3/A/s+4+eKWQI+t5b43EKN +1xYpEesUwGfywIug03la0Kyb1bxHWdWqAtjfOv5AvkU07BgqHy1Os7hOQll5ZVsh +z/Sdhx5WYQ0E1qth5XkbsQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJtcoYK1jyS3 +Qu/FNnkowgZyn4Bb9Et1l94pv2jilASHGFKQ5zMv0dFZwRe7N08XCFjDImJJY3EC +kpDydQgJ0Cp3fNlm8WpI2fYgBnMImty6hgfPk0cARd6+hC0mtGJ9jcuROLYHM+pB +ncZVQ5FSx8rvX2RVG4OWKUMMRReoUHCW +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/michigan/michigan.pkey b/server/component/planetlab/us/michigan/michigan.pkey new file mode 100644 index 00000000..c1745bf6 --- /dev/null +++ b/server/component/planetlab/us/michigan/michigan.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCdUsESJzbkw8DWo5QVram6Tk4WclGCSnFiS86ERUkQE3pbDcv+ +kqKi5FGAuQL0dY3/A/s+4+eKWQI+t5b43EKN1xYpEesUwGfywIug03la0Kyb1bxH +WdWqAtjfOv5AvkU07BgqHy1Os7hOQll5ZVshz/Sdhx5WYQ0E1qth5XkbsQIDAQAB +AoGAByQ9jXRoQoQ8WcH9M+q5PLLXSp+P4ak9cmfcjRaUFX283StIKls/tMNGi+Ba +KPy5IG1u11EDLr2Ro4Uz/kIJZ1K0sKAri8hck/Y6Dfzs5oIUM+Quw+ICvg2rBeAs +FMb99JX1zkawyTIyBnbLl8bQLXcDytjmT4AHX4fK2bdZu40CQQDO4H5VielSlDTk +mDWv4iVuzJmKjTavV+YsvND0E8sRawTTv9FOK8VYU/eg/uF/88/xR5HLv0kIxyFI +Csioc3/zAkEAwq4F4BNiVk3nyFR3BAUOv1nF2ma77PRWQkS1+PU4Zqh8r+6oHLmb +r/XhA8po4Ky9EnTH3Vj+g9NOwv/QCQJCywJAfgT+sDisauNhPQcDXTrTNqVnuqC+ ++R0AV6xFVQlhoCCi9iJY69d6BY5QwD/DOeBZgU7pn0XMxY4X1fzLsuF4xQJAfH32 +Sd17c/8rqkLBPPPTA3BwAoLRx+xTwNrZl1OQ9qzl10eBf6T9tx8//kGQoaQ04DmH +mbeQQlJ9OluF+EzW0wJABHmA6wNHmSbejWR9tCMPPY4CP+ipmjoDdSB4L4x23zKg +qw80vi91ds6977k4M7ylBhSK/MU8e5KTRHX9yzsyfg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/northwestern/northwestern.cert b/server/component/planetlab/us/northwestern/northwestern.cert new file mode 100644 index 00000000..d89febbf --- /dev/null +++ b/server/component/planetlab/us/northwestern/northwestern.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnTCCAQYCAQAwDQYJKoZIhvcNAQEEBQAwFzEVMBMGA1UEAxMMbm9ydGh3ZXN0 +ZXJuMB4XDTA4MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowFzEVMBMGA1UEAxMM +bm9ydGh3ZXN0ZXJuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEy6IlCLsu +pRyj9XUCq/VuDUAHc7illhn2DHEJtasenzDHagKbPBRTQAXgeOcRwjBGf9TX7QdR +GBD/YW1MRONzwHmkh6TR2PVwnaMsIzFm1Wj3Pl1Jl35h2a7yq0nS/6nRUNEESxv9 +8konwGNdFow1/v+5wla3Zc8N0LcGU+yMLQIDAQABMA0GCSqGSIb3DQEBBAUAA4GB +AMLJKP02wDmcRVtJvULpRrpegdG6btUJzyf8eoCJFWl3o+Q4UbUTNdrKUepnp1Rf +5Y9J9qsObnvwWfZZKsSHmZbMMbhw5NVjWp+6aZtNNJDzCsudJRaxuVU+LJRXdHIS +GMT/QkcGpokGoKGyiE9o//V0FIK4olBMTS5r+gOXfHiQ +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/northwestern/northwestern.pkey b/server/component/planetlab/us/northwestern/northwestern.pkey new file mode 100644 index 00000000..7de1afbf --- /dev/null +++ b/server/component/planetlab/us/northwestern/northwestern.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDEy6IlCLsupRyj9XUCq/VuDUAHc7illhn2DHEJtasenzDHagKb +PBRTQAXgeOcRwjBGf9TX7QdRGBD/YW1MRONzwHmkh6TR2PVwnaMsIzFm1Wj3Pl1J +l35h2a7yq0nS/6nRUNEESxv98konwGNdFow1/v+5wla3Zc8N0LcGU+yMLQIDAQAB +AoGAbib5FDel5j7/H/sFSsCLuNTr0QACC5VP5LwkDWZFaPd76zK4UMG5Mrv0Tif+ +Vp9WPC/TKCWBYe/Rm9Chx/4LPUNpOk9zkP+tuXaFeA8CV+1Co8seH0am+WJZew2f +Olxp6UB5Ut7803BkoDAK/vQzYoFJo6wmyroctXIX3EHheaECQQD6aHYck47YSa8W +PPG79l7Wg3F6RdPcnPdCo0Ek66qb9mwyTnn/BTosT+orgwHwnl51ONYKxmnS1NGz +ngB/BEkZAkEAyTCtnUtHkmxW5kS0kbbTtsZObvkQmmSUuadvO7/d5rXOE4dE9imF +Qay3jP8Dd15FYN3grsnH0FopBz0Ap7/6NQJAW0XYR3JBjvTMrP5p3mlfCDHBGyB4 +qOFN/ywigqKj/VVE+tFABoSRP7WhVVrbSilvpKqi2iqYSBDqnt3osGOPgQJAIV9g +vSG6mpA8DfBBn5YbIktcwU2xMlsSzIT4j4mxDk8EAvtCNi8G+rDitZGrioZprbrA +RV4VNftuqNO2oxzWLQJAIjY3Jsnwpp5R5xBdVQQFpttEIUx4D3zQiAC6YkvF43GT +x9Prr5EZORDyGtO8t2Z94d/fnIKyxPzlUAZI//1MiQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/orbit/orbit.cert b/server/component/planetlab/us/orbit/orbit.cert new file mode 100644 index 00000000..47df8390 --- /dev/null +++ b/server/component/planetlab/us/orbit/orbit.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvcmJpdDAeFw0w +ODAzMjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMBAxDjAMBgNVBAMTBW9yYml0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSEPH++WG45H9NhSiBH2Zrgz/EZaX5 +qdR1/H/p6IWP6wWrmmsm6qpXf7aX6NWUzG2e4t20p/pRENHQSLDmX5D1DxBMAs7j +3z8dDJ+99GN2b7aVhSIXjOCQOJCXl94PuVKBrxW3Mp1FQMd4Ta1BEapoOPj0oYLc +a38+BegrzZILRQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAH9RZdEbOWuNQj16RLa8 +ekUAKYkPvTCf+OPJ6lxbjfzI5kDX7E9+iCrkv3SNE55y+STgIXTpVRpwbqHo090E +Dkcmst+6V43GxXDph+sDDRxQ0C+tAMpilPdLC86Yf1qR+OYhKJg2cMsEzS5cq3E6 +oHrAyAcrdze/I3zcAIqFxxyK +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/orbit/orbit.pkey b/server/component/planetlab/us/orbit/orbit.pkey new file mode 100644 index 00000000..85b9aba3 --- /dev/null +++ b/server/component/planetlab/us/orbit/orbit.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDSEPH++WG45H9NhSiBH2Zrgz/EZaX5qdR1/H/p6IWP6wWrmmsm +6qpXf7aX6NWUzG2e4t20p/pRENHQSLDmX5D1DxBMAs7j3z8dDJ+99GN2b7aVhSIX +jOCQOJCXl94PuVKBrxW3Mp1FQMd4Ta1BEapoOPj0oYLca38+BegrzZILRQIDAQAB +AoGBAJjNqrqGPQd5bwC8s9H5PU9HkcMTDcCmQN3yZjmH4l/l3aIOGZOdb3tmczPd +Mj+i1LqW3B7lcbg2O+j+d2+cZJwMkVrF21jtKiaaAfzWt0rXE1ui9wkA9MIFMhp4 +2hqCK+KFrqv2zVy0ch6kE4/AyV9+0tTtCuLTEXaMmQBgoewBAkEA6AI+ojPFgQY2 +Onstz9Nf0KXKnh97XDI8BGyTEY0+/48uNED07xe28LyRaGzfH6b7Hi6umhsmhCVX +TwDLlsh4oQJBAOfJ1b+D4jiSlRaTRxtN4NgKYH+4LoNDNoz11lOZGW8xUnC6oVOq +6Zfr3josCrZ25tpWWMKgdjRmF98S9CkHHCUCQQDGHLSTGRY7mKxRv8Fcx6f3qLqd +z1AtaA/rzzK+OBhlbUQNBrKgP2XNp5eazeyxQIsKON6LZUe8a45kPc+bD9BBAkAf +8pDUkc/3bjTAZNJTMBvCi0Obtv4qN3RoX2YIJbz8t3aedQrRZmhF+UurBvD/D0po +Y6heQxGnzT6TD6C5mvJFAkEAswlGfTMSAKLfJ45MtN/zR1nEkHot7l+ZPYbXdzT4 +ydJnFLDEYwBYTME5BqBILai3BMBKKhMl/di+mtroWDZN2A== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/rice/rice.cert b/server/component/planetlab/us/rice/rice.cert new file mode 100644 index 00000000..98111dcb --- /dev/null +++ b/server/component/planetlab/us/rice/rice.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRyaWNlMB4XDTA4 +MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowDzENMAsGA1UEAxMEcmljZTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvPgtziV4JpT+7LTHWX3O7cefzxxjRuT3 +fC00NGEJHM3yFAaMcbLo0ppehr+HhXBcWxmffUd4Rg71/WKHZsdrnhpF8FkO89Yn +dNNli5hrFuXDJDqdkdHzWC/EItdJGK993+Y4b9RjSlYRIKpfFDzIbdbtlrYdbMCZ +jkq3hrpxkRUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAgkv9S4qCtZMG5gsdQhLJx +sYgtjdDdv9d4TsnqYXPHsWCDQWnGaedz+CMufmaZko9GiRL5Fsw51Beo0hb2n9PX +DRvc3uF0CvwzolsKP9UKaFR6IvgMOd6IBYhHdIguDxkqQDvHWmt5CqcoQJjmtrU8 +J5JBfiMyWH8OfhMz0yID3w== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/rice/rice.pkey b/server/component/planetlab/us/rice/rice.pkey new file mode 100644 index 00000000..4185938d --- /dev/null +++ b/server/component/planetlab/us/rice/rice.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC8+C3OJXgmlP7stMdZfc7tx5/PHGNG5Pd8LTQ0YQkczfIUBoxx +sujSml6Gv4eFcFxbGZ99R3hGDvX9Yodmx2ueGkXwWQ7z1id002WLmGsW5cMkOp2R +0fNYL8Qi10kYr33f5jhv1GNKVhEgql8UPMht1u2Wth1swJmOSreGunGRFQIDAQAB +AoGADHiAZVtZq4onrK1dfo1r64tCA6QG9TXFE1/UUySYOlto/2NTP2mkLcncNR5M +rkS1A5oUSWs/B7iTCU7ISsMcWeyve+dsSlcBsMbLzh/z75h1iR+Vdn45N+VFp62j +yY64YvZrTtinUpSXxOpRnKO/NABi6qJGnHSJecXCPBz2KH0CQQDe/JtYzt3ggUXp +VS47iHeZBI+YGGIpzbP+hConUC7vbbretzcf0mJDpkgQUIus1pNg/4edGTauXtbc +Fm4h/3F3AkEA2PJJZ7RKkARPNCLlZcKgddCokzbfS1pfj6+Mh0fco5h6zucDjeeM +Rafmn/HUEYXJM4XSpw9Lueu83SNSxLRU0wJAXwKa3lgmScZLF4Rn0o3vB4/d7xxU +lyNCkiuWGnIbzYCfos3F+xUVMWXkRq9LFDXJTgcSrWlU1y8ptVUJUAsbOQJAUC9l +QEZcFNTy7WNEhJMmOcWQuTDb4X8auQH6n/nIrFLseVLbdnSx3QEM9estJfjcAAYj +cQnvRF3EZbvrmLbKbwJAWGaTxygBFH4xu+BWnGUR54JPaQiHXMU91XOsD65rFT0J +CjGbJ4y2q2qqSQyY4oSTXKUKElMYh1LYIKRHNmBMAg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/rpi/rpi.cert b/server/component/planetlab/us/rpi/rpi.cert new file mode 100644 index 00000000..3f50d514 --- /dev/null +++ b/server/component/planetlab/us/rpi/rpi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNycGkwHhcNMDgw +MzI4MDM0NTA5WhcNMTMwMzI3MDM0NTA5WjAOMQwwCgYDVQQDEwNycGkwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANvg9MJ7RnBY42IeRAYDaYZfJ1k8FK+mCGlf +ttYkucu92w7fh25hszSbAq6LL+bkWfXCGS5CgmihFIspoZJD1qfA8Hi6lJnOO6Km +YrhNv+PBvzGfr5W95rm6lymNP+ZVqOXw6iHHU4CusPjQVBt1AqqqN862XwspIoQn +TD/j3VtrAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEA07cbEDriUDSHPNNItmA5B3fi +2ALrOUdJYN8E39HL/o6HEWpArpY3zhsXDr0glIpKvXm1Sz1720zvCTSfOuGN8xLV +Al5h3rLBZVNeeOTz3HXUqCNJJh6J/O82Kt50Id/U59lFqwk2OAHqT6D3nDzmdngP +qXTOnvqS2GEtJnpCT2I= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/rpi/rpi.pkey b/server/component/planetlab/us/rpi/rpi.pkey new file mode 100644 index 00000000..08c0c07c --- /dev/null +++ b/server/component/planetlab/us/rpi/rpi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDb4PTCe0ZwWONiHkQGA2mGXydZPBSvpghpX7bWJLnLvdsO34du +YbM0mwKuiy/m5Fn1whkuQoJooRSLKaGSQ9anwPB4upSZzjuipmK4Tb/jwb8xn6+V +vea5upcpjT/mVajl8Oohx1OArrD40FQbdQKqqjfOtl8LKSKEJ0w/491bawIDAQAB +AoGBALzT8h7a82EkVRI8X7qyT3uAWDCAMluuQOcNtd0t6QmZ4HhjatFWwinZPXJc +QiUN0lwF9s4NfCUSwKvKcuFDtSD/vxHyspfUqxthqpAvrzqaKoDtkpz9JHchmj1s +Kk5mEyjCUDjmDJ7CGXhZkzF0KVTc6DGVpQxEdd7ejSvr2hehAkEA+aNYPz54waYn +s/H4uXuL1qT16K5gHKCsDDUYCAnleZAOBxNbW9anFDhIhESIG8QFCBTtAub3ghkA +REFG33v+SQJBAOF7daPqeOTDCb1npugnS5Xk/guun7rdui3YPALFBkn5IuvFrRxT +zz9osap/1mo8A2eVNgpeyZGA+wwUVy0NnBMCQQDHoNAZAyQd93kYdQ+phBq3cwMT +Jx7ExdfPi0XEZ+WR6JjPH7OXJXhGuxuCaitNyNsdM161S23yI3wLGQhL/yPBAkAE +ygqFoMVQlpPuYfU5mRwR4vtCZEMgRPVfY+hiZqzrhU8oktpKb71HK4IajPyQ5RVt +bc3oCntdi8/JQeVYH6HhAkEAzpSQ2vRXTOAe76IJxRZeEFLAdmvoVtSwJ7DZdQRm +/b/5hvlYx1xWsMNgr39qJkpzprp+708JubpPEZdpo6vTlg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/stevens/stevens.cert b/server/component/planetlab/us/stevens/stevens.cert new file mode 100644 index 00000000..10ee7ccf --- /dev/null +++ b/server/component/planetlab/us/stevens/stevens.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdzdGV2ZW5zMB4X +DTA4MDMyODAzNDUxMFoXDTEzMDMyNzAzNDUxMFowEjEQMA4GA1UEAxMHc3RldmVu +czCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvO65JFWWsxufe4FV5C7TKrK6 +t6aZEeHrcTPiW78P8bvKunGVVSEiRza9sq5c1Bp6q+Lk3GVYpUbDnhw/jnpMTB/8 +IcDLOjk7p0KhCa5OAsSEm/+GLC+R+AW7cpuvJTNoAyrrbQr6wI6vTbC4zkS5eeny +17BcGYYiVCqBA6Np+1ECAwEAATANBgkqhkiG9w0BAQQFAAOBgQAQRLlBZoYTHnJ/ +3jtJ4ocfywGrcDvldm+ymIx5H2GGMW9dnJClkcLkDNHVK5ZbQ6D2JyAOvV3Bu8+E +6Ir4bIkZOiy7Xk3jmE8aBqbs9bg30612wTaZjeYo1FnOttwdAuVGXw0xOMOlDcrO +zBzVBbLQ0u8fq/sb57cGRhREV9721w== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/stevens/stevens.pkey b/server/component/planetlab/us/stevens/stevens.pkey new file mode 100644 index 00000000..4853cc02 --- /dev/null +++ b/server/component/planetlab/us/stevens/stevens.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC87rkkVZazG597gVXkLtMqsrq3ppkR4etxM+Jbvw/xu8q6cZVV +ISJHNr2yrlzUGnqr4uTcZVilRsOeHD+OekxMH/whwMs6OTunQqEJrk4CxISb/4Ys +L5H4Bbtym68lM2gDKuttCvrAjq9NsLjORLl56fLXsFwZhiJUKoEDo2n7UQIDAQAB +AoGASUgfL+Syy04PkgwckKFI7urcWZeZD8KdXA9P4V4+hPjeLWsZDSgI765f7gqL +nwmWQ02Cj6oPtCu6fH1geZceOE1/LPia2MrhAbeIWAz+91tyBaqhNwYrIjQullzX +uzaxq8VWzCoAMz+MjOFPJ89TPt4LNw1WcXJvuO872hswc0ECQQDv4ntkW3R4pk79 +dvg6pogxlV+D2jpto7tSWqZLKBVTd2p9FNtWpJPP+5pn40RuKTTFBxe7URei5u2i +ahKQPZ+VAkEAyZ/4OAW7n7GyvavIzr6ZC0l1o3FGerp4Kmg5kYYN6q/BfvZ/pkYr +dVkjp/FIRbbrgEMnRzSsJ/GHAqnhp/QtzQJBAMKD7faEyj8C7E5PaB126Dz8mMT7 +8iDxgXXYF7wdtp1F2c2vWeQ587nUlXHkMZr6QtX5WF8F9Jqdktf+FytrLLkCQQCv +7g7ny1DQ4nwldlyM0dC3AY1NZUzrUAQEdNcuvLst+dgsEaiGjJnlFje/lhDLC/Zn +/7CpODOz0tNMprFJHQ5NAkBr47TiRXDbM4qIkcUzl7zawrxDCCk7Um/iEIThHEFA +X1cm54BWZGLlvaqEnm6Bv/kCdvMEn5ZFie27dnjGGHDm +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/tky/tky.cert b/server/component/planetlab/us/tky/tky.cert new file mode 100644 index 00000000..1b06e13c --- /dev/null +++ b/server/component/planetlab/us/tky/tky.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0a3kwHhcNMDgw +MzI4MDM0NTEwWhcNMTMwMzI3MDM0NTEwWjAOMQwwCgYDVQQDEwN0a3kwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAMiykH2wAha6xH66PhU8520iX9E6Yd5nUmnE +5LwX2hpEYj8Snm5yoVD5kAar5DBSrGpbT4JBB75uYxLnZQBSILUrLbOPxq/mw/7a +ExiSiokfKv22g2EGhGUclFG4OOxFPUS4QNyU1sBVwjlTWy4hzK/7Xcp8OiGglu2y +KRMGL2EhAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAn1x3uXxAPU8UcD7fpL7/w9Xu +sMfRjvnDSaMlLxJuOnVopg0TXSSNllhqkQRLpopyswCxytDgagSZ4of5C+qemDYy +fpsymZfVJD2jgHKJw5bGf54QleiwHnqDRr1EYHEySXID+yYeW9BCs4GZUVWW65cz +CNxB848inuMrAYG3PbU= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/tky/tky.pkey b/server/component/planetlab/us/tky/tky.pkey new file mode 100644 index 00000000..9a574c71 --- /dev/null +++ b/server/component/planetlab/us/tky/tky.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDIspB9sAIWusR+uj4VPOdtIl/ROmHeZ1JpxOS8F9oaRGI/Ep5u +cqFQ+ZAGq+QwUqxqW0+CQQe+bmMS52UAUiC1Ky2zj8av5sP+2hMYkoqJHyr9toNh +BoRlHJRRuDjsRT1EuEDclNbAVcI5U1suIcyv+13KfDohoJbtsikTBi9hIQIDAQAB +AoGAEXPNstBSbi2Rlr+VVH12VnwtvuEHz7JGbWIszdp5Id2eeYOh+VLIimUZTCs4 +badSzPDhyh7jkIDC5srucoexxke59VkRjluroHwtWug1uxoRYs+wpcO0K9JaugPR +WhbSZZbHDifaI6z9KhKIcChQJJr+x+e/1ajH1N6ABvyMghECQQD63BGf3qJA7cjt +qzZnj2dD3qdtdKDXJhG886qICjK3RHECFKpwWCDoAqO/ju9V8jhHT75j1XBvGOdr +S2Yy9wMNAkEAzM9cWsadEVTVZhoIdZwRM0ZeO5sbFnDPJl/oEsnLHE1ZKV0pbqUB +e9DJNEZOqg9Xn8dNbihYlUhn1Bl8pRChZQJAVYny7IuS0gcC65/lBj0M3kSu3JDX +Q2W0yLRhos+vaXSKAEahs3sphVNZGLmZfLoCXLahWhNuqkNYrepg5+H4hQJBAMVI +5WSHtxrPxfPhFc78c9EZcoImKZSXO+NyNOGMQjtUApQGqndrOJ+lAXt6UiIcP0Ko +v9xhvtql8WXs2xVBjMUCQQDBLmwARF2iqmezIIrXrZCcHaHTzHHh1ybzcteVv5m2 +U1t0DS0jDzAx+nQAzTDkce9EFOC6p6pWQ1P1kZAusz8v +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/ucd/ucd.cert b/server/component/planetlab/us/ucd/ucd.cert new file mode 100644 index 00000000..6ed35795 --- /dev/null +++ b/server/component/planetlab/us/ucd/ucd.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1Y2QwHhcNMDgw +MzI4MDM0NTEwWhcNMTMwMzI3MDM0NTEwWjAOMQwwCgYDVQQDEwN1Y2QwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANK61udOX7RD/yGJ4jzI2XhGaw/nY9INmG7L +BNZ+BVelMe2qW7Cb3cKOcn9qB80KJYR/rhjU1NbUa3pfdbUk3Cu0/zasOvHDQdlE +gjBvUirUeu6B6p1vRI51x03lSkpNqN//1/pquOmJoDTJU2xSslnyQYK0NRFc/Lri +USiRveMBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAOmZDEEwKzi1kJt9+dvhejDGi +8PWQ/OEtgMhdApFIKe5WyRFOe7kk7LsNl/aQE04NyVsuZDOhVj5X2hdtBX/UjB0A +ojNVojFlqf4NKHZbFLUOZErWucBnR8Ljhd2Wo0foAp8WF795+NrGRUkB1KrdLZg6 +GTBPMn+NtfL01+1w/WE= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/ucd/ucd.pkey b/server/component/planetlab/us/ucd/ucd.pkey new file mode 100644 index 00000000..9f981558 --- /dev/null +++ b/server/component/planetlab/us/ucd/ucd.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDSutbnTl+0Q/8hieI8yNl4RmsP52PSDZhuywTWfgVXpTHtqluw +m93CjnJ/agfNCiWEf64Y1NTW1Gt6X3W1JNwrtP82rDrxw0HZRIIwb1Iq1Hrugeqd +b0SOdcdN5UpKTajf/9f6arjpiaA0yVNsUrJZ8kGCtDURXPy64lEokb3jAQIDAQAB +AoGAVQg5oXp5mdb6Q0FNPjPZtPPNTcyT9fWwdbyMRjTx2Oz62akteHVcpZ4vS4Sw +gyc9/lo7GSAAhnOOrwGIEME/6dNwrkFCC3YWbDYAybjhvpXdmFq17yS0ZMDIwLoE +rJuWwYBbLPNtCDPisnS9rCCjElr/4kC/aBVdxQUyIcibMPECQQDyWqY7YKOuPMq7 +BtX+ag6Khj2LAzGpciR7boJGu4yEsvjA9Zxz9VdhjMnbRFV80Ycc8byZpXZ8f2NN +j46mCIo9AkEA3phZtUMAgt/1VawHgvw7TxM2LyKR78gUmqkDMnik+yjykhnGa4ep +fzhsPgI5oj2cZjdbdST3cZnsv20hMrl8FQJBAIU2TH8AzJd+NNT+meuA8kM0LGnX +tJl18xWhlZw5hLCAC3lMx9V5OrGVCHMsqWy1YvYG7erqZylhf/zm9rrOoOUCQQDH +uSUMuaCUzURA6YkX4x+IFPHSGw+ceQbbunhO6ecGIDh+FLhvNRtFNigQ/0gdJXDW +Wicqlc+b04OUQuO9sqX9AkAgLPtcI3+gWbvzMzLfZNSl8bx/cZBUHrex+0oNRUE2 +Mw0J/13ZNhboJzjxK9wv/nq5Q47oZSIbIWRDbtxMFo4N +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/uci/uci.cert b/server/component/planetlab/us/uci/uci.cert new file mode 100644 index 00000000..15876c65 --- /dev/null +++ b/server/component/planetlab/us/uci/uci.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1Y2kwHhcNMDgw +MzI4MDM0NTA4WhcNMTMwMzI3MDM0NTA4WjAOMQwwCgYDVQQDEwN1Y2kwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALK9wNRqWBfWA/A+ATeiHjN8OcdzI4YB4NZH +pCCCi5LxNgIvTqhvdA34kNNlvY9XaaeFuJFO+aBlofWHduKXT2Sy4XU3xUeC2vv1 +qBsWqRgcmMT9yZn4oyNZ4n8stQGF09vFzzJ2ERMhieS+0lm8YjnCnoSDJGb6gkKm +VRbheve/AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAPwbCHIV79NputR6kSgAVT/d/ +mYZLKozMY6CYEmgGYftK4rZA6nzWm9tWmGe/mr2S6DhS838YakTstaIW9885rGBl +dMOrH8Rp3t3IXqsG+i96XDnnMkyt4SWLU2wnyG8H+1nhE0R4UyzoxhAgDHINZGON +M6iz4IrcF8hA3nMdcDM= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/uci/uci.pkey b/server/component/planetlab/us/uci/uci.pkey new file mode 100644 index 00000000..0fb7f6fc --- /dev/null +++ b/server/component/planetlab/us/uci/uci.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCyvcDUalgX1gPwPgE3oh4zfDnHcyOGAeDWR6QggouS8TYCL06o +b3QN+JDTZb2PV2mnhbiRTvmgZaH1h3bil09ksuF1N8VHgtr79agbFqkYHJjE/cmZ ++KMjWeJ/LLUBhdPbxc8ydhETIYnkvtJZvGI5wp6EgyRm+oJCplUW4Xr3vwIDAQAB +AoGAYns0XJT/Vpq/bsXrC8kSFNH0T9U7lGFCjS3J23OyDVNDq65/C0TlT7FNsnwT +FoBWIUwHJmC6H0sAEnUB5tTxk6FR8v3molofw2NKfFAS8G10KEN+12Y6qtGrU7Lw +XvdbfJKuC4OOADa9QOq0gxaChK477vY0nr0SIIcCxLhywIECQQDYuh0tSTLWqMl3 +JFpcEra6/p2b7C3Wq8srMKigs7v/tOCysnHOT5vO1PcP5z+iRjeU1sufClOPGtt4 +UPx9+h7BAkEA0yF+JEsssa7COOGNOcftJpy3F4PcEhIbhzGVcqiziS43huHAS+t+ +ww9lDxuN1x10FTP+cIBGA3E7bbbicyk2fwJBANTDEXWt0Jzvoqi2JYcSUBWPdIbn ++7AtgwzpfgIVsNA9cAG+MP+LI7iPVeRk7xGNwW7613dQmet5QFADoXzDGYECQQCS +mmgfxX9kZcgBfUT2QUgADsPn9Syj86TfzGNMua3o7ImsBCflz8E2qwLuaaClJZOM +gY0FC10SWNb+SQaXFp/7AkEAxPgxsf1r08knHRFwoYGrgOFc+y12JMA19fsj9wBa ++KoJtjbAycV+yb92Av7mAA5kXLYDy2ezbeBXp967gBJkmA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/ucla/ucla.cert b/server/component/planetlab/us/ucla/ucla.cert new file mode 100644 index 00000000..4c718467 --- /dev/null +++ b/server/component/planetlab/us/ucla/ucla.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1Y2xhMB4XDTA4 +MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowDzENMAsGA1UEAxMEdWNsYTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA63bz0FFyeq8qsSfwC3Ou2Vshf8I3WXYT +fCpP/MULZl7UHqn/1iRjhnixNoUu7YkJlPd6dUz0mW5sT3OECVZ9wHu1GF3iDBnG +EbOn0Y3GseQIj0nZr7MxQeI82r99AuJgoVEddlgcc+hH4rsiLCzVggQDRNHhZiZ1 +HfKd5XKNFysCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAKq95d5WuFwg/fkkQACAfW +cQB7HMxs0vXKmKViH+ehHZ+mZWlQurBwZO0O9L027KfgKc+8SLHsC9QSxzPJk2wn +MsIyBDe40Q9hLVxkuRve/lENPgA5po9KarUdWikIyD+iyo2tHSghQzKHUZV744Dh +3kfmYTpBckINAWC2EbCBxw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/ucla/ucla.pkey b/server/component/planetlab/us/ucla/ucla.pkey new file mode 100644 index 00000000..5a0c2d55 --- /dev/null +++ b/server/component/planetlab/us/ucla/ucla.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDrdvPQUXJ6ryqxJ/ALc67ZWyF/wjdZdhN8Kk/8xQtmXtQeqf/W +JGOGeLE2hS7tiQmU93p1TPSZbmxPc4QJVn3Ae7UYXeIMGcYRs6fRjcax5AiPSdmv +szFB4jzav30C4mChUR12WBxz6EfiuyIsLNWCBANE0eFmJnUd8p3lco0XKwIDAQAB +AoGBAIuOniVbEKnsRjZnwFtZPkmvPKSXPOz2Echm36+mLgKHs9tU0MBgIujhgc8Z +kt3QefBj2Z3KdbK2gtV4VsqeC7s1taiklE//UfOWM1G5+Aym0dXfc41LYfim99Fg +xsypo5oxS/IZ/ik/twXr0z0S8ui6N6VPRw3WbuRkxSaUDQCJAkEA+92ZN5yrF4gg +4tDaPjGrvpbMjCF4DL5I0mL/dUbVy7OnlP00zC0HDF7V6Kn6JTh+YLlxE+t8r0ZX +kAgUmqqX3wJBAO9Ubtlq/OZCKng6sH4bXQgNtCd0+Y29M/Z7BY08uW043pNV7XNW +V82CDdaN/ccoNDXBlQGcbiAOaoON+HwRGjUCQQCHp2j4nPdBq14bC+YgDVy1QD9X +Ukd4hZxvREbXAZnxJwghpOck+TOMpB+OOs6x8WWP7xFKa1Eyji5nMxL14t/9AkAo +J86BhEXyjF971L0QK58sXsA/bo0AjyJM1M9Vpz6laMlPhzdUBsSsoomX2jMeW0yH +SHer0YdYsZKFiCiNCIGRAkBlJFRX6R0nHGz3mZMdnXKKzfgI5HjjWhcGRJaTauBs +8EvhaDEzXXPlD2GRkvXbG/oK6C7qv2JAqIpRLETe3UuS +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/uclaee/uclaee.cert b/server/component/planetlab/us/uclaee/uclaee.cert new file mode 100644 index 00000000..f11db547 --- /dev/null +++ b/server/component/planetlab/us/uclaee/uclaee.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1Y2xhZWUwHhcN +MDgwMzI4MDM0NTA5WhcNMTMwMzI3MDM0NTA5WjARMQ8wDQYDVQQDEwZ1Y2xhZWUw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALjfiIXW8jlRtWQyY3+TujcLl0vc +mOF5qrJyVDv851FXV5o3U2AxQfxkLXYRmzocDdT3TUHQV9qLNJjHazlF2ogwCTQN +QCEC3xXEDXnoOfCZDMPY665whEc0XUlrU3BLFsM4wPU+nr7EzCZhLLmx+ASEfAT5 +5HEiiYv8UU07yvH9AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEARgTAmhMNZC7237un +Cy757WiTp/7Rl98P7GOYFRKDRRDjGl6iCUlsxiC5Sz7MUwI3A0rofDfu5RSikbLN +k/FZY7H01+tALgFzMn42tIMkeupfnv0xXLpqnpPZf6oISKAdZN77XzRlVq2Cep5p +X0lsb48z/Pls/H0uD97zJAHbQSc= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/uclaee/uclaee.pkey b/server/component/planetlab/us/uclaee/uclaee.pkey new file mode 100644 index 00000000..a4f658ed --- /dev/null +++ b/server/component/planetlab/us/uclaee/uclaee.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC434iF1vI5UbVkMmN/k7o3C5dL3JjheaqyclQ7/OdRV1eaN1Ng +MUH8ZC12EZs6HA3U901B0FfaizSYx2s5RdqIMAk0DUAhAt8VxA156DnwmQzD2Ouu +cIRHNF1Ja1NwSxbDOMD1Pp6+xMwmYSy5sfgEhHwE+eRxIomL/FFNO8rx/QIDAQAB +AoGAbUDc44uVdj5NXjtRBbH92E3nSZPCXW2TbQWXtiPNaAqf4KlVgoFZp5hkLWRW +Qc8WdYb4hy5i3OprWOZw/VXEwLj1wZxg3QNYCAFFuMYvCpcJqsjfv4X5WBney5JZ +jz5IC7gFRz67FMvjJzMJjXDTwpxK47i11/a+nXz/urHimoECQQDsC8oGIPInawfG +a0CaKnR1f6va1rl9kPibrXd7mBhalykBekxvlv5pEnjG5SasXqgopGhIdjlN72Te +DQ2b6NGxAkEAyIBTSfvqtUtXmlDRA99i7acSWBdpv0TOXsqsStWuDcWI5cvW/DMu +a1nyaPpvHVVxCLhLYZYVlmZG7WzE3mQMDQJAIJID31Ked0fye7OC54LiLPBf80Nb +tvLRCxIlgX1cJuvisZyBfYhVNIRi+/bUnkY1Z94/sXf2skVNIsKkVRYMEQJBAIdp +09a141DKL8IzLtc0ufXTzpncRjk92TtAGpj4M/NtJAY/Y1U1o/Yw631nFkBzgkHn +ZlHkMXRAY0rbGSMx4skCQQCV6cLw+Cg5llX1Nqf0vuiU/LCZjI+cXKz02wSTb/Dw +AzCwNVKsv1My5hv4AuUVqMLZrEp09wyjl9xhJJnhSDl8 +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/us.cert b/server/component/planetlab/us/us.cert new file mode 100644 index 00000000..5aaaf0ed --- /dev/null +++ b/server/component/planetlab/us/us.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJ1czAeFw0wODAz +MjgwMzQ1MDhaFw0xMzAzMjcwMzQ1MDhaMA0xCzAJBgNVBAMTAnVzMIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCjh9+Z1MLgDFDEjZYpB4244uKgl7yWybcdzT35 +kUO8Ijz6tNf3s2fvXkG2hyJzvcMrGILFmFq7rwHZcuhj8xgEladPqFC7dQuz9EZY +J4KNdVyWUhb0/wk+hGwAvAbmWDfSit/QMCpNgSSnRrWGWlt1wchyHw79xX8rOmmj +3TDkjwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAABNua6OpYkmW8dlwivX4yxy9zRf +GnXscmLI7AjGXbIo1VbrWlQayHJRFZ1Bn5of1jF13BaWC/PQ73HgdS4taWI6Etii +yPnrruzrwsysTkoyXrQvsE0wG/ghj0j/8elEiP9xvCYjTpeXv6bjHXQYofNIMooi +byos/pgwdg2f9AjU +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/us.pkey b/server/component/planetlab/us/us.pkey new file mode 100644 index 00000000..24785537 --- /dev/null +++ b/server/component/planetlab/us/us.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCjh9+Z1MLgDFDEjZYpB4244uKgl7yWybcdzT35kUO8Ijz6tNf3 +s2fvXkG2hyJzvcMrGILFmFq7rwHZcuhj8xgEladPqFC7dQuz9EZYJ4KNdVyWUhb0 +/wk+hGwAvAbmWDfSit/QMCpNgSSnRrWGWlt1wchyHw79xX8rOmmj3TDkjwIDAQAB +AoGAXFixY3xro/wwbB6MipTyalLtqcSmQfydRN4PPmzS9F3dU7JmN0H/0oPG1h2P +zg5+NUr9Jjp4Gn6kq7ghFbhEegMgY5dtmnjmqZhMJgS3Di8IolhCzBMR2AduvVIo +ZxkuRTqg3YQZpmZbjwnbkVcZqAYIZqxz4UGwp+eYDZQF/CECQQDSQukYUoXsXQ+g +bof/Nju7C+c/XN9D4mb9j78f5ejvri/IfrcD8lgZGBJHsrflv7UUbWyyOo08z1dn +Y+wCf9t/AkEAxxqdzgaCr25+tHb5/mnrNrdMaAsI9LJgLorumo+BOeDaNWQ7GFge +zJPfncyBOhMkrorZV7Nl4KBSYV2So5W+8QJAOxPNxqW5N1ZWg69KyuyED+QiT21a +1goRAgGXo/DHaEC68EyaQ6OeGT7oM/kFLqqUyG6Oce19ra5cUpKCx5kBJQJBALyT +wRL5p51xEiDq7yzANT/FrGB+0ySwLdjnTcamVMb06LfZDv+ntsQc6pcSsvLGXt/S +MriV+dAfCOefMNwvYIECQCdDeU+y6zACGb3LEnjgcB34BgpdPDIK9LDW118iRH7h +6WU5FSjxCXY+CtPVHLqC9awOW2FkOEuquKC/vGczvxc= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/utah/utah.cert b/server/component/planetlab/us/utah/utah.cert new file mode 100644 index 00000000..ec41911a --- /dev/null +++ b/server/component/planetlab/us/utah/utah.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1dGFoMB4XDTA4 +MDMyODAzNDUxMFoXDTEzMDMyNzAzNDUxMFowDzENMAsGA1UEAxMEdXRhaDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwZZS+cKctZwcxNpFJY/g5CchL8OSWyK6 +dx5C65J/SoOuN326OgTGuNnCF4N54nIsivQjeZcTGIIn9P2abQVn61iq0OrGi+6R +1bG/gwT1wCrGlh4WZ3mVn9BUhmWpGTaKLtyzT/n4cmfTDhgygPD0RIWsREeWbOOr +kDbH9ZVEY+0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB4AAxHkuf+kMCqfJN1erQX +9yAmK64FK+AwtV/BB6X/uaVX56yFAH/+mRWXrNhqIX4DymGY4L8SRWAPp8WQraqj +MNLVaoxzO+vnDom+4NfdZjHjOzPVWboL0Bs7mjZS/RNxivfnXnD55SgIGNkXcCS1 +BTFSgAf3JRTZBGZEkQaH8Q== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/utah/utah.pkey b/server/component/planetlab/us/utah/utah.pkey new file mode 100644 index 00000000..4814ed94 --- /dev/null +++ b/server/component/planetlab/us/utah/utah.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDBllL5wpy1nBzE2kUlj+DkJyEvw5JbIrp3HkLrkn9Kg643fbo6 +BMa42cIXg3niciyK9CN5lxMYgif0/ZptBWfrWKrQ6saL7pHVsb+DBPXAKsaWHhZn +eZWf0FSGZakZNoou3LNP+fhyZ9MOGDKA8PREhaxER5Zs46uQNsf1lURj7QIDAQAB +AoGABmCcZSv7G6SD8hw6sO0XfIypdDheJvBy8h+mFrqhxOOnpp5WtziXD1nlIf8r +0cDvJLi8PnIyp9kJ1fFQ2AyYisKRPFSzqs/ob5kkbFnR1yNs7W10f14mwz3pd5Ol +S1XHJP823frLc+Bq4fvMEDveV7CMLtrq7JDqEg+4aYxPBWUCQQDvWYb9CeQJb5EG +irm8kAf5/XxoB0who+vAtJheVmlLNI/89Zyyhwr/02X7A/8Qp8OddEVex/r3W/Vg +QDSLtaY/AkEAzw3VJCmQWWzKeDeS1Cw3Y2iZXo+K9nYabbAdzOGwYo/8RG0MIXK/ +SNemX5PD7fwpxMfHDKRLSY2AxtKKw4gi0wJAWIYlPgtdcvv3iJLgdVRUDurpC1S/ +nKWS+VgSDropAW60Xpu80+7Ma6gVTMzClrdlyyOI0LBoKvqw+2Njy9RoYwJBAJzn +D5CCyrdpYJjvDB4qj6KOPkLRJe4Um3xpjHuYvzBBilpUBHBIYzoQ6SvebwgmIYTU +GzuyOLc5Os/v9mWsAS8CQFPi/pBWffJjVWdXUQnA4qMhvFNTs3pnaSqlS8S6MtpS +BRJoIFY9dMbWS+EEmk7rY6WBk2TTCzrMdq6+SPhi+Ug= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/utxsa/utxsa.cert b/server/component/planetlab/us/utxsa/utxsa.cert new file mode 100644 index 00000000..4ddaf430 --- /dev/null +++ b/server/component/planetlab/us/utxsa/utxsa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwV1dHhzYTAeFw0w +ODAzMjgwMzQ1MDhaFw0xMzAzMjcwMzQ1MDhaMBAxDjAMBgNVBAMTBXV0eHNhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDM5C5olBeb1f9gAN6WKn3jCjOPfstb +JkNS7xJqXr6bdthDK4deWSPJhIyEcash4Jhf0X9qkMQi7gxNBQvbmE6ujWu/mYZB +Kwwny+TasLFJHbTw2T7e2H3JfRA8IZwgDIN+4gOmgG/eVaa+Lbrl2T+Xre+9bLdM +lj/gjv1nO76mWQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAMIiWvoNm4H5Uy1GpV2A +BOkx9S1cNm1dV9O0b40IrBrFWZyqXyJDbAEuTQIAf/wjcGF3k8ShzSBW4r/mLiQS +dlvDXji3idVOqdSsHdyWtj9cLYCsQwQYrE0XgQcUFxeXa8YJwaYSN1giWLN897WC ++m9uCio5Gcam6YESz4NpbdSp +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/utxsa/utxsa.pkey b/server/component/planetlab/us/utxsa/utxsa.pkey new file mode 100644 index 00000000..c789601a --- /dev/null +++ b/server/component/planetlab/us/utxsa/utxsa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDM5C5olBeb1f9gAN6WKn3jCjOPfstbJkNS7xJqXr6bdthDK4de +WSPJhIyEcash4Jhf0X9qkMQi7gxNBQvbmE6ujWu/mYZBKwwny+TasLFJHbTw2T7e +2H3JfRA8IZwgDIN+4gOmgG/eVaa+Lbrl2T+Xre+9bLdMlj/gjv1nO76mWQIDAQAB +AoGAEnOiMkzT63bULsMlSIS/HYk3p36Vtbm2amuZTvcFV17WjwYGhNqmPGmxdeP+ +s2hUkJx/SwuKflLNzMndjYMj4q8cAHZLp9aRT/44sJcUhTvkwNryI/eRJizH9les +YBLvwS3NEY15BttpWdvtrxZXaqkn61ntWP4L4WqH2v9ZIQECQQDo/XV+zdM/IEJp +PtqLjSxE0qMoDWlqNSw1+iCwlW33uNkViJkWFDVAIjm11d2c+AqIR9e/Cxmda7Nl +MbQey+6xAkEA4SBRz+/FLsGJn7DlWWc+Zs7WxUasRQdjrbS5hCq1O+xjdD6zx2p7 +ACsF2B7ZvHl53RuDZaO+lFWLWzAtSr8sKQJAA8S1tctWc1ruOA2QM1mhMavGf8tX +vSQHBwh4puKD2NHgkPyYnUbOZa8oB8zhvLw2T2X6E1j2nRk02ZooM6dQwQJBAJGt +AEO1u7rNseiL51062b5dCc0ONltUtMOqtoE3wZ7NEG4gROU9meo57MY08GBtmtXg +/929X41M7ahMPIKpwkECQQDBNcFIpItiQh9lLUjlBR8l5w7WM1hOyK1gnm6xyicg +jhQ5M8kPsZgg7V0wwir7JdV+y3Ohe0fHELjlg3/wXthd +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/uvic/uvic.cert b/server/component/planetlab/us/uvic/uvic.cert new file mode 100644 index 00000000..bf50c289 --- /dev/null +++ b/server/component/planetlab/us/uvic/uvic.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1dmljMB4XDTA4 +MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowDzENMAsGA1UEAxMEdXZpYzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuCI9XCY9lYG1PLmFQlfwOrlANpX5ygrz +EUQUQJ08FNvaCXzIek32Z5TbseLcLqE/p7jBctNmE9cEhe3Ni3mvQLbVLvdXsCv/ +wPMkEzTJLOKTafuFE7avahQqz3fR7OiyXs4hcDDycBcrdizqW5F3kLSqLaPrOEID +zR7KEMEBlI8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA63jNDHL8vfZsIDVKsujbH +wjkc8KXccaMSCSwHd50xjafgVgfLxj3sJNnMMc30ydU1pZuV2EQWFuAPy946dmZR +2HJfNT1v/gItuq+XniiifednvQcjubzGwXMZx1QQAK8BiN16vdBMTfsHzegBhNFK +zz9WyWE69mfjSui9B3vmNw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/uvic/uvic.pkey b/server/component/planetlab/us/uvic/uvic.pkey new file mode 100644 index 00000000..cc77e19c --- /dev/null +++ b/server/component/planetlab/us/uvic/uvic.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC4Ij1cJj2VgbU8uYVCV/A6uUA2lfnKCvMRRBRAnTwU29oJfMh6 +TfZnlNux4twuoT+nuMFy02YT1wSF7c2Lea9AttUu91ewK//A8yQTNMks4pNp+4UT +tq9qFCrPd9Hs6LJeziFwMPJwFyt2LOpbkXeQtKoto+s4QgPNHsoQwQGUjwIDAQAB +AoGAJm7HHefBbOZA3ObgIKPYOXmXJI2TMI+ugkkSbRYkhzoIPXi1I4oIR0BzxqJS +UM1JSwmuHvhu0u9LO2USRO1mHaIofZcRJRR3WppHHnY8DcwVvpa6evFx2r/un1Jp +guVgE5le6YSU7HmQBAoESr5a3xAyLGzl2GUxAnnuqoAriGkCQQDbH7Kgx/Hh0qb+ +aq/REaKzc4qI3FmP7URxRZtJtZ3E+WGKH2h6hJWGazDAEAQkSp2Y8bycKA4UuGx9 +003yex39AkEA1x8ZHtVvPuINvfhGX/upP4IwGZNEdI9GyMRkWfZn5sAQYkKd9vMV +YIOHxMTXuSCla/vgyzvLhEX5n50gqiScewJAJ9dflzRDmpe+nUuwpAbc2lwLuE64 +Sh8N7rqFPaW0BfiB76c+S+iHd2VN+93totueRAzQCmSOCt5te4NMDOat0QJAS7qv +3jHmwq1Thx/CroFqeGf9RNOaEqppkb3JUf4zX4EXg2/OKiQyz1IeVn+xLYO3mEcI +QKNhJsR3duAaoqrWxwJBAIPYAStgJUm/2wkOkIPHxWSIBQ6U/aD5Q9npDPFSmvP9 +xCqNQG+O1dTsU8TEi8vOnhyY9C4lC4tXiamcgv+MUkY= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert b/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert new file mode 100644 index 00000000..51baea90 --- /dev/null +++ b/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOdXdhY2NyZXRp +dmVkc2wwHhcNMDgwMzI4MDM0NTA4WhcNMTMwMzI3MDM0NTA4WjAZMRcwFQYDVQQD +Ew51d2FjY3JldGl2ZWRzbDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3I0H +6dgxxwZDSvdZDZv2a2el8ocBakKLYb5NlwPRZnQTbezEzIZ9iyvHsTIiNyhK1NNS +5KrF708tMiUoGCmSw30ToJ+El7gQgPTcEwVxogDG33wtFss+9ODxneq9FKaDkf+X +1F7ufHmApIoB2q0CVVUrIT0vJ8n8ElDC9sISnYUCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQDWaA3VNsnt+TpeTeZ2iMgFFGJrX4onRp1m2xOdWrXcBvmBcjIAFBBGCg0p +RSP5dC6ggShFHFU3K1uAMS9ng3/uqdT1APtgaPA/svd9jcK6CtdSgO2enUCaG2v1 +AN0jb5TVvt39ZIEQDvyDhWHcF+PzhcvnlrHHlHXGvjmL8rc/pg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey b/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey new file mode 100644 index 00000000..f8fce1e6 --- /dev/null +++ b/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDcjQfp2DHHBkNK91kNm/ZrZ6XyhwFqQothvk2XA9FmdBNt7MTM +hn2LK8exMiI3KErU01LkqsXvTy0yJSgYKZLDfROgn4SXuBCA9NwTBXGiAMbffC0W +yz704PGd6r0UpoOR/5fUXu58eYCkigHarQJVVSshPS8nyfwSUML2whKdhQIDAQAB +AoGAXJUbSE/H/Yskfni8uljJJacZ42hG8MtEZWCUg5tHsOFzMobcyhp+4wgayMiJ +0muolhSrzG/frSioiU9NuG7jO0NTClNiGm1TApFIVhlbdARLMYFMAqD6pc33RbMP +/fJmFaF+vE0HoLNV9kR+ppd17yPNY6plYecc6uCXy5xZmeECQQD1PM+cA+lirnMW +9T80fGbT5F+XxEmCeb6LlT6Oc4JyNcRncNHQxiT7tmQZ8v9x37u7DQyuB5DZQRof +vvXjeO+ZAkEA5jre/IUHQs4xX5UJ+fFk1BmsSJhyMbDC1Fm5POmdMxptife0ERNS +zULTN2Ob3qTqhiJKkc5lFj3xUcFFz8jAzQJBALb9Z1TdPlraHRq2aTE62mel8waF ++uwW9+2jsYgN/PpH0IP3FTiZgaMpV8xdG+rWrXhHpnx9PMI/58Rkc4oHBZECQHcO +7K+Dj6yxeoDmTuFtPuocWKa2Bx/BPA+aUpu4Z628tfbKHNlTt9cj/pw/K6Tofctd +wlhCdq4Y3Emd/B8mvuUCQQCi1PqTl8tU7FpmDSUhFboPaGvTNbUvj3VPjJPCDPwR +ayjY/z6+6D2KFyWUt7YqVtKR8ewvgoNPs5W2Uumm9K7w +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/vanderbilt/vanderbilt.cert b/server/component/planetlab/us/vanderbilt/vanderbilt.cert new file mode 100644 index 00000000..df04ef7c --- /dev/null +++ b/server/component/planetlab/us/vanderbilt/vanderbilt.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKdmFuZGVyYmls +dDAeFw0wODAzMjgwMzQ1MDhaFw0xMzAzMjcwMzQ1MDhaMBUxEzARBgNVBAMTCnZh +bmRlcmJpbHQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOMTJnlQpJbwFUzk +o+SP7asm3Ete9iZ2G3PfJFHblWyvmX8AM/tFIsrNqJPqlFGwvhhMnd+r6HnF/u8V +WeRFKCt4hzNR3KY34fGaoQc/kAtQAfnlX4xBvb1iZzJi49gMiuz6RuK5XhP/RL9D +4qcc3MhxlHS5QPaYv5naxgnJXM35AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEABXRt +tVRPHLlhs9CMcUI3cttD77m0CilVurmRNCPW1vFj1u0aDBXynlVjMwV2SUi6J3+e +KcsuA/Qtks9Fx4ScNqwsNu7wYn0drfG5/NR2e27ZSRtW9d78dTJvKq6RayNnUdDd +ubXd6Nj30By1W/E2f+pddGmIRYC7TyDW1hDgjqI= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/vanderbilt/vanderbilt.pkey b/server/component/planetlab/us/vanderbilt/vanderbilt.pkey new file mode 100644 index 00000000..bb0ac06c --- /dev/null +++ b/server/component/planetlab/us/vanderbilt/vanderbilt.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDjEyZ5UKSW8BVM5KPkj+2rJtxLXvYmdhtz3yRR25Vsr5l/ADP7 +RSLKzaiT6pRRsL4YTJ3fq+h5xf7vFVnkRSgreIczUdymN+HxmqEHP5ALUAH55V+M +Qb29YmcyYuPYDIrs+kbiuV4T/0S/Q+KnHNzIcZR0uUD2mL+Z2sYJyVzN+QIDAQAB +AoGAFSqq0nIm9X7prWI+uMaF1AdqT4hJj6pAwttRCmRamGgB+emt7sUyCg+DoE4k +hzzfa2pw6PGgWQGQ0v59g57CsKW3eXD8huwyTssFRvVJEeWUuB6Na+9dUqMkqUSZ +3qmiZE//ToCYoHtHyjCzKZWLzXZl4MQCjKkBT6TkaVL+gIECQQDxZjbXf8+NV3qv +jY/C6vfA6Kxp5ruUQmpxtJhqxLhjcaDlonufkMN2jeJXYIzSN4pHTsKKblsAFVTG +2U2KXymRAkEA8M8jbkDZfESGXhp3QPhrJ+bnLgzN9nhZP5fOgfFPXqFzNDaBgVhF +A5HMhLGci7VVijioFqFMiiAJ5h6tb7vp6QJAWKQg5TbgftUtjsMblAZ13VdS4DxC +iulsbr5S7Xm4/4MdAtWMMYaVz7W/9DfW3eZZF2AbXXuyXLB4heALchEJkQJBAIj1 +prccVxXge3OmJdFj+L4XC8EbM0FNLaWHl8I8FuJBfR5jKcEBDS98iw+lXN3w4pfc +pW1JjBi7JCYnqIj2HZECQF4WkYtF4bdzrfa1gNKtpF9dRkUZFv2XHrWmCcyLpQOy +vZbuLLaOXTNE4J06e9u9VnqJ/JNxch3Z8lxYdi0dir0= +-----END RSA PRIVATE KEY----- diff --git a/server/interface_tree_cr b/server/interface_tree_cr new file mode 100644 index 00000000..9e3a8a4e --- /dev/null +++ b/server/interface_tree_cr @@ -0,0 +1,97 @@ +planetlab |The root authority + jp |Japan authority + naist |Nara Institute of Science and Technology |http://inet-lab.naist.jp/ + nict |National Institute of Information and Communications Technology |http://www.nict.go.jp/ + osaka |Osaka University |http://www.ist.osaka-u.ac.jp + wide |WIDE Project |http://www.wide.ad.jp/ + plcolojgnsendai |PlanetLab Colo - NICT JGN2 Sendai | + plcolojgnnagoya |PlanetLab Colo - NICT JGN2 Nagoya | + plcolojgnosaka |PlanetLab Colo - NICT JGN2 Osaka | + plcolojgnokayama |PlanetLab Colo - NICT JGN2 Okayama | + plcolojgnhiroshima |PlanetLab Colo - NICT JGN2 Hiroshima | + plcolojgnkochi |PlanetLab Colo - NICT JGN2 Kochi | + plcolojgnfukuoka |PlanetLab Colo - NICT JGN2 Fukuoka | + plcolotppoznan |PlanetLab Colo - TP Poznan |http://www.tp-ir.pl/index.php?page=index&lang=en + plcolotppiotrkow |PlanetLab Colo - TP Piotrkow Trybunalski |http://www.tp-ir.pl/index.php?page=index&lang=en + plcolotpgdansk |PlanetLab Colo - TP Gdansk |http://www.tp-ir.pl/index.php?page=index&lang=en + waseda |Waseda University |http://www.waseda.jp/ + keio |Keio University |http://www.sfc.wide.ad.jp + utokyo |University of Tokyo |http://www.planet-lab-jp.org + jaist |Japan Advanced Institute of Science and Technology (JAIST) |http://www.jaist.ac.jp + us |US authority + uwaccretivedsl |University of Washington - Accretive DSL |http://www.cs.washington.edu/ + irp |Intel Research Pittsburgh |http://www.intel-research.net/pittsburgh/ + cernetneu |CERNET - Northeast University |http://www.neu.edu.cn/english/ + utxsa |University of Texas at San Antonio |http://www.utsa.edu + att |AT&T Labs--Research |http://www.research.att.com + vanderbilt |Vanderbilt University |http://www.vuse.vanderbilt.edu + uci |University of California, Irvine |http://www.ics.uci.edu/~lbao/planetlab/ + uclaee |UCLA - EE |http://cantor.ee.ucla.edu/~networks/ + ucla |University of California at Los Angeles |http://www.cs.ucla.edu/ + ccny |City College of the City University of New York |http://www.ccny.cuny.edu/cint/ + michigan |University of Michigan |http://www.eecs.umich.edu/ + columbia |Columbia University |http://www.cs.columbia.edu/ + northwestern |Northwestern University at Illinois |http://www.cs.northwestern.edu/ + rpi |Rensselaer Polytechnic Institute |http://networks.ecse.rpi.edu/ + rice |Rice University |http://www.cs.rice.edu/ + brown |Brown University |http://cs.brown.edu/ + uvic |University of Victoria |http://www.uvic.ca + stevens |Stevens Institute of Technology |http://www.cs.stevens-tech.edu + colorado |University of Colorado at Boulder |http://serl.cs.colorado.edu + orbit |Orbit |http://www.orbit-lab.org + bu |Boston University |http://www.cs.bu.edu/ + aub |American University of Beirut |http://www.aub.edu.lb + jhuis |Johns Hopkins Information Security Institute |http://www.cs.jhu.edu/ + ucd |University of California, Davis |http://engineering.ucdavis.edu + utah |University of Utah |http://www.cs.utah.edu/ + tky |new site for testing purposes |tokyo.com + eu |Europe authority + eurecom |Eurecom Institute |http://www.eurecom.fr + inria |INRIA Sophia Antipolis |http://www-sop.inria.fr/ + ethzcs |ETH Zuerich - Computer Science |http://www.inf.ethz.ch + basel |University of Basel, Switzerland |http://cn.cs.unibas.ch/ + enst |Ecole Nationale Superieure des Telecommunications |http://www.enst.fr + unizh |University of Zurich, Institut fur Informatik |http://www.csg.uzh.ch/ + moscowstate |Moscow State University |http://www.cs.msu.ru/ + msuchem |Moscow State University, Chemistry |http://lcc.chem.msu.ru + hawh |HAW Hamburg |http://www.haw-hamburg.de + bamberg |University of Bamberg |http://www.uni-bamberg.de/wiai/minf + budapest |Budapest University of Technology and Economics |http://www.tmit.bme.hu/home!eng + upb |University of Paderborn |http://www.uni-paderborn.de + tcd |Trinity College Dublin |http://www.cs.tcd.ie + irisa |IRISA |http://www.irisa.fr + cesnet |CESNET - Czech Education and Research Network |http://www.ces.net/about/ + aston |Aston University |http://www.aston.ac.uk/~pengx1/DSN-project + univie |University of Vienna |http://www.cs.univie.ac.at + lisbon |University of Lisbon |http://lasige.di.fc.ul.pt + konstanz |University of Konstanz |http://www.uni-konstanz.de + fokus |Fraunhofer FOKUS - Research Institute for Open Communication Systems |http://www.fokus.fraunhofer.de + snummlab |Seoul National University - MMLAB |http://mmlab.snu.ac.kr/ + qub |Queen's University Belfast |http://www.qub.ac.uk/schools/eeecs/ + sydney |University of Technology at Sydney |http://www.it.uts.edu.au/ + canterbury |University of Canterbury, New Zealand |http://www.cosc.canterbury.ac.nz/ + fing |Facultad de Ingenieria - Universidad de la Republica |http://www.fing.edu.uy + haifa |Haifa University |http://www.haifa.ac.il + iitr |Indian Institute of Technology Roorkee |http://www.iitr.ac.in + tau |Tel-Aviv University |http://www.cs.tau.ac.il + canarie |CANARIE |http://www.canarie.ca + ntu |National Taiwan University, Department of Information Management |http://www.im.ntu.edu.tw/index_e.htm + equinixsi |Equinix - Singapore | + icavite |Intel - Cavite | + ihaifa |Intel - Haifa | + ileixlip |Intel - Leixlip | + ula |Centro Nacional de Calculo Cientifico Universidad de Los Andes |http://www.cecalc.ula.ve/ + canariecalgary |Canarie - Calgary |http://www.canarie.ca + canarieottawa |Canarie - Ottawa |http://www.canarie.ca + canariehalifax |Canarie - Halifax |http://www.canarie.ca + canariemontreal |Canarie - Montreal |http://www.canarie.ca + canarietoronto |Canarie - Toronto |http://www.canarie.ca + canariewinnipeg |Canarie - Winnipeg |http://www.canarie.ca + unioslo |University of Oslo |http://www.ifi.uio.no/dmms + buaa |BeiHang University |http://www.nlsde.buaa.edu.cn + cernetxjtu |CERNET - XiAn Jiao Tong University |http://www.xjtu.edu.cn/en/ + cernetsdu |CERNET - Shandong University |http://www.sdu.edu.cn/english/ + cernetpku |CERNET - Peiking University |http://en.pku.edu.cn/ + cernetbuaa |CERNET - Beihang University |http://ev.buaa.edu.cn/ + cernetzju |CERNET - Zhejiang University |http://www.zju.edu.cn/english/ + cernetxmu |CERNET - Xiamen University |http://www.xmu.edu.cn/english/index.htm \ No newline at end of file diff --git a/server/interface_tree_cr_dict b/server/interface_tree_cr_dict new file mode 100644 index 00000000..17a90283 --- /dev/null +++ b/server/interface_tree_cr_dict @@ -0,0 +1 @@ +{'info': {'node_data': {'key_info': {'acc_file': 'acc_file', 'id_file': 'planetlab.cert', 'cred_file': 'cred_file', 'id_key_file': 'planetlab.pkey', 'last_update': '', 'folder': 'component/planetlab'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'planetlab', 'name': 'planetlab'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jp.cert', 'cred_file': '', 'id_key_file': 'jp.pkey', 'last_update': '', 'folder': 'component/planetlab/jp'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jp', 'name': 'planetlab.jp'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'naist.cert', 'cred_file': '', 'id_key_file': 'naist.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/naist'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$naist_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'naist', 'name': 'planetlab.jp.naist'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'nict.cert', 'cred_file': '', 'id_key_file': 'nict.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/nict'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$nict_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'nict', 'name': 'planetlab.jp.nict'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'osaka.cert', 'cred_file': '', 'id_key_file': 'osaka.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/osaka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$osaka_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'osaka', 'name': 'planetlab.jp.osaka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'wide.cert', 'cred_file': '', 'id_key_file': 'wide.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/wide'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$wide_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'wide', 'name': 'planetlab.jp.wide'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnsendai.cert', 'cred_file': '', 'id_key_file': 'plcolojgnsendai.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnsendai'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnsendai_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnsendai', 'name': 'planetlab.jp.plcolojgnsendai'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnnagoya.cert', 'cred_file': '', 'id_key_file': 'plcolojgnnagoya.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnnagoya'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnnagoya_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnnagoya', 'name': 'planetlab.jp.plcolojgnnagoya'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnosaka.cert', 'cred_file': '', 'id_key_file': 'plcolojgnosaka.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnosaka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnosaka_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnosaka', 'name': 'planetlab.jp.plcolojgnosaka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnokayama.cert', 'cred_file': '', 'id_key_file': 'plcolojgnokayama.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnokayama'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnokayama_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnokayama', 'name': 'planetlab.jp.plcolojgnokayama'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnhiroshima.cert', 'cred_file': '', 'id_key_file': 'plcolojgnhiroshima.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnhiroshima'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnhiroshima_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnhiroshima', 'name': 'planetlab.jp.plcolojgnhiroshima'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnkochi.cert', 'cred_file': '', 'id_key_file': 'plcolojgnkochi.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnkochi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnkochi_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnkochi', 'name': 'planetlab.jp.plcolojgnkochi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnfukuoka.cert', 'cred_file': '', 'id_key_file': 'plcolojgnfukuoka.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnfukuoka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnfukuoka_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnfukuoka', 'name': 'planetlab.jp.plcolojgnfukuoka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotppoznan.cert', 'cred_file': '', 'id_key_file': 'plcolotppoznan.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolotppoznan'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotppoznan_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotppoznan', 'name': 'planetlab.jp.plcolotppoznan'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotppiotrkow.cert', 'cred_file': '', 'id_key_file': 'plcolotppiotrkow.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolotppiotrkow'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotppiotrkow_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotppiotrkow', 'name': 'planetlab.jp.plcolotppiotrkow'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotpgdansk.cert', 'cred_file': '', 'id_key_file': 'plcolotpgdansk.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolotpgdansk'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotpgdansk_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotpgdansk', 'name': 'planetlab.jp.plcolotpgdansk'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'waseda.cert', 'cred_file': '', 'id_key_file': 'waseda.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/waseda'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$waseda_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'waseda', 'name': 'planetlab.jp.waseda'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'keio.cert', 'cred_file': '', 'id_key_file': 'keio.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/keio'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$keio_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'keio', 'name': 'planetlab.jp.keio'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utokyo.cert', 'cred_file': '', 'id_key_file': 'utokyo.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/utokyo'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$utokyo_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utokyo', 'name': 'planetlab.jp.utokyo'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jaist.cert', 'cred_file': '', 'id_key_file': 'jaist.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/jaist'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$jaist_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jaist', 'name': 'planetlab.jp.jaist'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'us.cert', 'cred_file': '', 'id_key_file': 'us.pkey', 'last_update': '', 'folder': 'component/planetlab/us'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'us', 'name': 'planetlab.us'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uwaccretivedsl.cert', 'cred_file': '', 'id_key_file': 'uwaccretivedsl.pkey', 'last_update': '', 'folder': 'component/planetlab/us/uwaccretivedsl'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uwaccretivedsl_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uwaccretivedsl', 'name': 'planetlab.us.uwaccretivedsl'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'irp.cert', 'cred_file': '', 'id_key_file': 'irp.pkey', 'last_update': '', 'folder': 'component/planetlab/us/irp'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$irp_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'irp', 'name': 'planetlab.us.irp'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetneu.cert', 'cred_file': '', 'id_key_file': 'cernetneu.pkey', 'last_update': '', 'folder': 'component/planetlab/us/cernetneu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$cernetneu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetneu', 'name': 'planetlab.us.cernetneu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utxsa.cert', 'cred_file': '', 'id_key_file': 'utxsa.pkey', 'last_update': '', 'folder': 'component/planetlab/us/utxsa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$utxsa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utxsa', 'name': 'planetlab.us.utxsa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'att.cert', 'cred_file': '', 'id_key_file': 'att.pkey', 'last_update': '', 'folder': 'component/planetlab/us/att'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$att_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'att', 'name': 'planetlab.us.att'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'vanderbilt.cert', 'cred_file': '', 'id_key_file': 'vanderbilt.pkey', 'last_update': '', 'folder': 'component/planetlab/us/vanderbilt'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$vanderbilt_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'vanderbilt', 'name': 'planetlab.us.vanderbilt'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uci.cert', 'cred_file': '', 'id_key_file': 'uci.pkey', 'last_update': '', 'folder': 'component/planetlab/us/uci'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uci_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uci', 'name': 'planetlab.us.uci'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uclaee.cert', 'cred_file': '', 'id_key_file': 'uclaee.pkey', 'last_update': '', 'folder': 'component/planetlab/us/uclaee'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uclaee_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uclaee', 'name': 'planetlab.us.uclaee'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ucla.cert', 'cred_file': '', 'id_key_file': 'ucla.pkey', 'last_update': '', 'folder': 'component/planetlab/us/ucla'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ucla_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ucla', 'name': 'planetlab.us.ucla'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ccny.cert', 'cred_file': '', 'id_key_file': 'ccny.pkey', 'last_update': '', 'folder': 'component/planetlab/us/ccny'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ccny_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ccny', 'name': 'planetlab.us.ccny'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'michigan.cert', 'cred_file': '', 'id_key_file': 'michigan.pkey', 'last_update': '', 'folder': 'component/planetlab/us/michigan'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$michigan_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'michigan', 'name': 'planetlab.us.michigan'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'columbia.cert', 'cred_file': '', 'id_key_file': 'columbia.pkey', 'last_update': '', 'folder': 'component/planetlab/us/columbia'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$columbia_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'columbia', 'name': 'planetlab.us.columbia'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'northwestern.cert', 'cred_file': '', 'id_key_file': 'northwestern.pkey', 'last_update': '', 'folder': 'component/planetlab/us/northwestern'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$northwestern_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'northwestern', 'name': 'planetlab.us.northwestern'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'rpi.cert', 'cred_file': '', 'id_key_file': 'rpi.pkey', 'last_update': '', 'folder': 'component/planetlab/us/rpi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$rpi_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'rpi', 'name': 'planetlab.us.rpi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'rice.cert', 'cred_file': '', 'id_key_file': 'rice.pkey', 'last_update': '', 'folder': 'component/planetlab/us/rice'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$rice_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'rice', 'name': 'planetlab.us.rice'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'brown.cert', 'cred_file': '', 'id_key_file': 'brown.pkey', 'last_update': '', 'folder': 'component/planetlab/us/brown'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$brown_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'brown', 'name': 'planetlab.us.brown'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uvic.cert', 'cred_file': '', 'id_key_file': 'uvic.pkey', 'last_update': '', 'folder': 'component/planetlab/us/uvic'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uvic_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uvic', 'name': 'planetlab.us.uvic'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'stevens.cert', 'cred_file': '', 'id_key_file': 'stevens.pkey', 'last_update': '', 'folder': 'component/planetlab/us/stevens'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$stevens_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'stevens', 'name': 'planetlab.us.stevens'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'colorado.cert', 'cred_file': '', 'id_key_file': 'colorado.pkey', 'last_update': '', 'folder': 'component/planetlab/us/colorado'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$colorado_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'colorado', 'name': 'planetlab.us.colorado'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'orbit.cert', 'cred_file': '', 'id_key_file': 'orbit.pkey', 'last_update': '', 'folder': 'component/planetlab/us/orbit'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$orbit_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'orbit', 'name': 'planetlab.us.orbit'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'bu.cert', 'cred_file': '', 'id_key_file': 'bu.pkey', 'last_update': '', 'folder': 'component/planetlab/us/bu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$bu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'bu', 'name': 'planetlab.us.bu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'aub.cert', 'cred_file': '', 'id_key_file': 'aub.pkey', 'last_update': '', 'folder': 'component/planetlab/us/aub'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$aub_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'aub', 'name': 'planetlab.us.aub'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jhuis.cert', 'cred_file': '', 'id_key_file': 'jhuis.pkey', 'last_update': '', 'folder': 'component/planetlab/us/jhuis'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$jhuis_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jhuis', 'name': 'planetlab.us.jhuis'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ucd.cert', 'cred_file': '', 'id_key_file': 'ucd.pkey', 'last_update': '', 'folder': 'component/planetlab/us/ucd'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ucd_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ucd', 'name': 'planetlab.us.ucd'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utah.cert', 'cred_file': '', 'id_key_file': 'utah.pkey', 'last_update': '', 'folder': 'component/planetlab/us/utah'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$utah_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utah', 'name': 'planetlab.us.utah'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tky.cert', 'cred_file': '', 'id_key_file': 'tky.pkey', 'last_update': '', 'folder': 'component/planetlab/us/tky'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$tky_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tky', 'name': 'planetlab.us.tky'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'eu.cert', 'cred_file': '', 'id_key_file': 'eu.pkey', 'last_update': '', 'folder': 'component/planetlab/eu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'eu', 'name': 'planetlab.eu'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'eurecom.cert', 'cred_file': '', 'id_key_file': 'eurecom.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/eurecom'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$eurecom_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'eurecom', 'name': 'planetlab.eu.eurecom'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'inria.cert', 'cred_file': '', 'id_key_file': 'inria.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/inria'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$inria_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'inria', 'name': 'planetlab.eu.inria'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ethzcs.cert', 'cred_file': '', 'id_key_file': 'ethzcs.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/ethzcs'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$ethzcs_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ethzcs', 'name': 'planetlab.eu.ethzcs'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'basel.cert', 'cred_file': '', 'id_key_file': 'basel.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/basel'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$basel_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'basel', 'name': 'planetlab.eu.basel'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'enst.cert', 'cred_file': '', 'id_key_file': 'enst.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/enst'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$enst_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'enst', 'name': 'planetlab.eu.enst'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'unizh.cert', 'cred_file': '', 'id_key_file': 'unizh.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/unizh'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$unizh_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'unizh', 'name': 'planetlab.eu.unizh'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'moscowstate.cert', 'cred_file': '', 'id_key_file': 'moscowstate.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/moscowstate'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$moscowstate_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'moscowstate', 'name': 'planetlab.eu.moscowstate'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'msuchem.cert', 'cred_file': '', 'id_key_file': 'msuchem.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/msuchem'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$msuchem_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'msuchem', 'name': 'planetlab.eu.msuchem'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'hawh.cert', 'cred_file': '', 'id_key_file': 'hawh.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/hawh'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$hawh_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'hawh', 'name': 'planetlab.eu.hawh'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'bamberg.cert', 'cred_file': '', 'id_key_file': 'bamberg.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/bamberg'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$bamberg_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'bamberg', 'name': 'planetlab.eu.bamberg'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'budapest.cert', 'cred_file': '', 'id_key_file': 'budapest.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/budapest'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$budapest_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'budapest', 'name': 'planetlab.eu.budapest'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'upb.cert', 'cred_file': '', 'id_key_file': 'upb.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/upb'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$upb_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'upb', 'name': 'planetlab.eu.upb'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tcd.cert', 'cred_file': '', 'id_key_file': 'tcd.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/tcd'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$tcd_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tcd', 'name': 'planetlab.eu.tcd'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'irisa.cert', 'cred_file': '', 'id_key_file': 'irisa.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/irisa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$irisa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'irisa', 'name': 'planetlab.eu.irisa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cesnet.cert', 'cred_file': '', 'id_key_file': 'cesnet.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/cesnet'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$cesnet_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cesnet', 'name': 'planetlab.eu.cesnet'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'aston.cert', 'cred_file': '', 'id_key_file': 'aston.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/aston'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$aston_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'aston', 'name': 'planetlab.eu.aston'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'univie.cert', 'cred_file': '', 'id_key_file': 'univie.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/univie'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$univie_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'univie', 'name': 'planetlab.eu.univie'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'lisbon.cert', 'cred_file': '', 'id_key_file': 'lisbon.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/lisbon'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$lisbon_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'lisbon', 'name': 'planetlab.eu.lisbon'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'konstanz.cert', 'cred_file': '', 'id_key_file': 'konstanz.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/konstanz'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$konstanz_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'konstanz', 'name': 'planetlab.eu.konstanz'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'fokus.cert', 'cred_file': '', 'id_key_file': 'fokus.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/fokus'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$fokus_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'fokus', 'name': 'planetlab.eu.fokus'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'snummlab.cert', 'cred_file': '', 'id_key_file': 'snummlab.pkey', 'last_update': '', 'folder': 'component/planetlab/snummlab'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$snummlab_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'snummlab', 'name': 'planetlab.snummlab'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'qub.cert', 'cred_file': '', 'id_key_file': 'qub.pkey', 'last_update': '', 'folder': 'component/planetlab/qub'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$qub_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'qub', 'name': 'planetlab.qub'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'sydney.cert', 'cred_file': '', 'id_key_file': 'sydney.pkey', 'last_update': '', 'folder': 'component/planetlab/sydney'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$sydney_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'sydney', 'name': 'planetlab.sydney'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canterbury.cert', 'cred_file': '', 'id_key_file': 'canterbury.pkey', 'last_update': '', 'folder': 'component/planetlab/canterbury'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canterbury_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canterbury', 'name': 'planetlab.canterbury'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'fing.cert', 'cred_file': '', 'id_key_file': 'fing.pkey', 'last_update': '', 'folder': 'component/planetlab/fing'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$fing_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'fing', 'name': 'planetlab.fing'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'haifa.cert', 'cred_file': '', 'id_key_file': 'haifa.pkey', 'last_update': '', 'folder': 'component/planetlab/haifa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$haifa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'haifa', 'name': 'planetlab.haifa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'iitr.cert', 'cred_file': '', 'id_key_file': 'iitr.pkey', 'last_update': '', 'folder': 'component/planetlab/iitr'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$iitr_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'iitr', 'name': 'planetlab.iitr'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tau.cert', 'cred_file': '', 'id_key_file': 'tau.pkey', 'last_update': '', 'folder': 'component/planetlab/tau'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$tau_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tau', 'name': 'planetlab.tau'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarie.cert', 'cred_file': '', 'id_key_file': 'canarie.pkey', 'last_update': '', 'folder': 'component/planetlab/canarie'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarie_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarie', 'name': 'planetlab.canarie'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ntu.cert', 'cred_file': '', 'id_key_file': 'ntu.pkey', 'last_update': '', 'folder': 'component/planetlab/ntu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ntu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ntu', 'name': 'planetlab.ntu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'equinixsi.cert', 'cred_file': '', 'id_key_file': 'equinixsi.pkey', 'last_update': '', 'folder': 'component/planetlab/equinixsi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$equinixsi_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'equinixsi', 'name': 'planetlab.equinixsi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'icavite.cert', 'cred_file': '', 'id_key_file': 'icavite.pkey', 'last_update': '', 'folder': 'component/planetlab/icavite'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$icavite_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'icavite', 'name': 'planetlab.icavite'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ihaifa.cert', 'cred_file': '', 'id_key_file': 'ihaifa.pkey', 'last_update': '', 'folder': 'component/planetlab/ihaifa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ihaifa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ihaifa', 'name': 'planetlab.ihaifa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ileixlip.cert', 'cred_file': '', 'id_key_file': 'ileixlip.pkey', 'last_update': '', 'folder': 'component/planetlab/ileixlip'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ileixlip_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ileixlip', 'name': 'planetlab.ileixlip'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ula.cert', 'cred_file': '', 'id_key_file': 'ula.pkey', 'last_update': '', 'folder': 'component/planetlab/ula'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ula_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ula', 'name': 'planetlab.ula'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariecalgary.cert', 'cred_file': '', 'id_key_file': 'canariecalgary.pkey', 'last_update': '', 'folder': 'component/planetlab/canariecalgary'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariecalgary_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariecalgary', 'name': 'planetlab.canariecalgary'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarieottawa.cert', 'cred_file': '', 'id_key_file': 'canarieottawa.pkey', 'last_update': '', 'folder': 'component/planetlab/canarieottawa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarieottawa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarieottawa', 'name': 'planetlab.canarieottawa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariehalifax.cert', 'cred_file': '', 'id_key_file': 'canariehalifax.pkey', 'last_update': '', 'folder': 'component/planetlab/canariehalifax'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariehalifax_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariehalifax', 'name': 'planetlab.canariehalifax'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariemontreal.cert', 'cred_file': '', 'id_key_file': 'canariemontreal.pkey', 'last_update': '', 'folder': 'component/planetlab/canariemontreal'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariemontreal_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariemontreal', 'name': 'planetlab.canariemontreal'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarietoronto.cert', 'cred_file': '', 'id_key_file': 'canarietoronto.pkey', 'last_update': '', 'folder': 'component/planetlab/canarietoronto'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarietoronto_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarietoronto', 'name': 'planetlab.canarietoronto'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariewinnipeg.cert', 'cred_file': '', 'id_key_file': 'canariewinnipeg.pkey', 'last_update': '', 'folder': 'component/planetlab/canariewinnipeg'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariewinnipeg_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariewinnipeg', 'name': 'planetlab.canariewinnipeg'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'unioslo.cert', 'cred_file': '', 'id_key_file': 'unioslo.pkey', 'last_update': '', 'folder': 'component/planetlab/unioslo'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$unioslo_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'unioslo', 'name': 'planetlab.unioslo'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'buaa.cert', 'cred_file': '', 'id_key_file': 'buaa.pkey', 'last_update': '', 'folder': 'component/planetlab/buaa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$buaa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'buaa', 'name': 'planetlab.buaa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetxjtu.cert', 'cred_file': '', 'id_key_file': 'cernetxjtu.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetxjtu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetxjtu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetxjtu', 'name': 'planetlab.cernetxjtu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetsdu.cert', 'cred_file': '', 'id_key_file': 'cernetsdu.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetsdu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetsdu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetsdu', 'name': 'planetlab.cernetsdu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetpku.cert', 'cred_file': '', 'id_key_file': 'cernetpku.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetpku'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetpku_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetpku', 'name': 'planetlab.cernetpku'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetbuaa.cert', 'cred_file': '', 'id_key_file': 'cernetbuaa.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetbuaa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetbuaa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetbuaa', 'name': 'planetlab.cernetbuaa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetzju.cert', 'cred_file': '', 'id_key_file': 'cernetzju.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetzju'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetzju_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetzju', 'name': 'planetlab.cernetzju'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetxmu.cert', 'cred_file': '', 'id_key_file': 'cernetxmu.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetxmu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetxmu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetxmu', 'name': 'planetlab.cernetxmu'}, 'children': []}]} \ No newline at end of file diff --git a/server/interface_tree_sr b/server/interface_tree_sr new file mode 100644 index 00000000..9e3a8a4e --- /dev/null +++ b/server/interface_tree_sr @@ -0,0 +1,97 @@ +planetlab |The root authority + jp |Japan authority + naist |Nara Institute of Science and Technology |http://inet-lab.naist.jp/ + nict |National Institute of Information and Communications Technology |http://www.nict.go.jp/ + osaka |Osaka University |http://www.ist.osaka-u.ac.jp + wide |WIDE Project |http://www.wide.ad.jp/ + plcolojgnsendai |PlanetLab Colo - NICT JGN2 Sendai | + plcolojgnnagoya |PlanetLab Colo - NICT JGN2 Nagoya | + plcolojgnosaka |PlanetLab Colo - NICT JGN2 Osaka | + plcolojgnokayama |PlanetLab Colo - NICT JGN2 Okayama | + plcolojgnhiroshima |PlanetLab Colo - NICT JGN2 Hiroshima | + plcolojgnkochi |PlanetLab Colo - NICT JGN2 Kochi | + plcolojgnfukuoka |PlanetLab Colo - NICT JGN2 Fukuoka | + plcolotppoznan |PlanetLab Colo - TP Poznan |http://www.tp-ir.pl/index.php?page=index&lang=en + plcolotppiotrkow |PlanetLab Colo - TP Piotrkow Trybunalski |http://www.tp-ir.pl/index.php?page=index&lang=en + plcolotpgdansk |PlanetLab Colo - TP Gdansk |http://www.tp-ir.pl/index.php?page=index&lang=en + waseda |Waseda University |http://www.waseda.jp/ + keio |Keio University |http://www.sfc.wide.ad.jp + utokyo |University of Tokyo |http://www.planet-lab-jp.org + jaist |Japan Advanced Institute of Science and Technology (JAIST) |http://www.jaist.ac.jp + us |US authority + uwaccretivedsl |University of Washington - Accretive DSL |http://www.cs.washington.edu/ + irp |Intel Research Pittsburgh |http://www.intel-research.net/pittsburgh/ + cernetneu |CERNET - Northeast University |http://www.neu.edu.cn/english/ + utxsa |University of Texas at San Antonio |http://www.utsa.edu + att |AT&T Labs--Research |http://www.research.att.com + vanderbilt |Vanderbilt University |http://www.vuse.vanderbilt.edu + uci |University of California, Irvine |http://www.ics.uci.edu/~lbao/planetlab/ + uclaee |UCLA - EE |http://cantor.ee.ucla.edu/~networks/ + ucla |University of California at Los Angeles |http://www.cs.ucla.edu/ + ccny |City College of the City University of New York |http://www.ccny.cuny.edu/cint/ + michigan |University of Michigan |http://www.eecs.umich.edu/ + columbia |Columbia University |http://www.cs.columbia.edu/ + northwestern |Northwestern University at Illinois |http://www.cs.northwestern.edu/ + rpi |Rensselaer Polytechnic Institute |http://networks.ecse.rpi.edu/ + rice |Rice University |http://www.cs.rice.edu/ + brown |Brown University |http://cs.brown.edu/ + uvic |University of Victoria |http://www.uvic.ca + stevens |Stevens Institute of Technology |http://www.cs.stevens-tech.edu + colorado |University of Colorado at Boulder |http://serl.cs.colorado.edu + orbit |Orbit |http://www.orbit-lab.org + bu |Boston University |http://www.cs.bu.edu/ + aub |American University of Beirut |http://www.aub.edu.lb + jhuis |Johns Hopkins Information Security Institute |http://www.cs.jhu.edu/ + ucd |University of California, Davis |http://engineering.ucdavis.edu + utah |University of Utah |http://www.cs.utah.edu/ + tky |new site for testing purposes |tokyo.com + eu |Europe authority + eurecom |Eurecom Institute |http://www.eurecom.fr + inria |INRIA Sophia Antipolis |http://www-sop.inria.fr/ + ethzcs |ETH Zuerich - Computer Science |http://www.inf.ethz.ch + basel |University of Basel, Switzerland |http://cn.cs.unibas.ch/ + enst |Ecole Nationale Superieure des Telecommunications |http://www.enst.fr + unizh |University of Zurich, Institut fur Informatik |http://www.csg.uzh.ch/ + moscowstate |Moscow State University |http://www.cs.msu.ru/ + msuchem |Moscow State University, Chemistry |http://lcc.chem.msu.ru + hawh |HAW Hamburg |http://www.haw-hamburg.de + bamberg |University of Bamberg |http://www.uni-bamberg.de/wiai/minf + budapest |Budapest University of Technology and Economics |http://www.tmit.bme.hu/home!eng + upb |University of Paderborn |http://www.uni-paderborn.de + tcd |Trinity College Dublin |http://www.cs.tcd.ie + irisa |IRISA |http://www.irisa.fr + cesnet |CESNET - Czech Education and Research Network |http://www.ces.net/about/ + aston |Aston University |http://www.aston.ac.uk/~pengx1/DSN-project + univie |University of Vienna |http://www.cs.univie.ac.at + lisbon |University of Lisbon |http://lasige.di.fc.ul.pt + konstanz |University of Konstanz |http://www.uni-konstanz.de + fokus |Fraunhofer FOKUS - Research Institute for Open Communication Systems |http://www.fokus.fraunhofer.de + snummlab |Seoul National University - MMLAB |http://mmlab.snu.ac.kr/ + qub |Queen's University Belfast |http://www.qub.ac.uk/schools/eeecs/ + sydney |University of Technology at Sydney |http://www.it.uts.edu.au/ + canterbury |University of Canterbury, New Zealand |http://www.cosc.canterbury.ac.nz/ + fing |Facultad de Ingenieria - Universidad de la Republica |http://www.fing.edu.uy + haifa |Haifa University |http://www.haifa.ac.il + iitr |Indian Institute of Technology Roorkee |http://www.iitr.ac.in + tau |Tel-Aviv University |http://www.cs.tau.ac.il + canarie |CANARIE |http://www.canarie.ca + ntu |National Taiwan University, Department of Information Management |http://www.im.ntu.edu.tw/index_e.htm + equinixsi |Equinix - Singapore | + icavite |Intel - Cavite | + ihaifa |Intel - Haifa | + ileixlip |Intel - Leixlip | + ula |Centro Nacional de Calculo Cientifico Universidad de Los Andes |http://www.cecalc.ula.ve/ + canariecalgary |Canarie - Calgary |http://www.canarie.ca + canarieottawa |Canarie - Ottawa |http://www.canarie.ca + canariehalifax |Canarie - Halifax |http://www.canarie.ca + canariemontreal |Canarie - Montreal |http://www.canarie.ca + canarietoronto |Canarie - Toronto |http://www.canarie.ca + canariewinnipeg |Canarie - Winnipeg |http://www.canarie.ca + unioslo |University of Oslo |http://www.ifi.uio.no/dmms + buaa |BeiHang University |http://www.nlsde.buaa.edu.cn + cernetxjtu |CERNET - XiAn Jiao Tong University |http://www.xjtu.edu.cn/en/ + cernetsdu |CERNET - Shandong University |http://www.sdu.edu.cn/english/ + cernetpku |CERNET - Peiking University |http://en.pku.edu.cn/ + cernetbuaa |CERNET - Beihang University |http://ev.buaa.edu.cn/ + cernetzju |CERNET - Zhejiang University |http://www.zju.edu.cn/english/ + cernetxmu |CERNET - Xiamen University |http://www.xmu.edu.cn/english/index.htm \ No newline at end of file diff --git a/server/interface_tree_sr_dict b/server/interface_tree_sr_dict new file mode 100644 index 00000000..e8b2a036 --- /dev/null +++ b/server/interface_tree_sr_dict @@ -0,0 +1 @@ +{'info': {'node_data': {'key_info': {'acc_file': 'acc_file', 'id_file': 'planetlab.cert', 'cred_file': 'cred_file', 'id_key_file': 'planetlab.pkey', 'last_update': '', 'folder': 'slice/planetlab'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'planetlab', 'name': 'planetlab'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jp.cert', 'cred_file': '', 'id_key_file': 'jp.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jp', 'name': 'planetlab.jp'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'naist.cert', 'cred_file': '', 'id_key_file': 'naist.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/naist'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$naist_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'naist', 'name': 'planetlab.jp.naist'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'nict.cert', 'cred_file': '', 'id_key_file': 'nict.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/nict'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$nict_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'nict', 'name': 'planetlab.jp.nict'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'osaka.cert', 'cred_file': '', 'id_key_file': 'osaka.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/osaka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$osaka_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'osaka', 'name': 'planetlab.jp.osaka'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tokyobranch2.cert', 'cred_file': '', 'id_key_file': 'tokyobranch2.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/osaka/tokyobranch2'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$osaka$tokyobranch2_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tokyologinbg', 'name': 'planetlab.jp.osaka.tokyobranch2'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tokyobranchty.cert', 'cred_file': '', 'id_key_file': 'tokyobranchty.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/osaka/tokyobranchty'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$osaka$tokyobranchty_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'myloginbasejj', 'name': 'planetlab.jp.osaka.tokyobranchty'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'wide.cert', 'cred_file': '', 'id_key_file': 'wide.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/wide'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$wide_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'wide', 'name': 'planetlab.jp.wide'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnsendai.cert', 'cred_file': '', 'id_key_file': 'plcolojgnsendai.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnsendai'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnsendai_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnsendai', 'name': 'planetlab.jp.plcolojgnsendai'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnnagoya.cert', 'cred_file': '', 'id_key_file': 'plcolojgnnagoya.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnnagoya'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnnagoya_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnnagoya', 'name': 'planetlab.jp.plcolojgnnagoya'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnosaka.cert', 'cred_file': '', 'id_key_file': 'plcolojgnosaka.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnosaka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnosaka_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnosaka', 'name': 'planetlab.jp.plcolojgnosaka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnokayama.cert', 'cred_file': '', 'id_key_file': 'plcolojgnokayama.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnokayama'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnokayama_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnokayama', 'name': 'planetlab.jp.plcolojgnokayama'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnhiroshima.cert', 'cred_file': '', 'id_key_file': 'plcolojgnhiroshima.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnhiroshima'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnhiroshima_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnhiroshima', 'name': 'planetlab.jp.plcolojgnhiroshima'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnkochi.cert', 'cred_file': '', 'id_key_file': 'plcolojgnkochi.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnkochi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnkochi_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnkochi', 'name': 'planetlab.jp.plcolojgnkochi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnfukuoka.cert', 'cred_file': '', 'id_key_file': 'plcolojgnfukuoka.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnfukuoka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnfukuoka_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnfukuoka', 'name': 'planetlab.jp.plcolojgnfukuoka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotppoznan.cert', 'cred_file': '', 'id_key_file': 'plcolotppoznan.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolotppoznan'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotppoznan_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotppoznan', 'name': 'planetlab.jp.plcolotppoznan'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotppiotrkow.cert', 'cred_file': '', 'id_key_file': 'plcolotppiotrkow.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolotppiotrkow'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotppiotrkow_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotppiotrkow', 'name': 'planetlab.jp.plcolotppiotrkow'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotpgdansk.cert', 'cred_file': '', 'id_key_file': 'plcolotpgdansk.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolotpgdansk'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotpgdansk_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotpgdansk', 'name': 'planetlab.jp.plcolotpgdansk'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'waseda.cert', 'cred_file': '', 'id_key_file': 'waseda.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/waseda'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$waseda_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'waseda', 'name': 'planetlab.jp.waseda'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'keio.cert', 'cred_file': '', 'id_key_file': 'keio.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/keio'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$keio_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'keio', 'name': 'planetlab.jp.keio'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utokyo.cert', 'cred_file': '', 'id_key_file': 'utokyo.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/utokyo'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$utokyo_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utokyo', 'name': 'planetlab.jp.utokyo'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jaist.cert', 'cred_file': '', 'id_key_file': 'jaist.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/jaist'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$jaist_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jaist', 'name': 'planetlab.jp.jaist'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'us.cert', 'cred_file': '', 'id_key_file': 'us.pkey', 'last_update': '', 'folder': 'slice/planetlab/us'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'us', 'name': 'planetlab.us'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uwaccretivedsl.cert', 'cred_file': '', 'id_key_file': 'uwaccretivedsl.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/uwaccretivedsl'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uwaccretivedsl_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uwaccretivedsl', 'name': 'planetlab.us.uwaccretivedsl'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'irp.cert', 'cred_file': '', 'id_key_file': 'irp.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/irp'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$irp_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'irp', 'name': 'planetlab.us.irp'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetneu.cert', 'cred_file': '', 'id_key_file': 'cernetneu.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/cernetneu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$cernetneu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetneu', 'name': 'planetlab.us.cernetneu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utxsa.cert', 'cred_file': '', 'id_key_file': 'utxsa.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/utxsa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$utxsa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utxsa', 'name': 'planetlab.us.utxsa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'att.cert', 'cred_file': '', 'id_key_file': 'att.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/att'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$att_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'att', 'name': 'planetlab.us.att'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'vanderbilt.cert', 'cred_file': '', 'id_key_file': 'vanderbilt.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/vanderbilt'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$vanderbilt_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'vanderbilt', 'name': 'planetlab.us.vanderbilt'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uci.cert', 'cred_file': '', 'id_key_file': 'uci.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/uci'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uci_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uci', 'name': 'planetlab.us.uci'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uclaee.cert', 'cred_file': '', 'id_key_file': 'uclaee.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/uclaee'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uclaee_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uclaee', 'name': 'planetlab.us.uclaee'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ucla.cert', 'cred_file': '', 'id_key_file': 'ucla.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/ucla'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ucla_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ucla', 'name': 'planetlab.us.ucla'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ccny.cert', 'cred_file': '', 'id_key_file': 'ccny.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/ccny'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ccny_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ccny', 'name': 'planetlab.us.ccny'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'michigan.cert', 'cred_file': '', 'id_key_file': 'michigan.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/michigan'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$michigan_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'michigan', 'name': 'planetlab.us.michigan'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'columbia.cert', 'cred_file': '', 'id_key_file': 'columbia.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/columbia'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$columbia_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'columbia', 'name': 'planetlab.us.columbia'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'northwestern.cert', 'cred_file': '', 'id_key_file': 'northwestern.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/northwestern'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$northwestern_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'northwestern', 'name': 'planetlab.us.northwestern'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'rpi.cert', 'cred_file': '', 'id_key_file': 'rpi.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/rpi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$rpi_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'rpi', 'name': 'planetlab.us.rpi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'rice.cert', 'cred_file': '', 'id_key_file': 'rice.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/rice'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$rice_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'rice', 'name': 'planetlab.us.rice'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'brown.cert', 'cred_file': '', 'id_key_file': 'brown.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/brown'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$brown_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'brown', 'name': 'planetlab.us.brown'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uvic.cert', 'cred_file': '', 'id_key_file': 'uvic.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/uvic'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uvic_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uvic', 'name': 'planetlab.us.uvic'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'stevens.cert', 'cred_file': '', 'id_key_file': 'stevens.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/stevens'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$stevens_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'stevens', 'name': 'planetlab.us.stevens'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'colorado.cert', 'cred_file': '', 'id_key_file': 'colorado.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/colorado'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$colorado_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'colorado', 'name': 'planetlab.us.colorado'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'orbit.cert', 'cred_file': '', 'id_key_file': 'orbit.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/orbit'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$orbit_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'orbit', 'name': 'planetlab.us.orbit'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'bu.cert', 'cred_file': '', 'id_key_file': 'bu.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/bu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$bu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'bu', 'name': 'planetlab.us.bu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'aub.cert', 'cred_file': '', 'id_key_file': 'aub.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/aub'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$aub_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'aub', 'name': 'planetlab.us.aub'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jhuis.cert', 'cred_file': '', 'id_key_file': 'jhuis.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/jhuis'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$jhuis_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jhuis', 'name': 'planetlab.us.jhuis'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ucd.cert', 'cred_file': '', 'id_key_file': 'ucd.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/ucd'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ucd_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ucd', 'name': 'planetlab.us.ucd'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utah.cert', 'cred_file': '', 'id_key_file': 'utah.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/utah'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$utah_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utah', 'name': 'planetlab.us.utah'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tky.cert', 'cred_file': '', 'id_key_file': 'tky.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/tky'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$tky_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tky', 'name': 'planetlab.us.tky'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'eu.cert', 'cred_file': '', 'id_key_file': 'eu.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'eu', 'name': 'planetlab.eu'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'eurecom.cert', 'cred_file': '', 'id_key_file': 'eurecom.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/eurecom'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$eurecom_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'eurecom', 'name': 'planetlab.eu.eurecom'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'inria.cert', 'cred_file': '', 'id_key_file': 'inria.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/inria'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$inria_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'inria', 'name': 'planetlab.eu.inria'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ethzcs.cert', 'cred_file': '', 'id_key_file': 'ethzcs.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/ethzcs'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$ethzcs_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ethzcs', 'name': 'planetlab.eu.ethzcs'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'basel.cert', 'cred_file': '', 'id_key_file': 'basel.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/basel'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$basel_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'basel', 'name': 'planetlab.eu.basel'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'enst.cert', 'cred_file': '', 'id_key_file': 'enst.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/enst'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$enst_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'enst', 'name': 'planetlab.eu.enst'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'unizh.cert', 'cred_file': '', 'id_key_file': 'unizh.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/unizh'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$unizh_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'unizh', 'name': 'planetlab.eu.unizh'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'moscowstate.cert', 'cred_file': '', 'id_key_file': 'moscowstate.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/moscowstate'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$moscowstate_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'moscowstate', 'name': 'planetlab.eu.moscowstate'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'msuchem.cert', 'cred_file': '', 'id_key_file': 'msuchem.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/msuchem'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$msuchem_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'msuchem', 'name': 'planetlab.eu.msuchem'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'hawh.cert', 'cred_file': '', 'id_key_file': 'hawh.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/hawh'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$hawh_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'hawh', 'name': 'planetlab.eu.hawh'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'bamberg.cert', 'cred_file': '', 'id_key_file': 'bamberg.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/bamberg'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$bamberg_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'bamberg', 'name': 'planetlab.eu.bamberg'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'budapest.cert', 'cred_file': '', 'id_key_file': 'budapest.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/budapest'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$budapest_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'budapest', 'name': 'planetlab.eu.budapest'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'upb.cert', 'cred_file': '', 'id_key_file': 'upb.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/upb'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$upb_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'upb', 'name': 'planetlab.eu.upb'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tcd.cert', 'cred_file': '', 'id_key_file': 'tcd.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/tcd'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$tcd_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tcd', 'name': 'planetlab.eu.tcd'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'irisa.cert', 'cred_file': '', 'id_key_file': 'irisa.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/irisa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$irisa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'irisa', 'name': 'planetlab.eu.irisa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cesnet.cert', 'cred_file': '', 'id_key_file': 'cesnet.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/cesnet'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$cesnet_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cesnet', 'name': 'planetlab.eu.cesnet'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'aston.cert', 'cred_file': '', 'id_key_file': 'aston.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/aston'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$aston_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'aston', 'name': 'planetlab.eu.aston'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'univie.cert', 'cred_file': '', 'id_key_file': 'univie.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/univie'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$univie_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'univie', 'name': 'planetlab.eu.univie'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'lisbon.cert', 'cred_file': '', 'id_key_file': 'lisbon.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/lisbon'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$lisbon_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'lisbon', 'name': 'planetlab.eu.lisbon'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'konstanz.cert', 'cred_file': '', 'id_key_file': 'konstanz.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/konstanz'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$konstanz_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'konstanz', 'name': 'planetlab.eu.konstanz'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'fokus.cert', 'cred_file': '', 'id_key_file': 'fokus.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/fokus'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$fokus_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'fokus', 'name': 'planetlab.eu.fokus'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'snummlab.cert', 'cred_file': '', 'id_key_file': 'snummlab.pkey', 'last_update': '', 'folder': 'slice/planetlab/snummlab'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$snummlab_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'snummlab', 'name': 'planetlab.snummlab'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'qub.cert', 'cred_file': '', 'id_key_file': 'qub.pkey', 'last_update': '', 'folder': 'slice/planetlab/qub'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$qub_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'qub', 'name': 'planetlab.qub'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'sydney.cert', 'cred_file': '', 'id_key_file': 'sydney.pkey', 'last_update': '', 'folder': 'slice/planetlab/sydney'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$sydney_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'sydney', 'name': 'planetlab.sydney'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canterbury.cert', 'cred_file': '', 'id_key_file': 'canterbury.pkey', 'last_update': '', 'folder': 'slice/planetlab/canterbury'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canterbury_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canterbury', 'name': 'planetlab.canterbury'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'fing.cert', 'cred_file': '', 'id_key_file': 'fing.pkey', 'last_update': '', 'folder': 'slice/planetlab/fing'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$fing_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'fing', 'name': 'planetlab.fing'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'haifa.cert', 'cred_file': '', 'id_key_file': 'haifa.pkey', 'last_update': '', 'folder': 'slice/planetlab/haifa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$haifa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'haifa', 'name': 'planetlab.haifa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'iitr.cert', 'cred_file': '', 'id_key_file': 'iitr.pkey', 'last_update': '', 'folder': 'slice/planetlab/iitr'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$iitr_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'iitr', 'name': 'planetlab.iitr'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tau.cert', 'cred_file': '', 'id_key_file': 'tau.pkey', 'last_update': '', 'folder': 'slice/planetlab/tau'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$tau_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tau', 'name': 'planetlab.tau'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarie.cert', 'cred_file': '', 'id_key_file': 'canarie.pkey', 'last_update': '', 'folder': 'slice/planetlab/canarie'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarie_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarie', 'name': 'planetlab.canarie'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ntu.cert', 'cred_file': '', 'id_key_file': 'ntu.pkey', 'last_update': '', 'folder': 'slice/planetlab/ntu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ntu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ntu', 'name': 'planetlab.ntu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'equinixsi.cert', 'cred_file': '', 'id_key_file': 'equinixsi.pkey', 'last_update': '', 'folder': 'slice/planetlab/equinixsi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$equinixsi_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'equinixsi', 'name': 'planetlab.equinixsi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'icavite.cert', 'cred_file': '', 'id_key_file': 'icavite.pkey', 'last_update': '', 'folder': 'slice/planetlab/icavite'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$icavite_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'icavite', 'name': 'planetlab.icavite'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ihaifa.cert', 'cred_file': '', 'id_key_file': 'ihaifa.pkey', 'last_update': '', 'folder': 'slice/planetlab/ihaifa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ihaifa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ihaifa', 'name': 'planetlab.ihaifa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ileixlip.cert', 'cred_file': '', 'id_key_file': 'ileixlip.pkey', 'last_update': '', 'folder': 'slice/planetlab/ileixlip'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ileixlip_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ileixlip', 'name': 'planetlab.ileixlip'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ula.cert', 'cred_file': '', 'id_key_file': 'ula.pkey', 'last_update': '', 'folder': 'slice/planetlab/ula'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ula_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ula', 'name': 'planetlab.ula'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariecalgary.cert', 'cred_file': '', 'id_key_file': 'canariecalgary.pkey', 'last_update': '', 'folder': 'slice/planetlab/canariecalgary'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariecalgary_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariecalgary', 'name': 'planetlab.canariecalgary'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarieottawa.cert', 'cred_file': '', 'id_key_file': 'canarieottawa.pkey', 'last_update': '', 'folder': 'slice/planetlab/canarieottawa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarieottawa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarieottawa', 'name': 'planetlab.canarieottawa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariehalifax.cert', 'cred_file': '', 'id_key_file': 'canariehalifax.pkey', 'last_update': '', 'folder': 'slice/planetlab/canariehalifax'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariehalifax_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariehalifax', 'name': 'planetlab.canariehalifax'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariemontreal.cert', 'cred_file': '', 'id_key_file': 'canariemontreal.pkey', 'last_update': '', 'folder': 'slice/planetlab/canariemontreal'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariemontreal_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariemontreal', 'name': 'planetlab.canariemontreal'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarietoronto.cert', 'cred_file': '', 'id_key_file': 'canarietoronto.pkey', 'last_update': '', 'folder': 'slice/planetlab/canarietoronto'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarietoronto_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarietoronto', 'name': 'planetlab.canarietoronto'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariewinnipeg.cert', 'cred_file': '', 'id_key_file': 'canariewinnipeg.pkey', 'last_update': '', 'folder': 'slice/planetlab/canariewinnipeg'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariewinnipeg_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariewinnipeg', 'name': 'planetlab.canariewinnipeg'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'unioslo.cert', 'cred_file': '', 'id_key_file': 'unioslo.pkey', 'last_update': '', 'folder': 'slice/planetlab/unioslo'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$unioslo_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'unioslo', 'name': 'planetlab.unioslo'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'buaa.cert', 'cred_file': '', 'id_key_file': 'buaa.pkey', 'last_update': '', 'folder': 'slice/planetlab/buaa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$buaa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'buaa', 'name': 'planetlab.buaa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetxjtu.cert', 'cred_file': '', 'id_key_file': 'cernetxjtu.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetxjtu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetxjtu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetxjtu', 'name': 'planetlab.cernetxjtu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetsdu.cert', 'cred_file': '', 'id_key_file': 'cernetsdu.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetsdu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetsdu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetsdu', 'name': 'planetlab.cernetsdu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetpku.cert', 'cred_file': '', 'id_key_file': 'cernetpku.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetpku'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetpku_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetpku', 'name': 'planetlab.cernetpku'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetbuaa.cert', 'cred_file': '', 'id_key_file': 'cernetbuaa.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetbuaa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetbuaa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetbuaa', 'name': 'planetlab.cernetbuaa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetzju.cert', 'cred_file': '', 'id_key_file': 'cernetzju.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetzju'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetzju_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetzju', 'name': 'planetlab.cernetzju'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetxmu.cert', 'cred_file': '', 'id_key_file': 'cernetxmu.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetxmu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetxmu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetxmu', 'name': 'planetlab.cernetxmu'}, 'children': []}]} \ No newline at end of file diff --git a/server/jpywork/PathVFS$_PyInner.class b/server/jpywork/PathVFS$_PyInner.class new file mode 100644 index 00000000..18200155 Binary files /dev/null and b/server/jpywork/PathVFS$_PyInner.class differ diff --git a/server/jpywork/PathVFS.class b/server/jpywork/PathVFS.class new file mode 100644 index 00000000..87e2788c Binary files /dev/null and b/server/jpywork/PathVFS.class differ diff --git a/server/jpywork/PathVFS.java b/server/jpywork/PathVFS.java new file mode 100644 index 00000000..57d4262b --- /dev/null +++ b/server/jpywork/PathVFS.java @@ -0,0 +1,287 @@ +import org.python.core.*; + +public class PathVFS extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject i$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_open; + private static PyCode c$2___repr__; + private static PyCode c$3_JarVFS; + private static PyCode c$4___init__; + private static PyCode c$5_open; + private static PyCode c$6___repr__; + private static PyCode c$7_DirVFS; + private static PyCode c$8_add_vfs; + private static PyCode c$9___init__; + private static PyCode c$10_open; + private static PyCode c$11_PathVFS; + private static PyCode c$12_main; + private static void initConstants() { + s$0 = Py.newString(""); + s$1 = Py.newString(""); + s$2 = Py.newString("/"); + s$3 = Py.newString(""); + i$4 = Py.newInteger(1); + s$5 = Py.newString(".jar"); + s$6 = Py.newString(".zip"); + s$7 = Py.newString("python.packages.paths"); + s$8 = Py.newString("java.class.path"); + s$9 = Py.newString(","); + s$10 = Py.newString("sun.boot.class.path"); + s$11 = Py.newString("/usr/share/jython/Tools/jythonc/PathVFS.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(2, new String[] {"self", "fname"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_open = Py.newCode(2, new String[] {"self", "id", "ent"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "open", false, false, funcTable, 1, null, null, 0, 1); + c$2___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__repr__", false, false, funcTable, 2, null, null, 0, 1); + c$3_JarVFS = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "JarVFS", false, false, funcTable, 3, null, null, 0, 0); + c$4___init__ = Py.newCode(2, new String[] {"self", "dir"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__init__", false, false, funcTable, 4, null, null, 0, 1); + c$5_open = Py.newCode(2, new String[] {"self", "id", "f"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "open", false, false, funcTable, 5, null, null, 0, 1); + c$6___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__repr__", false, false, funcTable, 6, null, null, 0, 1); + c$7_DirVFS = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "DirVFS", false, false, funcTable, 7, null, null, 0, 0); + c$8_add_vfs = Py.newCode(2, new String[] {"self", "fname", "file", "canon"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "add_vfs", false, false, funcTable, 8, null, null, 0, 1); + c$9___init__ = Py.newCode(2, new String[] {"self", "registry", "name", "p", "e", "paths", "path"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__init__", false, false, funcTable, 9, null, null, 0, 1); + c$10_open = Py.newCode(2, new String[] {"self", "id", "v", "stream"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "open", false, false, funcTable, 10, null, null, 0, 1); + c$11_PathVFS = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "PathVFS", false, false, funcTable, 11, null, null, 0, 0); + c$12_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "main", false, false, funcTable, 12, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$12_main == null) _PyInner.initConstants(); + return c$12_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.open$2(frame); + case 2: + return _PyInner.__repr__$3(frame); + case 3: + return _PyInner.JarVFS$4(frame); + case 4: + return _PyInner.__init__$5(frame); + case 5: + return _PyInner.open$6(frame); + case 6: + return _PyInner.__repr__$7(frame); + case 7: + return _PyInner.DirVFS$8(frame); + case 8: + return _PyInner.add_vfs$9(frame); + case 9: + return _PyInner.__init__$10(frame); + case 10: + return _PyInner.open$11(frame); + case 11: + return _PyInner.PathVFS$12(frame); + case 12: + return _PyInner.main$13(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + frame.getlocal(0).__setattr__("zipfile", frame.getglobal("zip").__getattr__("ZipFile").__call__(frame.getlocal(1))); + return Py.None; + } + + private static PyObject open$2(PyFrame frame) { + frame.setlocal(2, frame.getlocal(0).__getattr__("zipfile").invoke("getEntry", frame.getlocal(1))); + if (frame.getlocal(2).__nonzero__()) { + return frame.getlocal(0).__getattr__("zipfile").invoke("getInputStream", frame.getlocal(2)); + } + else { + return frame.getglobal("None"); + } + } + + private static PyObject __repr__$3(PyFrame frame) { + return s$0._mod(frame.getlocal(0).__getattr__("zipfile").__getattr__("name")); + } + + private static PyObject JarVFS$4(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$0___init__)); + frame.setlocal("open", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_open)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$2___repr__)); + return frame.getf_locals(); + } + + private static PyObject __init__$5(PyFrame frame) { + if (frame.getlocal(1)._eq(s$1).__nonzero__()) { + frame.getlocal(0).__setattr__("pfx", frame.getglobal("None")); + } + else { + frame.getlocal(0).__setattr__("pfx", frame.getlocal(1)); + } + return Py.None; + } + + private static PyObject open$6(PyFrame frame) { + frame.setlocal(2, frame.getglobal("io").__getattr__("File").__call__(frame.getlocal(0).__getattr__("pfx"), frame.getlocal(1).invoke("replace", s$2, frame.getglobal("io").__getattr__("File").__getattr__("separator")))); + if (frame.getlocal(2).__getattr__("file").__nonzero__()) { + return frame.getglobal("io").__getattr__("BufferedInputStream").__call__(frame.getglobal("io").__getattr__("FileInputStream").__call__(frame.getlocal(2))); + } + return frame.getglobal("None"); + } + + private static PyObject __repr__$7(PyFrame frame) { + return s$3._mod(frame.getlocal(0).__getattr__("pfx")); + } + + private static PyObject DirVFS$8(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$4___init__)); + frame.setlocal("open", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_open)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$6___repr__)); + return frame.getf_locals(); + } + + private static PyObject add_vfs$9(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getlocal(1)._eq(s$1).__nonzero__()) { + if (frame.getlocal(0).__getattr__("once").invoke("has_key", s$1).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("once").__setitem__(s$1, i$4); + frame.getlocal(0).__getattr__("vfs").invoke("append", frame.getglobal("DirVFS").__call__(s$1)); + } + return Py.None; + } + frame.setlocal(2, frame.getglobal("io").__getattr__("File").__call__(frame.getlocal(1))); + frame.setlocal(3, frame.getlocal(2).__getattr__("canonicalPath")); + if (frame.getlocal(0).__getattr__("once").invoke("has_key", frame.getlocal(3)).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("once").__setitem__(frame.getlocal(3), i$4); + try { + if (frame.getlocal(2).__getattr__("directory").__nonzero__()) { + frame.getlocal(0).__getattr__("vfs").invoke("append", frame.getglobal("DirVFS").__call__(frame.getlocal(1))); + } + else { + if (((t$0$PyObject = frame.getlocal(2).__getattr__("exists")).__nonzero__() ? ((t$1$PyObject = frame.getlocal(1).invoke("endswith", s$5)).__nonzero__() ? t$1$PyObject : frame.getlocal(1).invoke("endswith", s$6)) : t$0$PyObject).__nonzero__()) { + frame.getlocal(0).__getattr__("vfs").invoke("append", frame.getglobal("JarVFS").__call__(frame.getlocal(1))); + } + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + // pass + } + } + return Py.None; + } + + private static PyObject __init__$10(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject; + + // Code + frame.getlocal(0).__setattr__("once", new PyDictionary(new PyObject[] {})); + frame.getlocal(0).__setattr__("vfs", new PyList(new PyObject[] {})); + frame.setlocal(5, frame.getlocal(1).invoke("getProperty", s$7, s$8)); + frame.setlocal(5, frame.getlocal(5).invoke("split", s$9)); + if (s$10._in(frame.getlocal(5)).__nonzero__()) { + frame.getlocal(5).invoke("remove", s$10); + } + t$0$int = 0; + t$1$PyObject = frame.getlocal(5); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.setlocal(4, frame.getlocal(1).invoke("getProperty", frame.getlocal(3))); + if (frame.getlocal(4)._ne(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(6, frame.getlocal(4).invoke("split", frame.getglobal("io").__getattr__("File").__getattr__("pathSeparator"))); + t$1$int = 0; + t$3$PyObject = frame.getlocal(6); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(2, t$2$PyObject); + frame.getlocal(0).invoke("add_vfs", frame.getlocal(2)); + } + } + } + t$2$int = 0; + t$5$PyObject = frame.getglobal("sys").__getattr__("path"); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(2, t$4$PyObject); + frame.getlocal(0).invoke("add_vfs", frame.getlocal(2)); + } + frame.getlocal(0).__delattr__("once"); + return Py.None; + } + + private static PyObject open$11(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + t$0$int = 0; + t$1$PyObject = frame.getlocal(0).__getattr__("vfs"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.setlocal(3, frame.getlocal(2).invoke("open", frame.getlocal(1))); + if (frame.getlocal(3).__nonzero__()) { + return frame.getlocal(3); + } + } + return frame.getglobal("None"); + } + + private static PyObject PathVFS$12(PyFrame frame) { + frame.setlocal("add_vfs", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_add_vfs)); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$9___init__)); + frame.setlocal("open", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_open)); + return frame.getf_locals(); + } + + private static PyObject main$13(PyFrame frame) { + frame.setglobal("__file__", s$11); + + PyObject[] imp_accu; + // Code + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + imp_accu = org.python.core.imp.importFrom("java", new String[] {"io"}, frame); + frame.setlocal("io", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("java.util", new String[] {"zip"}, frame); + frame.setlocal("zip", imp_accu[0]); + imp_accu = null; + frame.setlocal("JarVFS", Py.makeClass("JarVFS", new PyObject[] {}, c$3_JarVFS, null)); + frame.setlocal("DirVFS", Py.makeClass("DirVFS", new PyObject[] {}, c$7_DirVFS, null)); + frame.setlocal("PathVFS", Py.makeClass("PathVFS", new PyObject[] {}, c$11_PathVFS, null)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("PathVFS")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "PathVFS"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(PathVFS._PyInner.class, newargs, PathVFS.jpy$packages, PathVFS.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/SocketServer$_PyInner.class b/server/jpywork/SocketServer$_PyInner.class new file mode 100644 index 00000000..ea8d8cfa Binary files /dev/null and b/server/jpywork/SocketServer$_PyInner.class differ diff --git a/server/jpywork/SocketServer.class b/server/jpywork/SocketServer.class new file mode 100644 index 00000000..128e671c Binary files /dev/null and b/server/jpywork/SocketServer.class differ diff --git a/server/jpywork/SocketServer.java b/server/jpywork/SocketServer.java new file mode 100644 index 00000000..8eb03195 --- /dev/null +++ b/server/jpywork/SocketServer.java @@ -0,0 +1,1048 @@ +import org.python.core.*; + +public class SocketServer extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject i$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject i$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject i$34; + private static PyObject i$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject i$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_server_activate; + private static PyCode c$2_serve_forever; + private static PyCode c$3_handle_request; + private static PyCode c$4_verify_request; + private static PyCode c$5_process_request; + private static PyCode c$6_server_close; + private static PyCode c$7_finish_request; + private static PyCode c$8_close_request; + private static PyCode c$9_handle_error; + private static PyCode c$10_BaseServer; + private static PyCode c$11___init__; + private static PyCode c$12_server_bind; + private static PyCode c$13_server_activate; + private static PyCode c$14_server_close; + private static PyCode c$15_fileno; + private static PyCode c$16_get_request; + private static PyCode c$17_close_request; + private static PyCode c$18_TCPServer; + private static PyCode c$19_get_request; + private static PyCode c$20_server_activate; + private static PyCode c$21_close_request; + private static PyCode c$22_UDPServer; + private static PyCode c$23_collect_children; + private static PyCode c$24_process_request; + private static PyCode c$25_ForkingMixIn; + private static PyCode c$26_process_request; + private static PyCode c$27_ThreadingMixIn; + private static PyCode c$28_ForkingUDPServer; + private static PyCode c$29_ForkingTCPServer; + private static PyCode c$30_ThreadingUDPServer; + private static PyCode c$31_ThreadingTCPServer; + private static PyCode c$32_UnixStreamServer; + private static PyCode c$33_UnixDatagramServer; + private static PyCode c$34_ThreadingUnixStreamServer; + private static PyCode c$35_ThreadingUnixDatagramServer; + private static PyCode c$36___init__; + private static PyCode c$37_setup; + private static PyCode c$38___del__; + private static PyCode c$39_handle; + private static PyCode c$40_finish; + private static PyCode c$41_BaseRequestHandler; + private static PyCode c$42_setup; + private static PyCode c$43_finish; + private static PyCode c$44_StreamRequestHandler; + private static PyCode c$45_setup; + private static PyCode c$46_finish; + private static PyCode c$47_DatagramRequestHandler; + private static PyCode c$48_main; + private static void initConstants() { + s$0 = Py.newString("Generic socket server classes.\012\012This module tries to capture the various aspects of defining a server:\012\012For socket-based servers:\012\012- address family:\012 - AF_INET: IP (Internet Protocol) sockets (default)\012 - AF_UNIX: Unix domain sockets\012 - others, e.g. AF_DECNET are conceivable (see \012- socket type:\012 - SOCK_STREAM (reliable stream, e.g. TCP)\012 - SOCK_DGRAM (datagrams, e.g. UDP)\012\012For request-based servers (including socket-based):\012\012- client address verification before further looking at the request\012 (This is actually a hook for any processing that needs to look\012 at the request before anything else, e.g. logging)\012- how to handle multiple requests:\012 - synchronous (one request is handled at a time)\012 - forking (each request is handled by a new process)\012 - threading (each request is handled by a new thread)\012\012The classes in this module favor the server type that is simplest to\012write: a synchronous TCP/IP server. This is bad class design, but\012save some typing. (There's also the issue that a deep class hierarchy\012slows down method lookups.)\012\012There are five classes in an inheritance diagram, four of which represent\012synchronous servers of four types:\012\012 +------------+\012 | BaseServer |\012 +------------+\012 |\012 v\012 +-----------+ +------------------+\012 | TCPServer |------->| UnixStreamServer |\012 +-----------+ +------------------+\012 |\012 v\012 +-----------+ +--------------------+\012 | UDPServer |------->| UnixDatagramServer |\012 +-----------+ +--------------------+\012\012Note that UnixDatagramServer derives from UDPServer, not from\012UnixStreamServer -- the only difference between an IP and a Unix\012stream server is the address family, which is simply repeated in both\012unix server classes.\012\012Forking and threading versions of each type of server can be created\012using the ForkingServer and ThreadingServer mix-in classes. For\012instance, a threading UDP server class is created as follows:\012\012 class ThreadingUDPServer(ThreadingMixIn, UDPServer): pass\012\012The Mix-in class must come first, since it overrides a method defined\012in UDPServer!\012\012To implement a service, you must derive a class from\012BaseRequestHandler and redefine its handle() method. You can then run\012various versions of the service by combining one of the server classes\012with your request handler class.\012\012The request handler class must be different for datagram or stream\012services. This can be hidden by using the mix-in request handler\012classes StreamRequestHandler or DatagramRequestHandler.\012\012Of course, you still have to use your head!\012\012For instance, it makes no sense to use a forking server if the service\012contains state in memory that can be modified by requests (since the\012modifications in the child process would never reach the initial state\012kept in the parent process and passed to each child). In this case,\012you can use a threading server, but you will probably have to use\012locks to avoid two requests that come in nearly simultaneous to apply\012conflicting changes to the server state.\012\012On the other hand, if you are building e.g. an HTTP server, where all\012data is stored externally (e.g. in the file system), a synchronous\012class will essentially render the service \"deaf\" while one request is\012being handled -- which may be for a very long time if a client is slow\012to reqd all the data it has requested. Here a threading or forking\012server is appropriate.\012\012In some cases, it may be appropriate to process part of a request\012synchronously, but to finish processing in a forked child depending on\012the request data. This can be implemented by using a synchronous\012server and doing an explicit fork in the request handler class\012handle() method.\012\012Another approach to handling multiple simultaneous requests in an\012environment that supports neither threads nor fork (or where these are\012too expensive or inappropriate for the service) is to maintain an\012explicit table of partially finished requests and to use select() to\012decide which request to work on next (or whether to handle a new\012incoming request). This is particularly important for stream services\012where each client can potentially be connected for a long time (if\012threads or subprocesses cannot be used).\012\012Future work:\012- Standard classes for Sun RPC (which uses either UDP or TCP)\012- Standard mix-in classes to implement various authentication\012 and encryption schemes\012- Standard framework for select-based multiplexing\012\012XXX Open problems:\012- What to do with out-of-band data?\012\012BaseServer:\012- split generic \"request\" functionality out into BaseServer class.\012 Copyright (C) 2000 Luke Kenneth Casson Leighton \012\012 example: read entries from a SQL database (requires overriding\012 get_request() to return a table entry from the database).\012 entry is processed by a RequestHandlerClass.\012\012"); + s$1 = Py.newString("0.4"); + s$2 = Py.newString("TCPServer"); + s$3 = Py.newString("UDPServer"); + s$4 = Py.newString("ForkingUDPServer"); + s$5 = Py.newString("ForkingTCPServer"); + s$6 = Py.newString("ThreadingUDPServer"); + s$7 = Py.newString("ThreadingTCPServer"); + s$8 = Py.newString("BaseRequestHandler"); + s$9 = Py.newString("StreamRequestHandler"); + s$10 = Py.newString("DatagramRequestHandler"); + s$11 = Py.newString("ThreadingMixIn"); + s$12 = Py.newString("ForkingMixIn"); + s$13 = Py.newString("AF_UNIX"); + s$14 = Py.newString("UnixStreamServer"); + s$15 = Py.newString("UnixDatagramServer"); + s$16 = Py.newString("ThreadingUnixStreamServer"); + s$17 = Py.newString("ThreadingUnixDatagramServer"); + s$18 = Py.newString("Base class for server classes.\012\012 Methods for the caller:\012\012 - __init__(server_address, RequestHandlerClass)\012 - serve_forever()\012 - handle_request() # if you do not use serve_forever()\012 - fileno() -> int # for select()\012\012 Methods that may be overridden:\012\012 - server_bind()\012 - server_activate()\012 - get_request() -> request, client_address\012 - verify_request(request, client_address)\012 - server_close()\012 - process_request(request, client_address)\012 - close_request(request)\012 - handle_error()\012\012 Methods for derived classes:\012\012 - finish_request(request, client_address)\012\012 Class variables that may be overridden by derived classes or\012 instances:\012\012 - address_family\012 - socket_type\012 - reuse_address\012\012 Instance variables:\012\012 - RequestHandlerClass\012 - socket\012\012 "); + s$19 = Py.newString("Constructor. May be extended, do not override."); + s$20 = Py.newString("Called by constructor to activate the server.\012\012 May be overridden.\012\012 "); + s$21 = Py.newString("Handle one request at a time until doomsday."); + i$22 = Py.newInteger(1); + s$23 = Py.newString("Handle one request, possibly blocking."); + s$24 = Py.newString("Verify the request. May be overridden.\012\012 Return true if we should proceed with this request.\012\012 "); + s$25 = Py.newString("Call finish_request.\012\012 Overridden by ForkingMixIn and ThreadingMixIn.\012\012 "); + s$26 = Py.newString("Called to clean-up the server.\012\012 May be overridden.\012\012 "); + s$27 = Py.newString("Finish one request by instantiating RequestHandlerClass."); + s$28 = Py.newString("Called to clean up an individual request."); + s$29 = Py.newString("Handle an error gracefully. May be overridden.\012\012 The default is to print a traceback and continue.\012\012 "); + s$30 = Py.newString("-"); + i$31 = Py.newInteger(40); + s$32 = Py.newString("Exception happened during processing of request from"); + s$33 = Py.newString("Base class for various socket-based server classes.\012\012 Defaults to synchronous IP stream (i.e., TCP).\012\012 Methods for the caller:\012\012 - __init__(server_address, RequestHandlerClass)\012 - serve_forever()\012 - handle_request() # if you don't use serve_forever()\012 - fileno() -> int # for select()\012\012 Methods that may be overridden:\012\012 - server_bind()\012 - server_activate()\012 - get_request() -> request, client_address\012 - verify_request(request, client_address)\012 - process_request(request, client_address)\012 - close_request(request)\012 - handle_error()\012\012 Methods for derived classes:\012\012 - finish_request(request, client_address)\012\012 Class variables that may be overridden by derived classes or\012 instances:\012\012 - address_family\012 - socket_type\012 - request_queue_size (only for stream sockets)\012 - reuse_address\012\012 Instance variables:\012\012 - server_address\012 - RequestHandlerClass\012 - socket\012\012 "); + i$34 = Py.newInteger(5); + i$35 = Py.newInteger(0); + s$36 = Py.newString("Called by constructor to bind the socket.\012\012 May be overridden.\012\012 "); + s$37 = Py.newString("Return socket file number.\012\012 Interface required by select().\012\012 "); + s$38 = Py.newString("Get the request and client address from the socket.\012\012 May be overridden.\012\012 "); + s$39 = Py.newString("UDP server class."); + i$40 = Py.newInteger(8192); + s$41 = Py.newString("Mix-in class to handle each request in a new process."); + s$42 = Py.newString("Internal routine to wait for died children."); + s$43 = Py.newString("Fork a new subprocess to process the request."); + s$44 = Py.newString("Mix-in class to handle each request in a new thread."); + s$45 = Py.newString("Start a new thread to process the request."); + s$46 = Py.newString("Base class for request handler classes.\012\012 This class is instantiated for each request to be handled. The\012 constructor sets the instance variables request, client_address\012 and server, and then calls the handle() method. To implement a\012 specific service, all you need to do is to derive a class which\012 defines a handle() method.\012\012 The handle() method can find the request as self.request, the\012 client address as self.client_address, and the server (in case it\012 needs access to per-server information) as self.server. Since a\012 separate instance is created for each request, the handle() method\012 can define arbitrary other instance variariables.\012\012 "); + s$47 = Py.newString("Define self.rfile and self.wfile for stream sockets."); + s$48 = Py.newString("rb"); + s$49 = Py.newString("wb"); + s$50 = Py.newString("Define self.rfile and self.wfile for datagram sockets."); + s$51 = Py.newString("/usr/share/jython/Lib-cpython/SocketServer.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(3, new String[] {"self", "server_address", "RequestHandlerClass"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_server_activate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_activate", false, false, funcTable, 1, null, null, 0, 1); + c$2_serve_forever = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "serve_forever", false, false, funcTable, 2, null, null, 0, 1); + c$3_handle_request = Py.newCode(1, new String[] {"self", "client_address", "request"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "handle_request", false, false, funcTable, 3, null, null, 0, 1); + c$4_verify_request = Py.newCode(3, new String[] {"self", "request", "client_address"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "verify_request", false, false, funcTable, 4, null, null, 0, 1); + c$5_process_request = Py.newCode(3, new String[] {"self", "request", "client_address"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "process_request", false, false, funcTable, 5, null, null, 0, 1); + c$6_server_close = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_close", false, false, funcTable, 6, null, null, 0, 1); + c$7_finish_request = Py.newCode(3, new String[] {"self", "request", "client_address"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "finish_request", false, false, funcTable, 7, null, null, 0, 1); + c$8_close_request = Py.newCode(2, new String[] {"self", "request"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "close_request", false, false, funcTable, 8, null, null, 0, 1); + c$9_handle_error = Py.newCode(3, new String[] {"self", "request", "client_address", "traceback"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "handle_error", false, false, funcTable, 9, null, null, 0, 1); + c$10_BaseServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "BaseServer", false, false, funcTable, 10, null, null, 0, 0); + c$11___init__ = Py.newCode(3, new String[] {"self", "server_address", "RequestHandlerClass"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "__init__", false, false, funcTable, 11, null, null, 0, 1); + c$12_server_bind = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_bind", false, false, funcTable, 12, null, null, 0, 1); + c$13_server_activate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_activate", false, false, funcTable, 13, null, null, 0, 1); + c$14_server_close = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_close", false, false, funcTable, 14, null, null, 0, 1); + c$15_fileno = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "fileno", false, false, funcTable, 15, null, null, 0, 1); + c$16_get_request = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "get_request", false, false, funcTable, 16, null, null, 0, 1); + c$17_close_request = Py.newCode(2, new String[] {"self", "request"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "close_request", false, false, funcTable, 17, null, null, 0, 1); + c$18_TCPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "TCPServer", false, false, funcTable, 18, null, null, 0, 0); + c$19_get_request = Py.newCode(1, new String[] {"self", "client_addr", "data"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "get_request", false, false, funcTable, 19, null, null, 0, 1); + c$20_server_activate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_activate", false, false, funcTable, 20, null, null, 0, 1); + c$21_close_request = Py.newCode(2, new String[] {"self", "request"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "close_request", false, false, funcTable, 21, null, null, 0, 1); + c$22_UDPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "UDPServer", false, false, funcTable, 22, null, null, 0, 0); + c$23_collect_children = Py.newCode(1, new String[] {"self", "status", "pid", "options"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "collect_children", false, false, funcTable, 23, null, null, 0, 1); + c$24_process_request = Py.newCode(3, new String[] {"self", "request", "client_address", "pid"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "process_request", false, false, funcTable, 24, null, null, 0, 1); + c$25_ForkingMixIn = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ForkingMixIn", false, false, funcTable, 25, null, null, 0, 0); + c$26_process_request = Py.newCode(3, new String[] {"self", "request", "client_address", "t", "threading"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "process_request", false, false, funcTable, 26, null, null, 0, 1); + c$27_ThreadingMixIn = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingMixIn", false, false, funcTable, 27, null, null, 0, 0); + c$28_ForkingUDPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ForkingUDPServer", false, false, funcTable, 28, null, null, 0, 0); + c$29_ForkingTCPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ForkingTCPServer", false, false, funcTable, 29, null, null, 0, 0); + c$30_ThreadingUDPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingUDPServer", false, false, funcTable, 30, null, null, 0, 0); + c$31_ThreadingTCPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingTCPServer", false, false, funcTable, 31, null, null, 0, 0); + c$32_UnixStreamServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "UnixStreamServer", false, false, funcTable, 32, null, null, 0, 0); + c$33_UnixDatagramServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "UnixDatagramServer", false, false, funcTable, 33, null, null, 0, 0); + c$34_ThreadingUnixStreamServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingUnixStreamServer", false, false, funcTable, 34, null, null, 0, 0); + c$35_ThreadingUnixDatagramServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingUnixDatagramServer", false, false, funcTable, 35, null, null, 0, 0); + c$36___init__ = Py.newCode(4, new String[] {"self", "request", "client_address", "server"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "__init__", false, false, funcTable, 36, null, null, 0, 1); + c$37_setup = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "setup", false, false, funcTable, 37, null, null, 0, 1); + c$38___del__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "__del__", false, false, funcTable, 38, null, null, 0, 1); + c$39_handle = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "handle", false, false, funcTable, 39, null, null, 0, 1); + c$40_finish = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "finish", false, false, funcTable, 40, null, null, 0, 1); + c$41_BaseRequestHandler = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "BaseRequestHandler", false, false, funcTable, 41, null, null, 0, 0); + c$42_setup = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "setup", false, false, funcTable, 42, null, null, 0, 1); + c$43_finish = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "finish", false, false, funcTable, 43, null, null, 0, 1); + c$44_StreamRequestHandler = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "StreamRequestHandler", false, false, funcTable, 44, null, null, 0, 0); + c$45_setup = Py.newCode(1, new String[] {"self", "StringIO"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "setup", false, false, funcTable, 45, null, null, 0, 1); + c$46_finish = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "finish", false, false, funcTable, 46, null, null, 0, 1); + c$47_DatagramRequestHandler = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "DatagramRequestHandler", false, false, funcTable, 47, null, null, 0, 0); + c$48_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "main", false, false, funcTable, 48, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$48_main == null) _PyInner.initConstants(); + return c$48_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.server_activate$2(frame); + case 2: + return _PyInner.serve_forever$3(frame); + case 3: + return _PyInner.handle_request$4(frame); + case 4: + return _PyInner.verify_request$5(frame); + case 5: + return _PyInner.process_request$6(frame); + case 6: + return _PyInner.server_close$7(frame); + case 7: + return _PyInner.finish_request$8(frame); + case 8: + return _PyInner.close_request$9(frame); + case 9: + return _PyInner.handle_error$10(frame); + case 10: + return _PyInner.BaseServer$11(frame); + case 11: + return _PyInner.__init__$12(frame); + case 12: + return _PyInner.server_bind$13(frame); + case 13: + return _PyInner.server_activate$14(frame); + case 14: + return _PyInner.server_close$15(frame); + case 15: + return _PyInner.fileno$16(frame); + case 16: + return _PyInner.get_request$17(frame); + case 17: + return _PyInner.close_request$18(frame); + case 18: + return _PyInner.TCPServer$19(frame); + case 19: + return _PyInner.get_request$20(frame); + case 20: + return _PyInner.server_activate$21(frame); + case 21: + return _PyInner.close_request$22(frame); + case 22: + return _PyInner.UDPServer$23(frame); + case 23: + return _PyInner.collect_children$24(frame); + case 24: + return _PyInner.process_request$25(frame); + case 25: + return _PyInner.ForkingMixIn$26(frame); + case 26: + return _PyInner.process_request$27(frame); + case 27: + return _PyInner.ThreadingMixIn$28(frame); + case 28: + return _PyInner.ForkingUDPServer$29(frame); + case 29: + return _PyInner.ForkingTCPServer$30(frame); + case 30: + return _PyInner.ThreadingUDPServer$31(frame); + case 31: + return _PyInner.ThreadingTCPServer$32(frame); + case 32: + return _PyInner.UnixStreamServer$33(frame); + case 33: + return _PyInner.UnixDatagramServer$34(frame); + case 34: + return _PyInner.ThreadingUnixStreamServer$35(frame); + case 35: + return _PyInner.ThreadingUnixDatagramServer$36(frame); + case 36: + return _PyInner.__init__$37(frame); + case 37: + return _PyInner.setup$38(frame); + case 38: + return _PyInner.__del__$39(frame); + case 39: + return _PyInner.handle$40(frame); + case 40: + return _PyInner.finish$41(frame); + case 41: + return _PyInner.BaseRequestHandler$42(frame); + case 42: + return _PyInner.setup$43(frame); + case 43: + return _PyInner.finish$44(frame); + case 44: + return _PyInner.StreamRequestHandler$45(frame); + case 45: + return _PyInner.setup$46(frame); + case 46: + return _PyInner.finish$47(frame); + case 47: + return _PyInner.DatagramRequestHandler$48(frame); + case 48: + return _PyInner.main$49(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + /* Constructor. May be extended, do not override. */ + frame.getlocal(0).__setattr__("server_address", frame.getlocal(1)); + frame.getlocal(0).__setattr__("RequestHandlerClass", frame.getlocal(2)); + return Py.None; + } + + private static PyObject server_activate$2(PyFrame frame) { + /* Called by constructor to activate the server. + + May be overridden. + + */ + // pass + return Py.None; + } + + private static PyObject serve_forever$3(PyFrame frame) { + /* Handle one request at a time until doomsday. */ + while (i$22.__nonzero__()) { + frame.getlocal(0).invoke("handle_request"); + } + return Py.None; + } + + private static PyObject handle_request$4(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + + // Code + /* Handle one request, possibly blocking. */ + try { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).invoke("get_request"), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("socket").__getattr__("error"))) { + return Py.None; + } + else throw t$0$PyException; + } + if (frame.getlocal(0).invoke("verify_request", frame.getlocal(2), frame.getlocal(1)).__nonzero__()) { + try { + frame.getlocal(0).invoke("process_request", frame.getlocal(2), frame.getlocal(1)); + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + frame.getlocal(0).invoke("handle_error", frame.getlocal(2), frame.getlocal(1)); + frame.getlocal(0).invoke("close_request", frame.getlocal(2)); + } + } + return Py.None; + } + + private static PyObject verify_request$5(PyFrame frame) { + /* Verify the request. May be overridden. + + Return true if we should proceed with this request. + + */ + return i$22; + } + + private static PyObject process_request$6(PyFrame frame) { + /* Call finish_request. + + Overridden by ForkingMixIn and ThreadingMixIn. + + */ + frame.getlocal(0).invoke("finish_request", frame.getlocal(1), frame.getlocal(2)); + frame.getlocal(0).invoke("close_request", frame.getlocal(1)); + return Py.None; + } + + private static PyObject server_close$7(PyFrame frame) { + /* Called to clean-up the server. + + May be overridden. + + */ + // pass + return Py.None; + } + + private static PyObject finish_request$8(PyFrame frame) { + /* Finish one request by instantiating RequestHandlerClass. */ + frame.getlocal(0).invoke("RequestHandlerClass", new PyObject[] {frame.getlocal(1), frame.getlocal(2), frame.getlocal(0)}); + return Py.None; + } + + private static PyObject close_request$9(PyFrame frame) { + /* Called to clean up an individual request. */ + // pass + return Py.None; + } + + private static PyObject handle_error$10(PyFrame frame) { + /* Handle an error gracefully. May be overridden. + + The default is to print a traceback and continue. + + */ + Py.println(s$30._mul(i$31)); + Py.printComma(s$32); + Py.println(frame.getlocal(2)); + frame.setlocal(3, org.python.core.imp.importOne("traceback", frame)); + frame.getlocal(3).__getattr__("print_exc").__call__(); + Py.println(s$30._mul(i$31)); + return Py.None; + } + + private static PyObject BaseServer$11(PyFrame frame) { + /* Base class for server classes. + + Methods for the caller: + + - __init__(server_address, RequestHandlerClass) + - serve_forever() + - handle_request() # if you do not use serve_forever() + - fileno() -> int # for select() + + Methods that may be overridden: + + - server_bind() + - server_activate() + - get_request() -> request, client_address + - verify_request(request, client_address) + - server_close() + - process_request(request, client_address) + - close_request(request) + - handle_error() + + Methods for derived classes: + + - finish_request(request, client_address) + + Class variables that may be overridden by derived classes or + instances: + + - address_family + - socket_type + - reuse_address + + Instance variables: + + - RequestHandlerClass + - socket + + */ + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$0___init__)); + frame.setlocal("server_activate", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_server_activate)); + frame.setlocal("serve_forever", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_serve_forever)); + frame.setlocal("handle_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_handle_request)); + frame.setlocal("verify_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_verify_request)); + frame.setlocal("process_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_process_request)); + frame.setlocal("server_close", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_server_close)); + frame.setlocal("finish_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_finish_request)); + frame.setlocal("close_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_close_request)); + frame.setlocal("handle_error", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_handle_error)); + return frame.getf_locals(); + } + + private static PyObject __init__$12(PyFrame frame) { + /* Constructor. May be extended, do not override. */ + frame.getglobal("BaseServer").invoke("__init__", new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2)}); + frame.getlocal(0).__setattr__("socket", frame.getglobal("socket").__getattr__("socket").__call__(frame.getlocal(0).__getattr__("address_family"), frame.getlocal(0).__getattr__("socket_type"))); + frame.getlocal(0).invoke("server_bind"); + frame.getlocal(0).invoke("server_activate"); + return Py.None; + } + + private static PyObject server_bind$13(PyFrame frame) { + /* Called by constructor to bind the socket. + + May be overridden. + + */ + if (frame.getlocal(0).__getattr__("allow_reuse_address").__nonzero__()) { + frame.getlocal(0).__getattr__("socket").invoke("setsockopt", new PyObject[] {frame.getglobal("socket").__getattr__("SOL_SOCKET"), frame.getglobal("socket").__getattr__("SO_REUSEADDR"), i$22}); + } + frame.getlocal(0).__getattr__("socket").invoke("bind", frame.getlocal(0).__getattr__("server_address")); + return Py.None; + } + + private static PyObject server_activate$14(PyFrame frame) { + /* Called by constructor to activate the server. + + May be overridden. + + */ + frame.getlocal(0).__getattr__("socket").invoke("listen", frame.getlocal(0).__getattr__("request_queue_size")); + return Py.None; + } + + private static PyObject server_close$15(PyFrame frame) { + /* Called to clean-up the server. + + May be overridden. + + */ + frame.getlocal(0).__getattr__("socket").invoke("close"); + return Py.None; + } + + private static PyObject fileno$16(PyFrame frame) { + /* Return socket file number. + + Interface required by select(). + + */ + return frame.getlocal(0).__getattr__("socket").invoke("fileno"); + } + + private static PyObject get_request$17(PyFrame frame) { + /* Get the request and client address from the socket. + + May be overridden. + + */ + return frame.getlocal(0).__getattr__("socket").invoke("accept"); + } + + private static PyObject close_request$18(PyFrame frame) { + /* Called to clean up an individual request. */ + frame.getlocal(1).invoke("close"); + return Py.None; + } + + private static PyObject TCPServer$19(PyFrame frame) { + /* Base class for various socket-based server classes. + + Defaults to synchronous IP stream (i.e., TCP). + + Methods for the caller: + + - __init__(server_address, RequestHandlerClass) + - serve_forever() + - handle_request() # if you don't use serve_forever() + - fileno() -> int # for select() + + Methods that may be overridden: + + - server_bind() + - server_activate() + - get_request() -> request, client_address + - verify_request(request, client_address) + - process_request(request, client_address) + - close_request(request) + - handle_error() + + Methods for derived classes: + + - finish_request(request, client_address) + + Class variables that may be overridden by derived classes or + instances: + + - address_family + - socket_type + - request_queue_size (only for stream sockets) + - reuse_address + + Instance variables: + + - server_address + - RequestHandlerClass + - socket + + */ + frame.setlocal("address_family", frame.getname("socket").__getattr__("AF_INET")); + frame.setlocal("socket_type", frame.getname("socket").__getattr__("SOCK_STREAM")); + frame.setlocal("request_queue_size", i$34); + frame.setlocal("allow_reuse_address", i$35); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$11___init__)); + frame.setlocal("server_bind", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_server_bind)); + frame.setlocal("server_activate", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_server_activate)); + frame.setlocal("server_close", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_server_close)); + frame.setlocal("fileno", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_fileno)); + frame.setlocal("get_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_get_request)); + frame.setlocal("close_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$17_close_request)); + return frame.getf_locals(); + } + + private static PyObject get_request$20(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("socket").invoke("recvfrom", frame.getlocal(0).__getattr__("max_packet_size")), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + return new PyTuple(new PyObject[] {new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(0).__getattr__("socket")}), frame.getlocal(1)}); + } + + private static PyObject server_activate$21(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject close_request$22(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject UDPServer$23(PyFrame frame) { + /* UDP server class. */ + frame.setlocal("allow_reuse_address", i$35); + frame.setlocal("socket_type", frame.getname("socket").__getattr__("SOCK_DGRAM")); + frame.setlocal("max_packet_size", i$40); + frame.setlocal("get_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$19_get_request)); + frame.setlocal("server_activate", new PyFunction(frame.f_globals, new PyObject[] {}, c$20_server_activate)); + frame.setlocal("close_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_close_request)); + return frame.getf_locals(); + } + + private static PyObject collect_children$24(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + + // Code + /* Internal routine to wait for died children. */ + while (frame.getlocal(0).__getattr__("active_children").__nonzero__()) { + if (frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("active_children"))._lt(frame.getlocal(0).__getattr__("max_children")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("os").__getattr__("WNOHANG")); + } + else { + frame.setlocal(3, i$35); + } + try { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("os").__getattr__("waitpid").__call__(i$35, frame.getlocal(3)), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("os").__getattr__("error"))) { + frame.setlocal(2, frame.getglobal("None")); + } + else throw t$0$PyException; + } + if (frame.getlocal(2).__not__().__nonzero__()) { + break; + } + frame.getlocal(0).__getattr__("active_children").invoke("remove", frame.getlocal(2)); + } + return Py.None; + } + + private static PyObject process_request$25(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* Fork a new subprocess to process the request. */ + frame.getlocal(0).invoke("collect_children"); + frame.setlocal(3, frame.getglobal("os").__getattr__("fork").__call__()); + if (frame.getlocal(3).__nonzero__()) { + if (frame.getlocal(0).__getattr__("active_children")._is(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(0).__setattr__("active_children", new PyList(new PyObject[] {})); + } + frame.getlocal(0).__getattr__("active_children").invoke("append", frame.getlocal(3)); + frame.getlocal(0).invoke("close_request", frame.getlocal(1)); + return Py.None; + } + else { + try { + frame.getlocal(0).invoke("finish_request", frame.getlocal(1), frame.getlocal(2)); + frame.getglobal("os").__getattr__("_exit").__call__(i$35); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + try { + frame.getlocal(0).invoke("handle_error", frame.getlocal(1), frame.getlocal(2)); + } + finally { + frame.getglobal("os").__getattr__("_exit").__call__(i$22); + } + } + } + return Py.None; + } + + private static PyObject ForkingMixIn$26(PyFrame frame) { + /* Mix-in class to handle each request in a new process. */ + frame.setlocal("active_children", frame.getname("None")); + frame.setlocal("max_children", i$31); + frame.setlocal("collect_children", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_collect_children)); + frame.setlocal("process_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_process_request)); + return frame.getf_locals(); + } + + private static PyObject process_request$27(PyFrame frame) { + /* Start a new thread to process the request. */ + frame.setlocal(4, org.python.core.imp.importOne("threading", frame)); + frame.setlocal(3, frame.getlocal(4).__getattr__("Thread").__call__(new PyObject[] {frame.getlocal(0).__getattr__("finish_request"), new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})}, new String[] {"target", "args"})); + frame.getlocal(3).invoke("start"); + return Py.None; + } + + private static PyObject ThreadingMixIn$28(PyFrame frame) { + /* Mix-in class to handle each request in a new thread. */ + frame.setlocal("process_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$26_process_request)); + return frame.getf_locals(); + } + + private static PyObject ForkingUDPServer$29(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject ForkingTCPServer$30(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject ThreadingUDPServer$31(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject ThreadingTCPServer$32(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject UnixStreamServer$33(PyFrame frame) { + frame.setlocal("address_family", frame.getname("socket").__getattr__("AF_UNIX")); + return frame.getf_locals(); + } + + private static PyObject UnixDatagramServer$34(PyFrame frame) { + frame.setlocal("address_family", frame.getname("socket").__getattr__("AF_UNIX")); + return frame.getf_locals(); + } + + private static PyObject ThreadingUnixStreamServer$35(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject ThreadingUnixDatagramServer$36(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject __init__$37(PyFrame frame) { + frame.getlocal(0).__setattr__("request", frame.getlocal(1)); + frame.getlocal(0).__setattr__("client_address", frame.getlocal(2)); + frame.getlocal(0).__setattr__("server", frame.getlocal(3)); + try { + frame.getlocal(0).invoke("setup"); + frame.getlocal(0).invoke("handle"); + frame.getlocal(0).invoke("finish"); + } + finally { + frame.getglobal("sys").__setattr__("exc_traceback", frame.getglobal("None")); + } + return Py.None; + } + + private static PyObject setup$38(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject __del__$39(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject handle$40(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject finish$41(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject BaseRequestHandler$42(PyFrame frame) { + /* Base class for request handler classes. + + This class is instantiated for each request to be handled. The + constructor sets the instance variables request, client_address + and server, and then calls the handle() method. To implement a + specific service, all you need to do is to derive a class which + defines a handle() method. + + The handle() method can find the request as self.request, the + client address as self.client_address, and the server (in case it + needs access to per-server information) as self.server. Since a + separate instance is created for each request, the handle() method + can define arbitrary other instance variariables. + + */ + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$36___init__)); + frame.setlocal("setup", new PyFunction(frame.f_globals, new PyObject[] {}, c$37_setup)); + frame.setlocal("__del__", new PyFunction(frame.f_globals, new PyObject[] {}, c$38___del__)); + frame.setlocal("handle", new PyFunction(frame.f_globals, new PyObject[] {}, c$39_handle)); + frame.setlocal("finish", new PyFunction(frame.f_globals, new PyObject[] {}, c$40_finish)); + return frame.getf_locals(); + } + + private static PyObject setup$43(PyFrame frame) { + frame.getlocal(0).__setattr__("connection", frame.getlocal(0).__getattr__("request")); + frame.getlocal(0).__setattr__("rfile", frame.getlocal(0).__getattr__("connection").invoke("makefile", s$48, frame.getlocal(0).__getattr__("rbufsize"))); + frame.getlocal(0).__setattr__("wfile", frame.getlocal(0).__getattr__("connection").invoke("makefile", s$49, frame.getlocal(0).__getattr__("wbufsize"))); + return Py.None; + } + + private static PyObject finish$44(PyFrame frame) { + frame.getlocal(0).__getattr__("wfile").invoke("flush"); + frame.getlocal(0).__getattr__("wfile").invoke("close"); + frame.getlocal(0).__getattr__("rfile").invoke("close"); + return Py.None; + } + + private static PyObject StreamRequestHandler$45(PyFrame frame) { + /* Define self.rfile and self.wfile for stream sockets. */ + frame.setlocal("rbufsize", i$22.__neg__()); + frame.setlocal("wbufsize", i$35); + frame.setlocal("setup", new PyFunction(frame.f_globals, new PyObject[] {}, c$42_setup)); + frame.setlocal("finish", new PyFunction(frame.f_globals, new PyObject[] {}, c$43_finish)); + return frame.getf_locals(); + } + + private static PyObject setup$46(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + frame.setlocal(1, org.python.core.imp.importOne("StringIO", frame)); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("request"), 2); + frame.getlocal(0).__setattr__("packet", t$0$PyObject__[0]); + frame.getlocal(0).__setattr__("socket", t$0$PyObject__[1]); + frame.getlocal(0).__setattr__("rfile", frame.getlocal(1).__getattr__("StringIO").__call__(frame.getlocal(0).__getattr__("packet"))); + frame.getlocal(0).__setattr__("wfile", frame.getlocal(1).__getattr__("StringIO").__call__()); + return Py.None; + } + + private static PyObject finish$47(PyFrame frame) { + frame.getlocal(0).__getattr__("socket").invoke("sendto", frame.getlocal(0).__getattr__("wfile").invoke("getvalue"), frame.getlocal(0).__getattr__("client_address")); + return Py.None; + } + + private static PyObject DatagramRequestHandler$48(PyFrame frame) { + /* Define self.rfile and self.wfile for datagram sockets. */ + frame.setlocal("setup", new PyFunction(frame.f_globals, new PyObject[] {}, c$45_setup)); + frame.setlocal("finish", new PyFunction(frame.f_globals, new PyObject[] {}, c$46_finish)); + return frame.getf_locals(); + } + + private static PyObject main$49(PyFrame frame) { + frame.setglobal("__file__", s$51); + + /* Generic socket server classes. + + This module tries to capture the various aspects of defining a server: + + For socket-based servers: + + - address family: + - AF_INET: IP (Internet Protocol) sockets (default) + - AF_UNIX: Unix domain sockets + - others, e.g. AF_DECNET are conceivable (see + - socket type: + - SOCK_STREAM (reliable stream, e.g. TCP) + - SOCK_DGRAM (datagrams, e.g. UDP) + + For request-based servers (including socket-based): + + - client address verification before further looking at the request + (This is actually a hook for any processing that needs to look + at the request before anything else, e.g. logging) + - how to handle multiple requests: + - synchronous (one request is handled at a time) + - forking (each request is handled by a new process) + - threading (each request is handled by a new thread) + + The classes in this module favor the server type that is simplest to + write: a synchronous TCP/IP server. This is bad class design, but + save some typing. (There's also the issue that a deep class hierarchy + slows down method lookups.) + + There are five classes in an inheritance diagram, four of which represent + synchronous servers of four types: + + +------------+ + | BaseServer | + +------------+ + | + v + +-----------+ +------------------+ + | TCPServer |------->| UnixStreamServer | + +-----------+ +------------------+ + | + v + +-----------+ +--------------------+ + | UDPServer |------->| UnixDatagramServer | + +-----------+ +--------------------+ + + Note that UnixDatagramServer derives from UDPServer, not from + UnixStreamServer -- the only difference between an IP and a Unix + stream server is the address family, which is simply repeated in both + unix server classes. + + Forking and threading versions of each type of server can be created + using the ForkingServer and ThreadingServer mix-in classes. For + instance, a threading UDP server class is created as follows: + + class ThreadingUDPServer(ThreadingMixIn, UDPServer): pass + + The Mix-in class must come first, since it overrides a method defined + in UDPServer! + + To implement a service, you must derive a class from + BaseRequestHandler and redefine its handle() method. You can then run + various versions of the service by combining one of the server classes + with your request handler class. + + The request handler class must be different for datagram or stream + services. This can be hidden by using the mix-in request handler + classes StreamRequestHandler or DatagramRequestHandler. + + Of course, you still have to use your head! + + For instance, it makes no sense to use a forking server if the service + contains state in memory that can be modified by requests (since the + modifications in the child process would never reach the initial state + kept in the parent process and passed to each child). In this case, + you can use a threading server, but you will probably have to use + locks to avoid two requests that come in nearly simultaneous to apply + conflicting changes to the server state. + + On the other hand, if you are building e.g. an HTTP server, where all + data is stored externally (e.g. in the file system), a synchronous + class will essentially render the service "deaf" while one request is + being handled -- which may be for a very long time if a client is slow + to reqd all the data it has requested. Here a threading or forking + server is appropriate. + + In some cases, it may be appropriate to process part of a request + synchronously, but to finish processing in a forked child depending on + the request data. This can be implemented by using a synchronous + server and doing an explicit fork in the request handler class + handle() method. + + Another approach to handling multiple simultaneous requests in an + environment that supports neither threads nor fork (or where these are + too expensive or inappropriate for the service) is to maintain an + explicit table of partially finished requests and to use select() to + decide which request to work on next (or whether to handle a new + incoming request). This is particularly important for stream services + where each client can potentially be connected for a long time (if + threads or subprocesses cannot be used). + + Future work: + - Standard classes for Sun RPC (which uses either UDP or TCP) + - Standard mix-in classes to implement various authentication + and encryption schemes + - Standard framework for select-based multiplexing + + XXX Open problems: + - What to do with out-of-band data? + + BaseServer: + - split generic "request" functionality out into BaseServer class. + Copyright (C) 2000 Luke Kenneth Casson Leighton + + example: read entries from a SQL database (requires overriding + get_request() to return a table entry from the database). + entry is processed by a RequestHandlerClass. + + */ + frame.setlocal("__version__", s$1); + frame.setlocal("socket", org.python.core.imp.importOne("socket", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("os", org.python.core.imp.importOne("os", frame)); + frame.setlocal("__all__", new PyList(new PyObject[] {s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12})); + if (frame.getname("hasattr").__call__(frame.getname("socket"), s$13).__nonzero__()) { + frame.getname("__all__").invoke("extend", new PyList(new PyObject[] {s$14, s$15, s$16, s$17})); + } + frame.setlocal("BaseServer", Py.makeClass("BaseServer", new PyObject[] {}, c$10_BaseServer, null)); + frame.setlocal("TCPServer", Py.makeClass("TCPServer", new PyObject[] {frame.getname("BaseServer")}, c$18_TCPServer, null)); + frame.setlocal("UDPServer", Py.makeClass("UDPServer", new PyObject[] {frame.getname("TCPServer")}, c$22_UDPServer, null)); + frame.setlocal("ForkingMixIn", Py.makeClass("ForkingMixIn", new PyObject[] {}, c$25_ForkingMixIn, null)); + frame.setlocal("ThreadingMixIn", Py.makeClass("ThreadingMixIn", new PyObject[] {}, c$27_ThreadingMixIn, null)); + frame.setlocal("ForkingUDPServer", Py.makeClass("ForkingUDPServer", new PyObject[] {frame.getname("ForkingMixIn"), frame.getname("UDPServer")}, c$28_ForkingUDPServer, null)); + frame.setlocal("ForkingTCPServer", Py.makeClass("ForkingTCPServer", new PyObject[] {frame.getname("ForkingMixIn"), frame.getname("TCPServer")}, c$29_ForkingTCPServer, null)); + frame.setlocal("ThreadingUDPServer", Py.makeClass("ThreadingUDPServer", new PyObject[] {frame.getname("ThreadingMixIn"), frame.getname("UDPServer")}, c$30_ThreadingUDPServer, null)); + frame.setlocal("ThreadingTCPServer", Py.makeClass("ThreadingTCPServer", new PyObject[] {frame.getname("ThreadingMixIn"), frame.getname("TCPServer")}, c$31_ThreadingTCPServer, null)); + if (frame.getname("hasattr").__call__(frame.getname("socket"), s$13).__nonzero__()) { + frame.setlocal("UnixStreamServer", Py.makeClass("UnixStreamServer", new PyObject[] {frame.getname("TCPServer")}, c$32_UnixStreamServer, null)); + frame.setlocal("UnixDatagramServer", Py.makeClass("UnixDatagramServer", new PyObject[] {frame.getname("UDPServer")}, c$33_UnixDatagramServer, null)); + frame.setlocal("ThreadingUnixStreamServer", Py.makeClass("ThreadingUnixStreamServer", new PyObject[] {frame.getname("ThreadingMixIn"), frame.getname("UnixStreamServer")}, c$34_ThreadingUnixStreamServer, null)); + frame.setlocal("ThreadingUnixDatagramServer", Py.makeClass("ThreadingUnixDatagramServer", new PyObject[] {frame.getname("ThreadingMixIn"), frame.getname("UnixDatagramServer")}, c$35_ThreadingUnixDatagramServer, null)); + } + frame.setlocal("BaseRequestHandler", Py.makeClass("BaseRequestHandler", new PyObject[] {}, c$41_BaseRequestHandler, null)); + frame.setlocal("StreamRequestHandler", Py.makeClass("StreamRequestHandler", new PyObject[] {frame.getname("BaseRequestHandler")}, c$44_StreamRequestHandler, null)); + frame.setlocal("DatagramRequestHandler", Py.makeClass("DatagramRequestHandler", new PyObject[] {frame.getname("BaseRequestHandler")}, c$47_DatagramRequestHandler, null)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("SocketServer")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "SocketServer"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(SocketServer._PyInner.class, newargs, SocketServer.jpy$packages, SocketServer.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/StringIO$_PyInner.class b/server/jpywork/StringIO$_PyInner.class new file mode 100644 index 00000000..0acaed0b Binary files /dev/null and b/server/jpywork/StringIO$_PyInner.class differ diff --git a/server/jpywork/StringIO.class b/server/jpywork/StringIO.class new file mode 100644 index 00000000..cb3e9b67 Binary files /dev/null and b/server/jpywork/StringIO.class differ diff --git a/server/jpywork/StringIO.java b/server/jpywork/StringIO.java new file mode 100644 index 00000000..4067b649 --- /dev/null +++ b/server/jpywork/StringIO.java @@ -0,0 +1,507 @@ +import org.python.core.*; + +public class StringIO extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject s$2; + private static PyObject i$3; + private static PyObject s$4; + private static PyObject i$5; + private static PyObject s$6; + private static PyObject i$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_close; + private static PyCode c$2_isatty; + private static PyCode c$3_seek; + private static PyCode c$4_tell; + private static PyCode c$5_read; + private static PyCode c$6_readline; + private static PyCode c$7_readlines; + private static PyCode c$8_truncate; + private static PyCode c$9_write; + private static PyCode c$10_writelines; + private static PyCode c$11_flush; + private static PyCode c$12_getvalue; + private static PyCode c$13_StringIO; + private static PyCode c$14_test; + private static PyCode c$15_main; + private static void initConstants() { + s$0 = Py.newString("File-like objects that read from or write to a string buffer.\012\012This implements (nearly) all stdio methods.\012\012f = StringIO() # ready for writing\012f = StringIO(buf) # ready for reading\012f.close() # explicitly release resources held\012flag = f.isatty() # always false\012pos = f.tell() # get current position\012f.seek(pos) # set current position\012f.seek(pos, mode) # mode 0: absolute; 1: relative; 2: relative to EOF\012buf = f.read() # read until EOF\012buf = f.read(n) # read up to n bytes\012buf = f.readline() # read until end of line ('\012') or EOF\012list = f.readlines()# list of f.readline() results until EOF\012f.truncate([size]) # truncate file at to at most size (default: current pos)\012f.write(buf) # write at current position\012f.writelines(list) # for line in list: f.write(line)\012f.getvalue() # return whole file's contents as a string\012\012Notes:\012- Using a real file is often faster (but less convenient).\012- There's also a much faster implementation in C, called cStringIO, but\012 it's not subclassable.\012- fileno() is left unimplemented so that code which uses it triggers\012 an exception early.\012- Seeking far beyond EOF and then writing will insert real null\012 bytes that occupy space in the buffer.\012- There's a simple test set (see end of this file).\012"); + i$1 = Py.newInteger(22); + s$2 = Py.newString("StringIO"); + i$3 = Py.newInteger(0); + s$4 = Py.newString(""); + i$5 = Py.newInteger(1); + s$6 = Py.newString("I/O operation on closed file"); + i$7 = Py.newInteger(2); + s$8 = Py.newString("\012"); + s$9 = Py.newString("Negative size not allowed"); + s$10 = Py.newString("\000"); + s$11 = Py.newString("/etc/passwd"); + s$12 = Py.newString("r"); + s$13 = Py.newString("write failed"); + s$14 = Py.newString("File length ="); + s$15 = Py.newString("First line ="); + s$16 = Py.newString("Second line ="); + s$17 = Py.newString("bad result after seek back"); + s$18 = Py.newString("bad result after seek back from EOF"); + s$19 = Py.newString("Read"); + s$20 = Py.newString("more lines"); + s$21 = Py.newString("bad length"); + s$22 = Py.newString("__main__"); + s$23 = Py.newString("/usr/share/jython/Lib-cpython/StringIO.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(2, new String[] {"self", "buf"}, "/usr/share/jython/Lib-cpython/StringIO.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_close = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/StringIO.py", "close", false, false, funcTable, 1, null, null, 0, 1); + c$2_isatty = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/StringIO.py", "isatty", false, false, funcTable, 2, null, null, 0, 1); + c$3_seek = Py.newCode(3, new String[] {"self", "pos", "mode"}, "/usr/share/jython/Lib-cpython/StringIO.py", "seek", false, false, funcTable, 3, null, null, 0, 1); + c$4_tell = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/StringIO.py", "tell", false, false, funcTable, 4, null, null, 0, 1); + c$5_read = Py.newCode(2, new String[] {"self", "n", "r", "newpos"}, "/usr/share/jython/Lib-cpython/StringIO.py", "read", false, false, funcTable, 5, null, null, 0, 1); + c$6_readline = Py.newCode(2, new String[] {"self", "length", "i", "r", "newpos"}, "/usr/share/jython/Lib-cpython/StringIO.py", "readline", false, false, funcTable, 6, null, null, 0, 1); + c$7_readlines = Py.newCode(2, new String[] {"self", "sizehint", "line", "lines", "total"}, "/usr/share/jython/Lib-cpython/StringIO.py", "readlines", false, false, funcTable, 7, null, null, 0, 1); + c$8_truncate = Py.newCode(2, new String[] {"self", "size"}, "/usr/share/jython/Lib-cpython/StringIO.py", "truncate", false, false, funcTable, 8, null, null, 0, 1); + c$9_write = Py.newCode(2, new String[] {"self", "s", "newpos"}, "/usr/share/jython/Lib-cpython/StringIO.py", "write", false, false, funcTable, 9, null, null, 0, 1); + c$10_writelines = Py.newCode(2, new String[] {"self", "list"}, "/usr/share/jython/Lib-cpython/StringIO.py", "writelines", false, false, funcTable, 10, null, null, 0, 1); + c$11_flush = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/StringIO.py", "flush", false, false, funcTable, 11, null, null, 0, 1); + c$12_getvalue = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/StringIO.py", "getvalue", false, false, funcTable, 12, null, null, 0, 1); + c$13_StringIO = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/StringIO.py", "StringIO", false, false, funcTable, 13, null, null, 0, 0); + c$14_test = Py.newCode(0, new String[] {"length", "file", "f", "list", "here", "line2", "text", "sys", "lines", "line"}, "/usr/share/jython/Lib-cpython/StringIO.py", "test", false, false, funcTable, 14, null, null, 0, 1); + c$15_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/StringIO.py", "main", false, false, funcTable, 15, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$15_main == null) _PyInner.initConstants(); + return c$15_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.close$2(frame); + case 2: + return _PyInner.isatty$3(frame); + case 3: + return _PyInner.seek$4(frame); + case 4: + return _PyInner.tell$5(frame); + case 5: + return _PyInner.read$6(frame); + case 6: + return _PyInner.readline$7(frame); + case 7: + return _PyInner.readlines$8(frame); + case 8: + return _PyInner.truncate$9(frame); + case 9: + return _PyInner.write$10(frame); + case 10: + return _PyInner.writelines$11(frame); + case 11: + return _PyInner.flush$12(frame); + case 12: + return _PyInner.getvalue$13(frame); + case 13: + return _PyInner.StringIO$14(frame); + case 14: + return _PyInner.test$15(frame); + case 15: + return _PyInner.main$16(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + frame.getlocal(0).__setattr__("buf", frame.getlocal(1)); + frame.getlocal(0).__setattr__("len", frame.getglobal("len").__call__(frame.getlocal(1))); + frame.getlocal(0).__setattr__("buflist", new PyList(new PyObject[] {})); + frame.getlocal(0).__setattr__("pos", i$3); + frame.getlocal(0).__setattr__("closed", i$3); + frame.getlocal(0).__setattr__("softspace", i$3); + return Py.None; + } + + private static PyObject close$2(PyFrame frame) { + if (frame.getlocal(0).__getattr__("closed").__not__().__nonzero__()) { + frame.getlocal(0).__setattr__("closed", i$5); + frame.getlocal(0).__delattr__("buf"); + frame.getlocal(0).__delattr__("pos"); + } + return Py.None; + } + + private static PyObject isatty$3(PyFrame frame) { + if (frame.getlocal(0).__getattr__("closed").__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$6); + } + return i$3; + } + + private static PyObject seek$4(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("closed").__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$6); + } + if (frame.getlocal(0).__getattr__("buflist").__nonzero__()) { + t$0$PyObject = s$4.invoke("join", frame.getlocal(0).__getattr__("buflist")); + t$1$PyObject = frame.getlocal(0); + t$1$PyObject.__setattr__("buf", t$1$PyObject.__getattr__("buf").__iadd__(t$0$PyObject)); + frame.getlocal(0).__setattr__("buflist", new PyList(new PyObject[] {})); + } + if (frame.getlocal(2)._eq(i$5).__nonzero__()) { + t$0$PyObject = frame.getlocal(0).__getattr__("pos"); + frame.setlocal(1, frame.getlocal(1).__iadd__(t$0$PyObject)); + } + else if (frame.getlocal(2)._eq(i$7).__nonzero__()) { + t$0$PyObject = frame.getlocal(0).__getattr__("len"); + frame.setlocal(1, frame.getlocal(1).__iadd__(t$0$PyObject)); + } + frame.getlocal(0).__setattr__("pos", frame.getglobal("max").__call__(i$3, frame.getlocal(1))); + return Py.None; + } + + private static PyObject tell$5(PyFrame frame) { + if (frame.getlocal(0).__getattr__("closed").__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$6); + } + return frame.getlocal(0).__getattr__("pos"); + } + + private static PyObject read$6(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("closed").__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$6); + } + if (frame.getlocal(0).__getattr__("buflist").__nonzero__()) { + t$0$PyObject = s$4.invoke("join", frame.getlocal(0).__getattr__("buflist")); + t$1$PyObject = frame.getlocal(0); + t$1$PyObject.__setattr__("buf", t$1$PyObject.__getattr__("buf").__iadd__(t$0$PyObject)); + frame.getlocal(0).__setattr__("buflist", new PyList(new PyObject[] {})); + } + if (frame.getlocal(1)._lt(i$3).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).__getattr__("len")); + } + else { + frame.setlocal(3, frame.getglobal("min").__call__(frame.getlocal(0).__getattr__("pos")._add(frame.getlocal(1)), frame.getlocal(0).__getattr__("len"))); + } + frame.setlocal(2, frame.getlocal(0).__getattr__("buf").__getslice__(frame.getlocal(0).__getattr__("pos"), frame.getlocal(3), null)); + frame.getlocal(0).__setattr__("pos", frame.getlocal(3)); + return frame.getlocal(2); + } + + private static PyObject readline$7(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("closed").__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$6); + } + if (frame.getlocal(0).__getattr__("buflist").__nonzero__()) { + t$0$PyObject = s$4.invoke("join", frame.getlocal(0).__getattr__("buflist")); + t$1$PyObject = frame.getlocal(0); + t$1$PyObject.__setattr__("buf", t$1$PyObject.__getattr__("buf").__iadd__(t$0$PyObject)); + frame.getlocal(0).__setattr__("buflist", new PyList(new PyObject[] {})); + } + frame.setlocal(2, frame.getlocal(0).__getattr__("buf").invoke("find", s$8, frame.getlocal(0).__getattr__("pos"))); + if (frame.getlocal(2)._lt(i$3).__nonzero__()) { + frame.setlocal(4, frame.getlocal(0).__getattr__("len")); + } + else { + frame.setlocal(4, frame.getlocal(2)._add(i$5)); + } + if (frame.getlocal(1)._isnot(frame.getglobal("None")).__nonzero__()) { + if (frame.getlocal(0).__getattr__("pos")._add(frame.getlocal(1))._lt(frame.getlocal(4)).__nonzero__()) { + frame.setlocal(4, frame.getlocal(0).__getattr__("pos")._add(frame.getlocal(1))); + } + } + frame.setlocal(3, frame.getlocal(0).__getattr__("buf").__getslice__(frame.getlocal(0).__getattr__("pos"), frame.getlocal(4), null)); + frame.getlocal(0).__setattr__("pos", frame.getlocal(4)); + return frame.getlocal(3); + } + + private static PyObject readlines$8(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(4, i$3); + frame.setlocal(3, new PyList(new PyObject[] {})); + frame.setlocal(2, frame.getlocal(0).invoke("readline")); + while (frame.getlocal(2).__nonzero__()) { + frame.getlocal(3).invoke("append", frame.getlocal(2)); + t$0$PyObject = frame.getglobal("len").__call__(frame.getlocal(2)); + frame.setlocal(4, frame.getlocal(4).__iadd__(t$0$PyObject)); + if ((i$3._lt(t$0$PyObject = frame.getlocal(1)).__nonzero__() ? t$0$PyObject._le(frame.getlocal(4)) : Py.Zero).__nonzero__()) { + break; + } + frame.setlocal(2, frame.getlocal(0).invoke("readline")); + } + return frame.getlocal(3); + } + + private static PyObject truncate$9(PyFrame frame) { + if (frame.getlocal(0).__getattr__("closed").__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$6); + } + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, frame.getlocal(0).__getattr__("pos")); + } + else if (frame.getlocal(1)._lt(i$3).__nonzero__()) { + throw Py.makeException(frame.getglobal("IOError").__call__(frame.getglobal("EINVAL"), s$9)); + } + else if (frame.getlocal(1)._lt(frame.getlocal(0).__getattr__("pos")).__nonzero__()) { + frame.getlocal(0).__setattr__("pos", frame.getlocal(1)); + } + frame.getlocal(0).__setattr__("buf", frame.getlocal(0).invoke("getvalue").__getslice__(null, frame.getlocal(1), null)); + return Py.None; + } + + private static PyObject write$10(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("closed").__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$6); + } + if (frame.getlocal(1).__not__().__nonzero__()) { + return Py.None; + } + if (frame.getlocal(0).__getattr__("pos")._gt(frame.getlocal(0).__getattr__("len")).__nonzero__()) { + frame.getlocal(0).__getattr__("buflist").invoke("append", s$10._mul(frame.getlocal(0).__getattr__("pos")._sub(frame.getlocal(0).__getattr__("len")))); + frame.getlocal(0).__setattr__("len", frame.getlocal(0).__getattr__("pos")); + } + frame.setlocal(2, frame.getlocal(0).__getattr__("pos")._add(frame.getglobal("len").__call__(frame.getlocal(1)))); + if (frame.getlocal(0).__getattr__("pos")._lt(frame.getlocal(0).__getattr__("len")).__nonzero__()) { + if (frame.getlocal(0).__getattr__("buflist").__nonzero__()) { + t$0$PyObject = s$4.invoke("join", frame.getlocal(0).__getattr__("buflist")); + t$1$PyObject = frame.getlocal(0); + t$1$PyObject.__setattr__("buf", t$1$PyObject.__getattr__("buf").__iadd__(t$0$PyObject)); + frame.getlocal(0).__setattr__("buflist", new PyList(new PyObject[] {})); + } + frame.getlocal(0).__setattr__("buflist", new PyList(new PyObject[] {frame.getlocal(0).__getattr__("buf").__getslice__(null, frame.getlocal(0).__getattr__("pos"), null), frame.getlocal(1), frame.getlocal(0).__getattr__("buf").__getslice__(frame.getlocal(2), null, null)})); + frame.getlocal(0).__setattr__("buf", s$4); + if (frame.getlocal(2)._gt(frame.getlocal(0).__getattr__("len")).__nonzero__()) { + frame.getlocal(0).__setattr__("len", frame.getlocal(2)); + } + } + else { + frame.getlocal(0).__getattr__("buflist").invoke("append", frame.getlocal(1)); + frame.getlocal(0).__setattr__("len", frame.getlocal(2)); + } + frame.getlocal(0).__setattr__("pos", frame.getlocal(2)); + return Py.None; + } + + private static PyObject writelines$11(PyFrame frame) { + frame.getlocal(0).invoke("write", s$4.invoke("join", frame.getlocal(1))); + return Py.None; + } + + private static PyObject flush$12(PyFrame frame) { + if (frame.getlocal(0).__getattr__("closed").__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$6); + } + return Py.None; + } + + private static PyObject getvalue$13(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("buflist").__nonzero__()) { + t$0$PyObject = s$4.invoke("join", frame.getlocal(0).__getattr__("buflist")); + t$1$PyObject = frame.getlocal(0); + t$1$PyObject.__setattr__("buf", t$1$PyObject.__getattr__("buf").__iadd__(t$0$PyObject)); + frame.getlocal(0).__setattr__("buflist", new PyList(new PyObject[] {})); + } + return frame.getlocal(0).__getattr__("buf"); + } + + private static PyObject StringIO$14(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {s$4}, c$0___init__)); + frame.setlocal("close", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_close)); + frame.setlocal("isatty", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_isatty)); + frame.setlocal("seek", new PyFunction(frame.f_globals, new PyObject[] {i$3}, c$3_seek)); + frame.setlocal("tell", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_tell)); + frame.setlocal("read", new PyFunction(frame.f_globals, new PyObject[] {i$5.__neg__()}, c$5_read)); + frame.setlocal("readline", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$6_readline)); + frame.setlocal("readlines", new PyFunction(frame.f_globals, new PyObject[] {i$3}, c$7_readlines)); + frame.setlocal("truncate", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$8_truncate)); + frame.setlocal("write", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_write)); + frame.setlocal("writelines", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_writelines)); + frame.setlocal("flush", new PyFunction(frame.f_globals, new PyObject[] {}, c$11_flush)); + frame.setlocal("getvalue", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_getvalue)); + return frame.getf_locals(); + } + + private static PyObject test$15(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(7, org.python.core.imp.importOne("sys", frame)); + if (frame.getlocal(7).__getattr__("argv").__getslice__(i$5, null, null).__nonzero__()) { + frame.setlocal(1, frame.getlocal(7).__getattr__("argv").__getitem__(i$5)); + } + else { + frame.setlocal(1, s$11); + } + frame.setlocal(8, frame.getglobal("open").__call__(frame.getlocal(1), s$12).invoke("readlines")); + frame.setlocal(6, frame.getglobal("open").__call__(frame.getlocal(1), s$12).invoke("read")); + frame.setlocal(2, frame.getglobal("StringIO").__call__()); + t$0$int = 0; + t$1$PyObject = frame.getlocal(8).__getslice__(null, i$7.__neg__(), null); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(9, t$0$PyObject); + frame.getlocal(2).invoke("write", frame.getlocal(9)); + } + frame.getlocal(2).invoke("writelines", frame.getlocal(8).__getslice__(i$7.__neg__(), null, null)); + if (frame.getlocal(2).invoke("getvalue")._ne(frame.getlocal(6)).__nonzero__()) { + throw Py.makeException(frame.getglobal("RuntimeError"), s$13); + } + frame.setlocal(0, frame.getlocal(2).invoke("tell")); + Py.printComma(s$14); + Py.println(frame.getlocal(0)); + frame.getlocal(2).invoke("seek", frame.getglobal("len").__call__(frame.getlocal(8).__getitem__(i$3))); + frame.getlocal(2).invoke("write", frame.getlocal(8).__getitem__(i$5)); + frame.getlocal(2).invoke("seek", i$3); + Py.printComma(s$15); + Py.println(frame.getlocal(2).invoke("readline").__repr__()); + frame.setlocal(4, frame.getlocal(2).invoke("tell")); + frame.setlocal(9, frame.getlocal(2).invoke("readline")); + Py.printComma(s$16); + Py.println(frame.getlocal(9).__repr__()); + frame.getlocal(2).invoke("seek", frame.getglobal("len").__call__(frame.getlocal(9)).__neg__(), i$5); + frame.setlocal(5, frame.getlocal(2).invoke("read", frame.getglobal("len").__call__(frame.getlocal(9)))); + if (frame.getlocal(9)._ne(frame.getlocal(5)).__nonzero__()) { + throw Py.makeException(frame.getglobal("RuntimeError"), s$17); + } + frame.getlocal(2).invoke("seek", frame.getglobal("len").__call__(frame.getlocal(5)), i$5); + frame.setlocal(3, frame.getlocal(2).invoke("readlines")); + frame.setlocal(9, frame.getlocal(3).__getitem__(i$5.__neg__())); + frame.getlocal(2).invoke("seek", frame.getlocal(2).invoke("tell")._sub(frame.getglobal("len").__call__(frame.getlocal(9)))); + frame.setlocal(5, frame.getlocal(2).invoke("read")); + if (frame.getlocal(9)._ne(frame.getlocal(5)).__nonzero__()) { + throw Py.makeException(frame.getglobal("RuntimeError"), s$18); + } + Py.printComma(s$19); + Py.printComma(frame.getglobal("len").__call__(frame.getlocal(3))); + Py.println(s$20); + Py.printComma(s$14); + Py.println(frame.getlocal(2).invoke("tell")); + if (frame.getlocal(2).invoke("tell")._ne(frame.getlocal(0)).__nonzero__()) { + throw Py.makeException(frame.getglobal("RuntimeError"), s$21); + } + frame.getlocal(2).invoke("close"); + return Py.None; + } + + private static PyObject main$16(PyFrame frame) { + frame.setglobal("__file__", s$23); + + PyObject[] imp_accu; + // Temporary Variables + PyException t$0$PyException; + + // Code + /* File-like objects that read from or write to a string buffer. + + This implements (nearly) all stdio methods. + + f = StringIO() # ready for writing + f = StringIO(buf) # ready for reading + f.close() # explicitly release resources held + flag = f.isatty() # always false + pos = f.tell() # get current position + f.seek(pos) # set current position + f.seek(pos, mode) # mode 0: absolute; 1: relative; 2: relative to EOF + buf = f.read() # read until EOF + buf = f.read(n) # read up to n bytes + buf = f.readline() # read until end of line (' + ') or EOF + list = f.readlines()# list of f.readline() results until EOF + f.truncate([size]) # truncate file at to at most size (default: current pos) + f.write(buf) # write at current position + f.writelines(list) # for line in list: f.write(line) + f.getvalue() # return whole file's contents as a string + + Notes: + - Using a real file is often faster (but less convenient). + - There's also a much faster implementation in C, called cStringIO, but + it's not subclassable. + - fileno() is left unimplemented so that code which uses it triggers + an exception early. + - Seeking far beyond EOF and then writing will insert real null + bytes that occupy space in the buffer. + - There's a simple test set (see end of this file). + */ + try { + imp_accu = org.python.core.imp.importFrom("errno", new String[] {"EINVAL"}, frame); + frame.setlocal("EINVAL", imp_accu[0]); + imp_accu = null; + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("ImportError"))) { + frame.setlocal("EINVAL", i$1); + } + else throw t$0$PyException; + } + frame.setlocal("__all__", new PyList(new PyObject[] {s$2})); + frame.setlocal("StringIO", Py.makeClass("StringIO", new PyObject[] {}, c$13_StringIO, null)); + frame.setlocal("test", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_test)); + if (frame.getname("__name__")._eq(s$22).__nonzero__()) { + frame.getname("test").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("StringIO")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "StringIO"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(StringIO._PyInner.class, newargs, StringIO.jpy$packages, StringIO.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/UserDict$_PyInner.class b/server/jpywork/UserDict$_PyInner.class new file mode 100644 index 00000000..2a922b47 Binary files /dev/null and b/server/jpywork/UserDict$_PyInner.class differ diff --git a/server/jpywork/UserDict.class b/server/jpywork/UserDict.class new file mode 100644 index 00000000..79fe1666 Binary files /dev/null and b/server/jpywork/UserDict.class differ diff --git a/server/jpywork/UserDict.java b/server/jpywork/UserDict.java new file mode 100644 index 00000000..54648b85 --- /dev/null +++ b/server/jpywork/UserDict.java @@ -0,0 +1,258 @@ +import org.python.core.*; + +public class UserDict extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1___repr__; + private static PyCode c$2___cmp__; + private static PyCode c$3___len__; + private static PyCode c$4___getitem__; + private static PyCode c$5___setitem__; + private static PyCode c$6___delitem__; + private static PyCode c$7_clear; + private static PyCode c$8_copy; + private static PyCode c$9_keys; + private static PyCode c$10_items; + private static PyCode c$11_values; + private static PyCode c$12_has_key; + private static PyCode c$13_update; + private static PyCode c$14_get; + private static PyCode c$15_setdefault; + private static PyCode c$16_popitem; + private static PyCode c$17_UserDict; + private static PyCode c$18_main; + private static void initConstants() { + s$0 = Py.newString("A more or less complete user-defined wrapper around dictionary objects."); + s$1 = Py.newString("/usr/share/jython/Lib-cpython/UserDict.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(2, new String[] {"self", "dict"}, "/usr/share/jython/Lib-cpython/UserDict.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/UserDict.py", "__repr__", false, false, funcTable, 1, null, null, 0, 1); + c$2___cmp__ = Py.newCode(2, new String[] {"self", "dict"}, "/usr/share/jython/Lib-cpython/UserDict.py", "__cmp__", false, false, funcTable, 2, null, null, 0, 1); + c$3___len__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/UserDict.py", "__len__", false, false, funcTable, 3, null, null, 0, 1); + c$4___getitem__ = Py.newCode(2, new String[] {"self", "key"}, "/usr/share/jython/Lib-cpython/UserDict.py", "__getitem__", false, false, funcTable, 4, null, null, 0, 1); + c$5___setitem__ = Py.newCode(3, new String[] {"self", "key", "item"}, "/usr/share/jython/Lib-cpython/UserDict.py", "__setitem__", false, false, funcTable, 5, null, null, 0, 1); + c$6___delitem__ = Py.newCode(2, new String[] {"self", "key"}, "/usr/share/jython/Lib-cpython/UserDict.py", "__delitem__", false, false, funcTable, 6, null, null, 0, 1); + c$7_clear = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/UserDict.py", "clear", false, false, funcTable, 7, null, null, 0, 1); + c$8_copy = Py.newCode(1, new String[] {"self", "copy"}, "/usr/share/jython/Lib-cpython/UserDict.py", "copy", false, false, funcTable, 8, null, null, 0, 1); + c$9_keys = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/UserDict.py", "keys", false, false, funcTable, 9, null, null, 0, 1); + c$10_items = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/UserDict.py", "items", false, false, funcTable, 10, null, null, 0, 1); + c$11_values = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/UserDict.py", "values", false, false, funcTable, 11, null, null, 0, 1); + c$12_has_key = Py.newCode(2, new String[] {"self", "key"}, "/usr/share/jython/Lib-cpython/UserDict.py", "has_key", false, false, funcTable, 12, null, null, 0, 1); + c$13_update = Py.newCode(2, new String[] {"self", "dict", "v", "k"}, "/usr/share/jython/Lib-cpython/UserDict.py", "update", false, false, funcTable, 13, null, null, 0, 1); + c$14_get = Py.newCode(3, new String[] {"self", "key", "failobj"}, "/usr/share/jython/Lib-cpython/UserDict.py", "get", false, false, funcTable, 14, null, null, 0, 1); + c$15_setdefault = Py.newCode(3, new String[] {"self", "key", "failobj"}, "/usr/share/jython/Lib-cpython/UserDict.py", "setdefault", false, false, funcTable, 15, null, null, 0, 1); + c$16_popitem = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/UserDict.py", "popitem", false, false, funcTable, 16, null, null, 0, 1); + c$17_UserDict = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/UserDict.py", "UserDict", false, false, funcTable, 17, null, null, 0, 0); + c$18_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/UserDict.py", "main", false, false, funcTable, 18, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$18_main == null) _PyInner.initConstants(); + return c$18_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.__repr__$2(frame); + case 2: + return _PyInner.__cmp__$3(frame); + case 3: + return _PyInner.__len__$4(frame); + case 4: + return _PyInner.__getitem__$5(frame); + case 5: + return _PyInner.__setitem__$6(frame); + case 6: + return _PyInner.__delitem__$7(frame); + case 7: + return _PyInner.clear$8(frame); + case 8: + return _PyInner.copy$9(frame); + case 9: + return _PyInner.keys$10(frame); + case 10: + return _PyInner.items$11(frame); + case 11: + return _PyInner.values$12(frame); + case 12: + return _PyInner.has_key$13(frame); + case 13: + return _PyInner.update$14(frame); + case 14: + return _PyInner.get$15(frame); + case 15: + return _PyInner.setdefault$16(frame); + case 16: + return _PyInner.popitem$17(frame); + case 17: + return _PyInner.UserDict$18(frame); + case 18: + return _PyInner.main$19(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + frame.getlocal(0).__setattr__("data", new PyDictionary(new PyObject[] {})); + if (frame.getlocal(1)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(0).invoke("update", frame.getlocal(1)); + } + return Py.None; + } + + private static PyObject __repr__$2(PyFrame frame) { + return frame.getglobal("repr").__call__(frame.getlocal(0).__getattr__("data")); + } + + private static PyObject __cmp__$3(PyFrame frame) { + if (frame.getglobal("isinstance").__call__(frame.getlocal(1), frame.getglobal("UserDict")).__nonzero__()) { + return frame.getglobal("cmp").__call__(frame.getlocal(0).__getattr__("data"), frame.getlocal(1).__getattr__("data")); + } + else { + return frame.getglobal("cmp").__call__(frame.getlocal(0).__getattr__("data"), frame.getlocal(1)); + } + } + + private static PyObject __len__$4(PyFrame frame) { + return frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("data")); + } + + private static PyObject __getitem__$5(PyFrame frame) { + return frame.getlocal(0).__getattr__("data").__getitem__(frame.getlocal(1)); + } + + private static PyObject __setitem__$6(PyFrame frame) { + frame.getlocal(0).__getattr__("data").__setitem__(frame.getlocal(1), frame.getlocal(2)); + return Py.None; + } + + private static PyObject __delitem__$7(PyFrame frame) { + frame.getlocal(0).__getattr__("data").__delitem__(frame.getlocal(1)); + return Py.None; + } + + private static PyObject clear$8(PyFrame frame) { + frame.getlocal(0).__getattr__("data").invoke("clear"); + return Py.None; + } + + private static PyObject copy$9(PyFrame frame) { + if (frame.getlocal(0).__getattr__("__class__")._is(frame.getglobal("UserDict")).__nonzero__()) { + return frame.getglobal("UserDict").__call__(frame.getlocal(0).__getattr__("data")); + } + frame.setlocal(1, org.python.core.imp.importOne("copy", frame)); + return frame.getlocal(1).__getattr__("copy").__call__(frame.getlocal(0)); + } + + private static PyObject keys$10(PyFrame frame) { + return frame.getlocal(0).__getattr__("data").invoke("keys"); + } + + private static PyObject items$11(PyFrame frame) { + return frame.getlocal(0).__getattr__("data").invoke("items"); + } + + private static PyObject values$12(PyFrame frame) { + return frame.getlocal(0).__getattr__("data").invoke("values"); + } + + private static PyObject has_key$13(PyFrame frame) { + return frame.getlocal(0).__getattr__("data").invoke("has_key", frame.getlocal(1)); + } + + private static PyObject update$14(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getglobal("isinstance").__call__(frame.getlocal(1), frame.getglobal("UserDict")).__nonzero__()) { + frame.getlocal(0).__getattr__("data").invoke("update", frame.getlocal(1).__getattr__("data")); + } + else if (frame.getglobal("isinstance").__call__(frame.getlocal(1), frame.getglobal("type").__call__(frame.getlocal(0).__getattr__("data"))).__nonzero__()) { + frame.getlocal(0).__getattr__("data").invoke("update", frame.getlocal(1)); + } + else { + t$0$int = 0; + t$1$PyObject = frame.getlocal(1).invoke("items"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.getlocal(0).__getattr__("data").__setitem__(frame.getlocal(3), frame.getlocal(2)); + } + } + return Py.None; + } + + private static PyObject get$15(PyFrame frame) { + return frame.getlocal(0).__getattr__("data").invoke("get", frame.getlocal(1), frame.getlocal(2)); + } + + private static PyObject setdefault$16(PyFrame frame) { + if (frame.getlocal(0).__getattr__("data").invoke("has_key", frame.getlocal(1)).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("data").__setitem__(frame.getlocal(1), frame.getlocal(2)); + } + return frame.getlocal(0).__getattr__("data").__getitem__(frame.getlocal(1)); + } + + private static PyObject popitem$17(PyFrame frame) { + return frame.getlocal(0).__getattr__("data").invoke("popitem"); + } + + private static PyObject UserDict$18(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$0___init__)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$1___repr__)); + frame.setlocal("__cmp__", new PyFunction(frame.f_globals, new PyObject[] {}, c$2___cmp__)); + frame.setlocal("__len__", new PyFunction(frame.f_globals, new PyObject[] {}, c$3___len__)); + frame.setlocal("__getitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$4___getitem__)); + frame.setlocal("__setitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$5___setitem__)); + frame.setlocal("__delitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$6___delitem__)); + frame.setlocal("clear", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_clear)); + frame.setlocal("copy", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_copy)); + frame.setlocal("keys", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_keys)); + frame.setlocal("items", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_items)); + frame.setlocal("values", new PyFunction(frame.f_globals, new PyObject[] {}, c$11_values)); + frame.setlocal("has_key", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_has_key)); + frame.setlocal("update", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_update)); + frame.setlocal("get", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$14_get)); + frame.setlocal("setdefault", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$15_setdefault)); + frame.setlocal("popitem", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_popitem)); + return frame.getf_locals(); + } + + private static PyObject main$19(PyFrame frame) { + frame.setglobal("__file__", s$1); + + /* A more or less complete user-defined wrapper around dictionary objects. */ + frame.setlocal("UserDict", Py.makeClass("UserDict", new PyObject[] {}, c$17_UserDict, null)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("UserDict")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "UserDict"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(UserDict._PyInner.class, newargs, UserDict.jpy$packages, UserDict.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/atexit$_PyInner.class b/server/jpywork/atexit$_PyInner.class new file mode 100644 index 00000000..e06407e6 Binary files /dev/null and b/server/jpywork/atexit$_PyInner.class differ diff --git a/server/jpywork/atexit.class b/server/jpywork/atexit.class new file mode 100644 index 00000000..f7a629f5 Binary files /dev/null and b/server/jpywork/atexit.class differ diff --git a/server/jpywork/atexit.java b/server/jpywork/atexit.java new file mode 100644 index 00000000..eea7b51a --- /dev/null +++ b/server/jpywork/atexit.java @@ -0,0 +1,185 @@ +import org.python.core.*; + +public class atexit extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject i$8; + private static PyObject i$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyFunctionTable funcTable; + private static PyCode c$0__run_exitfuncs; + private static PyCode c$1_register; + private static PyCode c$2_x1; + private static PyCode c$3_x2; + private static PyCode c$4_x3; + private static PyCode c$5_main; + private static void initConstants() { + s$0 = Py.newString("\012atexit.py - allow programmer to define multiple exit functions to be executed\012upon normal program termination.\012\012One public function, register, is defined.\012"); + s$1 = Py.newString("register"); + s$2 = Py.newString("run any registered exit functions\012\012 _exithandlers is traversed in reverse order so functions are executed\012 last in, first out.\012 "); + s$3 = Py.newString("register a function to be executed upon normal program termination\012\012 func - function to be called at exit\012 targs - optional arguments to pass to func\012 kargs - optional keyword arguments to pass to func\012 "); + s$4 = Py.newString("__main__"); + s$5 = Py.newString("running x1"); + s$6 = Py.newString("running x2(%s)"); + s$7 = Py.newString("running x3(%s, kwd=%s)"); + i$8 = Py.newInteger(12); + i$9 = Py.newInteger(5); + s$10 = Py.newString("bar"); + s$11 = Py.newString("no kwd args"); + s$12 = Py.newString("/usr/share/jython/Lib-cpython/atexit.py"); + funcTable = new _PyInner(); + c$0__run_exitfuncs = Py.newCode(0, new String[] {"targs", "func", "kargs"}, "/usr/share/jython/Lib-cpython/atexit.py", "_run_exitfuncs", false, false, funcTable, 0, null, null, 0, 1); + c$1_register = Py.newCode(3, new String[] {"func", "targs", "kargs"}, "/usr/share/jython/Lib-cpython/atexit.py", "register", true, true, funcTable, 1, null, null, 0, 1); + c$2_x1 = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/atexit.py", "x1", false, false, funcTable, 2, null, null, 0, 1); + c$3_x2 = Py.newCode(1, new String[] {"n"}, "/usr/share/jython/Lib-cpython/atexit.py", "x2", false, false, funcTable, 3, null, null, 0, 1); + c$4_x3 = Py.newCode(2, new String[] {"n", "kwd"}, "/usr/share/jython/Lib-cpython/atexit.py", "x3", false, false, funcTable, 4, null, null, 0, 1); + c$5_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/atexit.py", "main", false, false, funcTable, 5, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$5_main == null) _PyInner.initConstants(); + return c$5_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._run_exitfuncs$1(frame); + case 1: + return _PyInner.register$2(frame); + case 2: + return _PyInner.x1$3(frame); + case 3: + return _PyInner.x2$4(frame); + case 4: + return _PyInner.x3$5(frame); + case 5: + return _PyInner.main$6(frame); + default: + return null; + } + } + + private static PyObject _run_exitfuncs$1(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* run any registered exit functions + + _exithandlers is traversed in reverse order so functions are executed + last in, first out. + */ + while (frame.getglobal("_exithandlers").__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("_exithandlers").invoke("pop"), 3); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(0, t$0$PyObject__[1]); + frame.setlocal(2, t$0$PyObject__[2]); + frame.getglobal("apply").__call__(frame.getlocal(1), frame.getlocal(0), frame.getlocal(2)); + } + return Py.None; + } + + private static PyObject register$2(PyFrame frame) { + /* register a function to be executed upon normal program termination + + func - function to be called at exit + targs - optional arguments to pass to func + kargs - optional keyword arguments to pass to func + */ + frame.getglobal("_exithandlers").invoke("append", new PyTuple(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2)})); + return Py.None; + } + + private static PyObject x1$3(PyFrame frame) { + Py.println(s$5); + return Py.None; + } + + private static PyObject x2$4(PyFrame frame) { + Py.println(s$6._mod(frame.getlocal(0).__repr__())); + return Py.None; + } + + private static PyObject x3$5(PyFrame frame) { + Py.println(s$7._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__repr__(), frame.getlocal(1).__repr__()}))); + return Py.None; + } + + private static PyObject main$6(PyFrame frame) { + frame.setglobal("__file__", s$12); + + // Temporary Variables + boolean t$0$boolean; + PyException t$0$PyException; + + // Code + /* + atexit.py - allow programmer to define multiple exit functions to be executed + upon normal program termination. + + One public function, register, is defined. + */ + frame.setlocal("__all__", new PyList(new PyObject[] {s$1})); + frame.setlocal("_exithandlers", new PyList(new PyObject[] {})); + frame.setlocal("_run_exitfuncs", new PyFunction(frame.f_globals, new PyObject[] {}, c$0__run_exitfuncs)); + frame.setlocal("register", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_register)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + t$0$boolean = true; + try { + frame.setlocal("x", frame.getname("sys").__getattr__("exitfunc")); + } + catch (Throwable x$0) { + t$0$boolean = false; + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("AttributeError"))) { + frame.getname("sys").__setattr__("exitfunc", frame.getname("_run_exitfuncs")); + } + else throw t$0$PyException; + } + if (t$0$boolean) { + if (frame.getname("x")._ne(frame.getname("_run_exitfuncs")).__nonzero__()) { + frame.getname("register").__call__(frame.getname("x")); + } + } + frame.dellocal("sys"); + if (frame.getname("__name__")._eq(s$4).__nonzero__()) { + frame.setlocal("x1", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_x1)); + frame.setlocal("x2", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_x2)); + frame.setlocal("x3", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$4_x3)); + frame.getname("register").__call__(frame.getname("x1")); + frame.getname("register").__call__(frame.getname("x2"), i$8); + frame.getname("register").__call__(frame.getname("x3"), i$9, s$10); + frame.getname("register").__call__(frame.getname("x3"), s$11); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("atexit")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "atexit"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(atexit._PyInner.class, newargs, atexit.jpy$packages, atexit.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/calendar$_PyInner.class b/server/jpywork/calendar$_PyInner.class new file mode 100644 index 00000000..d065b446 Binary files /dev/null and b/server/jpywork/calendar$_PyInner.class differ diff --git a/server/jpywork/calendar.class b/server/jpywork/calendar.class new file mode 100644 index 00000000..cff124ee Binary files /dev/null and b/server/jpywork/calendar.class differ diff --git a/server/jpywork/calendar.java b/server/jpywork/calendar.java new file mode 100644 index 00000000..e7320b7b --- /dev/null +++ b/server/jpywork/calendar.java @@ -0,0 +1,651 @@ +import org.python.core.*; + +public class calendar extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject i$14; + private static PyObject i$15; + private static PyObject i$16; + private static PyObject i$17; + private static PyObject i$18; + private static PyObject i$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject s$56; + private static PyObject s$57; + private static PyObject s$58; + private static PyObject i$59; + private static PyObject s$60; + private static PyObject s$61; + private static PyObject s$62; + private static PyObject i$63; + private static PyObject i$64; + private static PyObject i$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyObject i$68; + private static PyObject s$69; + private static PyObject i$70; + private static PyObject s$71; + private static PyObject s$72; + private static PyObject i$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject i$80; + private static PyObject s$81; + private static PyObject s$82; + private static PyObject s$83; + private static PyObject i$84; + private static PyObject s$85; + private static PyObject s$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject i$89; + private static PyObject s$90; + private static PyObject i$91; + private static PyObject i$92; + private static PyObject i$93; + private static PyObject s$94; + private static PyFunctionTable funcTable; + private static PyCode c$0_firstweekday; + private static PyCode c$1_setfirstweekday; + private static PyCode c$2_isleap; + private static PyCode c$3_leapdays; + private static PyCode c$4_weekday; + private static PyCode c$5_monthrange; + private static PyCode c$6_monthcalendar; + private static PyCode c$7__center; + private static PyCode c$8_prweek; + private static PyCode c$9_week; + private static PyCode c$10_weekheader; + private static PyCode c$11_prmonth; + private static PyCode c$12_month; + private static PyCode c$13_format3c; + private static PyCode c$14_format3cstring; + private static PyCode c$15_prcal; + private static PyCode c$16_calendar; + private static PyCode c$17_timegm; + private static PyCode c$18_main; + private static void initConstants() { + s$0 = Py.newString("Calendar printing functions\012\012Note when comparing these calendars to the ones printed by cal(1): By\012default, these calendars have Monday as the first day of the week, and\012Sunday as the last (the European convention). Use setfirstweekday() to\012set the first day of the week (0=Monday, 6=Sunday)."); + s$1 = Py.newString("error"); + s$2 = Py.newString("setfirstweekday"); + s$3 = Py.newString("firstweekday"); + s$4 = Py.newString("isleap"); + s$5 = Py.newString("leapdays"); + s$6 = Py.newString("weekday"); + s$7 = Py.newString("monthrange"); + s$8 = Py.newString("monthcalendar"); + s$9 = Py.newString("prmonth"); + s$10 = Py.newString("month"); + s$11 = Py.newString("prcal"); + s$12 = Py.newString("calendar"); + s$13 = Py.newString("timegm"); + i$14 = Py.newInteger(1); + i$15 = Py.newInteger(2); + i$16 = Py.newInteger(0); + i$17 = Py.newInteger(31); + i$18 = Py.newInteger(28); + i$19 = Py.newInteger(30); + s$20 = Py.newString("Monday"); + s$21 = Py.newString("Tuesday"); + s$22 = Py.newString("Wednesday"); + s$23 = Py.newString("Thursday"); + s$24 = Py.newString("Friday"); + s$25 = Py.newString("Saturday"); + s$26 = Py.newString("Sunday"); + s$27 = Py.newString("Mon"); + s$28 = Py.newString("Tue"); + s$29 = Py.newString("Wed"); + s$30 = Py.newString("Thu"); + s$31 = Py.newString("Fri"); + s$32 = Py.newString("Sat"); + s$33 = Py.newString("Sun"); + s$34 = Py.newString(""); + s$35 = Py.newString("January"); + s$36 = Py.newString("February"); + s$37 = Py.newString("March"); + s$38 = Py.newString("April"); + s$39 = Py.newString("May"); + s$40 = Py.newString("June"); + s$41 = Py.newString("July"); + s$42 = Py.newString("August"); + s$43 = Py.newString("September"); + s$44 = Py.newString("October"); + s$45 = Py.newString("November"); + s$46 = Py.newString("December"); + s$47 = Py.newString(" "); + s$48 = Py.newString("Jan"); + s$49 = Py.newString("Feb"); + s$50 = Py.newString("Mar"); + s$51 = Py.newString("Apr"); + s$52 = Py.newString("Jun"); + s$53 = Py.newString("Jul"); + s$54 = Py.newString("Aug"); + s$55 = Py.newString("Sep"); + s$56 = Py.newString("Oct"); + s$57 = Py.newString("Nov"); + s$58 = Py.newString("Dec"); + i$59 = Py.newInteger(7); + s$60 = Py.newString("Set weekday (Monday=0, Sunday=6) to start each week."); + s$61 = Py.newString("bad weekday number; must be 0 (Monday) to 6 (Sunday)"); + s$62 = Py.newString("Return 1 for leap years, 0 for non-leap years."); + i$63 = Py.newInteger(4); + i$64 = Py.newInteger(100); + i$65 = Py.newInteger(400); + s$66 = Py.newString("Return number of leap years in range [y1, y2).\012 Assume y1 <= y2."); + s$67 = Py.newString("Return weekday (0-6 ~ Mon-Sun) for year (1970-...), month (1-12),\012 day (1-31)."); + i$68 = Py.newInteger(6); + s$69 = Py.newString("Return weekday (0-6 ~ Mon-Sun) and number of days (28-31) for\012 year, month."); + i$70 = Py.newInteger(12); + s$71 = Py.newString("bad month number"); + s$72 = Py.newString("Return a matrix representing a month's calendar.\012 Each row represents a week; days outside this month are zero."); + i$73 = Py.newInteger(5); + s$74 = Py.newString("Center a string in a field."); + s$75 = Py.newString(" "); + s$76 = Py.newString("Print a single week (no newline)."); + s$77 = Py.newString("Returns a single week in a string (no newline)."); + s$78 = Py.newString("%2i"); + s$79 = Py.newString("Return a header for a week."); + i$80 = Py.newInteger(9); + s$81 = Py.newString("Print a month's calendar."); + s$82 = Py.newString("Return a month's calendar string (multi-line)."); + s$83 = Py.newString("\012"); + i$84 = Py.newInteger(3); + s$85 = Py.newString("Prints 3-column formatting for year calendars"); + s$86 = Py.newString("Returns a string formatted from 3 strings, centered within 3 columns."); + s$87 = Py.newString("Print a year's calendar."); + s$88 = Py.newString("Returns a year's calendar as a multi-line string."); + i$89 = Py.newInteger(1970); + s$90 = Py.newString("Unrelated but handy function to calculate Unix timestamp from GMT."); + i$91 = Py.newInteger(365); + i$92 = Py.newInteger(24); + i$93 = Py.newInteger(60); + s$94 = Py.newString("/usr/share/jython/Lib-cpython/calendar.py"); + funcTable = new _PyInner(); + c$0_firstweekday = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/calendar.py", "firstweekday", false, false, funcTable, 0, null, null, 0, 1); + c$1_setfirstweekday = Py.newCode(1, new String[] {"weekday"}, "/usr/share/jython/Lib-cpython/calendar.py", "setfirstweekday", false, false, funcTable, 1, null, null, 0, 1); + c$2_isleap = Py.newCode(1, new String[] {"year"}, "/usr/share/jython/Lib-cpython/calendar.py", "isleap", false, false, funcTable, 2, null, null, 0, 1); + c$3_leapdays = Py.newCode(2, new String[] {"y1", "y2"}, "/usr/share/jython/Lib-cpython/calendar.py", "leapdays", false, false, funcTable, 3, null, null, 0, 1); + c$4_weekday = Py.newCode(3, new String[] {"year", "month", "day", "tuple", "secs"}, "/usr/share/jython/Lib-cpython/calendar.py", "weekday", false, false, funcTable, 4, null, null, 0, 1); + c$5_monthrange = Py.newCode(2, new String[] {"year", "month", "ndays", "day1"}, "/usr/share/jython/Lib-cpython/calendar.py", "monthrange", false, false, funcTable, 5, null, null, 0, 1); + c$6_monthcalendar = Py.newCode(2, new String[] {"year", "month", "ndays", "i", "day", "day1", "r7", "row", "rows"}, "/usr/share/jython/Lib-cpython/calendar.py", "monthcalendar", false, false, funcTable, 6, null, null, 0, 1); + c$7__center = Py.newCode(2, new String[] {"str", "width", "n"}, "/usr/share/jython/Lib-cpython/calendar.py", "_center", false, false, funcTable, 7, null, null, 0, 1); + c$8_prweek = Py.newCode(2, new String[] {"theweek", "width"}, "/usr/share/jython/Lib-cpython/calendar.py", "prweek", false, false, funcTable, 8, null, null, 0, 1); + c$9_week = Py.newCode(2, new String[] {"theweek", "width", "day", "s", "days"}, "/usr/share/jython/Lib-cpython/calendar.py", "week", false, false, funcTable, 9, null, null, 0, 1); + c$10_weekheader = Py.newCode(1, new String[] {"width", "i", "names", "days"}, "/usr/share/jython/Lib-cpython/calendar.py", "weekheader", false, false, funcTable, 10, null, null, 0, 1); + c$11_prmonth = Py.newCode(4, new String[] {"theyear", "themonth", "w", "l"}, "/usr/share/jython/Lib-cpython/calendar.py", "prmonth", false, false, funcTable, 11, null, null, 0, 1); + c$12_month = Py.newCode(4, new String[] {"theyear", "themonth", "w", "l", "aweek", "s"}, "/usr/share/jython/Lib-cpython/calendar.py", "month", false, false, funcTable, 12, null, null, 0, 1); + c$13_format3c = Py.newCode(5, new String[] {"a", "b", "c", "colwidth", "spacing"}, "/usr/share/jython/Lib-cpython/calendar.py", "format3c", false, false, funcTable, 13, null, null, 0, 1); + c$14_format3cstring = Py.newCode(5, new String[] {"a", "b", "c", "colwidth", "spacing"}, "/usr/share/jython/Lib-cpython/calendar.py", "format3cstring", false, false, funcTable, 14, null, null, 0, 1); + c$15_prcal = Py.newCode(4, new String[] {"year", "w", "l", "c"}, "/usr/share/jython/Lib-cpython/calendar.py", "prcal", false, false, funcTable, 15, null, null, 0, 1); + c$16_calendar = Py.newCode(4, new String[] {"year", "w", "l", "c", "weeks", "cal", "s", "height", "q", "colwidth", "amonth", "i", "header", "data"}, "/usr/share/jython/Lib-cpython/calendar.py", "calendar", false, false, funcTable, 16, null, null, 0, 1); + c$17_timegm = Py.newCode(1, new String[] {"tuple", "second", "minute", "minutes", "hour", "i", "month", "year", "day", "hours", "seconds", "days"}, "/usr/share/jython/Lib-cpython/calendar.py", "timegm", false, false, funcTable, 17, null, null, 0, 1); + c$18_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/calendar.py", "main", false, false, funcTable, 18, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$18_main == null) _PyInner.initConstants(); + return c$18_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.firstweekday$1(frame); + case 1: + return _PyInner.setfirstweekday$2(frame); + case 2: + return _PyInner.isleap$3(frame); + case 3: + return _PyInner.leapdays$4(frame); + case 4: + return _PyInner.weekday$5(frame); + case 5: + return _PyInner.monthrange$6(frame); + case 6: + return _PyInner.monthcalendar$7(frame); + case 7: + return _PyInner._center$8(frame); + case 8: + return _PyInner.prweek$9(frame); + case 9: + return _PyInner.week$10(frame); + case 10: + return _PyInner.weekheader$11(frame); + case 11: + return _PyInner.prmonth$12(frame); + case 12: + return _PyInner.month$13(frame); + case 13: + return _PyInner.format3c$14(frame); + case 14: + return _PyInner.format3cstring$15(frame); + case 15: + return _PyInner.prcal$16(frame); + case 16: + return _PyInner.calendar$17(frame); + case 17: + return _PyInner.timegm$18(frame); + case 18: + return _PyInner.main$19(frame); + default: + return null; + } + } + + private static PyObject firstweekday$1(PyFrame frame) { + return frame.getglobal("_firstweekday"); + } + + private static PyObject setfirstweekday$2(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* Set weekday (Monday=0, Sunday=6) to start each week. */ + // global _firstweekday + if ((frame.getglobal("MONDAY")._le(t$0$PyObject = frame.getlocal(0)).__nonzero__() ? t$0$PyObject._le(frame.getglobal("SUNDAY")) : Py.Zero).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$61); + } + frame.setglobal("_firstweekday", frame.getlocal(0)); + return Py.None; + } + + private static PyObject isleap$3(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Return 1 for leap years, 0 for non-leap years. */ + return (t$0$PyObject = frame.getlocal(0)._mod(i$63)._eq(i$16)).__nonzero__() ? ((t$1$PyObject = frame.getlocal(0)._mod(i$64)._ne(i$16)).__nonzero__() ? t$1$PyObject : frame.getlocal(0)._mod(i$65)._eq(i$16)) : t$0$PyObject; + } + + private static PyObject leapdays$4(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* Return number of leap years in range [y1, y2). + Assume y1 <= y2. */ + t$0$PyObject = i$14; + frame.setlocal(0, frame.getlocal(0).__isub__(t$0$PyObject)); + t$0$PyObject = i$14; + frame.setlocal(1, frame.getlocal(1).__isub__(t$0$PyObject)); + return frame.getlocal(1)._div(i$63)._sub(frame.getlocal(0)._div(i$63))._sub(frame.getlocal(1)._div(i$64)._sub(frame.getlocal(0)._div(i$64)))._add(frame.getlocal(1)._div(i$65)._sub(frame.getlocal(0)._div(i$65))); + } + + private static PyObject weekday$5(PyFrame frame) { + /* Return weekday (0-6 ~ Mon-Sun) for year (1970-...), month (1-12), + day (1-31). */ + frame.setlocal(4, frame.getglobal("mktime").__call__(new PyTuple(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2), i$16, i$16, i$16, i$16, i$16, i$16}))); + frame.setlocal(3, frame.getglobal("localtime").__call__(frame.getlocal(4))); + return frame.getlocal(3).__getitem__(i$68); + } + + private static PyObject monthrange$6(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* Return weekday (0-6 ~ Mon-Sun) and number of days (28-31) for + year, month. */ + if ((i$14._le(t$0$PyObject = frame.getlocal(1)).__nonzero__() ? t$0$PyObject._le(i$70) : Py.Zero).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$71); + } + frame.setlocal(3, frame.getglobal("weekday").__call__(frame.getlocal(0), frame.getlocal(1), i$14)); + frame.setlocal(2, frame.getglobal("mdays").__getitem__(frame.getlocal(1))._add((t$0$PyObject = frame.getlocal(1)._eq(frame.getglobal("February"))).__nonzero__() ? frame.getglobal("isleap").__call__(frame.getlocal(0)) : t$0$PyObject)); + return new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(2)}); + } + + private static PyObject monthcalendar$7(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + /* Return a matrix representing a month's calendar. + Each row represents a week; days outside this month are zero. */ + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("monthrange").__call__(frame.getlocal(0), frame.getlocal(1)), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.setlocal(8, new PyList(new PyObject[] {})); + frame.setlocal(6, frame.getglobal("range").__call__(i$59)); + frame.setlocal(4, frame.getglobal("_firstweekday")._sub(frame.getlocal(5))._add(i$68)._mod(i$59)._sub(i$73)); + while (frame.getlocal(4)._le(frame.getlocal(2)).__nonzero__()) { + frame.setlocal(7, new PyList(new PyObject[] {i$16, i$16, i$16, i$16, i$16, i$16, i$16})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(6); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + if ((i$14._le(t$2$PyObject = frame.getlocal(4)).__nonzero__() ? t$2$PyObject._le(frame.getlocal(2)) : Py.Zero).__nonzero__()) { + frame.getlocal(7).__setitem__(frame.getlocal(3), frame.getlocal(4)); + } + frame.setlocal(4, frame.getlocal(4)._add(i$14)); + } + frame.getlocal(8).invoke("append", frame.getlocal(7)); + } + return frame.getlocal(8); + } + + private static PyObject _center$8(PyFrame frame) { + /* Center a string in a field. */ + frame.setlocal(2, frame.getlocal(1)._sub(frame.getglobal("len").__call__(frame.getlocal(0)))); + if (frame.getlocal(2)._le(i$16).__nonzero__()) { + return frame.getlocal(0); + } + return s$75._mul(frame.getlocal(2)._add(i$14)._div(i$15))._add(frame.getlocal(0))._add(s$75._mul(frame.getlocal(2)._div(i$15))); + } + + private static PyObject prweek$9(PyFrame frame) { + /* Print a single week (no newline). */ + Py.printComma(frame.getglobal("week").__call__(frame.getlocal(0), frame.getlocal(1))); + return Py.None; + } + + private static PyObject week$10(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Returns a single week in a string (no newline). */ + frame.setlocal(4, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + if (frame.getlocal(2)._eq(i$16).__nonzero__()) { + frame.setlocal(3, s$34); + } + else { + frame.setlocal(3, s$78._mod(frame.getlocal(2))); + } + frame.getlocal(4).invoke("append", frame.getglobal("_center").__call__(frame.getlocal(3), frame.getlocal(1))); + } + return s$75.invoke("join", frame.getlocal(4)); + } + + private static PyObject weekheader$11(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Return a header for a week. */ + if (frame.getlocal(0)._ge(i$80).__nonzero__()) { + frame.setlocal(2, frame.getglobal("day_name")); + } + else { + frame.setlocal(2, frame.getglobal("day_abbr")); + } + frame.setlocal(3, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("_firstweekday"), frame.getglobal("_firstweekday")._add(i$59)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(1, t$0$PyObject); + frame.getlocal(3).invoke("append", frame.getglobal("_center").__call__(frame.getlocal(2).__getitem__(frame.getlocal(1)._mod(i$59)).__getslice__(null, frame.getlocal(0), null), frame.getlocal(0))); + } + return s$75.invoke("join", frame.getlocal(3)); + } + + private static PyObject prmonth$12(PyFrame frame) { + /* Print a month's calendar. */ + Py.printComma(frame.getglobal("month").__call__(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2), frame.getlocal(3)})); + return Py.None; + } + + private static PyObject month$13(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Return a month's calendar string (multi-line). */ + frame.setlocal(2, frame.getglobal("max").__call__(i$15, frame.getlocal(2))); + frame.setlocal(3, frame.getglobal("max").__call__(i$14, frame.getlocal(3))); + frame.setlocal(5, frame.getglobal("_center").__call__(frame.getglobal("month_name").__getitem__(frame.getlocal(1))._add(s$75)._add(frame.getlocal(0).__repr__()), i$59._mul(frame.getlocal(2)._add(i$14))._sub(i$14)).invoke("rstrip")._add(s$83._mul(frame.getlocal(3)))._add(frame.getglobal("weekheader").__call__(frame.getlocal(2)).invoke("rstrip"))._add(s$83._mul(frame.getlocal(3)))); + t$0$int = 0; + t$1$PyObject = frame.getglobal("monthcalendar").__call__(frame.getlocal(0), frame.getlocal(1)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + frame.setlocal(5, frame.getlocal(5)._add(frame.getglobal("week").__call__(frame.getlocal(4), frame.getlocal(2)).invoke("rstrip"))._add(s$83._mul(frame.getlocal(3)))); + } + return frame.getlocal(5).__getslice__(null, frame.getlocal(3).__neg__(), null)._add(s$83); + } + + private static PyObject format3c$14(PyFrame frame) { + /* Prints 3-column formatting for year calendars */ + Py.println(frame.getglobal("format3cstring").__call__(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2), frame.getlocal(3), frame.getlocal(4)})); + return Py.None; + } + + private static PyObject format3cstring$15(PyFrame frame) { + /* Returns a string formatted from 3 strings, centered within 3 columns. */ + return frame.getglobal("_center").__call__(frame.getlocal(0), frame.getlocal(3))._add(s$75._mul(frame.getlocal(4)))._add(frame.getglobal("_center").__call__(frame.getlocal(1), frame.getlocal(3)))._add(s$75._mul(frame.getlocal(4)))._add(frame.getglobal("_center").__call__(frame.getlocal(2), frame.getlocal(3))); + } + + private static PyObject prcal$16(PyFrame frame) { + /* Print a year's calendar. */ + Py.printComma(frame.getglobal("calendar").__call__(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2), frame.getlocal(3)})); + return Py.None; + } + + private static PyObject calendar$17(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int, t$3$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject, t$6$PyObject, t$7$PyObject; + + // Code + /* Returns a year's calendar as a multi-line string. */ + frame.setlocal(1, frame.getglobal("max").__call__(i$15, frame.getlocal(1))); + frame.setlocal(2, frame.getglobal("max").__call__(i$14, frame.getlocal(2))); + frame.setlocal(3, frame.getglobal("max").__call__(i$15, frame.getlocal(3))); + frame.setlocal(9, frame.getlocal(1)._add(i$14)._mul(i$59)._sub(i$14)); + frame.setlocal(6, frame.getglobal("_center").__call__(frame.getlocal(0).__repr__(), frame.getlocal(9)._mul(i$84)._add(frame.getlocal(3)._mul(i$15))).invoke("rstrip")._add(s$83._mul(frame.getlocal(2)))); + frame.setlocal(12, frame.getglobal("weekheader").__call__(frame.getlocal(1))); + frame.setlocal(12, frame.getglobal("format3cstring").__call__(new PyObject[] {frame.getlocal(12), frame.getlocal(12), frame.getlocal(12), frame.getlocal(9), frame.getlocal(3)}).invoke("rstrip")); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("January"), frame.getglobal("January")._add(i$70), i$84); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(8, t$0$PyObject); + frame.setlocal(6, frame.getlocal(6)._add(s$83._mul(frame.getlocal(2)))._add(frame.getglobal("format3cstring").__call__(new PyObject[] {frame.getglobal("month_name").__getitem__(frame.getlocal(8)), frame.getglobal("month_name").__getitem__(frame.getlocal(8)._add(i$14)), frame.getglobal("month_name").__getitem__(frame.getlocal(8)._add(i$15)), frame.getlocal(9), frame.getlocal(3)}).invoke("rstrip"))._add(s$83._mul(frame.getlocal(2)))._add(frame.getlocal(12))._add(s$83._mul(frame.getlocal(2)))); + frame.setlocal(13, new PyList(new PyObject[] {})); + frame.setlocal(7, i$16); + t$1$int = 0; + t$3$PyObject = frame.getglobal("range").__call__(frame.getlocal(8), frame.getlocal(8)._add(i$84)); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(10, t$2$PyObject); + frame.setlocal(5, frame.getglobal("monthcalendar").__call__(frame.getlocal(0), frame.getlocal(10))); + if (frame.getglobal("len").__call__(frame.getlocal(5))._gt(frame.getlocal(7)).__nonzero__()) { + frame.setlocal(7, frame.getglobal("len").__call__(frame.getlocal(5))); + } + frame.getlocal(13).invoke("append", frame.getlocal(5)); + } + t$2$int = 0; + t$5$PyObject = frame.getglobal("range").__call__(frame.getlocal(7)); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(11, t$4$PyObject); + frame.setlocal(4, new PyList(new PyObject[] {})); + t$3$int = 0; + t$7$PyObject = frame.getlocal(13); + while ((t$6$PyObject = t$7$PyObject.__finditem__(t$3$int++)) != null) { + frame.setlocal(5, t$6$PyObject); + if (frame.getlocal(11)._ge(frame.getglobal("len").__call__(frame.getlocal(5))).__nonzero__()) { + frame.getlocal(4).invoke("append", s$34); + } + else { + frame.getlocal(4).invoke("append", frame.getglobal("week").__call__(frame.getlocal(5).__getitem__(frame.getlocal(11)), frame.getlocal(1))); + } + } + frame.setlocal(6, frame.getlocal(6)._add(frame.getglobal("format3cstring").__call__(new PyObject[] {frame.getlocal(4).__getitem__(i$16), frame.getlocal(4).__getitem__(i$14), frame.getlocal(4).__getitem__(i$15), frame.getlocal(9), frame.getlocal(3)}).invoke("rstrip"))._add(s$83._mul(frame.getlocal(2)))); + } + } + return frame.getlocal(6).__getslice__(null, frame.getlocal(2).__neg__(), null)._add(s$83); + } + + private static PyObject timegm$18(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + /* Unrelated but handy function to calculate Unix timestamp from GMT. */ + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getslice__(null, i$68, null), 6); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.setlocal(8, t$0$PyObject__[2]); + frame.setlocal(4, t$0$PyObject__[3]); + frame.setlocal(2, t$0$PyObject__[4]); + frame.setlocal(1, t$0$PyObject__[5]); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(7)._ge(frame.getglobal("EPOCH"))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(i$14._le(t$0$PyObject = frame.getlocal(6)).__nonzero__() ? t$0$PyObject._le(i$70) : Py.Zero); + frame.setlocal(11, i$91._mul(frame.getlocal(7)._sub(frame.getglobal("EPOCH")))._add(frame.getglobal("leapdays").__call__(frame.getglobal("EPOCH"), frame.getlocal(7)))); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(i$14, frame.getlocal(6)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(5, t$0$PyObject); + frame.setlocal(11, frame.getlocal(11)._add(frame.getglobal("mdays").__getitem__(frame.getlocal(5)))); + } + if (((t$2$PyObject = frame.getlocal(6)._gt(i$15)).__nonzero__() ? frame.getglobal("isleap").__call__(frame.getlocal(7)) : t$2$PyObject).__nonzero__()) { + frame.setlocal(11, frame.getlocal(11)._add(i$14)); + } + frame.setlocal(11, frame.getlocal(11)._add(frame.getlocal(8))._sub(i$14)); + frame.setlocal(9, frame.getlocal(11)._mul(i$92)._add(frame.getlocal(4))); + frame.setlocal(3, frame.getlocal(9)._mul(i$93)._add(frame.getlocal(2))); + frame.setlocal(10, frame.getlocal(3)._mul(i$93)._add(frame.getlocal(1))); + return frame.getlocal(10); + } + + private static PyObject main$19(PyFrame frame) { + frame.setglobal("__file__", s$94); + + PyObject[] imp_accu; + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* Calendar printing functions + + Note when comparing these calendars to the ones printed by cal(1): By + default, these calendars have Monday as the first day of the week, and + Sunday as the last (the European convention). Use setfirstweekday() to + set the first day of the week (0=Monday, 6=Sunday). */ + imp_accu = org.python.core.imp.importFrom("time", new String[] {"localtime", "mktime"}, frame); + frame.setlocal("localtime", imp_accu[0]); + frame.setlocal("mktime", imp_accu[1]); + imp_accu = null; + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12, s$13})); + frame.setlocal("error", frame.getname("ValueError")); + frame.setlocal("January", i$14); + frame.setlocal("February", i$15); + frame.setlocal("mdays", new PyList(new PyObject[] {i$16, i$17, i$18, i$17, i$19, i$17, i$19, i$17, i$17, i$19, i$17, i$19, i$17})); + frame.setlocal("day_name", new PyList(new PyObject[] {s$20, s$21, s$22, s$23, s$24, s$25, s$26})); + frame.setlocal("day_abbr", new PyList(new PyObject[] {s$27, s$28, s$29, s$30, s$31, s$32, s$33})); + frame.setlocal("month_name", new PyList(new PyObject[] {s$34, s$35, s$36, s$37, s$38, s$39, s$40, s$41, s$42, s$43, s$44, s$45, s$46})); + frame.setlocal("month_abbr", new PyList(new PyObject[] {s$47, s$48, s$49, s$50, s$51, s$39, s$52, s$53, s$54, s$55, s$56, s$57, s$58})); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getname("range").__call__(i$59), 7); + frame.setlocal("MONDAY", t$0$PyObject__[0]); + frame.setlocal("TUESDAY", t$0$PyObject__[1]); + frame.setlocal("WEDNESDAY", t$0$PyObject__[2]); + frame.setlocal("THURSDAY", t$0$PyObject__[3]); + frame.setlocal("FRIDAY", t$0$PyObject__[4]); + frame.setlocal("SATURDAY", t$0$PyObject__[5]); + frame.setlocal("SUNDAY", t$0$PyObject__[6]); + frame.setlocal("_firstweekday", i$16); + frame.setlocal("firstweekday", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_firstweekday)); + frame.setlocal("setfirstweekday", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_setfirstweekday)); + frame.setlocal("isleap", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_isleap)); + frame.setlocal("leapdays", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_leapdays)); + frame.setlocal("weekday", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_weekday)); + frame.setlocal("monthrange", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_monthrange)); + frame.setlocal("monthcalendar", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_monthcalendar)); + frame.setlocal("_center", new PyFunction(frame.f_globals, new PyObject[] {}, c$7__center)); + frame.setlocal("prweek", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_prweek)); + frame.setlocal("week", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_week)); + frame.setlocal("weekheader", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_weekheader)); + frame.setlocal("prmonth", new PyFunction(frame.f_globals, new PyObject[] {i$16, i$16}, c$11_prmonth)); + frame.setlocal("month", new PyFunction(frame.f_globals, new PyObject[] {i$16, i$16}, c$12_month)); + frame.setlocal("_colwidth", i$59._mul(i$84)._sub(i$14)); + frame.setlocal("_spacing", i$68); + frame.setlocal("format3c", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("_colwidth"), frame.getname("_spacing")}, c$13_format3c)); + frame.setlocal("format3cstring", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("_colwidth"), frame.getname("_spacing")}, c$14_format3cstring)); + frame.setlocal("prcal", new PyFunction(frame.f_globals, new PyObject[] {i$16, i$16, frame.getname("_spacing")}, c$15_prcal)); + frame.setlocal("calendar", new PyFunction(frame.f_globals, new PyObject[] {i$16, i$16, frame.getname("_spacing")}, c$16_calendar)); + frame.setlocal("EPOCH", i$89); + frame.setlocal("timegm", new PyFunction(frame.f_globals, new PyObject[] {}, c$17_timegm)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("calendar")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "calendar"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(calendar._PyInner.class, newargs, calendar.jpy$packages, calendar.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/copy$_PyInner.class b/server/jpywork/copy$_PyInner.class new file mode 100644 index 00000000..f0bb7bf9 Binary files /dev/null and b/server/jpywork/copy$_PyInner.class differ diff --git a/server/jpywork/copy.class b/server/jpywork/copy.class new file mode 100644 index 00000000..5dee907d Binary files /dev/null and b/server/jpywork/copy.class differ diff --git a/server/jpywork/copy.java b/server/jpywork/copy.java new file mode 100644 index 00000000..af1fd468 --- /dev/null +++ b/server/jpywork/copy.java @@ -0,0 +1,722 @@ +import org.python.core.*; + +public class copy extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject i$16; + private static PyObject l$17; + private static PyObject f$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject i$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject i$28; + private static PyObject s$29; + private static PyFunctionTable funcTable; + private static PyCode c$0_Error; + private static PyCode c$1_copy; + private static PyCode c$2__copy_atomic; + private static PyCode c$3__copy_list; + private static PyCode c$4__copy_tuple; + private static PyCode c$5__copy_dict; + private static PyCode c$6__copy_inst; + private static PyCode c$7_deepcopy; + private static PyCode c$8__deepcopy_atomic; + private static PyCode c$9__deepcopy_list; + private static PyCode c$10__deepcopy_tuple; + private static PyCode c$11__deepcopy_dict; + private static PyCode c$12__keep_alive; + private static PyCode c$13__deepcopy_inst; + private static PyCode c$14__EmptyClass; + private static PyCode c$15___del__; + private static PyCode c$16__EmptyClassDel; + private static PyCode c$17___init__; + private static PyCode c$18___getstate__; + private static PyCode c$19___setstate__; + private static PyCode c$20___deepcopy__; + private static PyCode c$21_C; + private static PyCode c$22__test; + private static PyCode c$23_main; + private static void initConstants() { + s$0 = Py.newString("Generic (shallow and deep) copying operations.\012\012Interface summary:\012\012 import copy\012\012 x = copy.copy(y) # make a shallow copy of y\012 x = copy.deepcopy(y) # make a deep copy of y\012\012For module specific errors, copy.error is raised.\012\012The difference between shallow and deep copying is only relevant for\012compound objects (objects that contain other objects, like lists or\012class instances).\012\012- A shallow copy constructs a new compound object and then (to the\012 extent possible) inserts *the same objects* into in that the\012 original contains.\012\012- A deep copy constructs a new compound object and then, recursively,\012 inserts *copies* into it of the objects found in the original.\012\012Two problems often exist with deep copy operations that don't exist\012with shallow copy operations:\012\012 a) recursive objects (compound objects that, directly or indirectly,\012 contain a reference to themselves) may cause a recursive loop\012\012 b) because deep copy copies *everything* it may copy too much, e.g.\012 administrative data structures that should be shared even between\012 copies\012\012Python's deep copy operation avoids these problems by:\012\012 a) keeping a table of objects already copied during the current\012 copying pass\012\012 b) letting user-defined classes override the copying operation or the\012 set of components copied\012\012This version does not copy types like module, class, function, method,\012nor stack trace, stack frame, nor file, socket, window, nor array, nor\012any similar types.\012\012Classes can use the same interfaces to control copying that they use\012to control pickling: they can define methods called __getinitargs__(),\012__getstate__() and __setstate__(). See the documentation for module\012\"pickle\" for information on these methods.\012"); + s$1 = Py.newString("Error"); + s$2 = Py.newString("error"); + s$3 = Py.newString("copy"); + s$4 = Py.newString("deepcopy"); + s$5 = Py.newString("Shallow copy operation on arbitrary Python objects.\012\012 See the module's __doc__ string for more info.\012 "); + s$6 = Py.newString("un(shallow)copyable object of type %s"); + s$7 = Py.newString("__copy__"); + s$8 = Py.newString("__getinitargs__"); + s$9 = Py.newString("__del__"); + s$10 = Py.newString("__getstate__"); + s$11 = Py.newString("__setstate__"); + s$12 = Py.newString("Deep copy operation on arbitrary Python objects.\012\012 See the module's __doc__ string for more info.\012 "); + s$13 = Py.newString("un-deep-copyable object of type %s"); + s$14 = Py.newString("Keeps a reference to the object x in the memo.\012\012 Because we remember objects by their id, we have\012 to assure that possibly temporary objects are kept\012 alive by referencing them.\012 We store a reference at the id of the memo, which should\012 normally not be used unless someone tries to deepcopy\012 the memo itself...\012 "); + s$15 = Py.newString("__deepcopy__"); + i$16 = Py.newInteger(1); + l$17 = Py.newLong("2"); + f$18 = Py.newFloat(3.14); + s$19 = Py.newString("xyzzy"); + s$20 = Py.newString("abc"); + s$21 = Py.newString("ABC"); + s$22 = Py.newString("__main__"); + i$23 = Py.newInteger(0); + s$24 = Py.newString("a"); + s$25 = Py.newString("arg"); + s$26 = Py.newString("argument sketch"); + s$27 = Py.newString("xyz"); + i$28 = Py.newInteger(2); + s$29 = Py.newString("/usr/share/jython/Lib/copy.py"); + funcTable = new _PyInner(); + c$0_Error = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/copy.py", "Error", false, false, funcTable, 0, null, null, 0, 0); + c$1_copy = Py.newCode(1, new String[] {"x", "copier", "copierfunction", "y"}, "/usr/share/jython/Lib/copy.py", "copy", false, false, funcTable, 1, null, null, 0, 1); + c$2__copy_atomic = Py.newCode(1, new String[] {"x"}, "/usr/share/jython/Lib/copy.py", "_copy_atomic", false, false, funcTable, 2, null, null, 0, 1); + c$3__copy_list = Py.newCode(1, new String[] {"x"}, "/usr/share/jython/Lib/copy.py", "_copy_list", false, false, funcTable, 3, null, null, 0, 1); + c$4__copy_tuple = Py.newCode(1, new String[] {"x"}, "/usr/share/jython/Lib/copy.py", "_copy_tuple", false, false, funcTable, 4, null, null, 0, 1); + c$5__copy_dict = Py.newCode(1, new String[] {"x"}, "/usr/share/jython/Lib/copy.py", "_copy_dict", false, false, funcTable, 5, null, null, 0, 1); + c$6__copy_inst = Py.newCode(1, new String[] {"x", "args", "state", "y"}, "/usr/share/jython/Lib/copy.py", "_copy_inst", false, false, funcTable, 6, null, null, 0, 1); + c$7_deepcopy = Py.newCode(2, new String[] {"x", "memo", "copier", "copierfunction", "d", "y"}, "/usr/share/jython/Lib/copy.py", "deepcopy", false, false, funcTable, 7, null, null, 0, 1); + c$8__deepcopy_atomic = Py.newCode(2, new String[] {"x", "memo"}, "/usr/share/jython/Lib/copy.py", "_deepcopy_atomic", false, false, funcTable, 8, null, null, 0, 1); + c$9__deepcopy_list = Py.newCode(2, new String[] {"x", "memo", "a", "y"}, "/usr/share/jython/Lib/copy.py", "_deepcopy_list", false, false, funcTable, 9, null, null, 0, 1); + c$10__deepcopy_tuple = Py.newCode(2, new String[] {"x", "memo", "i", "d", "y", "a"}, "/usr/share/jython/Lib/copy.py", "_deepcopy_tuple", false, false, funcTable, 10, null, null, 0, 1); + c$11__deepcopy_dict = Py.newCode(2, new String[] {"x", "memo", "key", "y"}, "/usr/share/jython/Lib/copy.py", "_deepcopy_dict", false, false, funcTable, 11, null, null, 0, 1); + c$12__keep_alive = Py.newCode(2, new String[] {"x", "memo"}, "/usr/share/jython/Lib/copy.py", "_keep_alive", false, false, funcTable, 12, null, null, 0, 1); + c$13__deepcopy_inst = Py.newCode(2, new String[] {"x", "memo", "state", "args", "y"}, "/usr/share/jython/Lib/copy.py", "_deepcopy_inst", false, false, funcTable, 13, null, null, 0, 1); + c$14__EmptyClass = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/copy.py", "_EmptyClass", false, false, funcTable, 14, null, null, 0, 0); + c$15___del__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/copy.py", "__del__", false, false, funcTable, 15, null, null, 0, 1); + c$16__EmptyClassDel = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/copy.py", "_EmptyClassDel", false, false, funcTable, 16, null, null, 0, 0); + c$17___init__ = Py.newCode(2, new String[] {"self", "arg", "file", "sys"}, "/usr/share/jython/Lib/copy.py", "__init__", false, false, funcTable, 17, null, null, 0, 1); + c$18___getstate__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/copy.py", "__getstate__", false, false, funcTable, 18, null, null, 0, 1); + c$19___setstate__ = Py.newCode(2, new String[] {"self", "state", "key"}, "/usr/share/jython/Lib/copy.py", "__setstate__", false, false, funcTable, 19, null, null, 0, 1); + c$20___deepcopy__ = Py.newCode(2, new String[] {"self", "memo", "new"}, "/usr/share/jython/Lib/copy.py", "__deepcopy__", false, false, funcTable, 20, null, null, 0, 1); + c$21_C = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/copy.py", "C", false, false, funcTable, 21, null, null, 0, 0); + c$22__test = Py.newCode(0, new String[] {"C", "l3", "l2", "repr", "l", "l1", "c"}, "/usr/share/jython/Lib/copy.py", "_test", false, false, funcTable, 22, null, null, 0, 1); + c$23_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/copy.py", "main", false, false, funcTable, 23, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$23_main == null) _PyInner.initConstants(); + return c$23_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.Error$1(frame); + case 1: + return _PyInner.copy$2(frame); + case 2: + return _PyInner._copy_atomic$3(frame); + case 3: + return _PyInner._copy_list$4(frame); + case 4: + return _PyInner._copy_tuple$5(frame); + case 5: + return _PyInner._copy_dict$6(frame); + case 6: + return _PyInner._copy_inst$7(frame); + case 7: + return _PyInner.deepcopy$8(frame); + case 8: + return _PyInner._deepcopy_atomic$9(frame); + case 9: + return _PyInner._deepcopy_list$10(frame); + case 10: + return _PyInner._deepcopy_tuple$11(frame); + case 11: + return _PyInner._deepcopy_dict$12(frame); + case 12: + return _PyInner._keep_alive$13(frame); + case 13: + return _PyInner._deepcopy_inst$14(frame); + case 14: + return _PyInner._EmptyClass$15(frame); + case 15: + return _PyInner.__del__$16(frame); + case 16: + return _PyInner._EmptyClassDel$17(frame); + case 17: + return _PyInner.__init__$18(frame); + case 18: + return _PyInner.__getstate__$19(frame); + case 19: + return _PyInner.__setstate__$20(frame); + case 20: + return _PyInner.__deepcopy__$21(frame); + case 21: + return _PyInner.C$22(frame); + case 22: + return _PyInner._test$23(frame); + case 23: + return _PyInner.main$24(frame); + default: + return null; + } + } + + private static PyObject Error$1(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject copy$2(PyFrame frame) { + // Temporary Variables + boolean t$0$boolean; + PyException t$0$PyException, t$1$PyException; + + // Code + /* Shallow copy operation on arbitrary Python objects. + + See the module's __doc__ string for more info. + */ + t$0$boolean = true; + try { + frame.setlocal(2, frame.getglobal("_copy_dispatch").__getitem__(frame.getglobal("type").__call__(frame.getlocal(0)))); + } + catch (Throwable x$0) { + t$0$boolean = false; + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) { + try { + frame.setlocal(1, frame.getlocal(0).__getattr__("__copy__")); + } + catch (Throwable x$1) { + t$1$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$1$PyException, frame.getglobal("AttributeError"))) { + throw Py.makeException(frame.getglobal("error"), s$6._mod(frame.getglobal("type").__call__(frame.getlocal(0)))); + } + else throw t$1$PyException; + } + frame.setlocal(3, frame.getlocal(1).__call__()); + } + else throw t$0$PyException; + } + if (t$0$boolean) { + frame.setlocal(3, frame.getlocal(2).__call__(frame.getlocal(0))); + } + return frame.getlocal(3); + } + + private static PyObject _copy_atomic$3(PyFrame frame) { + return frame.getlocal(0); + } + + private static PyObject _copy_list$4(PyFrame frame) { + return frame.getlocal(0).__getslice__(null, null, null); + } + + private static PyObject _copy_tuple$5(PyFrame frame) { + return frame.getlocal(0).__getslice__(null, null, null); + } + + private static PyObject _copy_dict$6(PyFrame frame) { + return frame.getlocal(0).invoke("copy"); + } + + private static PyObject _copy_inst$7(PyFrame frame) { + if (frame.getglobal("hasattr").__call__(frame.getlocal(0), s$7).__nonzero__()) { + return frame.getlocal(0).invoke("__copy__"); + } + if (frame.getglobal("hasattr").__call__(frame.getlocal(0), s$8).__nonzero__()) { + frame.setlocal(1, frame.getlocal(0).invoke("__getinitargs__")); + frame.setlocal(3, frame.getglobal("apply").__call__(frame.getlocal(0).__getattr__("__class__"), frame.getlocal(1))); + } + else { + if (frame.getglobal("hasattr").__call__(frame.getlocal(0).__getattr__("__class__"), s$9).__nonzero__()) { + frame.setlocal(3, frame.getglobal("_EmptyClassDel").__call__()); + } + else { + frame.setlocal(3, frame.getglobal("_EmptyClass").__call__()); + } + frame.getlocal(3).__setattr__("__class__", frame.getlocal(0).__getattr__("__class__")); + } + if (frame.getglobal("hasattr").__call__(frame.getlocal(0), s$10).__nonzero__()) { + frame.setlocal(2, frame.getlocal(0).invoke("__getstate__")); + } + else { + frame.setlocal(2, frame.getlocal(0).__getattr__("__dict__")); + } + if (frame.getglobal("hasattr").__call__(frame.getlocal(3), s$11).__nonzero__()) { + frame.getlocal(3).invoke("__setstate__", frame.getlocal(2)); + } + else { + frame.getlocal(3).__getattr__("__dict__").invoke("update", frame.getlocal(2)); + } + return frame.getlocal(3); + } + + private static PyObject deepcopy$8(PyFrame frame) { + // Temporary Variables + boolean t$0$boolean; + PyException t$0$PyException, t$1$PyException; + + // Code + /* Deep copy operation on arbitrary Python objects. + + See the module's __doc__ string for more info. + */ + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, new PyDictionary(new PyObject[] {})); + } + frame.setlocal(4, frame.getglobal("id").__call__(frame.getlocal(0))); + if (frame.getlocal(1).invoke("has_key", frame.getlocal(4)).__nonzero__()) { + return frame.getlocal(1).__getitem__(frame.getlocal(4)); + } + t$0$boolean = true; + try { + frame.setlocal(3, frame.getglobal("_deepcopy_dispatch").__getitem__(frame.getglobal("type").__call__(frame.getlocal(0)))); + } + catch (Throwable x$0) { + t$0$boolean = false; + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) { + try { + frame.setlocal(2, frame.getlocal(0).__getattr__("__deepcopy__")); + } + catch (Throwable x$1) { + t$1$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$1$PyException, frame.getglobal("AttributeError"))) { + throw Py.makeException(frame.getglobal("error"), s$13._mod(frame.getglobal("type").__call__(frame.getlocal(0)))); + } + else throw t$1$PyException; + } + frame.setlocal(5, frame.getlocal(2).__call__(frame.getlocal(1))); + } + else throw t$0$PyException; + } + if (t$0$boolean) { + frame.setlocal(5, frame.getlocal(3).__call__(frame.getlocal(0), frame.getlocal(1))); + } + frame.getlocal(1).__setitem__(frame.getlocal(4), frame.getlocal(5)); + return frame.getlocal(5); + } + + private static PyObject _deepcopy_atomic$9(PyFrame frame) { + return frame.getlocal(0); + } + + private static PyObject _deepcopy_list$10(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, new PyList(new PyObject[] {})); + frame.getlocal(1).__setitem__(frame.getglobal("id").__call__(frame.getlocal(0)), frame.getlocal(3)); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.getlocal(3).invoke("append", frame.getglobal("deepcopy").__call__(frame.getlocal(2), frame.getlocal(1))); + } + return frame.getlocal(3); + } + + private static PyObject _deepcopy_tuple$11(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int; + boolean t$0$boolean; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject; + + // Code + frame.setlocal(4, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(5, t$0$PyObject); + frame.getlocal(4).invoke("append", frame.getglobal("deepcopy").__call__(frame.getlocal(5), frame.getlocal(1))); + } + frame.setlocal(3, frame.getglobal("id").__call__(frame.getlocal(0))); + try { + return frame.getlocal(1).__getitem__(frame.getlocal(3)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) { + // pass + } + else throw t$0$PyException; + } + t$1$int = 0; + t$3$PyObject = frame.getglobal("range").__call__(frame.getglobal("len").__call__(frame.getlocal(0))); + while (t$0$boolean=(t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(2, t$2$PyObject); + if (frame.getlocal(0).__getitem__(frame.getlocal(2))._isnot(frame.getlocal(4).__getitem__(frame.getlocal(2))).__nonzero__()) { + frame.setlocal(4, frame.getglobal("tuple").__call__(frame.getlocal(4))); + break; + } + } + if (!t$0$boolean) { + frame.setlocal(4, frame.getlocal(0)); + } + frame.getlocal(1).__setitem__(frame.getlocal(3), frame.getlocal(4)); + return frame.getlocal(4); + } + + private static PyObject _deepcopy_dict$12(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, new PyDictionary(new PyObject[] {})); + frame.getlocal(1).__setitem__(frame.getglobal("id").__call__(frame.getlocal(0)), frame.getlocal(3)); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0).invoke("keys"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.getlocal(3).__setitem__(frame.getglobal("deepcopy").__call__(frame.getlocal(2), frame.getlocal(1)), frame.getglobal("deepcopy").__call__(frame.getlocal(0).__getitem__(frame.getlocal(2)), frame.getlocal(1))); + } + return frame.getlocal(3); + } + + private static PyObject _keep_alive$13(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* Keeps a reference to the object x in the memo. + + Because we remember objects by their id, we have + to assure that possibly temporary objects are kept + alive by referencing them. + We store a reference at the id of the memo, which should + normally not be used unless someone tries to deepcopy + the memo itself... + */ + try { + frame.getlocal(1).__getitem__(frame.getglobal("id").__call__(frame.getlocal(1))).invoke("append", frame.getlocal(0)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) { + frame.getlocal(1).__setitem__(frame.getglobal("id").__call__(frame.getlocal(1)), new PyList(new PyObject[] {frame.getlocal(0)})); + } + else throw t$0$PyException; + } + return Py.None; + } + + private static PyObject _deepcopy_inst$14(PyFrame frame) { + if (frame.getglobal("hasattr").__call__(frame.getlocal(0), s$15).__nonzero__()) { + return frame.getlocal(0).invoke("__deepcopy__", frame.getlocal(1)); + } + if (frame.getglobal("hasattr").__call__(frame.getlocal(0), s$8).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).invoke("__getinitargs__")); + frame.getglobal("_keep_alive").__call__(frame.getlocal(3), frame.getlocal(1)); + frame.setlocal(3, frame.getglobal("deepcopy").__call__(frame.getlocal(3), frame.getlocal(1))); + frame.setlocal(4, frame.getglobal("apply").__call__(frame.getlocal(0).__getattr__("__class__"), frame.getlocal(3))); + } + else { + if (frame.getglobal("hasattr").__call__(frame.getlocal(0).__getattr__("__class__"), s$9).__nonzero__()) { + frame.setlocal(4, frame.getglobal("_EmptyClassDel").__call__()); + } + else { + frame.setlocal(4, frame.getglobal("_EmptyClass").__call__()); + } + frame.getlocal(4).__setattr__("__class__", frame.getlocal(0).__getattr__("__class__")); + } + frame.getlocal(1).__setitem__(frame.getglobal("id").__call__(frame.getlocal(0)), frame.getlocal(4)); + if (frame.getglobal("hasattr").__call__(frame.getlocal(0), s$10).__nonzero__()) { + frame.setlocal(2, frame.getlocal(0).invoke("__getstate__")); + frame.getglobal("_keep_alive").__call__(frame.getlocal(2), frame.getlocal(1)); + } + else { + frame.setlocal(2, frame.getlocal(0).__getattr__("__dict__")); + } + frame.setlocal(2, frame.getglobal("deepcopy").__call__(frame.getlocal(2), frame.getlocal(1))); + if (frame.getglobal("hasattr").__call__(frame.getlocal(4), s$11).__nonzero__()) { + frame.getlocal(4).invoke("__setstate__", frame.getlocal(2)); + } + else { + frame.getlocal(4).__getattr__("__dict__").invoke("update", frame.getlocal(2)); + } + return frame.getlocal(4); + } + + private static PyObject _EmptyClass$15(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject __del__$16(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject _EmptyClassDel$17(PyFrame frame) { + frame.setlocal("__del__", new PyFunction(frame.f_globals, new PyObject[] {}, c$15___del__)); + return frame.getf_locals(); + } + + private static PyObject __init__$18(PyFrame frame) { + frame.getlocal(0).__setattr__("a", i$16); + frame.getlocal(0).__setattr__("arg", frame.getlocal(1)); + if (frame.getglobal("__name__")._eq(s$22).__nonzero__()) { + frame.setlocal(3, org.python.core.imp.importOne("sys", frame)); + frame.setlocal(2, frame.getlocal(3).__getattr__("argv").__getitem__(i$23)); + } + else { + frame.setlocal(2, frame.getglobal("__file__")); + } + frame.getlocal(0).__setattr__("fp", frame.getglobal("open").__call__(frame.getlocal(2))); + frame.getlocal(0).__getattr__("fp").invoke("close"); + return Py.None; + } + + private static PyObject __getstate__$19(PyFrame frame) { + return new PyDictionary(new PyObject[] {s$24, frame.getlocal(0).__getattr__("a"), s$25, frame.getlocal(0).__getattr__("arg")}); + } + + private static PyObject __setstate__$20(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + t$0$int = 0; + t$1$PyObject = frame.getlocal(1).invoke("keys"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.getglobal("setattr").__call__(frame.getlocal(0), frame.getlocal(2), frame.getlocal(1).__getitem__(frame.getlocal(2))); + } + return Py.None; + } + + private static PyObject __deepcopy__$21(PyFrame frame) { + frame.setlocal(2, frame.getlocal(0).invoke("__class__", frame.getglobal("deepcopy").__call__(frame.getlocal(0).__getattr__("arg"), frame.getlocal(1)))); + frame.getlocal(2).__setattr__("a", frame.getlocal(0).__getattr__("a")); + return frame.getlocal(2); + } + + private static PyObject C$22(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$17___init__)); + frame.setlocal("__getstate__", new PyFunction(frame.f_globals, new PyObject[] {}, c$18___getstate__)); + frame.setlocal("__setstate__", new PyFunction(frame.f_globals, new PyObject[] {}, c$19___setstate__)); + frame.setlocal("__deepcopy__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$20___deepcopy__)); + return frame.getf_locals(); + } + + private static PyObject _test$23(PyFrame frame) { + frame.setlocal(4, new PyList(new PyObject[] {frame.getglobal("None"), i$16, l$17, f$18, s$19, new PyTuple(new PyObject[] {i$16, l$17}), new PyList(new PyObject[] {f$18, s$20}), new PyDictionary(new PyObject[] {s$20, s$21}), new PyTuple(new PyObject[] {}), new PyList(new PyObject[] {}), new PyDictionary(new PyObject[] {})})); + frame.setlocal(5, frame.getglobal("copy").__call__(frame.getlocal(4))); + Py.println(frame.getlocal(5)._eq(frame.getlocal(4))); + frame.setlocal(5, frame.getglobal("map").__call__(frame.getglobal("copy"), frame.getlocal(4))); + Py.println(frame.getlocal(5)._eq(frame.getlocal(4))); + frame.setlocal(5, frame.getglobal("deepcopy").__call__(frame.getlocal(4))); + Py.println(frame.getlocal(5)._eq(frame.getlocal(4))); + frame.setlocal(0, Py.makeClass("C", new PyObject[] {}, c$21_C, null)); + frame.setlocal(6, frame.getlocal(0).__call__(s$26)); + frame.getlocal(4).invoke("append", frame.getlocal(6)); + frame.setlocal(2, frame.getglobal("copy").__call__(frame.getlocal(4))); + Py.println(frame.getlocal(4)._eq(frame.getlocal(2))); + Py.println(frame.getlocal(4)); + Py.println(frame.getlocal(2)); + frame.setlocal(2, frame.getglobal("deepcopy").__call__(frame.getlocal(4))); + Py.println(frame.getlocal(4)._eq(frame.getlocal(2))); + Py.println(frame.getlocal(4)); + Py.println(frame.getlocal(2)); + frame.getlocal(4).invoke("append", new PyDictionary(new PyObject[] {frame.getlocal(4).__getitem__(i$16), frame.getlocal(4), s$27, frame.getlocal(4).__getitem__(i$28)})); + frame.setlocal(1, frame.getglobal("copy").__call__(frame.getlocal(4))); + frame.setlocal(3, org.python.core.imp.importOne("repr", frame)); + Py.println(frame.getglobal("map").__call__(frame.getlocal(3).__getattr__("repr"), frame.getlocal(4))); + Py.println(frame.getglobal("map").__call__(frame.getlocal(3).__getattr__("repr"), frame.getlocal(5))); + Py.println(frame.getglobal("map").__call__(frame.getlocal(3).__getattr__("repr"), frame.getlocal(2))); + Py.println(frame.getglobal("map").__call__(frame.getlocal(3).__getattr__("repr"), frame.getlocal(1))); + frame.setlocal(1, frame.getglobal("deepcopy").__call__(frame.getlocal(4))); + frame.setlocal(3, org.python.core.imp.importOne("repr", frame)); + Py.println(frame.getglobal("map").__call__(frame.getlocal(3).__getattr__("repr"), frame.getlocal(4))); + Py.println(frame.getglobal("map").__call__(frame.getlocal(3).__getattr__("repr"), frame.getlocal(5))); + Py.println(frame.getglobal("map").__call__(frame.getlocal(3).__getattr__("repr"), frame.getlocal(2))); + Py.println(frame.getglobal("map").__call__(frame.getlocal(3).__getattr__("repr"), frame.getlocal(1))); + return Py.None; + } + + private static PyObject main$24(PyFrame frame) { + frame.setglobal("__file__", s$29); + + PyObject[] imp_accu; + // Temporary Variables + PyObject t$0$PyObject; + PyException t$0$PyException; + + // Code + /* Generic (shallow and deep) copying operations. + + Interface summary: + + import copy + + x = copy.copy(y) # make a shallow copy of y + x = copy.deepcopy(y) # make a deep copy of y + + For module specific errors, copy.error is raised. + + The difference between shallow and deep copying is only relevant for + compound objects (objects that contain other objects, like lists or + class instances). + + - A shallow copy constructs a new compound object and then (to the + extent possible) inserts *the same objects* into in that the + original contains. + + - A deep copy constructs a new compound object and then, recursively, + inserts *copies* into it of the objects found in the original. + + Two problems often exist with deep copy operations that don't exist + with shallow copy operations: + + a) recursive objects (compound objects that, directly or indirectly, + contain a reference to themselves) may cause a recursive loop + + b) because deep copy copies *everything* it may copy too much, e.g. + administrative data structures that should be shared even between + copies + + Python's deep copy operation avoids these problems by: + + a) keeping a table of objects already copied during the current + copying pass + + b) letting user-defined classes override the copying operation or the + set of components copied + + This version does not copy types like module, class, function, method, + nor stack trace, stack frame, nor file, socket, window, nor array, nor + any similar types. + + Classes can use the same interfaces to control copying that they use + to control pickling: they can define methods called __getinitargs__(), + __getstate__() and __setstate__(). See the documentation for module + "pickle" for information on these methods. + */ + frame.setlocal("types", org.python.core.imp.importOne("types", frame)); + frame.setlocal("Error", Py.makeClass("Error", new PyObject[] {frame.getname("Exception")}, c$0_Error, null)); + frame.setlocal("error", frame.getname("Error")); + try { + imp_accu = org.python.core.imp.importFrom("org.python.core", new String[] {"PyStringMap"}, frame); + frame.setlocal("PyStringMap", imp_accu[0]); + imp_accu = null; + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("ImportError"))) { + frame.setlocal("PyStringMap", frame.getname("None")); + } + else throw t$0$PyException; + } + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4})); + frame.setlocal("copy", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_copy)); + t$0$PyObject = new PyDictionary(new PyObject[] {}); + frame.setlocal("_copy_dispatch", t$0$PyObject); + frame.setlocal("d", t$0$PyObject); + frame.setlocal("_copy_atomic", new PyFunction(frame.f_globals, new PyObject[] {}, c$2__copy_atomic)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("NoneType"), frame.getname("_copy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("IntType"), frame.getname("_copy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("LongType"), frame.getname("_copy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("FloatType"), frame.getname("_copy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("StringType"), frame.getname("_copy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("UnicodeType"), frame.getname("_copy_atomic")); + try { + frame.getname("d").__setitem__(frame.getname("types").__getattr__("CodeType"), frame.getname("_copy_atomic")); + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$0$PyException, frame.getname("AttributeError"))) { + // pass + } + else throw t$0$PyException; + } + frame.getname("d").__setitem__(frame.getname("types").__getattr__("TypeType"), frame.getname("_copy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("XRangeType"), frame.getname("_copy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("ClassType"), frame.getname("_copy_atomic")); + frame.setlocal("_copy_list", new PyFunction(frame.f_globals, new PyObject[] {}, c$3__copy_list)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("ListType"), frame.getname("_copy_list")); + frame.setlocal("_copy_tuple", new PyFunction(frame.f_globals, new PyObject[] {}, c$4__copy_tuple)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("TupleType"), frame.getname("_copy_tuple")); + frame.setlocal("_copy_dict", new PyFunction(frame.f_globals, new PyObject[] {}, c$5__copy_dict)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("DictionaryType"), frame.getname("_copy_dict")); + if (frame.getname("PyStringMap")._isnot(frame.getname("None")).__nonzero__()) { + frame.getname("d").__setitem__(frame.getname("PyStringMap"), frame.getname("_copy_dict")); + } + frame.setlocal("_copy_inst", new PyFunction(frame.f_globals, new PyObject[] {}, c$6__copy_inst)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("InstanceType"), frame.getname("_copy_inst")); + frame.dellocal("d"); + frame.setlocal("deepcopy", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$7_deepcopy)); + t$0$PyObject = new PyDictionary(new PyObject[] {}); + frame.setlocal("_deepcopy_dispatch", t$0$PyObject); + frame.setlocal("d", t$0$PyObject); + frame.setlocal("_deepcopy_atomic", new PyFunction(frame.f_globals, new PyObject[] {}, c$8__deepcopy_atomic)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("NoneType"), frame.getname("_deepcopy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("IntType"), frame.getname("_deepcopy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("LongType"), frame.getname("_deepcopy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("FloatType"), frame.getname("_deepcopy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("StringType"), frame.getname("_deepcopy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("UnicodeType"), frame.getname("_deepcopy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("CodeType"), frame.getname("_deepcopy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("TypeType"), frame.getname("_deepcopy_atomic")); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("XRangeType"), frame.getname("_deepcopy_atomic")); + frame.setlocal("_deepcopy_list", new PyFunction(frame.f_globals, new PyObject[] {}, c$9__deepcopy_list)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("ListType"), frame.getname("_deepcopy_list")); + frame.setlocal("_deepcopy_tuple", new PyFunction(frame.f_globals, new PyObject[] {}, c$10__deepcopy_tuple)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("TupleType"), frame.getname("_deepcopy_tuple")); + frame.setlocal("_deepcopy_dict", new PyFunction(frame.f_globals, new PyObject[] {}, c$11__deepcopy_dict)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("DictionaryType"), frame.getname("_deepcopy_dict")); + if (frame.getname("PyStringMap")._isnot(frame.getname("None")).__nonzero__()) { + frame.getname("d").__setitem__(frame.getname("PyStringMap"), frame.getname("_deepcopy_dict")); + } + frame.setlocal("_keep_alive", new PyFunction(frame.f_globals, new PyObject[] {}, c$12__keep_alive)); + frame.setlocal("_deepcopy_inst", new PyFunction(frame.f_globals, new PyObject[] {}, c$13__deepcopy_inst)); + frame.getname("d").__setitem__(frame.getname("types").__getattr__("InstanceType"), frame.getname("_deepcopy_inst")); + frame.dellocal("d"); + frame.dellocal("types"); + frame.setlocal("_EmptyClass", Py.makeClass("_EmptyClass", new PyObject[] {}, c$14__EmptyClass, null)); + frame.setlocal("_EmptyClassDel", Py.makeClass("_EmptyClassDel", new PyObject[] {}, c$16__EmptyClassDel, null)); + frame.setlocal("_test", new PyFunction(frame.f_globals, new PyObject[] {}, c$22__test)); + if (frame.getname("__name__")._eq(s$22).__nonzero__()) { + frame.getname("_test").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("copy")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "copy"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(copy._PyInner.class, newargs, copy.jpy$packages, copy.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/copy_reg$_PyInner.class b/server/jpywork/copy_reg$_PyInner.class new file mode 100644 index 00000000..0754cdd3 Binary files /dev/null and b/server/jpywork/copy_reg$_PyInner.class differ diff --git a/server/jpywork/copy_reg.class b/server/jpywork/copy_reg.class new file mode 100644 index 00000000..937827f2 Binary files /dev/null and b/server/jpywork/copy_reg.class differ diff --git a/server/jpywork/copy_reg.java b/server/jpywork/copy_reg.java new file mode 100644 index 00000000..cb7caa5b --- /dev/null +++ b/server/jpywork/copy_reg.java @@ -0,0 +1,123 @@ +import org.python.core.*; + +public class copy_reg extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject i$6; + private static PyObject j$7; + private static PyObject s$8; + private static PyFunctionTable funcTable; + private static PyCode c$0_pickle; + private static PyCode c$1_constructor; + private static PyCode c$2_pickle_complex; + private static PyCode c$3_main; + private static void initConstants() { + s$0 = Py.newString("Helper to provide extensibility for pickle/cPickle.\012\012This is only useful to add pickle support for extension types defined in\012C, not for instances of user-defined classes.\012"); + s$1 = Py.newString("pickle"); + s$2 = Py.newString("constructor"); + s$3 = Py.newString("copy_reg is not intended for use with classes"); + s$4 = Py.newString("reduction functions must be callable"); + s$5 = Py.newString("constructors must be callable"); + i$6 = Py.newInteger(1); + j$7 = Py.newImaginary(1.0); + s$8 = Py.newString("/usr/share/jython/Lib-cpython/copy_reg.py"); + funcTable = new _PyInner(); + c$0_pickle = Py.newCode(3, new String[] {"ob_type", "pickle_function", "constructor_ob"}, "/usr/share/jython/Lib-cpython/copy_reg.py", "pickle", false, false, funcTable, 0, null, null, 0, 1); + c$1_constructor = Py.newCode(1, new String[] {"object"}, "/usr/share/jython/Lib-cpython/copy_reg.py", "constructor", false, false, funcTable, 1, null, null, 0, 1); + c$2_pickle_complex = Py.newCode(1, new String[] {"c"}, "/usr/share/jython/Lib-cpython/copy_reg.py", "pickle_complex", false, false, funcTable, 2, null, null, 0, 1); + c$3_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/copy_reg.py", "main", false, false, funcTable, 3, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$3_main == null) _PyInner.initConstants(); + return c$3_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.pickle$1(frame); + case 1: + return _PyInner.constructor$2(frame); + case 2: + return _PyInner.pickle_complex$3(frame); + case 3: + return _PyInner.main$4(frame); + default: + return null; + } + } + + private static PyObject pickle$1(PyFrame frame) { + if (frame.getglobal("type").__call__(frame.getlocal(0))._is(frame.getglobal("_ClassType")).__nonzero__()) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$3)); + } + if (frame.getglobal("callable").__call__(frame.getlocal(1)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$4)); + } + frame.getglobal("dispatch_table").__setitem__(frame.getlocal(0), frame.getlocal(1)); + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.getglobal("constructor").__call__(frame.getlocal(2)); + } + return Py.None; + } + + private static PyObject constructor$2(PyFrame frame) { + if (frame.getglobal("callable").__call__(frame.getlocal(0)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$5)); + } + frame.getglobal("safe_constructors").__setitem__(frame.getlocal(0), i$6); + return Py.None; + } + + private static PyObject pickle_complex$3(PyFrame frame) { + return new PyTuple(new PyObject[] {frame.getglobal("complex"), new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("real"), frame.getlocal(0).__getattr__("imag")})}); + } + + private static PyObject main$4(PyFrame frame) { + frame.setglobal("__file__", s$8); + + PyObject[] imp_accu; + // Code + /* Helper to provide extensibility for pickle/cPickle. + + This is only useful to add pickle support for extension types defined in + C, not for instances of user-defined classes. + */ + imp_accu = org.python.core.imp.importFrom("types", new String[] {"ClassType"}, frame); + frame.setlocal("_ClassType", imp_accu[0]); + imp_accu = null; + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2})); + frame.setlocal("dispatch_table", new PyDictionary(new PyObject[] {})); + frame.setlocal("safe_constructors", new PyDictionary(new PyObject[] {})); + frame.setlocal("pickle", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$0_pickle)); + frame.setlocal("constructor", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_constructor)); + frame.setlocal("pickle_complex", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_pickle_complex)); + frame.getname("pickle").__call__(frame.getname("type").__call__(j$7), frame.getname("pickle_complex"), frame.getname("complex")); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("copy_reg")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "copy_reg"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(copy_reg._PyInner.class, newargs, copy_reg.jpy$packages, copy_reg.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/javaos$_PyInner.class b/server/jpywork/javaos$_PyInner.class new file mode 100644 index 00000000..8d9b498e Binary files /dev/null and b/server/jpywork/javaos$_PyInner.class differ diff --git a/server/jpywork/javaos.class b/server/jpywork/javaos.class new file mode 100644 index 00000000..7f0f7efe Binary files /dev/null and b/server/jpywork/javaos.class differ diff --git a/server/jpywork/javaos.java b/server/jpywork/javaos.java new file mode 100644 index 00000000..5b1394f8 --- /dev/null +++ b/server/jpywork/javaos.java @@ -0,0 +1,1098 @@ +import org.python.core.*; + +public class javaos extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject i$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject f$25; + private static PyObject s$26; + private static PyObject i$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject s$56; + private static PyObject s$57; + private static PyObject s$58; + private static PyObject s$59; + private static PyObject s$60; + private static PyObject s$61; + private static PyObject s$62; + private static PyObject s$63; + private static PyObject s$64; + private static PyObject s$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyObject s$68; + private static PyObject s$69; + private static PyObject s$70; + private static PyObject s$71; + private static PyObject s$72; + private static PyObject s$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject s$80; + private static PyObject s$81; + private static PyObject s$82; + private static PyObject s$83; + private static PyObject s$84; + private static PyObject s$85; + private static PyObject s$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject s$89; + private static PyObject s$90; + private static PyObject s$91; + private static PyObject s$92; + private static PyObject s$93; + private static PyObject s$94; + private static PyObject s$95; + private static PyObject s$96; + private static PyObject s$97; + private static PyObject s$98; + private static PyObject s$99; + private static PyObject s$100; + private static PyObject s$101; + private static PyObject s$102; + private static PyObject s$103; + private static PyObject s$104; + private static PyObject s$105; + private static PyObject s$106; + private static PyObject s$107; + private static PyObject s$108; + private static PyObject s$109; + private static PyFunctionTable funcTable; + private static PyCode c$0__exit; + private static PyCode c$1_getcwd; + private static PyCode c$2_chdir; + private static PyCode c$3_listdir; + private static PyCode c$4_mkdir; + private static PyCode c$5_makedirs; + private static PyCode c$6_remove; + private static PyCode c$7_rename; + private static PyCode c$8_rmdir; + private static PyCode c$9_stat; + private static PyCode c$10_utime; + private static PyCode c$11_lambda; + private static PyCode c$12_lambda; + private static PyCode c$13___init__; + private static PyCode c$14__LazyDict__populate; + private static PyCode c$15___repr__; + private static PyCode c$16___cmp__; + private static PyCode c$17___len__; + private static PyCode c$18___getitem__; + private static PyCode c$19___setitem__; + private static PyCode c$20___delitem__; + private static PyCode c$21_clear; + private static PyCode c$22_copy; + private static PyCode c$23_keys; + private static PyCode c$24_items; + private static PyCode c$25_values; + private static PyCode c$26_has_key; + private static PyCode c$27_update; + private static PyCode c$28_get; + private static PyCode c$29_setdefault; + private static PyCode c$30_popitem; + private static PyCode c$31_LazyDict; + private static PyCode c$32___init__; + private static PyCode c$33_println; + private static PyCode c$34_printlnStdErr; + private static PyCode c$35_system; + private static PyCode c$36_execute; + private static PyCode c$37__readLines; + private static PyCode c$38__formatCmd; + private static PyCode c$39__formatEnvironment; + private static PyCode c$40__getEnvironment; + private static PyCode c$41__ShellEnv; + private static PyCode c$42__getOsType; + private static PyCode c$43__getShellEnv; + private static PyCode c$44__testGetOsType; + private static PyCode c$45__testCmds; + private static PyCode c$46__testSystem; + private static PyCode c$47__testBadShell; + private static PyCode c$48__testBadGetEnv; + private static PyCode c$49__test; + private static PyCode c$50_main; + private static void initConstants() { + s$0 = Py.newString("OS routines for Java, with some attempts to support DOS, NT, and\012Posix functionality.\012\012This exports:\012 - all functions from posix, nt, dos, os2, mac, or ce, e.g. unlink, stat, etc.\012 - os.path is one of the modules posixpath, ntpath, macpath, or dospath\012 - os.name is 'posix', 'nt', 'dos', 'os2', 'mac', 'ce' or 'riscos'\012 - os.curdir is a string representing the current directory ('.' or ':')\012 - os.pardir is a string representing the parent directory ('..' or '::')\012 - os.sep is the (or a most common) pathname separator ('/' or ':' or '\\\\')\012 - os.altsep is the alternate pathname separator (None or '/')\012 - os.pathsep is the component separator used in $PATH etc\012 - os.linesep is the line separator in text files ('\\r' or '\\n' or '\\r\\n')\012 - os.defpath is the default search path for executables\012\012Programs that import and use 'os' stand a better chance of being\012portable between different platforms. Of course, they must then\012only use functions that are defined by all platforms (e.g., unlink\012and opendir), and leave all pathname manipulation to os.path\012(e.g., split and join).\012"); + s$1 = Py.newString("altsep"); + s$2 = Py.newString("curdir"); + s$3 = Py.newString("pardir"); + s$4 = Py.newString("sep"); + s$5 = Py.newString("pathsep"); + s$6 = Py.newString("linesep"); + s$7 = Py.newString("defpath"); + s$8 = Py.newString("name"); + s$9 = Py.newString("java"); + s$10 = Py.newString("."); + s$11 = Py.newString(".."); + s$12 = Py.newString("line.separator"); + i$13 = Py.newInteger(0); + s$14 = Py.newString("foo"); + s$15 = Py.newString("chdir not supported in Java"); + s$16 = Py.newString("No such directory"); + s$17 = Py.newString("couldn't make directory"); + s$18 = Py.newString("ignored"); + s$19 = Py.newString("couldn't make directories"); + s$20 = Py.newString("couldn't delete file"); + s$21 = Py.newString("couldn't rename file"); + s$22 = Py.newString("couldn't delete directory"); + s$23 = Py.newString("The Java stat implementation only returns a small subset of\012 the standard fields"); + s$24 = Py.newString("No such file or directory"); + f$25 = Py.newFloat(1000.0); + s$26 = Py.newString("setLastModified"); + i$27 = Py.newInteger(1); + s$28 = Py.newString("A lazy-populating User Dictionary.\012 Lazy initialization is not thread-safe.\012 "); + s$29 = Py.newString("dict: starting dictionary of values\012 populate: function that returns the populated dictionary\012 keyTransform: function to normalize the keys (e.g., toupper/None)\012 "); + s$30 = Py.newString("Provide environment derived by spawning a subshell and parsing its\012 environment. Also supports system functions and provides empty\012 environment support for platforms with unknown shell\012 functionality.\012 "); + s$31 = Py.newString("cmd: list of exec() arguments to run command in subshell, or None\012 getEnv: shell command to list environment variables, or None\012 keyTransform: normalization function for environment keys, or None\012 "); + s$32 = Py.newString("Imitate the standard library 'system' call.\012 Execute 'cmd' in a shell, and send output to stdout & stderr.\012 "); + s$33 = Py.newString("\012"); + s$34 = Py.newString("Execute cmd in a shell, and return the process instance"); + s$35 = Py.newString("Failed to execute command (%s): %s"); + s$36 = Py.newString("Read lines of stream, and either append them to return\012 array of lines, or call func on each line.\012 "); + s$37 = Py.newString("Format a command for execution in a shell."); + s$38 = Py.newString("Unable to execute commands in subshell because shell functionality not implemented for OS %s with shell setting %s. Failed command=%s"); + s$39 = Py.newString("Format enviroment in lines suitable for Runtime.exec"); + s$40 = Py.newString("%s=%s"); + s$41 = Py.newString("Get the environment variables by spawning a subshell.\012 This allows multi-line variables as long as subsequent lines do\012 not have '=' signs.\012 "); + s$42 = Py.newString("="); + s$43 = Py.newString("getEnv command (%s) did not print environment.\012Output=%s"); + s$44 = Py.newString("%s\012%s"); + s$45 = Py.newString("Failed to get environment, environ will be empty:"); + s$46 = Py.newString("Select the OS behavior based on os argument, 'python.os' registry\012 setting and 'os.name' Java property.\012 os: explicitly select desired OS. os=None to autodetect, os='None' to\012 disable \012 "); + s$47 = Py.newString("python.os"); + s$48 = Py.newString("os.name"); + s$49 = Py.newString("nt"); + s$50 = Py.newString("(nt)|(Windows NT)|(Windows NT 4.0)|(WindowsNT)|(Windows 2000)|(Windows XP)|(Windows CE)"); + s$51 = Py.newString("dos"); + s$52 = Py.newString("(dos)|(Windows 95)|(Windows 98)|(Windows ME)"); + s$53 = Py.newString("mac"); + s$54 = Py.newString("(mac)|(MacOS.*)|(Darwin)"); + s$55 = Py.newString("None"); + s$56 = Py.newString("(None)"); + s$57 = Py.newString("posix"); + s$58 = Py.newString("(.*)"); + s$59 = Py.newString("Create the desired environment type.\012 envType: 'shell' or None\012 "); + s$60 = Py.newString("shell"); + s$61 = Py.newString("python.environment"); + s$62 = Py.newString("cmd"); + s$63 = Py.newString("/c"); + s$64 = Py.newString("set"); + s$65 = Py.newString("command.com"); + s$66 = Py.newString("sh"); + s$67 = Py.newString("-c"); + s$68 = Py.newString("env"); + s$69 = Py.newString(":"); + s$70 = Py.newString("::"); + s$71 = Py.newString("Windows NT"); + s$72 = Py.newString("Windows 95"); + s$73 = Py.newString("MacOS"); + s$74 = Py.newString("Solaris"); + s$75 = Py.newString("Linux"); + s$76 = Py.newString("_getOsType( '%s' ) should return '%s', not '%s'"); + s$77 = Py.newString("\012Executing '%s' with %s environment"); + s$78 = Py.newString("%s failed with %s environment"); + s$79 = Py.newString("expected match for %s, got %s"); + s$80 = Py.newString("testKey"); + s$81 = Py.newString("testValue"); + s$82 = Py.newString("echo hello there"); + s$83 = Py.newString("hello there"); + s$84 = Py.newString("echo PATH=%PATH%"); + s$85 = Py.newString("(PATH=.*;.*)|(PATH=%PATH%)"); + s$86 = Py.newString("echo %s=%%%s%%"); + s$87 = Py.newString("(%s=)"); + s$88 = Py.newString("echo PATH=$PATH"); + s$89 = Py.newString("PATH=.*"); + s$90 = Py.newString("echo %s=$%s"); + s$91 = Py.newString("(%s=$%s)|(%s=)|(%s=%s)"); + s$92 = Py.newString("echo \"hello there\""); + s$93 = Py.newString("\"?hello there\"?"); + s$94 = Py.newString("jython -c \"import sys;sys.stdout.write( 'why\\n' )\""); + s$95 = Py.newString("why"); + s$96 = Py.newString("jython -c \"import sys;sys.stderr.write('why\\n');print \" "); + s$97 = Py.newString(""); + s$98 = Py.newString("before population, environ._populated should be false"); + s$99 = Py.newString("default"); + s$100 = Py.newString("after population, environ._populated should be true"); + s$101 = Py.newString("expected stub to have %s set"); + s$102 = Py.newString("expected real environment to have %s set"); + s$103 = Py.newString("initialized"); + s$104 = Py.newString("PATH"); + s$105 = Py.newString("expected environment to have PATH attribute (this may not apply to all platforms!)"); + s$106 = Py.newString("badshell"); + s$107 = Py.newString("environment should be empty"); + s$108 = Py.newString("echo This command does not print environment"); + s$109 = Py.newString("/usr/share/jython/Lib/javaos.py"); + funcTable = new _PyInner(); + c$0__exit = Py.newCode(1, new String[] {"n"}, "/usr/share/jython/Lib/javaos.py", "_exit", false, false, funcTable, 0, null, null, 0, 1); + c$1_getcwd = Py.newCode(0, new String[] {"foo"}, "/usr/share/jython/Lib/javaos.py", "getcwd", false, false, funcTable, 1, null, null, 0, 1); + c$2_chdir = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javaos.py", "chdir", false, false, funcTable, 2, null, null, 0, 1); + c$3_listdir = Py.newCode(1, new String[] {"path", "l"}, "/usr/share/jython/Lib/javaos.py", "listdir", false, false, funcTable, 3, null, null, 0, 1); + c$4_mkdir = Py.newCode(2, new String[] {"path", "mode"}, "/usr/share/jython/Lib/javaos.py", "mkdir", false, false, funcTable, 4, null, null, 0, 1); + c$5_makedirs = Py.newCode(2, new String[] {"path", "mode"}, "/usr/share/jython/Lib/javaos.py", "makedirs", false, false, funcTable, 5, null, null, 0, 1); + c$6_remove = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javaos.py", "remove", false, false, funcTable, 6, null, null, 0, 1); + c$7_rename = Py.newCode(2, new String[] {"path", "newpath"}, "/usr/share/jython/Lib/javaos.py", "rename", false, false, funcTable, 7, null, null, 0, 1); + c$8_rmdir = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javaos.py", "rmdir", false, false, funcTable, 8, null, null, 0, 1); + c$9_stat = Py.newCode(1, new String[] {"path", "mtime", "size", "f"}, "/usr/share/jython/Lib/javaos.py", "stat", false, false, funcTable, 9, null, null, 0, 1); + c$10_utime = Py.newCode(2, new String[] {"path", "times"}, "/usr/share/jython/Lib/javaos.py", "utime", false, false, funcTable, 10, null, null, 0, 1); + c$11_lambda = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javaos.py", "", false, false, funcTable, 11, null, null, 0, 1); + c$12_lambda = Py.newCode(1, new String[] {"key"}, "/usr/share/jython/Lib/javaos.py", "", false, false, funcTable, 12, null, null, 0, 1); + c$13___init__ = Py.newCode(4, new String[] {"self", "dict", "populate", "keyTransform"}, "/usr/share/jython/Lib/javaos.py", "__init__", false, false, funcTable, 13, null, null, 0, 1); + c$14__LazyDict__populate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "_LazyDict__populate", false, false, funcTable, 14, null, null, 0, 1); + c$15___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "__repr__", false, false, funcTable, 15, null, null, 0, 1); + c$16___cmp__ = Py.newCode(2, new String[] {"self", "dict"}, "/usr/share/jython/Lib/javaos.py", "__cmp__", false, false, funcTable, 16, null, null, 0, 1); + c$17___len__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "__len__", false, false, funcTable, 17, null, null, 0, 1); + c$18___getitem__ = Py.newCode(2, new String[] {"self", "key"}, "/usr/share/jython/Lib/javaos.py", "__getitem__", false, false, funcTable, 18, null, null, 0, 1); + c$19___setitem__ = Py.newCode(3, new String[] {"self", "key", "item"}, "/usr/share/jython/Lib/javaos.py", "__setitem__", false, false, funcTable, 19, null, null, 0, 1); + c$20___delitem__ = Py.newCode(2, new String[] {"self", "key"}, "/usr/share/jython/Lib/javaos.py", "__delitem__", false, false, funcTable, 20, null, null, 0, 1); + c$21_clear = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "clear", false, false, funcTable, 21, null, null, 0, 1); + c$22_copy = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "copy", false, false, funcTable, 22, null, null, 0, 1); + c$23_keys = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "keys", false, false, funcTable, 23, null, null, 0, 1); + c$24_items = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "items", false, false, funcTable, 24, null, null, 0, 1); + c$25_values = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "values", false, false, funcTable, 25, null, null, 0, 1); + c$26_has_key = Py.newCode(2, new String[] {"self", "key"}, "/usr/share/jython/Lib/javaos.py", "has_key", false, false, funcTable, 26, null, null, 0, 1); + c$27_update = Py.newCode(2, new String[] {"self", "dict"}, "/usr/share/jython/Lib/javaos.py", "update", false, false, funcTable, 27, null, null, 0, 1); + c$28_get = Py.newCode(3, new String[] {"self", "key", "failobj"}, "/usr/share/jython/Lib/javaos.py", "get", false, false, funcTable, 28, null, null, 0, 1); + c$29_setdefault = Py.newCode(3, new String[] {"self", "key", "failobj"}, "/usr/share/jython/Lib/javaos.py", "setdefault", false, false, funcTable, 29, null, null, 0, 1); + c$30_popitem = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "popitem", false, false, funcTable, 30, null, null, 0, 1); + c$31_LazyDict = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javaos.py", "LazyDict", false, false, funcTable, 31, null, null, 0, 0); + c$32___init__ = Py.newCode(4, new String[] {"self", "cmd", "getEnv", "keyTransform"}, "/usr/share/jython/Lib/javaos.py", "__init__", false, false, funcTable, 32, null, null, 0, 1); + c$33_println = Py.newCode(2, new String[] {"arg", "write"}, "/usr/share/jython/Lib/javaos.py", "println", false, false, funcTable, 33, null, null, 0, 1); + c$34_printlnStdErr = Py.newCode(2, new String[] {"arg", "write"}, "/usr/share/jython/Lib/javaos.py", "printlnStdErr", false, false, funcTable, 34, null, null, 0, 1); + c$35_system = Py.newCode(2, new String[] {"self", "cmd", "println", "printlnStdErr", "p"}, "/usr/share/jython/Lib/javaos.py", "system", false, false, funcTable, 35, null, null, 0, 1); + c$36_execute = Py.newCode(2, new String[] {"self", "cmd", "p", "shellCmd", "env", "ex"}, "/usr/share/jython/Lib/javaos.py", "execute", false, false, funcTable, 36, null, null, 0, 1); + c$37__readLines = Py.newCode(3, new String[] {"self", "stream", "func", "bufStream", "lines", "line"}, "/usr/share/jython/Lib/javaos.py", "_readLines", false, false, funcTable, 37, null, null, 0, 1); + c$38__formatCmd = Py.newCode(2, new String[] {"self", "cmd", "msgFmt"}, "/usr/share/jython/Lib/javaos.py", "_formatCmd", false, false, funcTable, 38, null, null, 0, 1); + c$39__formatEnvironment = Py.newCode(2, new String[] {"self", "env", "lines", "keyValue"}, "/usr/share/jython/Lib/javaos.py", "_formatEnvironment", false, false, funcTable, 39, null, null, 0, 1); + c$40__getEnvironment = Py.newCode(1, new String[] {"self", "p", "i", "env", "ex", "value", "key", "lines", "line"}, "/usr/share/jython/Lib/javaos.py", "_getEnvironment", false, false, funcTable, 40, null, null, 0, 1); + c$41__ShellEnv = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javaos.py", "_ShellEnv", false, false, funcTable, 41, null, null, 0, 0); + c$42__getOsType = Py.newCode(1, new String[] {"os", "osType", "pattern", "_osTypeMap"}, "/usr/share/jython/Lib/javaos.py", "_getOsType", false, false, funcTable, 42, null, null, 0, 1); + c$43__getShellEnv = Py.newCode(4, new String[] {"envType", "shellCmd", "envCmd", "envTransform"}, "/usr/share/jython/Lib/javaos.py", "_getShellEnv", false, false, funcTable, 43, null, null, 0, 1); + c$44__testGetOsType = Py.newCode(0, new String[] {"got", "key", "testVals", "msgFmt", "val"}, "/usr/share/jython/Lib/javaos.py", "_testGetOsType", false, false, funcTable, 44, null, null, 0, 1); + c$45__testCmds = Py.newCode(3, new String[] {"_shellEnv", "testCmds", "whichEnv", "line", "pattern", "cmd"}, "/usr/share/jython/Lib/javaos.py", "_testCmds", false, false, funcTable, 45, null, null, 0, 1); + c$46__testSystem = Py.newCode(1, new String[] {"shellEnv", "testCmds", "value", "key", "org"}, "/usr/share/jython/Lib/javaos.py", "_testSystem", false, false, funcTable, 46, null, null, 0, 1); + c$47__testBadShell = Py.newCode(0, new String[] {"se2"}, "/usr/share/jython/Lib/javaos.py", "_testBadShell", false, false, funcTable, 47, null, null, 0, 1); + c$48__testBadGetEnv = Py.newCode(0, new String[] {"se2"}, "/usr/share/jython/Lib/javaos.py", "_testBadGetEnv", false, false, funcTable, 48, null, null, 0, 1); + c$49__test = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javaos.py", "_test", false, false, funcTable, 49, null, null, 0, 1); + c$50_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javaos.py", "main", false, false, funcTable, 50, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$50_main == null) _PyInner.initConstants(); + return c$50_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._exit$1(frame); + case 1: + return _PyInner.getcwd$2(frame); + case 2: + return _PyInner.chdir$3(frame); + case 3: + return _PyInner.listdir$4(frame); + case 4: + return _PyInner.mkdir$5(frame); + case 5: + return _PyInner.makedirs$6(frame); + case 6: + return _PyInner.remove$7(frame); + case 7: + return _PyInner.rename$8(frame); + case 8: + return _PyInner.rmdir$9(frame); + case 9: + return _PyInner.stat$10(frame); + case 10: + return _PyInner.utime$11(frame); + case 11: + return _PyInner.lambda$12(frame); + case 12: + return _PyInner.lambda$13(frame); + case 13: + return _PyInner.__init__$14(frame); + case 14: + return _PyInner._LazyDict__populate$15(frame); + case 15: + return _PyInner.__repr__$16(frame); + case 16: + return _PyInner.__cmp__$17(frame); + case 17: + return _PyInner.__len__$18(frame); + case 18: + return _PyInner.__getitem__$19(frame); + case 19: + return _PyInner.__setitem__$20(frame); + case 20: + return _PyInner.__delitem__$21(frame); + case 21: + return _PyInner.clear$22(frame); + case 22: + return _PyInner.copy$23(frame); + case 23: + return _PyInner.keys$24(frame); + case 24: + return _PyInner.items$25(frame); + case 25: + return _PyInner.values$26(frame); + case 26: + return _PyInner.has_key$27(frame); + case 27: + return _PyInner.update$28(frame); + case 28: + return _PyInner.get$29(frame); + case 29: + return _PyInner.setdefault$30(frame); + case 30: + return _PyInner.popitem$31(frame); + case 31: + return _PyInner.LazyDict$32(frame); + case 32: + return _PyInner.__init__$33(frame); + case 33: + return _PyInner.println$34(frame); + case 34: + return _PyInner.printlnStdErr$35(frame); + case 35: + return _PyInner.system$36(frame); + case 36: + return _PyInner.execute$37(frame); + case 37: + return _PyInner._readLines$38(frame); + case 38: + return _PyInner._formatCmd$39(frame); + case 39: + return _PyInner._formatEnvironment$40(frame); + case 40: + return _PyInner._getEnvironment$41(frame); + case 41: + return _PyInner._ShellEnv$42(frame); + case 42: + return _PyInner._getOsType$43(frame); + case 43: + return _PyInner._getShellEnv$44(frame); + case 44: + return _PyInner._testGetOsType$45(frame); + case 45: + return _PyInner._testCmds$46(frame); + case 46: + return _PyInner._testSystem$47(frame); + case 47: + return _PyInner._testBadShell$48(frame); + case 48: + return _PyInner._testBadGetEnv$49(frame); + case 49: + return _PyInner._test$50(frame); + case 50: + return _PyInner.main$51(frame); + default: + return null; + } + } + + private static PyObject _exit$1(PyFrame frame) { + frame.getglobal("java").__getattr__("lang").__getattr__("System").__getattr__("exit").__call__(frame.getlocal(0)); + return Py.None; + } + + private static PyObject getcwd$2(PyFrame frame) { + frame.setlocal(0, frame.getglobal("File").__call__(frame.getglobal("File").__call__(s$14).invoke("getAbsolutePath"))); + return frame.getlocal(0).invoke("getParent"); + } + + private static PyObject chdir$3(PyFrame frame) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$15, frame.getlocal(0))); + } + + private static PyObject listdir$4(PyFrame frame) { + frame.setlocal(1, frame.getglobal("File").__call__(frame.getlocal(0)).invoke("list")); + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$16, frame.getlocal(0))); + } + return frame.getglobal("list").__call__(frame.getlocal(1)); + } + + private static PyObject mkdir$5(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("mkdir").__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$17, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject makedirs$6(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("mkdirs").__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$19, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject remove$7(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("delete").__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$20, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject rename$8(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("renameTo", frame.getglobal("File").__call__(frame.getlocal(1))).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$21, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject rmdir$9(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("delete").__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$22, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject stat$10(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* The Java stat implementation only returns a small subset of + the standard fields */ + frame.setlocal(3, frame.getglobal("File").__call__(frame.getlocal(0))); + frame.setlocal(2, frame.getlocal(3).invoke("length")); + if (((t$0$PyObject = frame.getlocal(2)._eq(i$13)).__nonzero__() ? frame.getlocal(3).invoke("exists").__not__() : t$0$PyObject).__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$24, frame.getlocal(0))); + } + frame.setlocal(1, frame.getlocal(3).invoke("lastModified")._div(f$25)); + return new PyTuple(new PyObject[] {i$13, i$13, i$13, i$13, i$13, i$13, frame.getlocal(2), frame.getlocal(1), frame.getlocal(1), i$13}); + } + + private static PyObject utime$11(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (((t$0$PyObject = frame.getlocal(1)).__nonzero__() ? frame.getglobal("hasattr").__call__(frame.getglobal("File"), s$26) : t$0$PyObject).__nonzero__()) { + frame.getglobal("File").__call__(frame.getlocal(0)).invoke("setLastModified", frame.getglobal("long").__call__(frame.getlocal(1).__getitem__(i$27)._mul(f$25))); + } + return Py.None; + } + + private static PyObject lambda$12(PyFrame frame) { + return new PyDictionary(new PyObject[] {}); + } + + private static PyObject lambda$13(PyFrame frame) { + return frame.getlocal(0); + } + + private static PyObject __init__$14(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* dict: starting dictionary of values + populate: function that returns the populated dictionary + keyTransform: function to normalize the keys (e.g., toupper/None) + */ + frame.getglobal("UserDict").__getattr__("__init__").__call__(frame.getlocal(0), frame.getlocal(1)); + frame.getlocal(0).__setattr__("_populated", i$13); + frame.getlocal(0).__setattr__("_LazyDict__populateFunc", (t$0$PyObject = frame.getlocal(2)).__nonzero__() ? t$0$PyObject : new PyFunction(frame.f_globals, new PyObject[] {}, c$11_lambda)); + frame.getlocal(0).__setattr__("_keyTransform", (t$0$PyObject = frame.getlocal(3)).__nonzero__() ? t$0$PyObject : new PyFunction(frame.f_globals, new PyObject[] {}, c$12_lambda)); + return Py.None; + } + + private static PyObject _LazyDict__populate$15(PyFrame frame) { + if (frame.getlocal(0).__getattr__("_populated").__not__().__nonzero__()) { + frame.getlocal(0).__setattr__("data", frame.getlocal(0).invoke("_LazyDict__populateFunc")); + frame.getlocal(0).__setattr__("_populated", i$27); + } + return Py.None; + } + + private static PyObject __repr__$16(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("__repr__").__call__(frame.getlocal(0)); + } + + private static PyObject __cmp__$17(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("__cmp__").__call__(frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __len__$18(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("__len__").__call__(frame.getlocal(0)); + } + + private static PyObject __getitem__$19(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("__getitem__").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1))); + } + + private static PyObject __setitem__$20(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + frame.getglobal("UserDict").__getattr__("__setitem__").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1)), frame.getlocal(2)); + return Py.None; + } + + private static PyObject __delitem__$21(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + frame.getglobal("UserDict").__getattr__("__delitem__").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1))); + return Py.None; + } + + private static PyObject clear$22(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + frame.getglobal("UserDict").__getattr__("clear").__call__(frame.getlocal(0)); + return Py.None; + } + + private static PyObject copy$23(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("copy").__call__(frame.getlocal(0)); + } + + private static PyObject keys$24(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("keys").__call__(frame.getlocal(0)); + } + + private static PyObject items$25(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("items").__call__(frame.getlocal(0)); + } + + private static PyObject values$26(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("values").__call__(frame.getlocal(0)); + } + + private static PyObject has_key$27(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("has_key").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1))); + } + + private static PyObject update$28(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + frame.getglobal("UserDict").__getattr__("update").__call__(frame.getlocal(0), frame.getlocal(1)); + return Py.None; + } + + private static PyObject get$29(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("get").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1)), frame.getlocal(2)); + } + + private static PyObject setdefault$30(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("setdefault").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1)), frame.getlocal(2)); + } + + private static PyObject popitem$31(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("popitem").__call__(frame.getlocal(0)); + } + + private static PyObject LazyDict$32(PyFrame frame) { + /* A lazy-populating User Dictionary. + Lazy initialization is not thread-safe. + */ + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None"), frame.getname("None")}, c$13___init__)); + frame.setlocal("_LazyDict__populate", new PyFunction(frame.f_globals, new PyObject[] {}, c$14__LazyDict__populate)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$15___repr__)); + frame.setlocal("__cmp__", new PyFunction(frame.f_globals, new PyObject[] {}, c$16___cmp__)); + frame.setlocal("__len__", new PyFunction(frame.f_globals, new PyObject[] {}, c$17___len__)); + frame.setlocal("__getitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$18___getitem__)); + frame.setlocal("__setitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$19___setitem__)); + frame.setlocal("__delitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$20___delitem__)); + frame.setlocal("clear", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_clear)); + frame.setlocal("copy", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_copy)); + frame.setlocal("keys", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_keys)); + frame.setlocal("items", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_items)); + frame.setlocal("values", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_values)); + frame.setlocal("has_key", new PyFunction(frame.f_globals, new PyObject[] {}, c$26_has_key)); + frame.setlocal("update", new PyFunction(frame.f_globals, new PyObject[] {}, c$27_update)); + frame.setlocal("get", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$28_get)); + frame.setlocal("setdefault", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$29_setdefault)); + frame.setlocal("popitem", new PyFunction(frame.f_globals, new PyObject[] {}, c$30_popitem)); + return frame.getf_locals(); + } + + private static PyObject __init__$33(PyFrame frame) { + /* cmd: list of exec() arguments to run command in subshell, or None + getEnv: shell command to list environment variables, or None + keyTransform: normalization function for environment keys, or None + */ + frame.getlocal(0).__setattr__("cmd", frame.getlocal(1)); + frame.getlocal(0).__setattr__("getEnv", frame.getlocal(2)); + frame.getlocal(0).__setattr__("environment", frame.getglobal("LazyDict").__call__(new PyObject[] {frame.getlocal(0).__getattr__("_getEnvironment"), frame.getlocal(3)}, new String[] {"populate", "keyTransform"})); + frame.getlocal(0).__setattr__("_keyTransform", frame.getlocal(0).__getattr__("environment").__getattr__("_keyTransform")); + return Py.None; + } + + private static PyObject println$34(PyFrame frame) { + frame.getlocal(1).__call__(frame.getlocal(0)._add(s$33)); + return Py.None; + } + + private static PyObject printlnStdErr$35(PyFrame frame) { + frame.getlocal(1).__call__(frame.getlocal(0)._add(s$33)); + return Py.None; + } + + private static PyObject system$36(PyFrame frame) { + /* Imitate the standard library 'system' call. + Execute 'cmd' in a shell, and send output to stdout & stderr. + */ + frame.setlocal(4, frame.getlocal(0).invoke("execute", frame.getlocal(1))); + frame.setlocal(2, new PyFunction(frame.f_globals, new PyObject[] {frame.getglobal("sys").__getattr__("stdout").__getattr__("write")}, c$33_println)); + frame.setlocal(3, new PyFunction(frame.f_globals, new PyObject[] {frame.getglobal("sys").__getattr__("stderr").__getattr__("write")}, c$34_printlnStdErr)); + frame.getglobal("thread").__getattr__("start_new_thread").__call__(frame.getlocal(0).__getattr__("_readLines"), new PyTuple(new PyObject[] {frame.getlocal(4).invoke("getErrorStream"), frame.getlocal(3)})); + frame.getlocal(0).invoke("_readLines", frame.getlocal(4).invoke("getInputStream"), frame.getlocal(2)); + return frame.getlocal(4).invoke("waitFor"); + } + + private static PyObject execute$37(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* Execute cmd in a shell, and return the process instance */ + frame.setlocal(3, frame.getlocal(0).invoke("_formatCmd", frame.getlocal(1))); + if (frame.getlocal(0).__getattr__("environment").__getattr__("_populated").__nonzero__()) { + frame.setlocal(4, frame.getlocal(0).invoke("_formatEnvironment", frame.getlocal(0).__getattr__("environment"))); + } + else { + frame.setlocal(4, frame.getglobal("None")); + } + try { + frame.setlocal(2, frame.getglobal("java").__getattr__("lang").__getattr__("Runtime").__getattr__("getRuntime").__call__().invoke("exec", frame.getlocal(3), frame.getlocal(4))); + return frame.getlocal(2); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IOException"))) { + frame.setlocal(5, t$0$PyException.value); + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$35._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(5)})))); + } + else throw t$0$PyException; + } + } + + private static PyObject _readLines$38(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* Read lines of stream, and either append them to return + array of lines, or call func on each line. + */ + frame.setlocal(4, new PyList(new PyObject[] {})); + frame.setlocal(2, (t$0$PyObject = frame.getlocal(2)).__nonzero__() ? t$0$PyObject : frame.getlocal(4).__getattr__("append")); + frame.setlocal(3, frame.getglobal("BufferedReader").__call__(frame.getglobal("InputStreamReader").__call__(frame.getlocal(1)))); + while (i$27.__nonzero__()) { + frame.setlocal(5, frame.getlocal(3).invoke("readLine")); + if (frame.getlocal(5)._is(frame.getglobal("None")).__nonzero__()) { + break; + } + frame.getlocal(2).__call__(frame.getlocal(5)); + } + return (t$0$PyObject = frame.getlocal(4)).__nonzero__() ? t$0$PyObject : frame.getglobal("None"); + } + + private static PyObject _formatCmd$39(PyFrame frame) { + /* Format a command for execution in a shell. */ + if (frame.getlocal(0).__getattr__("cmd")._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(2, s$38); + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, frame.getlocal(2)._mod(new PyTuple(new PyObject[] {frame.getglobal("_osType"), frame.getglobal("_envType"), frame.getlocal(1)})))); + } + return frame.getlocal(0).__getattr__("cmd")._add(new PyList(new PyObject[] {frame.getlocal(1)})); + } + + private static PyObject _formatEnvironment$40(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Format enviroment in lines suitable for Runtime.exec */ + frame.setlocal(2, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(1).invoke("items"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.getlocal(2).invoke("append", s$40._mod(frame.getlocal(3))); + } + return frame.getlocal(2); + } + + private static PyObject _getEnvironment$41(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Get the environment variables by spawning a subshell. + This allows multi-line variables as long as subsequent lines do + not have '=' signs. + */ + frame.setlocal(3, new PyDictionary(new PyObject[] {})); + if (frame.getlocal(0).__getattr__("getEnv").__nonzero__()) { + try { + frame.setlocal(1, frame.getlocal(0).invoke("execute", frame.getlocal(0).__getattr__("getEnv"))); + frame.setlocal(7, frame.getlocal(0).invoke("_readLines", frame.getlocal(1).invoke("getInputStream"))); + if (s$42._notin(frame.getlocal(7).__getitem__(i$13)).__nonzero__()) { + Py.println(s$43._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("getEnv"), s$33.invoke("join", frame.getlocal(7))}))); + return frame.getlocal(3); + } + t$0$int = 0; + t$1$PyObject = frame.getlocal(7); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(8, t$0$PyObject); + try { + frame.setlocal(2, frame.getlocal(8).invoke("index", s$42)); + frame.setlocal(6, frame.getlocal(0).invoke("_keyTransform", frame.getlocal(8).__getslice__(null, frame.getlocal(2), null))); + frame.setlocal(5, frame.getlocal(8).__getslice__(frame.getlocal(2)._add(i$27), null, null)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + frame.setlocal(5, s$44._mod(new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(8)}))); + } + else throw t$0$PyException; + } + frame.getlocal(3).__setitem__(frame.getlocal(6), frame.getlocal(5)); + } + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("OSError"))) { + frame.setlocal(4, t$0$PyException.value); + Py.printComma(s$45); + Py.println(frame.getlocal(4)); + } + else throw t$0$PyException; + } + } + return frame.getlocal(3); + } + + private static PyObject _ShellEnv$42(PyFrame frame) { + /* Provide environment derived by spawning a subshell and parsing its + environment. Also supports system functions and provides empty + environment support for platforms with unknown shell + functionality. + */ + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None"), frame.getname("None")}, c$32___init__)); + frame.setlocal("system", new PyFunction(frame.f_globals, new PyObject[] {}, c$35_system)); + frame.setlocal("execute", new PyFunction(frame.f_globals, new PyObject[] {}, c$36_execute)); + frame.setlocal("_readLines", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$37__readLines)); + frame.setlocal("_formatCmd", new PyFunction(frame.f_globals, new PyObject[] {}, c$38__formatCmd)); + frame.setlocal("_formatEnvironment", new PyFunction(frame.f_globals, new PyObject[] {}, c$39__formatEnvironment)); + frame.setlocal("_getEnvironment", new PyFunction(frame.f_globals, new PyObject[] {}, c$40__getEnvironment)); + return frame.getf_locals(); + } + + private static PyObject _getOsType$43(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Select the OS behavior based on os argument, 'python.os' registry + setting and 'os.name' Java property. + os: explicitly select desired OS. os=None to autodetect, os='None' to + disable + */ + frame.setlocal(0, (t$0$PyObject = ((t$1$PyObject = frame.getlocal(0)).__nonzero__() ? t$1$PyObject : frame.getglobal("sys").__getattr__("registry").__getattr__("getProperty").__call__(s$47))).__nonzero__() ? t$0$PyObject : frame.getglobal("java").__getattr__("lang").__getattr__("System").__getattr__("getProperty").__call__(s$48)); + frame.setlocal(3, new PyTuple(new PyObject[] {new PyTuple(new PyObject[] {s$49, s$50}), new PyTuple(new PyObject[] {s$51, s$52}), new PyTuple(new PyObject[] {s$53, s$54}), new PyTuple(new PyObject[] {s$55, s$56}), new PyTuple(new PyObject[] {s$57, s$58})})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + if (frame.getglobal("re").__getattr__("match").__call__(frame.getlocal(2), frame.getlocal(0)).__nonzero__()) { + break; + } + } + return frame.getlocal(1); + } + + private static PyObject _getShellEnv$44(PyFrame frame) { + /* Create the desired environment type. + envType: 'shell' or None + */ + if (frame.getlocal(0)._eq(s$60).__nonzero__()) { + return frame.getglobal("_ShellEnv").__call__(frame.getlocal(1), frame.getlocal(2), frame.getlocal(3)); + } + else { + return frame.getglobal("_ShellEnv").__call__(); + } + } + + private static PyObject _testGetOsType$45(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(2, new PyDictionary(new PyObject[] {s$71, s$49, s$72, s$51, s$73, s$53, s$74, s$57, s$75, s$57, s$55, s$55})); + frame.setlocal(3, s$76); + t$0$int = 0; + t$1$PyObject = frame.getlocal(2).invoke("items"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + frame.setlocal(0, frame.getglobal("_getOsType").__call__(frame.getlocal(1))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0)._eq(frame.getlocal(4)), frame.getlocal(3)._mod(new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(4), frame.getlocal(0)}))); + } + return Py.None; + } + + private static PyObject _testCmds$46(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + t$0$int = 0; + t$1$PyObject = frame.getlocal(1); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + Py.println(s$77._mod(new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(2)}))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("system", frame.getlocal(5)).__not__(), s$78._mod(new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(2)}))); + frame.setlocal(3, frame.getlocal(0).invoke("_readLines", frame.getlocal(0).invoke("execute", frame.getlocal(5)).invoke("getInputStream")).__getitem__(i$13)); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("re").__getattr__("match").__call__(frame.getlocal(4), frame.getlocal(3)), s$79._mod(new PyTuple(new PyObject[] {frame.getlocal(4), frame.getlocal(3)}))); + } + return Py.None; + } + + private static PyObject _testSystem$47(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {s$80, s$81}), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.setlocal(4, frame.getglobal("environ")); + frame.setlocal(1, new PyList(new PyObject[] {new PyTuple(new PyObject[] {s$82, s$83}), new PyTuple(new PyObject[] {s$84, s$85}), new PyTuple(new PyObject[] {s$86._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(3)})), s$87._mod(new PyTuple(new PyObject[] {frame.getlocal(3)}))}), new PyTuple(new PyObject[] {s$88, s$89}), new PyTuple(new PyObject[] {s$90._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(3)})), s$91._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(3), frame.getlocal(3), frame.getlocal(3), frame.getlocal(2)}))}), new PyTuple(new PyObject[] {s$92, s$93}), new PyTuple(new PyObject[] {s$94, s$95}), new PyTuple(new PyObject[] {s$96, s$97})})); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("environ").__getattr__("_populated").__not__(), s$98); + frame.getglobal("_testCmds").__call__(frame.getglobal("_shellEnv"), frame.getlocal(1), s$99); + frame.getglobal("environ").__setitem__(frame.getlocal(3), frame.getlocal(2)); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("environ").__getattr__("_populated"), s$100); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(4).invoke("get", frame.getlocal(3), frame.getglobal("None"))._eq(frame.getlocal(2)), s$101._mod(frame.getlocal(3))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("environ").invoke("get", frame.getlocal(3), frame.getglobal("None"))._eq(frame.getlocal(2)), s$102._mod(frame.getlocal(3))); + frame.getglobal("_testCmds").__call__(frame.getglobal("_shellEnv"), frame.getlocal(1), s$103); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("environ").invoke("has_key", s$104), s$105); + return Py.None; + } + + private static PyObject _testBadShell$48(PyFrame frame) { + frame.setlocal(0, frame.getglobal("_ShellEnv").__call__(new PyList(new PyObject[] {s$106, s$67}), s$64)); + frame.getglobal("str").__call__(frame.getlocal(0).__getattr__("environment")); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("environment").invoke("items").__not__(), s$107); + return Py.None; + } + + private static PyObject _testBadGetEnv$49(PyFrame frame) { + frame.setlocal(0, frame.getglobal("_getShellEnv").__call__(new PyObject[] {s$60, frame.getglobal("_shellCmd"), frame.getglobal("_envCmd"), frame.getglobal("_envTransform")})); + frame.getlocal(0).__setattr__("getEnv", s$108); + frame.getglobal("str").__call__(frame.getlocal(0).__getattr__("environment")); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("environment").invoke("items").__not__(), s$107); + return Py.None; + } + + private static PyObject _test$50(PyFrame frame) { + frame.getglobal("_testGetOsType").__call__(); + frame.getglobal("_testBadShell").__call__(); + frame.getglobal("_testBadGetEnv").__call__(); + frame.getglobal("_testSystem").__call__(); + return Py.None; + } + + private static PyObject main$51(PyFrame frame) { + frame.setglobal("__file__", s$109); + + PyObject[] imp_accu; + // Code + /* OS routines for Java, with some attempts to support DOS, NT, and + Posix functionality. + + This exports: + - all functions from posix, nt, dos, os2, mac, or ce, e.g. unlink, stat, etc. + - os.path is one of the modules posixpath, ntpath, macpath, or dospath + - os.name is 'posix', 'nt', 'dos', 'os2', 'mac', 'ce' or 'riscos' + - os.curdir is a string representing the current directory ('.' or ':') + - os.pardir is a string representing the parent directory ('..' or '::') + - os.sep is the (or a most common) pathname separator ('/' or ':' or '\\') + - os.altsep is the alternate pathname separator (None or '/') + - os.pathsep is the component separator used in $PATH etc + - os.linesep is the line separator in text files ('\r' or '\n' or '\r\n') + - os.defpath is the default search path for executables + + Programs that import and use 'os' stand a better chance of being + portable between different platforms. Of course, they must then + only use functions that are defined by all platforms (e.g., unlink + and opendir), and leave all pathname manipulation to os.path + (e.g., split and join). + */ + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8})); + frame.setlocal("java", org.python.core.imp.importOne("java", frame)); + imp_accu = org.python.core.imp.importFrom("java.io", new String[] {"File", "BufferedReader", "InputStreamReader", "IOException"}, frame); + frame.setlocal("File", imp_accu[0]); + frame.setlocal("BufferedReader", imp_accu[1]); + frame.setlocal("InputStreamReader", imp_accu[2]); + frame.setlocal("IOException", imp_accu[3]); + imp_accu = null; + frame.setlocal("path", org.python.core.imp.importOneAs("javapath", frame)); + imp_accu = org.python.core.imp.importFrom("UserDict", new String[] {"UserDict"}, frame); + frame.setlocal("UserDict", imp_accu[0]); + imp_accu = null; + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + frame.setlocal("exceptions", org.python.core.imp.importOne("exceptions", frame)); + frame.setlocal("re", org.python.core.imp.importOne("re", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("thread", org.python.core.imp.importOne("thread", frame)); + frame.setlocal("error", frame.getname("OSError")); + frame.setlocal("name", s$9); + frame.setlocal("curdir", s$10); + frame.setlocal("pardir", s$11); + frame.setlocal("sep", frame.getname("java").__getattr__("io").__getattr__("File").__getattr__("separator")); + frame.setlocal("altsep", frame.getname("None")); + frame.setlocal("pathsep", frame.getname("java").__getattr__("io").__getattr__("File").__getattr__("pathSeparator")); + frame.setlocal("defpath", s$10); + frame.setlocal("linesep", frame.getname("java").__getattr__("lang").__getattr__("System").__getattr__("getProperty").__call__(s$12)); + frame.setlocal("_exit", new PyFunction(frame.f_globals, new PyObject[] {i$13}, c$0__exit)); + frame.setlocal("getcwd", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_getcwd)); + frame.setlocal("chdir", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_chdir)); + frame.setlocal("listdir", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_listdir)); + frame.setlocal("mkdir", new PyFunction(frame.f_globals, new PyObject[] {s$18}, c$4_mkdir)); + frame.setlocal("makedirs", new PyFunction(frame.f_globals, new PyObject[] {s$18}, c$5_makedirs)); + frame.setlocal("remove", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_remove)); + frame.setlocal("rename", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_rename)); + frame.setlocal("rmdir", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_rmdir)); + frame.setlocal("unlink", frame.getname("remove")); + frame.setlocal("stat", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_stat)); + frame.setlocal("utime", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_utime)); + frame.setlocal("LazyDict", Py.makeClass("LazyDict", new PyObject[] {frame.getname("UserDict")}, c$31_LazyDict, null)); + frame.setlocal("_ShellEnv", Py.makeClass("_ShellEnv", new PyObject[] {}, c$41__ShellEnv, null)); + frame.setlocal("_getOsType", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$42__getOsType)); + frame.setlocal("_getShellEnv", new PyFunction(frame.f_globals, new PyObject[] {}, c$43__getShellEnv)); + frame.setlocal("_osType", frame.getname("_getOsType").__call__()); + frame.setlocal("_envType", frame.getname("sys").__getattr__("registry").__getattr__("getProperty").__call__(s$61, s$60)); + frame.setlocal("_shellCmd", frame.getname("None")); + frame.setlocal("_envCmd", frame.getname("None")); + frame.setlocal("_envTransform", frame.getname("None")); + if (frame.getname("_osType")._eq(s$49).__nonzero__()) { + frame.setlocal("_shellCmd", new PyList(new PyObject[] {s$62, s$63})); + frame.setlocal("_envCmd", s$64); + frame.setlocal("_envTransform", frame.getname("string").__getattr__("upper")); + } + else if (frame.getname("_osType")._eq(s$51).__nonzero__()) { + frame.setlocal("_shellCmd", new PyList(new PyObject[] {s$65, s$63})); + frame.setlocal("_envCmd", s$64); + frame.setlocal("_envTransform", frame.getname("string").__getattr__("upper")); + } + else if (frame.getname("_osType")._eq(s$57).__nonzero__()) { + frame.setlocal("_shellCmd", new PyList(new PyObject[] {s$66, s$67})); + frame.setlocal("_envCmd", s$68); + } + else if (frame.getname("_osType")._eq(s$53).__nonzero__()) { + frame.setlocal("curdir", s$69); + frame.setlocal("pardir", s$70); + } + else if (frame.getname("_osType")._eq(s$55).__nonzero__()) { + // pass + } + frame.setlocal("_shellEnv", frame.getname("_getShellEnv").__call__(new PyObject[] {frame.getname("_envType"), frame.getname("_shellCmd"), frame.getname("_envCmd"), frame.getname("_envTransform")})); + frame.setlocal("environ", frame.getname("_shellEnv").__getattr__("environment")); + frame.setlocal("putenv", frame.getname("environ").__getattr__("__setitem__")); + frame.setlocal("getenv", frame.getname("environ").__getattr__("__getitem__")); + frame.setlocal("system", frame.getname("_shellEnv").__getattr__("system")); + frame.setlocal("_testGetOsType", new PyFunction(frame.f_globals, new PyObject[] {}, c$44__testGetOsType)); + frame.setlocal("_testCmds", new PyFunction(frame.f_globals, new PyObject[] {}, c$45__testCmds)); + frame.setlocal("_testSystem", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("_shellEnv")}, c$46__testSystem)); + frame.setlocal("_testBadShell", new PyFunction(frame.f_globals, new PyObject[] {}, c$47__testBadShell)); + frame.setlocal("_testBadGetEnv", new PyFunction(frame.f_globals, new PyObject[] {}, c$48__testBadGetEnv)); + frame.setlocal("_test", new PyFunction(frame.f_globals, new PyObject[] {}, c$49__test)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("javaos")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "javaos"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(javaos._PyInner.class, newargs, javaos.jpy$packages, javaos.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/javapath$_PyInner.class b/server/jpywork/javapath$_PyInner.class new file mode 100644 index 00000000..70dc6401 Binary files /dev/null and b/server/jpywork/javapath$_PyInner.class differ diff --git a/server/jpywork/javapath.class b/server/jpywork/javapath.class new file mode 100644 index 00000000..b841c54e Binary files /dev/null and b/server/jpywork/javapath.class differ diff --git a/server/jpywork/javapath.java b/server/jpywork/javapath.java new file mode 100644 index 00000000..4bc10b79 --- /dev/null +++ b/server/jpywork/javapath.java @@ -0,0 +1,719 @@ +import org.python.core.*; + +public class javapath extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject i$10; + private static PyObject i$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject i$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject f$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyFunctionTable funcTable; + private static PyCode c$0__tostr; + private static PyCode c$1_dirname; + private static PyCode c$2_basename; + private static PyCode c$3_split; + private static PyCode c$4_splitext; + private static PyCode c$5_splitdrive; + private static PyCode c$6_exists; + private static PyCode c$7_isabs; + private static PyCode c$8_isfile; + private static PyCode c$9_isdir; + private static PyCode c$10_join; + private static PyCode c$11_normcase; + private static PyCode c$12_commonprefix; + private static PyCode c$13_islink; + private static PyCode c$14_samefile; + private static PyCode c$15_ismount; + private static PyCode c$16_walk; + private static PyCode c$17_expanduser; + private static PyCode c$18_getuser; + private static PyCode c$19_gethome; + private static PyCode c$20_normpath; + private static PyCode c$21_abspath; + private static PyCode c$22_getsize; + private static PyCode c$23_getmtime; + private static PyCode c$24_getatime; + private static PyCode c$25_expandvars; + private static PyCode c$26_main; + private static void initConstants() { + s$0 = Py.newString("Common pathname manipulations, JDK version.\012\012Instead of importing this module directly, import os and refer to this\012module as os.path.\012\012"); + s$1 = Py.newString(""); + s$2 = Py.newString("%s() argument must be a string object, not %s"); + s$3 = Py.newString("Return the directory component of a pathname"); + s$4 = Py.newString("dirname"); + s$5 = Py.newString("Return the final component of a pathname"); + s$6 = Py.newString("basename"); + s$7 = Py.newString("Split a pathname.\012\012 Return tuple \"(head, tail)\" where \"tail\" is everything after the\012 final slash. Either part may be empty.\012\012 "); + s$8 = Py.newString("split"); + s$9 = Py.newString("Split the extension from a pathname.\012\012 Extension is everything from the last dot to the end. Return\012 \"(root, ext)\", either part may be empty.\012\012 "); + i$10 = Py.newInteger(0); + i$11 = Py.newInteger(1); + s$12 = Py.newString("."); + s$13 = Py.newString("Split a pathname into drive and path.\012\012 On JDK, drive is always empty.\012 XXX This isn't correct for JDK on DOS/Windows!\012\012 "); + s$14 = Py.newString("Test whether a path exists.\012\012 Returns false for broken symbolic links.\012\012 "); + s$15 = Py.newString("exists"); + s$16 = Py.newString("Test whether a path is absolute"); + s$17 = Py.newString("isabs"); + s$18 = Py.newString("Test whether a path is a regular file"); + s$19 = Py.newString("isfile"); + s$20 = Py.newString("Test whether a path is a directory"); + s$21 = Py.newString("isdir"); + s$22 = Py.newString("Join two or more pathname components, inserting os.sep as needed"); + s$23 = Py.newString("join"); + s$24 = Py.newString("Normalize case of pathname.\012\012 XXX Not done right under JDK.\012\012 "); + s$25 = Py.newString("normcase"); + s$26 = Py.newString("Given a list of pathnames, return the longest common leading component"); + s$27 = Py.newString("Test whether a path is a symbolic link.\012\012 XXX This incorrectly always returns false under JDK.\012\012 "); + s$28 = Py.newString("Test whether two pathnames reference the same actual file"); + s$29 = Py.newString("samefile"); + s$30 = Py.newString("Test whether a path is a mount point.\012\012 XXX This incorrectly always returns false under JDK.\012\012 "); + s$31 = Py.newString("Walk a directory tree.\012\012 walk(top,func,args) calls func(arg, d, files) for each directory\012 \"d\" in the tree rooted at \"top\" (including \"top\" itself). \"files\"\012 is a list of all the files and subdirs in directory \"d\".\012\012 "); + s$32 = Py.newString("~"); + i$33 = Py.newInteger(2); + s$34 = Py.newString("user.name"); + s$35 = Py.newString("user.home"); + s$36 = Py.newString("Normalize path, eliminating double slashes, etc."); + s$37 = Py.newString("\\"); + s$38 = Py.newString("/"); + s$39 = Py.newString("abspath"); + s$40 = Py.newString("getsize"); + s$41 = Py.newString("No such file or directory"); + s$42 = Py.newString("getmtime"); + f$43 = Py.newFloat(1000.0); + s$44 = Py.newString("getatime"); + s$45 = Py.newString("Expand shell variables of form $var and ${var}.\012\012 Unknown variables are left unchanged."); + s$46 = Py.newString("$"); + s$47 = Py.newString("_-"); + s$48 = Py.newString("'"); + s$49 = Py.newString("{"); + s$50 = Py.newString("}"); + s$51 = Py.newString("/usr/share/jython/Lib/javapath.py"); + funcTable = new _PyInner(); + c$0__tostr = Py.newCode(2, new String[] {"s", "method", "org"}, "/usr/share/jython/Lib/javapath.py", "_tostr", false, false, funcTable, 0, null, null, 0, 1); + c$1_dirname = Py.newCode(1, new String[] {"path", "result"}, "/usr/share/jython/Lib/javapath.py", "dirname", false, false, funcTable, 1, null, null, 0, 1); + c$2_basename = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "basename", false, false, funcTable, 2, null, null, 0, 1); + c$3_split = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "split", false, false, funcTable, 3, null, null, 0, 1); + c$4_splitext = Py.newCode(1, new String[] {"path", "i", "c", "n"}, "/usr/share/jython/Lib/javapath.py", "splitext", false, false, funcTable, 4, null, null, 0, 1); + c$5_splitdrive = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "splitdrive", false, false, funcTable, 5, null, null, 0, 1); + c$6_exists = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "exists", false, false, funcTable, 6, null, null, 0, 1); + c$7_isabs = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "isabs", false, false, funcTable, 7, null, null, 0, 1); + c$8_isfile = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "isfile", false, false, funcTable, 8, null, null, 0, 1); + c$9_isdir = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "isdir", false, false, funcTable, 9, null, null, 0, 1); + c$10_join = Py.newCode(2, new String[] {"path", "args", "a", "g", "f"}, "/usr/share/jython/Lib/javapath.py", "join", true, false, funcTable, 10, null, null, 0, 1); + c$11_normcase = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "normcase", false, false, funcTable, 11, null, null, 0, 1); + c$12_commonprefix = Py.newCode(1, new String[] {"m", "i", "item", "prefix"}, "/usr/share/jython/Lib/javapath.py", "commonprefix", false, false, funcTable, 12, null, null, 0, 1); + c$13_islink = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "islink", false, false, funcTable, 13, null, null, 0, 1); + c$14_samefile = Py.newCode(2, new String[] {"path", "path2", "f", "f2"}, "/usr/share/jython/Lib/javapath.py", "samefile", false, false, funcTable, 14, null, null, 0, 1); + c$15_ismount = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "ismount", false, false, funcTable, 15, null, null, 0, 1); + c$16_walk = Py.newCode(3, new String[] {"top", "func", "arg", "name", "names"}, "/usr/share/jython/Lib/javapath.py", "walk", false, false, funcTable, 16, null, null, 0, 1); + c$17_expanduser = Py.newCode(1, new String[] {"path", "c"}, "/usr/share/jython/Lib/javapath.py", "expanduser", false, false, funcTable, 17, null, null, 0, 1); + c$18_getuser = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javapath.py", "getuser", false, false, funcTable, 18, null, null, 0, 1); + c$19_gethome = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javapath.py", "gethome", false, false, funcTable, 19, null, null, 0, 1); + c$20_normpath = Py.newCode(1, new String[] {"path", "comps", "i", "pardir", "string", "slashes", "curdir", "sep"}, "/usr/share/jython/Lib/javapath.py", "normpath", false, false, funcTable, 20, null, null, 0, 1); + c$21_abspath = Py.newCode(1, new String[] {"path"}, "/usr/share/jython/Lib/javapath.py", "abspath", false, false, funcTable, 21, null, null, 0, 1); + c$22_getsize = Py.newCode(1, new String[] {"path", "size", "f"}, "/usr/share/jython/Lib/javapath.py", "getsize", false, false, funcTable, 22, null, null, 0, 1); + c$23_getmtime = Py.newCode(1, new String[] {"path", "f"}, "/usr/share/jython/Lib/javapath.py", "getmtime", false, false, funcTable, 23, null, null, 0, 1); + c$24_getatime = Py.newCode(1, new String[] {"path", "f"}, "/usr/share/jython/Lib/javapath.py", "getatime", false, false, funcTable, 24, null, null, 0, 1); + c$25_expandvars = Py.newCode(1, new String[] {"path", "varchars", "string", "index", "res", "c", "pathlen", "var"}, "/usr/share/jython/Lib/javapath.py", "expandvars", false, false, funcTable, 25, null, null, 0, 1); + c$26_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javapath.py", "main", false, false, funcTable, 26, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$26_main == null) _PyInner.initConstants(); + return c$26_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._tostr$1(frame); + case 1: + return _PyInner.dirname$2(frame); + case 2: + return _PyInner.basename$3(frame); + case 3: + return _PyInner.split$4(frame); + case 4: + return _PyInner.splitext$5(frame); + case 5: + return _PyInner.splitdrive$6(frame); + case 6: + return _PyInner.exists$7(frame); + case 7: + return _PyInner.isabs$8(frame); + case 8: + return _PyInner.isfile$9(frame); + case 9: + return _PyInner.isdir$10(frame); + case 10: + return _PyInner.join$11(frame); + case 11: + return _PyInner.normcase$12(frame); + case 12: + return _PyInner.commonprefix$13(frame); + case 13: + return _PyInner.islink$14(frame); + case 14: + return _PyInner.samefile$15(frame); + case 15: + return _PyInner.ismount$16(frame); + case 16: + return _PyInner.walk$17(frame); + case 17: + return _PyInner.expanduser$18(frame); + case 18: + return _PyInner.getuser$19(frame); + case 19: + return _PyInner.gethome$20(frame); + case 20: + return _PyInner.normpath$21(frame); + case 21: + return _PyInner.abspath$22(frame); + case 22: + return _PyInner.getsize$23(frame); + case 23: + return _PyInner.getmtime$24(frame); + case 24: + return _PyInner.getatime$25(frame); + case 25: + return _PyInner.expandvars$26(frame); + case 26: + return _PyInner.main$27(frame); + default: + return null; + } + } + + private static PyObject _tostr$1(PyFrame frame) { + if (frame.getglobal("isinstance").__call__(frame.getlocal(0), s$1.__getattr__("__class__")).__nonzero__()) { + return frame.getlocal(0); + } + frame.setlocal(2, org.python.core.imp.importOne("org", frame)); + throw Py.makeException(frame.getglobal("TypeError"), s$2._mod(new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2).__getattr__("python").__getattr__("core").__getattr__("Py").__getattr__("safeRepr").__call__(frame.getlocal(0))}))); + } + + private static PyObject dirname$2(PyFrame frame) { + /* Return the directory component of a pathname */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$4)); + frame.setlocal(1, frame.getglobal("File").__call__(frame.getlocal(0)).invoke("getParent")); + if (frame.getlocal(1).__not__().__nonzero__()) { + if (frame.getglobal("isabs").__call__(frame.getlocal(0)).__nonzero__()) { + frame.setlocal(1, frame.getlocal(0)); + } + else { + frame.setlocal(1, s$1); + } + } + return frame.getlocal(1); + } + + private static PyObject basename$3(PyFrame frame) { + /* Return the final component of a pathname */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$6)); + return frame.getglobal("File").__call__(frame.getlocal(0)).invoke("getName"); + } + + private static PyObject split$4(PyFrame frame) { + /* Split a pathname. + + Return tuple "(head, tail)" where "tail" is everything after the + final slash. Either part may be empty. + + */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$8)); + return new PyTuple(new PyObject[] {frame.getglobal("dirname").__call__(frame.getlocal(0)), frame.getglobal("basename").__call__(frame.getlocal(0))}); + } + + private static PyObject splitext$5(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Split the extension from a pathname. + + Extension is everything from the last dot to the end. Return + "(root, ext)", either part may be empty. + + */ + frame.setlocal(1, i$10); + frame.setlocal(3, i$11.__neg__()); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + if (frame.getlocal(2)._eq(s$12).__nonzero__()) { + frame.setlocal(3, frame.getlocal(1)); + } + frame.setlocal(1, frame.getlocal(1)._add(i$11)); + } + if (frame.getlocal(3)._lt(i$10).__nonzero__()) { + return new PyTuple(new PyObject[] {frame.getlocal(0), s$1}); + } + else { + return new PyTuple(new PyObject[] {frame.getlocal(0).__getslice__(null, frame.getlocal(3), null), frame.getlocal(0).__getslice__(frame.getlocal(3), null, null)}); + } + } + + private static PyObject splitdrive$6(PyFrame frame) { + /* Split a pathname into drive and path. + + On JDK, drive is always empty. + XXX This isn't correct for JDK on DOS/Windows! + + */ + return new PyTuple(new PyObject[] {s$1, frame.getlocal(0)}); + } + + private static PyObject exists$7(PyFrame frame) { + /* Test whether a path exists. + + Returns false for broken symbolic links. + + */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$15)); + return frame.getglobal("File").__call__(frame.getlocal(0)).invoke("exists"); + } + + private static PyObject isabs$8(PyFrame frame) { + /* Test whether a path is absolute */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$17)); + return frame.getglobal("File").__call__(frame.getlocal(0)).invoke("isAbsolute"); + } + + private static PyObject isfile$9(PyFrame frame) { + /* Test whether a path is a regular file */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$19)); + return frame.getglobal("File").__call__(frame.getlocal(0)).invoke("isFile"); + } + + private static PyObject isdir$10(PyFrame frame) { + /* Test whether a path is a directory */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$21)); + return frame.getglobal("File").__call__(frame.getlocal(0)).invoke("isDirectory"); + } + + private static PyObject join$11(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + /* Join two or more pathname components, inserting os.sep as needed */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$23)); + frame.setlocal(4, frame.getglobal("File").__call__(frame.getlocal(0))); + t$0$int = 0; + t$1$PyObject = frame.getlocal(1); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.setlocal(2, frame.getglobal("_tostr").__call__(frame.getlocal(2), s$23)); + frame.setlocal(3, frame.getglobal("File").__call__(frame.getlocal(2))); + if (((t$2$PyObject = frame.getlocal(3).invoke("isAbsolute")).__nonzero__() ? t$2$PyObject : frame.getglobal("len").__call__(frame.getlocal(4).invoke("getPath"))._eq(i$10)).__nonzero__()) { + frame.setlocal(4, frame.getlocal(3)); + } + else { + frame.setlocal(4, frame.getglobal("File").__call__(frame.getlocal(4), frame.getlocal(2))); + } + } + return frame.getlocal(4).invoke("getPath"); + } + + private static PyObject normcase$12(PyFrame frame) { + /* Normalize case of pathname. + + XXX Not done right under JDK. + + */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$25)); + return frame.getglobal("File").__call__(frame.getlocal(0)).invoke("getPath"); + } + + private static PyObject commonprefix$13(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject; + + // Code + /* Given a list of pathnames, return the longest common leading component */ + if (frame.getlocal(0).__not__().__nonzero__()) { + return s$1; + } + frame.setlocal(3, frame.getlocal(0).__getitem__(i$10)); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + t$1$int = 0; + t$3$PyObject = frame.getglobal("range").__call__(frame.getglobal("len").__call__(frame.getlocal(3))); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(1, t$2$PyObject); + if (frame.getlocal(3).__getslice__(null, frame.getlocal(1)._add(i$11), null)._ne(frame.getlocal(2).__getslice__(null, frame.getlocal(1)._add(i$11), null)).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3).__getslice__(null, frame.getlocal(1), null)); + if (frame.getlocal(1)._eq(i$10).__nonzero__()) { + return s$1; + } + break; + } + } + } + return frame.getlocal(3); + } + + private static PyObject islink$14(PyFrame frame) { + /* Test whether a path is a symbolic link. + + XXX This incorrectly always returns false under JDK. + + */ + return i$10; + } + + private static PyObject samefile$15(PyFrame frame) { + /* Test whether two pathnames reference the same actual file */ + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$29)); + frame.setlocal(1, frame.getglobal("_tostr").__call__(frame.getlocal(1), s$29)); + frame.setlocal(2, frame.getglobal("File").__call__(frame.getlocal(0))); + frame.setlocal(3, frame.getglobal("File").__call__(frame.getlocal(1))); + return frame.getlocal(2).invoke("getCanonicalPath")._eq(frame.getlocal(3).invoke("getCanonicalPath")); + } + + private static PyObject ismount$16(PyFrame frame) { + /* Test whether a path is a mount point. + + XXX This incorrectly always returns false under JDK. + + */ + return i$10; + } + + private static PyObject walk$17(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + PyException t$0$PyException; + + // Code + /* Walk a directory tree. + + walk(top,func,args) calls func(arg, d, files) for each directory + "d" in the tree rooted at "top" (including "top" itself). "files" + is a list of all the files and subdirs in directory "d". + + */ + try { + frame.setlocal(4, frame.getglobal("os").__getattr__("listdir").__call__(frame.getlocal(0))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("os").__getattr__("error"))) { + return Py.None; + } + else throw t$0$PyException; + } + frame.getlocal(1).__call__(frame.getlocal(2), frame.getlocal(0), frame.getlocal(4)); + t$0$int = 0; + t$1$PyObject = frame.getlocal(4); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.setlocal(3, frame.getglobal("join").__call__(frame.getlocal(0), frame.getlocal(3))); + if (((t$2$PyObject = frame.getglobal("isdir").__call__(frame.getlocal(3))).__nonzero__() ? frame.getglobal("islink").__call__(frame.getlocal(3)).__not__() : t$2$PyObject).__nonzero__()) { + frame.getglobal("walk").__call__(frame.getlocal(3), frame.getlocal(1), frame.getlocal(2)); + } + } + return Py.None; + } + + private static PyObject expanduser$18(PyFrame frame) { + if (frame.getlocal(0).__getslice__(null, i$11, null)._eq(s$32).__nonzero__()) { + frame.setlocal(1, frame.getlocal(0).__getslice__(i$11, i$33, null)); + if (frame.getlocal(1).__not__().__nonzero__()) { + return frame.getglobal("gethome").__call__(); + } + if (frame.getlocal(1)._eq(frame.getglobal("os").__getattr__("sep")).__nonzero__()) { + return frame.getglobal("File").__call__(frame.getglobal("gethome").__call__(), frame.getlocal(0).__getslice__(i$33, null, null)).invoke("getPath"); + } + } + return frame.getlocal(0); + } + + private static PyObject getuser$19(PyFrame frame) { + return frame.getglobal("System").__getattr__("getProperty").__call__(s$34); + } + + private static PyObject gethome$20(PyFrame frame) { + return frame.getglobal("System").__getattr__("getProperty").__call__(s$35); + } + + private static PyObject normpath$21(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Normalize path, eliminating double slashes, etc. */ + frame.setlocal(7, frame.getglobal("os").__getattr__("sep")); + if (frame.getlocal(7)._eq(s$37).__nonzero__()) { + frame.setlocal(0, frame.getlocal(0).invoke("replace", s$38, frame.getlocal(7))); + } + frame.setlocal(6, frame.getglobal("os").__getattr__("curdir")); + frame.setlocal(3, frame.getglobal("os").__getattr__("pardir")); + frame.setlocal(4, org.python.core.imp.importOne("string", frame)); + frame.setlocal(5, s$1); + while (frame.getlocal(0).__getslice__(null, i$11, null)._eq(frame.getlocal(7)).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(frame.getlocal(7))); + frame.setlocal(0, frame.getlocal(0).__getslice__(i$11, null, null)); + } + frame.setlocal(1, frame.getlocal(4).__getattr__("splitfields").__call__(frame.getlocal(0), frame.getlocal(7))); + frame.setlocal(2, i$10); + while (frame.getlocal(2)._lt(frame.getglobal("len").__call__(frame.getlocal(1))).__nonzero__()) { + if (frame.getlocal(1).__getitem__(frame.getlocal(2))._eq(frame.getlocal(6)).__nonzero__()) { + frame.getlocal(1).__delitem__(frame.getlocal(2)); + while (((t$0$PyObject = frame.getlocal(2)._lt(frame.getglobal("len").__call__(frame.getlocal(1)))).__nonzero__() ? frame.getlocal(1).__getitem__(frame.getlocal(2))._eq(s$1) : t$0$PyObject).__nonzero__()) { + frame.getlocal(1).__delitem__(frame.getlocal(2)); + } + } + else if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(1).__getitem__(frame.getlocal(2))._eq(frame.getlocal(3))).__nonzero__() ? frame.getlocal(2)._gt(i$10) : t$1$PyObject)).__nonzero__() ? frame.getlocal(1).__getitem__(frame.getlocal(2)._sub(i$11))._notin(new PyTuple(new PyObject[] {s$1, frame.getlocal(3)})) : t$0$PyObject).__nonzero__()) { + frame.getlocal(1).__delslice__(frame.getlocal(2)._sub(i$11), frame.getlocal(2)._add(i$11), null); + frame.setlocal(2, frame.getlocal(2)._sub(i$11)); + } + else if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(1).__getitem__(frame.getlocal(2))._eq(s$1)).__nonzero__() ? frame.getlocal(2)._gt(i$10) : t$1$PyObject)).__nonzero__() ? frame.getlocal(1).__getitem__(frame.getlocal(2)._sub(i$11))._ne(s$1) : t$0$PyObject).__nonzero__()) { + frame.getlocal(1).__delitem__(frame.getlocal(2)); + } + else { + frame.setlocal(2, frame.getlocal(2)._add(i$11)); + } + } + if (((t$0$PyObject = frame.getlocal(1).__not__()).__nonzero__() ? frame.getlocal(5).__not__() : t$0$PyObject).__nonzero__()) { + frame.getlocal(1).invoke("append", frame.getlocal(6)); + } + return frame.getlocal(5)._add(frame.getlocal(4).__getattr__("joinfields").__call__(frame.getlocal(1), frame.getlocal(7))); + } + + private static PyObject abspath$22(PyFrame frame) { + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$39)); + return frame.getglobal("File").__call__(frame.getlocal(0)).invoke("getAbsolutePath"); + } + + private static PyObject getsize$23(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$40)); + frame.setlocal(2, frame.getglobal("File").__call__(frame.getlocal(0))); + frame.setlocal(1, frame.getlocal(2).invoke("length")); + if (((t$0$PyObject = frame.getlocal(1)._eq(i$10)).__nonzero__() ? frame.getlocal(2).invoke("exists").__not__() : t$0$PyObject).__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$10, s$41, frame.getlocal(0))); + } + return frame.getlocal(1); + } + + private static PyObject getmtime$24(PyFrame frame) { + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$42)); + frame.setlocal(1, frame.getglobal("File").__call__(frame.getlocal(0))); + return frame.getlocal(1).invoke("lastModified")._div(f$43); + } + + private static PyObject getatime$25(PyFrame frame) { + frame.setlocal(0, frame.getglobal("_tostr").__call__(frame.getlocal(0), s$44)); + frame.setlocal(1, frame.getglobal("File").__call__(frame.getlocal(0))); + return frame.getlocal(1).invoke("lastModified")._div(f$43); + } + + private static PyObject expandvars$26(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + PyException t$0$PyException; + + // Code + /* Expand shell variables of form $var and ${var}. + + Unknown variables are left unchanged. */ + if (s$46._notin(frame.getlocal(0)).__nonzero__()) { + return frame.getlocal(0); + } + frame.setlocal(2, org.python.core.imp.importOne("string", frame)); + frame.setlocal(1, frame.getlocal(2).__getattr__("letters")._add(frame.getlocal(2).__getattr__("digits"))._add(s$47)); + frame.setlocal(4, s$1); + frame.setlocal(3, i$10); + frame.setlocal(6, frame.getglobal("len").__call__(frame.getlocal(0))); + while (frame.getlocal(3)._lt(frame.getlocal(6)).__nonzero__()) { + frame.setlocal(5, frame.getlocal(0).__getitem__(frame.getlocal(3))); + if (frame.getlocal(5)._eq(s$48).__nonzero__()) { + frame.setlocal(0, frame.getlocal(0).__getslice__(frame.getlocal(3)._add(i$11), null, null)); + frame.setlocal(6, frame.getglobal("len").__call__(frame.getlocal(0))); + try { + frame.setlocal(3, frame.getlocal(0).invoke("index", s$48)); + frame.setlocal(4, frame.getlocal(4)._add(s$48)._add(frame.getlocal(0).__getslice__(null, frame.getlocal(3)._add(i$11), null))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(0))); + frame.setlocal(3, frame.getlocal(6)._sub(i$11)); + } + else throw t$0$PyException; + } + } + else if (frame.getlocal(5)._eq(s$46).__nonzero__()) { + if (frame.getlocal(0).__getslice__(frame.getlocal(3)._add(i$11), frame.getlocal(3)._add(i$33), null)._eq(s$46).__nonzero__()) { + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(5))); + frame.setlocal(3, frame.getlocal(3)._add(i$11)); + } + else if (frame.getlocal(0).__getslice__(frame.getlocal(3)._add(i$11), frame.getlocal(3)._add(i$33), null)._eq(s$49).__nonzero__()) { + frame.setlocal(0, frame.getlocal(0).__getslice__(frame.getlocal(3)._add(i$33), null, null)); + frame.setlocal(6, frame.getglobal("len").__call__(frame.getlocal(0))); + try { + frame.setlocal(3, frame.getlocal(0).invoke("index", s$50)); + frame.setlocal(7, frame.getlocal(0).__getslice__(null, frame.getlocal(3), null)); + if (frame.getglobal("os").__getattr__("environ").__getattr__("has_key").__call__(frame.getlocal(7)).__nonzero__()) { + frame.setlocal(4, frame.getlocal(4)._add(frame.getglobal("os").__getattr__("environ").__getitem__(frame.getlocal(7)))); + } + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(0))); + frame.setlocal(3, frame.getlocal(6)._sub(i$11)); + } + else throw t$0$PyException; + } + } + else { + frame.setlocal(7, s$1); + frame.setlocal(3, frame.getlocal(3)._add(i$11)); + frame.setlocal(5, frame.getlocal(0).__getslice__(frame.getlocal(3), frame.getlocal(3)._add(i$11), null)); + while (((t$0$PyObject = frame.getlocal(5)._ne(s$1)).__nonzero__() ? frame.getlocal(5)._in(frame.getlocal(1)) : t$0$PyObject).__nonzero__()) { + frame.setlocal(7, frame.getlocal(7)._add(frame.getlocal(5))); + frame.setlocal(3, frame.getlocal(3)._add(i$11)); + frame.setlocal(5, frame.getlocal(0).__getslice__(frame.getlocal(3), frame.getlocal(3)._add(i$11), null)); + } + if (frame.getglobal("os").__getattr__("environ").__getattr__("has_key").__call__(frame.getlocal(7)).__nonzero__()) { + frame.setlocal(4, frame.getlocal(4)._add(frame.getglobal("os").__getattr__("environ").__getitem__(frame.getlocal(7)))); + } + if (frame.getlocal(5)._ne(s$1).__nonzero__()) { + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(5))); + } + } + } + else { + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(5))); + } + frame.setlocal(3, frame.getlocal(3)._add(i$11)); + } + return frame.getlocal(4); + } + + private static PyObject main$27(PyFrame frame) { + frame.setglobal("__file__", s$51); + + PyObject[] imp_accu; + // Code + /* Common pathname manipulations, JDK version. + + Instead of importing this module directly, import os and refer to this + module as os.path. + + */ + frame.setlocal("java", org.python.core.imp.importOne("java", frame)); + imp_accu = org.python.core.imp.importFrom("java.io", new String[] {"File"}, frame); + frame.setlocal("File", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("java.lang", new String[] {"System"}, frame); + frame.setlocal("System", imp_accu[0]); + imp_accu = null; + frame.setlocal("os", org.python.core.imp.importOne("os", frame)); + frame.setlocal("_tostr", new PyFunction(frame.f_globals, new PyObject[] {}, c$0__tostr)); + frame.setlocal("dirname", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_dirname)); + frame.setlocal("basename", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_basename)); + frame.setlocal("split", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_split)); + frame.setlocal("splitext", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_splitext)); + frame.setlocal("splitdrive", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_splitdrive)); + frame.setlocal("exists", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_exists)); + frame.setlocal("isabs", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_isabs)); + frame.setlocal("isfile", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_isfile)); + frame.setlocal("isdir", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_isdir)); + frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_join)); + frame.setlocal("normcase", new PyFunction(frame.f_globals, new PyObject[] {}, c$11_normcase)); + frame.setlocal("commonprefix", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_commonprefix)); + frame.setlocal("islink", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_islink)); + frame.setlocal("samefile", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_samefile)); + frame.setlocal("ismount", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_ismount)); + frame.setlocal("walk", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_walk)); + frame.setlocal("expanduser", new PyFunction(frame.f_globals, new PyObject[] {}, c$17_expanduser)); + frame.setlocal("getuser", new PyFunction(frame.f_globals, new PyObject[] {}, c$18_getuser)); + frame.setlocal("gethome", new PyFunction(frame.f_globals, new PyObject[] {}, c$19_gethome)); + frame.setlocal("normpath", new PyFunction(frame.f_globals, new PyObject[] {}, c$20_normpath)); + frame.setlocal("abspath", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_abspath)); + frame.setlocal("getsize", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_getsize)); + frame.setlocal("getmtime", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_getmtime)); + frame.setlocal("getatime", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_getatime)); + frame.setlocal("expandvars", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_expandvars)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("javapath")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "javapath"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(javapath._PyInner.class, newargs, javapath.jpy$packages, javapath.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/linecache$_PyInner.class b/server/jpywork/linecache$_PyInner.class new file mode 100644 index 00000000..07950815 Binary files /dev/null and b/server/jpywork/linecache$_PyInner.class differ diff --git a/server/jpywork/linecache.class b/server/jpywork/linecache.class new file mode 100644 index 00000000..900e0206 Binary files /dev/null and b/server/jpywork/linecache.class differ diff --git a/server/jpywork/linecache.java b/server/jpywork/linecache.java new file mode 100644 index 00000000..18821426 --- /dev/null +++ b/server/jpywork/linecache.java @@ -0,0 +1,255 @@ +import org.python.core.*; + +public class linecache extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject i$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject i$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject i$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyFunctionTable funcTable; + private static PyCode c$0_getline; + private static PyCode c$1_clearcache; + private static PyCode c$2_getlines; + private static PyCode c$3_checkcache; + private static PyCode c$4_updatecache; + private static PyCode c$5_main; + private static void initConstants() { + s$0 = Py.newString("Cache lines from files.\012\012This is intended to read lines from modules imported -- hence if a filename\012is not found, it will look down the module search path for a file by\012that name.\012"); + s$1 = Py.newString("getline"); + s$2 = Py.newString("clearcache"); + s$3 = Py.newString("checkcache"); + i$4 = Py.newInteger(1); + s$5 = Py.newString(""); + s$6 = Py.newString("Clear the cache entirely."); + s$7 = Py.newString("Get the lines for a file from the cache.\012 Update the cache if it doesn't contain an entry for this file already."); + i$8 = Py.newInteger(2); + s$9 = Py.newString("Discard cache entries that are out of date.\012 (This is not checked upon each call!)"); + s$10 = Py.newString("Update a cache entry and return its list of lines.\012 If something's wrong, print a message, discard the cache entry,\012 and return an empty list."); + i$11 = Py.newInteger(0); + s$12 = Py.newString("<>"); + s$13 = Py.newString("r"); + s$14 = Py.newString("/usr/share/jython/Lib-cpython/linecache.py"); + funcTable = new _PyInner(); + c$0_getline = Py.newCode(2, new String[] {"filename", "lineno", "lines"}, "/usr/share/jython/Lib-cpython/linecache.py", "getline", false, false, funcTable, 0, null, null, 0, 1); + c$1_clearcache = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/linecache.py", "clearcache", false, false, funcTable, 1, null, null, 0, 1); + c$2_getlines = Py.newCode(1, new String[] {"filename"}, "/usr/share/jython/Lib-cpython/linecache.py", "getlines", false, false, funcTable, 2, null, null, 0, 1); + c$3_checkcache = Py.newCode(0, new String[] {"filename", "stat", "mtime", "fullname", "size", "lines"}, "/usr/share/jython/Lib-cpython/linecache.py", "checkcache", false, false, funcTable, 3, null, null, 0, 1); + c$4_updatecache = Py.newCode(1, new String[] {"filename", "msg", "stat", "dirname", "fp", "basename", "mtime", "fullname", "size", "lines"}, "/usr/share/jython/Lib-cpython/linecache.py", "updatecache", false, false, funcTable, 4, null, null, 0, 1); + c$5_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/linecache.py", "main", false, false, funcTable, 5, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$5_main == null) _PyInner.initConstants(); + return c$5_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.getline$1(frame); + case 1: + return _PyInner.clearcache$2(frame); + case 2: + return _PyInner.getlines$3(frame); + case 3: + return _PyInner.checkcache$4(frame); + case 4: + return _PyInner.updatecache$5(frame); + case 5: + return _PyInner.main$6(frame); + default: + return null; + } + } + + private static PyObject getline$1(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(2, frame.getglobal("getlines").__call__(frame.getlocal(0))); + if ((i$4._le(t$0$PyObject = frame.getlocal(1)).__nonzero__() ? t$0$PyObject._le(frame.getglobal("len").__call__(frame.getlocal(2))) : Py.Zero).__nonzero__()) { + return frame.getlocal(2).__getitem__(frame.getlocal(1)._sub(i$4)); + } + else { + return s$5; + } + } + + private static PyObject clearcache$2(PyFrame frame) { + /* Clear the cache entirely. */ + // global cache + frame.setglobal("cache", new PyDictionary(new PyObject[] {})); + return Py.None; + } + + private static PyObject getlines$3(PyFrame frame) { + /* Get the lines for a file from the cache. + Update the cache if it doesn't contain an entry for this file already. */ + if (frame.getglobal("cache").invoke("has_key", frame.getlocal(0)).__nonzero__()) { + return frame.getglobal("cache").__getitem__(frame.getlocal(0)).__getitem__(i$8); + } + else { + return frame.getglobal("updatecache").__call__(frame.getlocal(0)); + } + } + + private static PyObject checkcache$4(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + /* Discard cache entries that are out of date. + (This is not checked upon each call!) */ + t$0$int = 0; + t$1$PyObject = frame.getglobal("cache").invoke("keys"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(0, t$0$PyObject); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("cache").__getitem__(frame.getlocal(0)), 4); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.setlocal(5, t$0$PyObject__[2]); + frame.setlocal(3, t$0$PyObject__[3]); + try { + frame.setlocal(1, frame.getglobal("os").__getattr__("stat").__call__(frame.getlocal(3))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("os").__getattr__("error"))) { + frame.getglobal("cache").__delitem__(frame.getlocal(0)); + continue; + } + else throw t$0$PyException; + } + if (((t$2$PyObject = frame.getlocal(4)._ne(frame.getlocal(1).__getitem__(frame.getglobal("ST_SIZE")))).__nonzero__() ? t$2$PyObject : frame.getlocal(2)._ne(frame.getlocal(1).__getitem__(frame.getglobal("ST_MTIME")))).__nonzero__()) { + frame.getglobal("cache").__delitem__(frame.getlocal(0)); + } + } + return Py.None; + } + + private static PyObject updatecache$5(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + boolean t$0$boolean; + PyException t$0$PyException, t$1$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Update a cache entry and return its list of lines. + If something's wrong, print a message, discard the cache entry, + and return an empty list. */ + if (frame.getglobal("cache").invoke("has_key", frame.getlocal(0)).__nonzero__()) { + frame.getglobal("cache").__delitem__(frame.getlocal(0)); + } + if (((t$0$PyObject = frame.getlocal(0).__not__()).__nonzero__() ? t$0$PyObject : frame.getlocal(0).__getitem__(i$11)._add(frame.getlocal(0).__getitem__(i$4.__neg__()))._eq(s$12)).__nonzero__()) { + return new PyList(new PyObject[] {}); + } + frame.setlocal(7, frame.getlocal(0)); + try { + frame.setlocal(2, frame.getglobal("os").__getattr__("stat").__call__(frame.getlocal(7))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("os").__getattr__("error"))) { + frame.setlocal(1, t$0$PyException.value); + frame.setlocal(5, frame.getglobal("os").__getattr__("path").__getattr__("split").__call__(frame.getlocal(0)).__getitem__(i$4)); + t$0$int = 0; + t$1$PyObject = frame.getglobal("sys").__getattr__("path"); + while (t$0$boolean=(t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.setlocal(7, frame.getglobal("os").__getattr__("path").__getattr__("join").__call__(frame.getlocal(3), frame.getlocal(5))); + try { + frame.setlocal(2, frame.getglobal("os").__getattr__("stat").__call__(frame.getlocal(7))); + break; + } + catch (Throwable x$1) { + t$1$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$1$PyException, frame.getglobal("os").__getattr__("error"))) { + // pass + } + else throw t$1$PyException; + } + } + if (!t$0$boolean) { + return new PyList(new PyObject[] {}); + } + } + else throw t$0$PyException; + } + try { + frame.setlocal(4, frame.getglobal("open").__call__(frame.getlocal(7), s$13)); + frame.setlocal(9, frame.getlocal(4).invoke("readlines")); + frame.getlocal(4).invoke("close"); + } + catch (Throwable x$2) { + t$0$PyException = Py.setException(x$2, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IOError"))) { + frame.setlocal(1, t$0$PyException.value); + return new PyList(new PyObject[] {}); + } + else throw t$0$PyException; + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {frame.getlocal(2).__getitem__(frame.getglobal("ST_SIZE")), frame.getlocal(2).__getitem__(frame.getglobal("ST_MTIME"))}), 2); + frame.setlocal(8, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.getglobal("cache").__setitem__(frame.getlocal(0), new PyTuple(new PyObject[] {frame.getlocal(8), frame.getlocal(6), frame.getlocal(9), frame.getlocal(7)})); + return frame.getlocal(9); + } + + private static PyObject main$6(PyFrame frame) { + frame.setglobal("__file__", s$14); + + /* Cache lines from files. + + This is intended to read lines from modules imported -- hence if a filename + is not found, it will look down the module search path for a file by + that name. + */ + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("os", org.python.core.imp.importOne("os", frame)); + org.python.core.imp.importAll("stat", frame); + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3})); + frame.setlocal("getline", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_getline)); + frame.setlocal("cache", new PyDictionary(new PyObject[] {})); + frame.setlocal("clearcache", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_clearcache)); + frame.setlocal("getlines", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_getlines)); + frame.setlocal("checkcache", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_checkcache)); + frame.setlocal("updatecache", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_updatecache)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("linecache")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "linecache"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(linecache._PyInner.class, newargs, linecache.jpy$packages, linecache.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/random$_PyInner.class b/server/jpywork/random$_PyInner.class new file mode 100644 index 00000000..ac059d7d Binary files /dev/null and b/server/jpywork/random$_PyInner.class differ diff --git a/server/jpywork/random.class b/server/jpywork/random.class new file mode 100644 index 00000000..95cd9a17 Binary files /dev/null and b/server/jpywork/random.class differ diff --git a/server/jpywork/random.java b/server/jpywork/random.java new file mode 100644 index 00000000..b67ec896 --- /dev/null +++ b/server/jpywork/random.java @@ -0,0 +1,1087 @@ +import org.python.core.*; + +public class random extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject f$24; + private static PyObject s$25; + private static PyObject i$26; + private static PyObject f$27; + private static PyObject f$28; + private static PyObject s$29; + private static PyObject f$30; + private static PyObject s$31; + private static PyObject f$32; + private static PyObject f$33; + private static PyObject s$34; + private static PyObject f$35; + private static PyObject f$36; + private static PyObject f$37; + private static PyObject s$38; + private static PyObject f$39; + private static PyObject i$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject i$43; + private static PyObject i$44; + private static PyObject l$45; + private static PyObject i$46; + private static PyObject i$47; + private static PyObject i$48; + private static PyObject s$49; + private static PyObject i$50; + private static PyObject i$51; + private static PyObject i$52; + private static PyObject i$53; + private static PyObject i$54; + private static PyObject i$55; + private static PyObject f$56; + private static PyObject f$57; + private static PyObject f$58; + private static PyObject s$59; + private static PyObject s$60; + private static PyObject i$61; + private static PyObject s$62; + private static PyObject s$63; + private static PyObject s$64; + private static PyObject s$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyObject i$68; + private static PyObject i$69; + private static PyObject s$70; + private static PyObject s$71; + private static PyObject s$72; + private static PyObject s$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject s$80; + private static PyObject f$81; + private static PyObject f$82; + private static PyObject s$83; + private static PyObject s$84; + private static PyObject s$85; + private static PyObject f$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject s$89; + private static PyObject s$90; + private static PyObject s$91; + private static PyObject s$92; + private static PyObject s$93; + private static PyObject s$94; + private static PyObject s$95; + private static PyObject s$96; + private static PyObject s$97; + private static PyObject s$98; + private static PyObject s$99; + private static PyObject s$100; + private static PyObject s$101; + private static PyObject s$102; + private static PyObject s$103; + private static PyObject s$104; + private static PyObject s$105; + private static PyObject s$106; + private static PyObject s$107; + private static PyObject s$108; + private static PyObject s$109; + private static PyObject i$110; + private static PyObject s$111; + private static PyObject s$112; + private static PyFunctionTable funcTable; + private static PyCode c$0__verify; + private static PyCode c$1___init__; + private static PyCode c$2_seed; + private static PyCode c$3_random; + private static PyCode c$4_getstate; + private static PyCode c$5_setstate; + private static PyCode c$6_jumpahead; + private static PyCode c$7__Random__whseed; + private static PyCode c$8_whseed; + private static PyCode c$9___getstate__; + private static PyCode c$10___setstate__; + private static PyCode c$11_randrange; + private static PyCode c$12_randint; + private static PyCode c$13_choice; + private static PyCode c$14_shuffle; + private static PyCode c$15_uniform; + private static PyCode c$16_normalvariate; + private static PyCode c$17_lognormvariate; + private static PyCode c$18_cunifvariate; + private static PyCode c$19_expovariate; + private static PyCode c$20_vonmisesvariate; + private static PyCode c$21_gammavariate; + private static PyCode c$22_stdgamma; + private static PyCode c$23_gauss; + private static PyCode c$24_betavariate; + private static PyCode c$25_paretovariate; + private static PyCode c$26_weibullvariate; + private static PyCode c$27_Random; + private static PyCode c$28__test_generator; + private static PyCode c$29__test; + private static PyCode c$30_main; + private static void initConstants() { + s$0 = Py.newString("Random variable generators.\012\012 integers\012 --------\012 uniform within range\012\012 sequences\012 ---------\012 pick random element\012 generate random permutation\012\012 distributions on the real line:\012 ------------------------------\012 uniform\012 normal (Gaussian)\012 lognormal\012 negative exponential\012 gamma\012 beta\012\012 distributions on the circle (angles 0 to 2pi)\012 ---------------------------------------------\012 circular uniform\012 von Mises\012\012Translated from anonymously contributed C/C++ source.\012\012Multi-threading note: the random number generator used here is not thread-\012safe; it is possible that two calls return the same random value. However,\012you can instantiate a different instance of Random() in each thread to get\012generators that don't share state, then use .setstate() and .jumpahead() to\012move the generators to disjoint segments of the full period. For example,\012\012def create_generators(num, delta, firstseed=None):\012 \"\"\"Return list of num distinct generators.\012 Each generator has its own unique segment of delta elements from\012 Random.random()'s full period.\012 Seed the first generator with optional arg firstseed (default is\012 None, to seed from current time).\012 \"\"\"\012\012 from random import Random\012 g = Random(firstseed)\012 result = [g]\012 for i in range(num - 1):\012 laststate = g.getstate()\012 g = Random()\012 g.setstate(laststate)\012 g.jumpahead(delta)\012 result.append(g)\012 return result\012\012gens = create_generators(10, 1000000)\012\012That creates 10 distinct generators, which can be passed out to 10 distinct\012threads. The generators don't share state so can be called safely in\012parallel. So long as no thread calls its g.random() more than a million\012times (the second argument to create_generators), the sequences seen by\012each thread will not overlap.\012\012The period of the underlying Wichmann-Hill generator is 6,953,607,871,644,\012and that limits how far this technique can be pushed.\012\012Just for fun, note that since we know the period, .jumpahead() can also be\012used to \"move backward in time\":\012\012>>> g = Random(42) # arbitrary\012>>> g.random()\0120.25420336316883324\012>>> g.jumpahead(6953607871644L - 1) # move *back* one\012>>> g.random()\0120.25420336316883324\012"); + s$1 = Py.newString("Random"); + s$2 = Py.newString("seed"); + s$3 = Py.newString("random"); + s$4 = Py.newString("uniform"); + s$5 = Py.newString("randint"); + s$6 = Py.newString("choice"); + s$7 = Py.newString("randrange"); + s$8 = Py.newString("shuffle"); + s$9 = Py.newString("normalvariate"); + s$10 = Py.newString("lognormvariate"); + s$11 = Py.newString("cunifvariate"); + s$12 = Py.newString("expovariate"); + s$13 = Py.newString("vonmisesvariate"); + s$14 = Py.newString("gammavariate"); + s$15 = Py.newString("stdgamma"); + s$16 = Py.newString("gauss"); + s$17 = Py.newString("betavariate"); + s$18 = Py.newString("paretovariate"); + s$19 = Py.newString("weibullvariate"); + s$20 = Py.newString("getstate"); + s$21 = Py.newString("setstate"); + s$22 = Py.newString("jumpahead"); + s$23 = Py.newString("whseed"); + f$24 = Py.newFloat(1.0E-7); + s$25 = Py.newString("computed value for %s deviates too much (computed %g, expected %g)"); + i$26 = Py.newInteger(4); + f$27 = Py.newFloat(0.5); + f$28 = Py.newFloat(2.0); + s$29 = Py.newString("NV_MAGICCONST"); + f$30 = Py.newFloat(1.71552776992141); + s$31 = Py.newString("TWOPI"); + f$32 = Py.newFloat(6.28318530718); + f$33 = Py.newFloat(4.0); + s$34 = Py.newString("LOG4"); + f$35 = Py.newFloat(1.38629436111989); + f$36 = Py.newFloat(1.0); + f$37 = Py.newFloat(4.5); + s$38 = Py.newString("SG_MAGICCONST"); + f$39 = Py.newFloat(2.50407739677627); + i$40 = Py.newInteger(1); + s$41 = Py.newString("Initialize an instance.\012\012 Optional argument x controls seeding, as for Random.seed().\012 "); + s$42 = Py.newString("Initialize internal state from hashable object.\012\012 None or no argument seeds from current time.\012\012 If a is not None or an int or long, hash(a) is used instead.\012\012 If a is an int or long, a is used directly. Distinct values between\012 0 and 27814431486575L inclusive are guaranteed to yield distinct\012 internal states (this guarantee is specific to the default\012 Wichmann-Hill generator).\012 "); + i$43 = Py.newInteger(256); + i$44 = Py.newInteger(3); + l$45 = Py.newLong("3"); + i$46 = Py.newInteger(30268); + i$47 = Py.newInteger(30306); + i$48 = Py.newInteger(30322); + s$49 = Py.newString("Get the next random number in the range [0.0, 1.0)."); + i$50 = Py.newInteger(171); + i$51 = Py.newInteger(30269); + i$52 = Py.newInteger(172); + i$53 = Py.newInteger(30307); + i$54 = Py.newInteger(170); + i$55 = Py.newInteger(30323); + f$56 = Py.newFloat(30269.0); + f$57 = Py.newFloat(30307.0); + f$58 = Py.newFloat(30323.0); + s$59 = Py.newString("Return internal state; can be passed to setstate() later."); + s$60 = Py.newString("Restore internal state from object returned by getstate()."); + i$61 = Py.newInteger(0); + s$62 = Py.newString("state with version %s passed to Random.setstate() of version %s"); + s$63 = Py.newString("Act as if n calls to random() were made, but quickly.\012\012 n is an int, greater than or equal to 0.\012\012 Example use: If you have 2 threads and know that each will\012 consume no more than a million random numbers, create two Random\012 objects r1 and r2, then do\012 r2.setstate(r1.getstate())\012 r2.jumpahead(1000000)\012 Then r1 and r2 will use guaranteed-disjoint segments of the full\012 period.\012 "); + s$64 = Py.newString("n must be >= 0"); + s$65 = Py.newString("Set the Wichmann-Hill seed from (x, y, z).\012\012 These must be integers in the range [0, 256).\012 "); + s$66 = Py.newString("seeds must be integers"); + s$67 = Py.newString("seeds must be in range(0, 256)"); + i$68 = Py.newInteger(16777215); + i$69 = Py.newInteger(24); + s$70 = Py.newString("Seed from hashable object's hash code.\012\012 None or no argument seeds from current time. It is not guaranteed\012 that objects with distinct hash codes lead to distinct internal\012 states.\012\012 This is obsolete, provided for compatibility with the seed routine\012 used prior to Python 2.1. Use the .seed() method instead.\012 "); + s$71 = Py.newString("Choose a random item from range(start, stop[, step]).\012\012 This fixes the problem with randint() which includes the\012 endpoint; in Python this is usually not what you want.\012 Do not supply the 'int' and 'default' arguments.\012 "); + s$72 = Py.newString("non-integer arg 1 for randrange()"); + s$73 = Py.newString("empty range for randrange()"); + s$74 = Py.newString("non-integer stop for randrange()"); + s$75 = Py.newString("non-integer step for randrange()"); + s$76 = Py.newString("zero step for randrange()"); + s$77 = Py.newString("Return random integer in range [a, b], including both end points.\012\012 (Deprecated; use randrange(a, b+1).)\012 "); + s$78 = Py.newString("Choose a random element from a non-empty sequence."); + s$79 = Py.newString("x, random=random.random -> shuffle list x in place; return None.\012\012 Optional arg random is a 0-argument function returning a random\012 float in [0.0, 1.0); by default, the standard random.random.\012\012 Note that for even rather small len(x), the total number of\012 permutations of x is larger than the period of most random number\012 generators; this implies that \"most\" permutations of a long\012 sequence can never be generated.\012 "); + s$80 = Py.newString("Get a random number in the range [a, b)."); + f$81 = Py.newFloat(1.0E-6); + f$82 = Py.newFloat(0.0); + s$83 = Py.newString("stdgamma: alpha must be > 0.0"); + s$84 = Py.newString("times"); + s$85 = Py.newString("eval"); + f$86 = Py.newFloat(1.0E10); + s$87 = Py.newString("sec,"); + s$88 = Py.newString("avg %g, stddev %g, min %g, max %g"); + s$89 = Py.newString("TWOPI ="); + s$90 = Py.newString("LOG4 ="); + s$91 = Py.newString("NV_MAGICCONST ="); + s$92 = Py.newString("SG_MAGICCONST ="); + s$93 = Py.newString("random()"); + s$94 = Py.newString("normalvariate(0.0, 1.0)"); + s$95 = Py.newString("lognormvariate(0.0, 1.0)"); + s$96 = Py.newString("cunifvariate(0.0, 1.0)"); + s$97 = Py.newString("expovariate(1.0)"); + s$98 = Py.newString("vonmisesvariate(0.0, 1.0)"); + s$99 = Py.newString("gammavariate(0.5, 1.0)"); + s$100 = Py.newString("gammavariate(0.9, 1.0)"); + s$101 = Py.newString("gammavariate(1.0, 1.0)"); + s$102 = Py.newString("gammavariate(2.0, 1.0)"); + s$103 = Py.newString("gammavariate(20.0, 1.0)"); + s$104 = Py.newString("gammavariate(200.0, 1.0)"); + s$105 = Py.newString("gauss(0.0, 1.0)"); + s$106 = Py.newString("betavariate(3.0, 3.0)"); + s$107 = Py.newString("paretovariate(1.0)"); + s$108 = Py.newString("weibullvariate(1.0, 1.0)"); + s$109 = Py.newString("jumpahead test failed "); + i$110 = Py.newInteger(200); + s$111 = Py.newString("__main__"); + s$112 = Py.newString("/usr/share/jython/Lib/random.py"); + funcTable = new _PyInner(); + c$0__verify = Py.newCode(3, new String[] {"name", "computed", "expected"}, "/usr/share/jython/Lib/random.py", "_verify", false, false, funcTable, 0, null, null, 0, 1); + c$1___init__ = Py.newCode(2, new String[] {"self", "x"}, "/usr/share/jython/Lib/random.py", "__init__", false, false, funcTable, 1, null, null, 0, 1); + c$2_seed = Py.newCode(2, new String[] {"self", "a", "time", "z", "y", "x"}, "/usr/share/jython/Lib/random.py", "seed", false, false, funcTable, 2, null, null, 0, 1); + c$3_random = Py.newCode(1, new String[] {"self", "x", "z", "y"}, "/usr/share/jython/Lib/random.py", "random", false, false, funcTable, 3, null, null, 0, 1); + c$4_getstate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/random.py", "getstate", false, false, funcTable, 4, null, null, 0, 1); + c$5_setstate = Py.newCode(2, new String[] {"self", "state", "version"}, "/usr/share/jython/Lib/random.py", "setstate", false, false, funcTable, 5, null, null, 0, 1); + c$6_jumpahead = Py.newCode(2, new String[] {"self", "n", "x", "z", "y"}, "/usr/share/jython/Lib/random.py", "jumpahead", false, false, funcTable, 6, null, null, 0, 1); + c$7__Random__whseed = Py.newCode(4, new String[] {"self", "x", "y", "z", "time", "t"}, "/usr/share/jython/Lib/random.py", "_Random__whseed", false, false, funcTable, 7, null, null, 0, 1); + c$8_whseed = Py.newCode(2, new String[] {"self", "a", "x", "z", "y"}, "/usr/share/jython/Lib/random.py", "whseed", false, false, funcTable, 8, null, null, 0, 1); + c$9___getstate__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/random.py", "__getstate__", false, false, funcTable, 9, null, null, 0, 1); + c$10___setstate__ = Py.newCode(2, new String[] {"self", "state"}, "/usr/share/jython/Lib/random.py", "__setstate__", false, false, funcTable, 10, null, null, 0, 1); + c$11_randrange = Py.newCode(6, new String[] {"self", "start", "stop", "step", "int", "default", "istep", "n", "istart", "istop"}, "/usr/share/jython/Lib/random.py", "randrange", false, false, funcTable, 11, null, null, 0, 1); + c$12_randint = Py.newCode(3, new String[] {"self", "a", "b"}, "/usr/share/jython/Lib/random.py", "randint", false, false, funcTable, 12, null, null, 0, 1); + c$13_choice = Py.newCode(2, new String[] {"self", "seq"}, "/usr/share/jython/Lib/random.py", "choice", false, false, funcTable, 13, null, null, 0, 1); + c$14_shuffle = Py.newCode(4, new String[] {"self", "x", "random", "int", "j", "i"}, "/usr/share/jython/Lib/random.py", "shuffle", false, false, funcTable, 14, null, null, 0, 1); + c$15_uniform = Py.newCode(3, new String[] {"self", "a", "b"}, "/usr/share/jython/Lib/random.py", "uniform", false, false, funcTable, 15, null, null, 0, 1); + c$16_normalvariate = Py.newCode(3, new String[] {"self", "mu", "sigma", "u2", "u1", "random", "zz", "z"}, "/usr/share/jython/Lib/random.py", "normalvariate", false, false, funcTable, 16, null, null, 0, 1); + c$17_lognormvariate = Py.newCode(3, new String[] {"self", "mu", "sigma"}, "/usr/share/jython/Lib/random.py", "lognormvariate", false, false, funcTable, 17, null, null, 0, 1); + c$18_cunifvariate = Py.newCode(3, new String[] {"self", "mean", "arc"}, "/usr/share/jython/Lib/random.py", "cunifvariate", false, false, funcTable, 18, null, null, 0, 1); + c$19_expovariate = Py.newCode(2, new String[] {"self", "lambd", "u", "random"}, "/usr/share/jython/Lib/random.py", "expovariate", false, false, funcTable, 19, null, null, 0, 1); + c$20_vonmisesvariate = Py.newCode(3, new String[] {"self", "mu", "kappa", "random", "theta", "z", "r", "u3", "u2", "u1", "f", "c", "b", "a"}, "/usr/share/jython/Lib/random.py", "vonmisesvariate", false, false, funcTable, 20, null, null, 0, 1); + c$21_gammavariate = Py.newCode(3, new String[] {"self", "alpha", "beta", "ainv"}, "/usr/share/jython/Lib/random.py", "gammavariate", false, false, funcTable, 21, null, null, 0, 1); + c$22_stdgamma = Py.newCode(5, new String[] {"self", "alpha", "ainv", "bbb", "ccc", "random", "z", "x", "v", "u", "r", "p", "u2", "u1", "b"}, "/usr/share/jython/Lib/random.py", "stdgamma", false, false, funcTable, 22, null, null, 0, 1); + c$23_gauss = Py.newCode(3, new String[] {"self", "mu", "sigma", "x2pi", "random", "g2rad", "z"}, "/usr/share/jython/Lib/random.py", "gauss", false, false, funcTable, 23, null, null, 0, 1); + c$24_betavariate = Py.newCode(3, new String[] {"self", "alpha", "beta", "y"}, "/usr/share/jython/Lib/random.py", "betavariate", false, false, funcTable, 24, null, null, 0, 1); + c$25_paretovariate = Py.newCode(2, new String[] {"self", "alpha", "u"}, "/usr/share/jython/Lib/random.py", "paretovariate", false, false, funcTable, 25, null, null, 0, 1); + c$26_weibullvariate = Py.newCode(3, new String[] {"self", "alpha", "beta", "u"}, "/usr/share/jython/Lib/random.py", "weibullvariate", false, false, funcTable, 26, null, null, 0, 1); + c$27_Random = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/random.py", "Random", false, false, funcTable, 27, null, null, 0, 0); + c$28__test_generator = Py.newCode(2, new String[] {"n", "funccall", "smallest", "code", "sum", "largest", "time", "x", "t1", "t0", "avg", "i", "stddev", "sqsum"}, "/usr/share/jython/Lib/random.py", "_test_generator", false, false, funcTable, 28, null, null, 0, 1); + c$29__test = Py.newCode(1, new String[] {"N", "r2", "r1", "i", "s"}, "/usr/share/jython/Lib/random.py", "_test", false, false, funcTable, 29, null, null, 0, 1); + c$30_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/random.py", "main", false, false, funcTable, 30, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$30_main == null) _PyInner.initConstants(); + return c$30_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._verify$1(frame); + case 1: + return _PyInner.__init__$2(frame); + case 2: + return _PyInner.seed$3(frame); + case 3: + return _PyInner.random$4(frame); + case 4: + return _PyInner.getstate$5(frame); + case 5: + return _PyInner.setstate$6(frame); + case 6: + return _PyInner.jumpahead$7(frame); + case 7: + return _PyInner._Random__whseed$8(frame); + case 8: + return _PyInner.whseed$9(frame); + case 9: + return _PyInner.__getstate__$10(frame); + case 10: + return _PyInner.__setstate__$11(frame); + case 11: + return _PyInner.randrange$12(frame); + case 12: + return _PyInner.randint$13(frame); + case 13: + return _PyInner.choice$14(frame); + case 14: + return _PyInner.shuffle$15(frame); + case 15: + return _PyInner.uniform$16(frame); + case 16: + return _PyInner.normalvariate$17(frame); + case 17: + return _PyInner.lognormvariate$18(frame); + case 18: + return _PyInner.cunifvariate$19(frame); + case 19: + return _PyInner.expovariate$20(frame); + case 20: + return _PyInner.vonmisesvariate$21(frame); + case 21: + return _PyInner.gammavariate$22(frame); + case 22: + return _PyInner.stdgamma$23(frame); + case 23: + return _PyInner.gauss$24(frame); + case 24: + return _PyInner.betavariate$25(frame); + case 25: + return _PyInner.paretovariate$26(frame); + case 26: + return _PyInner.weibullvariate$27(frame); + case 27: + return _PyInner.Random$28(frame); + case 28: + return _PyInner._test_generator$29(frame); + case 29: + return _PyInner._test$30(frame); + case 30: + return _PyInner.main$31(frame); + default: + return null; + } + } + + private static PyObject _verify$1(PyFrame frame) { + if (frame.getglobal("abs").__call__(frame.getlocal(1)._sub(frame.getlocal(2)))._gt(f$24).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$25._mod(new PyTuple(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2)})))); + } + return Py.None; + } + + private static PyObject __init__$2(PyFrame frame) { + /* Initialize an instance. + + Optional argument x controls seeding, as for Random.seed(). + */ + frame.getlocal(0).invoke("seed", frame.getlocal(1)); + frame.getlocal(0).__setattr__("gauss_next", frame.getglobal("None")); + return Py.None; + } + + private static PyObject seed$3(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* Initialize internal state from hashable object. + + None or no argument seeds from current time. + + If a is not None or an int or long, hash(a) is used instead. + + If a is an int or long, a is used directly. Distinct values between + 0 and 27814431486575L inclusive are guaranteed to yield distinct + internal states (this guarantee is specific to the default + Wichmann-Hill generator). + */ + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(2, org.python.core.imp.importOne("time", frame)); + frame.setlocal(1, frame.getglobal("long").__call__(frame.getlocal(2).__getattr__("time").__call__()._mul(i$43))); + } + if (frame.getglobal("type").__call__(frame.getlocal(1))._notin(new PyTuple(new PyObject[] {frame.getglobal("type").__call__(i$44), frame.getglobal("type").__call__(l$45)})).__nonzero__()) { + frame.setlocal(1, frame.getglobal("hash").__call__(frame.getlocal(1))); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$46), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(5, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$47), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$48), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + frame.getlocal(0).__setattr__("_seed", new PyTuple(new PyObject[] {frame.getglobal("int").__call__(frame.getlocal(5))._add(i$40), frame.getglobal("int").__call__(frame.getlocal(4))._add(i$40), frame.getglobal("int").__call__(frame.getlocal(3))._add(i$40)})); + return Py.None; + } + + private static PyObject random$4(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* Get the next random number in the range [0.0, 1.0). */ + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("_seed"), 3); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + frame.setlocal(2, t$0$PyObject__[2]); + frame.setlocal(1, i$50._mul(frame.getlocal(1))._mod(i$51)); + frame.setlocal(3, i$52._mul(frame.getlocal(3))._mod(i$53)); + frame.setlocal(2, i$54._mul(frame.getlocal(2))._mod(i$55)); + frame.getlocal(0).__setattr__("_seed", new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(3), frame.getlocal(2)})); + return frame.getlocal(1)._div(f$56)._add(frame.getlocal(3)._div(f$57))._add(frame.getlocal(2)._div(f$58))._mod(f$36); + } + + private static PyObject getstate$5(PyFrame frame) { + /* Return internal state; can be passed to setstate() later. */ + return new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("VERSION"), frame.getlocal(0).__getattr__("_seed"), frame.getlocal(0).__getattr__("gauss_next")}); + } + + private static PyObject setstate$6(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* Restore internal state from object returned by getstate(). */ + frame.setlocal(2, frame.getlocal(1).__getitem__(i$61)); + if (frame.getlocal(2)._eq(i$40).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 3); + frame.setlocal(2, t$0$PyObject__[0]); + frame.getlocal(0).__setattr__("_seed", t$0$PyObject__[1]); + frame.getlocal(0).__setattr__("gauss_next", t$0$PyObject__[2]); + } + else { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$62._mod(new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(0).__getattr__("VERSION")})))); + } + return Py.None; + } + + private static PyObject jumpahead$7(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* Act as if n calls to random() were made, but quickly. + + n is an int, greater than or equal to 0. + + Example use: If you have 2 threads and know that each will + consume no more than a million random numbers, create two Random + objects r1 and r2, then do + r2.setstate(r1.getstate()) + r2.jumpahead(1000000) + Then r1 and r2 will use guaranteed-disjoint segments of the full + period. + */ + if (frame.getlocal(1)._ge(i$61).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$64)); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("_seed"), 3); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + frame.setlocal(3, t$0$PyObject__[2]); + frame.setlocal(2, frame.getglobal("int").__call__(frame.getlocal(2)._mul(frame.getglobal("pow").__call__(i$50, frame.getlocal(1), i$51)))._mod(i$51)); + frame.setlocal(4, frame.getglobal("int").__call__(frame.getlocal(4)._mul(frame.getglobal("pow").__call__(i$52, frame.getlocal(1), i$53)))._mod(i$53)); + frame.setlocal(3, frame.getglobal("int").__call__(frame.getlocal(3)._mul(frame.getglobal("pow").__call__(i$54, frame.getlocal(1), i$55)))._mod(i$55)); + frame.getlocal(0).__setattr__("_seed", new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(4), frame.getlocal(3)})); + return Py.None; + } + + private static PyObject _Random__whseed$8(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + /* Set the Wichmann-Hill seed from (x, y, z). + + These must be integers in the range [0, 256). + */ + if ((frame.getglobal("type").__call__(frame.getlocal(1))._eq(t$0$PyObject = frame.getglobal("type").__call__(frame.getlocal(2))).__nonzero__() ? (t$0$PyObject._eq(t$1$PyObject = frame.getglobal("type").__call__(frame.getlocal(3))).__nonzero__() ? t$1$PyObject._eq(frame.getglobal("type").__call__(i$61)) : Py.Zero) : Py.Zero).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$66)); + } + if (((t$0$PyObject = ((t$1$PyObject = (i$61._le(t$2$PyObject = frame.getlocal(1)).__nonzero__() ? t$2$PyObject._lt(i$43) : Py.Zero)).__nonzero__() ? (i$61._le(t$2$PyObject = frame.getlocal(2)).__nonzero__() ? t$2$PyObject._lt(i$43) : Py.Zero) : t$1$PyObject)).__nonzero__() ? (i$61._le(t$1$PyObject = frame.getlocal(3)).__nonzero__() ? t$1$PyObject._lt(i$43) : Py.Zero) : t$0$PyObject).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$67)); + } + if ((i$61._eq(t$0$PyObject = frame.getlocal(1)).__nonzero__() ? (t$0$PyObject._eq(t$1$PyObject = frame.getlocal(2)).__nonzero__() ? t$1$PyObject._eq(frame.getlocal(3)) : Py.Zero) : Py.Zero).__nonzero__()) { + frame.setlocal(4, org.python.core.imp.importOne("time", frame)); + frame.setlocal(5, frame.getglobal("long").__call__(frame.getlocal(4).__getattr__("time").__call__()._mul(i$43))); + frame.setlocal(5, frame.getglobal("int").__call__(frame.getlocal(5)._and(i$68)._xor(frame.getlocal(5)._rshift(i$69)))); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(5), i$43), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(5), i$43), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(5), i$43), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + } + frame.getlocal(0).__setattr__("_seed", new PyTuple(new PyObject[] {(t$0$PyObject = frame.getlocal(1)).__nonzero__() ? t$0$PyObject : i$40, (t$0$PyObject = frame.getlocal(2)).__nonzero__() ? t$0$PyObject : i$40, (t$0$PyObject = frame.getlocal(3)).__nonzero__() ? t$0$PyObject : i$40})); + return Py.None; + } + + private static PyObject whseed$9(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject; + + // Code + /* Seed from hashable object's hash code. + + None or no argument seeds from current time. It is not guaranteed + that objects with distinct hash codes lead to distinct internal + states. + + This is obsolete, provided for compatibility with the seed routine + used prior to Python 2.1. Use the .seed() method instead. + */ + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(0).invoke("_Random__whseed"); + return Py.None; + } + frame.setlocal(1, frame.getglobal("hash").__call__(frame.getlocal(1))); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$43), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$43), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$43), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + frame.setlocal(2, (t$0$PyObject = frame.getlocal(2)._add(frame.getlocal(1))._mod(i$43)).__nonzero__() ? t$0$PyObject : i$40); + frame.setlocal(4, (t$0$PyObject = frame.getlocal(4)._add(frame.getlocal(1))._mod(i$43)).__nonzero__() ? t$0$PyObject : i$40); + frame.setlocal(3, (t$0$PyObject = frame.getlocal(3)._add(frame.getlocal(1))._mod(i$43)).__nonzero__() ? t$0$PyObject : i$40); + frame.getlocal(0).invoke("_Random__whseed", new PyObject[] {frame.getlocal(2), frame.getlocal(4), frame.getlocal(3)}); + return Py.None; + } + + private static PyObject __getstate__$10(PyFrame frame) { + return frame.getlocal(0).invoke("getstate"); + } + + private static PyObject __setstate__$11(PyFrame frame) { + frame.getlocal(0).invoke("setstate", frame.getlocal(1)); + return Py.None; + } + + private static PyObject randrange$12(PyFrame frame) { + /* Choose a random item from range(start, stop[, step]). + + This fixes the problem with randint() which includes the + endpoint; in Python this is usually not what you want. + Do not supply the 'int' and 'default' arguments. + */ + frame.setlocal(8, frame.getlocal(4).__call__(frame.getlocal(1))); + if (frame.getlocal(8)._ne(frame.getlocal(1)).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$72); + } + if (frame.getlocal(2)._is(frame.getlocal(5)).__nonzero__()) { + if (frame.getlocal(8)._gt(i$61).__nonzero__()) { + return frame.getlocal(4).__call__(frame.getlocal(0).invoke("random")._mul(frame.getlocal(8))); + } + throw Py.makeException(frame.getglobal("ValueError"), s$73); + } + frame.setlocal(9, frame.getlocal(4).__call__(frame.getlocal(2))); + if (frame.getlocal(9)._ne(frame.getlocal(2)).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$74); + } + if (frame.getlocal(3)._eq(i$40).__nonzero__()) { + if (frame.getlocal(8)._lt(frame.getlocal(9)).__nonzero__()) { + return frame.getlocal(8)._add(frame.getlocal(4).__call__(frame.getlocal(0).invoke("random")._mul(frame.getlocal(9)._sub(frame.getlocal(8))))); + } + throw Py.makeException(frame.getglobal("ValueError"), s$73); + } + frame.setlocal(6, frame.getlocal(4).__call__(frame.getlocal(3))); + if (frame.getlocal(6)._ne(frame.getlocal(3)).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$75); + } + if (frame.getlocal(6)._gt(i$61).__nonzero__()) { + frame.setlocal(7, frame.getlocal(9)._sub(frame.getlocal(8))._add(frame.getlocal(6))._sub(i$40)._div(frame.getlocal(6))); + } + else if (frame.getlocal(6)._lt(i$61).__nonzero__()) { + frame.setlocal(7, frame.getlocal(9)._sub(frame.getlocal(8))._add(frame.getlocal(6))._add(i$40)._div(frame.getlocal(6))); + } + else { + throw Py.makeException(frame.getglobal("ValueError"), s$76); + } + if (frame.getlocal(7)._le(i$61).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$73); + } + return frame.getlocal(8)._add(frame.getlocal(6)._mul(frame.getlocal(4).__call__(frame.getlocal(0).invoke("random")._mul(frame.getlocal(7))))); + } + + private static PyObject randint$13(PyFrame frame) { + /* Return random integer in range [a, b], including both end points. + + (Deprecated; use randrange(a, b+1).) + */ + return frame.getlocal(0).invoke("randrange", frame.getlocal(1), frame.getlocal(2)._add(i$40)); + } + + private static PyObject choice$14(PyFrame frame) { + /* Choose a random element from a non-empty sequence. */ + return frame.getlocal(1).__getitem__(frame.getglobal("int").__call__(frame.getlocal(0).invoke("random")._mul(frame.getglobal("len").__call__(frame.getlocal(1))))); + } + + private static PyObject shuffle$15(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* x, random=random.random -> shuffle list x in place; return None. + + Optional arg random is a 0-argument function returning a random + float in [0.0, 1.0); by default, the standard random.random. + + Note that for even rather small len(x), the total number of + permutations of x is larger than the period of most random number + generators; this implies that "most" permutations of a long + sequence can never be generated. + */ + if (frame.getlocal(2)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(2, frame.getlocal(0).__getattr__("random")); + } + t$0$int = 0; + t$1$PyObject = frame.getglobal("xrange").__call__(frame.getglobal("len").__call__(frame.getlocal(1))._sub(i$40), i$61, i$40.__neg__()); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(5, t$0$PyObject); + frame.setlocal(4, frame.getlocal(3).__call__(frame.getlocal(2).__call__()._mul(frame.getlocal(5)._add(i$40)))); + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {frame.getlocal(1).__getitem__(frame.getlocal(4)), frame.getlocal(1).__getitem__(frame.getlocal(5))}), 2); + frame.getlocal(1).__setitem__(frame.getlocal(5), t$0$PyObject__[0]); + frame.getlocal(1).__setitem__(frame.getlocal(4), t$0$PyObject__[1]); + } + return Py.None; + } + + private static PyObject uniform$16(PyFrame frame) { + /* Get a random number in the range [a, b). */ + return frame.getlocal(1)._add(frame.getlocal(2)._sub(frame.getlocal(1))._mul(frame.getlocal(0).invoke("random"))); + } + + private static PyObject normalvariate$17(PyFrame frame) { + frame.setlocal(5, frame.getlocal(0).__getattr__("random")); + while (i$40.__nonzero__()) { + frame.setlocal(4, frame.getlocal(5).__call__()); + frame.setlocal(3, frame.getlocal(5).__call__()); + frame.setlocal(7, frame.getglobal("NV_MAGICCONST")._mul(frame.getlocal(4)._sub(f$27))._div(frame.getlocal(3))); + frame.setlocal(6, frame.getlocal(7)._mul(frame.getlocal(7))._div(f$33)); + if (frame.getlocal(6)._le(frame.getglobal("_log").__call__(frame.getlocal(3)).__neg__()).__nonzero__()) { + break; + } + } + return frame.getlocal(1)._add(frame.getlocal(7)._mul(frame.getlocal(2))); + } + + private static PyObject lognormvariate$18(PyFrame frame) { + return frame.getglobal("_exp").__call__(frame.getlocal(0).invoke("normalvariate", frame.getlocal(1), frame.getlocal(2))); + } + + private static PyObject cunifvariate$19(PyFrame frame) { + return frame.getlocal(1)._add(frame.getlocal(2)._mul(frame.getlocal(0).invoke("random")._sub(f$27)))._mod(frame.getglobal("_pi")); + } + + private static PyObject expovariate$20(PyFrame frame) { + frame.setlocal(3, frame.getlocal(0).__getattr__("random")); + frame.setlocal(2, frame.getlocal(3).__call__()); + while (frame.getlocal(2)._le(f$24).__nonzero__()) { + frame.setlocal(2, frame.getlocal(3).__call__()); + } + return frame.getglobal("_log").__call__(frame.getlocal(2)).__neg__()._div(frame.getlocal(1)); + } + + private static PyObject vonmisesvariate$21(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(3, frame.getlocal(0).__getattr__("random")); + if (frame.getlocal(2)._le(f$81).__nonzero__()) { + return frame.getglobal("TWOPI")._mul(frame.getlocal(3).__call__()); + } + frame.setlocal(13, f$36._add(frame.getglobal("_sqrt").__call__(f$36._add(f$33._mul(frame.getlocal(2))._mul(frame.getlocal(2)))))); + frame.setlocal(12, frame.getlocal(13)._sub(frame.getglobal("_sqrt").__call__(f$28._mul(frame.getlocal(13))))._div(f$28._mul(frame.getlocal(2)))); + frame.setlocal(6, f$36._add(frame.getlocal(12)._mul(frame.getlocal(12)))._div(f$28._mul(frame.getlocal(12)))); + while (i$40.__nonzero__()) { + frame.setlocal(9, frame.getlocal(3).__call__()); + frame.setlocal(5, frame.getglobal("_cos").__call__(frame.getglobal("_pi")._mul(frame.getlocal(9)))); + frame.setlocal(10, f$36._add(frame.getlocal(6)._mul(frame.getlocal(5)))._div(frame.getlocal(6)._add(frame.getlocal(5)))); + frame.setlocal(11, frame.getlocal(2)._mul(frame.getlocal(6)._sub(frame.getlocal(10)))); + frame.setlocal(8, frame.getlocal(3).__call__()); + if (((t$0$PyObject = frame.getlocal(8)._ge(frame.getlocal(11)._mul(f$28._sub(frame.getlocal(11))))).__nonzero__() ? frame.getlocal(8)._gt(frame.getlocal(11)._mul(frame.getglobal("_exp").__call__(f$36._sub(frame.getlocal(11))))) : t$0$PyObject).__not__().__nonzero__()) { + break; + } + } + frame.setlocal(7, frame.getlocal(3).__call__()); + if (frame.getlocal(7)._gt(f$27).__nonzero__()) { + frame.setlocal(4, frame.getlocal(1)._mod(frame.getglobal("TWOPI"))._add(frame.getglobal("_acos").__call__(frame.getlocal(10)))); + } + else { + frame.setlocal(4, frame.getlocal(1)._mod(frame.getglobal("TWOPI"))._sub(frame.getglobal("_acos").__call__(frame.getlocal(10)))); + } + return frame.getlocal(4); + } + + private static PyObject gammavariate$22(PyFrame frame) { + frame.setlocal(3, frame.getglobal("_sqrt").__call__(f$28._mul(frame.getlocal(1))._sub(f$36))); + return frame.getlocal(2)._mul(frame.getlocal(0).invoke("stdgamma", new PyObject[] {frame.getlocal(1), frame.getlocal(3), frame.getlocal(1)._sub(frame.getglobal("LOG4")), frame.getlocal(1)._add(frame.getlocal(3))})); + } + + private static PyObject stdgamma$23(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(5, frame.getlocal(0).__getattr__("random")); + if (frame.getlocal(1)._le(f$82).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$83); + } + if (frame.getlocal(1)._gt(f$36).__nonzero__()) { + while (i$40.__nonzero__()) { + frame.setlocal(13, frame.getlocal(5).__call__()); + frame.setlocal(12, frame.getlocal(5).__call__()); + frame.setlocal(8, frame.getglobal("_log").__call__(frame.getlocal(13)._div(f$36._sub(frame.getlocal(13))))._div(frame.getlocal(2))); + frame.setlocal(7, frame.getlocal(1)._mul(frame.getglobal("_exp").__call__(frame.getlocal(8)))); + frame.setlocal(6, frame.getlocal(13)._mul(frame.getlocal(13))._mul(frame.getlocal(12))); + frame.setlocal(10, frame.getlocal(3)._add(frame.getlocal(4)._mul(frame.getlocal(8)))._sub(frame.getlocal(7))); + if (((t$0$PyObject = frame.getlocal(10)._add(frame.getglobal("SG_MAGICCONST"))._sub(f$37._mul(frame.getlocal(6)))._ge(f$82)).__nonzero__() ? t$0$PyObject : frame.getlocal(10)._ge(frame.getglobal("_log").__call__(frame.getlocal(6)))).__nonzero__()) { + return frame.getlocal(7); + } + } + } + else if (frame.getlocal(1)._eq(f$36).__nonzero__()) { + frame.setlocal(9, frame.getlocal(5).__call__()); + while (frame.getlocal(9)._le(f$24).__nonzero__()) { + frame.setlocal(9, frame.getlocal(5).__call__()); + } + return frame.getglobal("_log").__call__(frame.getlocal(9)).__neg__(); + } + else { + while (i$40.__nonzero__()) { + frame.setlocal(9, frame.getlocal(5).__call__()); + frame.setlocal(14, frame.getglobal("_e")._add(frame.getlocal(1))._div(frame.getglobal("_e"))); + frame.setlocal(11, frame.getlocal(14)._mul(frame.getlocal(9))); + if (frame.getlocal(11)._le(f$36).__nonzero__()) { + frame.setlocal(7, frame.getglobal("pow").__call__(frame.getlocal(11), f$36._div(frame.getlocal(1)))); + } + else { + frame.setlocal(7, frame.getglobal("_log").__call__(frame.getlocal(14)._sub(frame.getlocal(11))._div(frame.getlocal(1))).__neg__()); + } + frame.setlocal(13, frame.getlocal(5).__call__()); + if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(11)._le(f$36)).__nonzero__() ? frame.getlocal(13)._gt(frame.getglobal("_exp").__call__(frame.getlocal(7).__neg__())) : t$1$PyObject)).__nonzero__() ? t$0$PyObject : ((t$1$PyObject = frame.getlocal(11)._gt(i$40)).__nonzero__() ? frame.getlocal(13)._gt(frame.getglobal("pow").__call__(frame.getlocal(7), frame.getlocal(1)._sub(f$36))) : t$1$PyObject)).__not__().__nonzero__()) { + break; + } + } + return frame.getlocal(7); + } + return Py.None; + } + + private static PyObject gauss$24(PyFrame frame) { + frame.setlocal(4, frame.getlocal(0).__getattr__("random")); + frame.setlocal(6, frame.getlocal(0).__getattr__("gauss_next")); + frame.getlocal(0).__setattr__("gauss_next", frame.getglobal("None")); + if (frame.getlocal(6)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(3, frame.getlocal(4).__call__()._mul(frame.getglobal("TWOPI"))); + frame.setlocal(5, frame.getglobal("_sqrt").__call__(f$28.__neg__()._mul(frame.getglobal("_log").__call__(f$36._sub(frame.getlocal(4).__call__()))))); + frame.setlocal(6, frame.getglobal("_cos").__call__(frame.getlocal(3))._mul(frame.getlocal(5))); + frame.getlocal(0).__setattr__("gauss_next", frame.getglobal("_sin").__call__(frame.getlocal(3))._mul(frame.getlocal(5))); + } + return frame.getlocal(1)._add(frame.getlocal(6)._mul(frame.getlocal(2))); + } + + private static PyObject betavariate$25(PyFrame frame) { + frame.setlocal(3, frame.getlocal(0).invoke("gammavariate", frame.getlocal(1), f$36)); + if (frame.getlocal(3)._eq(i$61).__nonzero__()) { + return f$82; + } + else { + return frame.getlocal(3)._div(frame.getlocal(3)._add(frame.getlocal(0).invoke("gammavariate", frame.getlocal(2), f$36))); + } + } + + private static PyObject paretovariate$26(PyFrame frame) { + frame.setlocal(2, frame.getlocal(0).invoke("random")); + return f$36._div(frame.getglobal("pow").__call__(frame.getlocal(2), f$36._div(frame.getlocal(1)))); + } + + private static PyObject weibullvariate$27(PyFrame frame) { + frame.setlocal(3, frame.getlocal(0).invoke("random")); + return frame.getlocal(1)._mul(frame.getglobal("pow").__call__(frame.getglobal("_log").__call__(frame.getlocal(3)).__neg__(), f$36._div(frame.getlocal(2)))); + } + + private static PyObject Random$28(PyFrame frame) { + frame.setlocal("VERSION", i$40); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$1___init__)); + frame.setlocal("seed", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$2_seed)); + frame.setlocal("random", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_random)); + frame.setlocal("getstate", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_getstate)); + frame.setlocal("setstate", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_setstate)); + frame.setlocal("jumpahead", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_jumpahead)); + frame.setlocal("_Random__whseed", new PyFunction(frame.f_globals, new PyObject[] {i$61, i$61, i$61}, c$7__Random__whseed)); + frame.setlocal("whseed", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$8_whseed)); + frame.setlocal("__getstate__", new PyFunction(frame.f_globals, new PyObject[] {}, c$9___getstate__)); + frame.setlocal("__setstate__", new PyFunction(frame.f_globals, new PyObject[] {}, c$10___setstate__)); + frame.setlocal("randrange", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), i$40, frame.getname("int"), frame.getname("None")}, c$11_randrange)); + frame.setlocal("randint", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_randint)); + frame.setlocal("choice", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_choice)); + frame.setlocal("shuffle", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("int")}, c$14_shuffle)); + frame.setlocal("uniform", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_uniform)); + frame.setlocal("normalvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_normalvariate)); + frame.setlocal("lognormvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$17_lognormvariate)); + frame.setlocal("cunifvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$18_cunifvariate)); + frame.setlocal("expovariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$19_expovariate)); + frame.setlocal("vonmisesvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$20_vonmisesvariate)); + frame.setlocal("gammavariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_gammavariate)); + frame.setlocal("stdgamma", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_stdgamma)); + frame.setlocal("gauss", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_gauss)); + frame.setlocal("betavariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_betavariate)); + frame.setlocal("paretovariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_paretovariate)); + frame.setlocal("weibullvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$26_weibullvariate)); + return frame.getf_locals(); + } + + private static PyObject _test_generator$29(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(6, org.python.core.imp.importOne("time", frame)); + Py.printComma(frame.getlocal(0)); + Py.printComma(s$84); + Py.println(frame.getlocal(1)); + frame.setlocal(3, frame.getglobal("compile").__call__(frame.getlocal(1), frame.getlocal(1), s$85)); + frame.setlocal(4, f$82); + frame.setlocal(13, f$82); + frame.setlocal(2, f$86); + frame.setlocal(5, f$86.__neg__()); + frame.setlocal(9, frame.getlocal(6).__getattr__("time").__call__()); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getlocal(0)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(11, t$0$PyObject); + frame.setlocal(7, frame.getglobal("eval").__call__(frame.getlocal(3))); + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(7))); + frame.setlocal(13, frame.getlocal(13)._add(frame.getlocal(7)._mul(frame.getlocal(7)))); + frame.setlocal(2, frame.getglobal("min").__call__(frame.getlocal(7), frame.getlocal(2))); + frame.setlocal(5, frame.getglobal("max").__call__(frame.getlocal(7), frame.getlocal(5))); + } + frame.setlocal(8, frame.getlocal(6).__getattr__("time").__call__()); + Py.printComma(frame.getglobal("round").__call__(frame.getlocal(8)._sub(frame.getlocal(9)), i$44)); + Py.printComma(s$87); + frame.setlocal(10, frame.getlocal(4)._div(frame.getlocal(0))); + frame.setlocal(12, frame.getglobal("_sqrt").__call__(frame.getlocal(13)._div(frame.getlocal(0))._sub(frame.getlocal(10)._mul(frame.getlocal(10))))); + Py.println(s$88._mod(new PyTuple(new PyObject[] {frame.getlocal(10), frame.getlocal(12), frame.getlocal(2), frame.getlocal(5)}))); + return Py.None; + } + + private static PyObject _test$30(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + Py.printComma(s$89); + Py.println(frame.getglobal("TWOPI")); + Py.printComma(s$90); + Py.println(frame.getglobal("LOG4")); + Py.printComma(s$91); + Py.println(frame.getglobal("NV_MAGICCONST")); + Py.printComma(s$92); + Py.println(frame.getglobal("SG_MAGICCONST")); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$93); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$94); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$95); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$96); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$97); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$98); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$99); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$100); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$101); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$102); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$103); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$104); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$105); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$106); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$107); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$108); + frame.setlocal(4, frame.getglobal("getstate").__call__()); + frame.getglobal("jumpahead").__call__(frame.getlocal(0)); + frame.setlocal(2, frame.getglobal("random").__call__()); + frame.getglobal("setstate").__call__(frame.getlocal(4)); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getlocal(0)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.getglobal("random").__call__(); + } + frame.setlocal(1, frame.getglobal("random").__call__()); + if (frame.getlocal(2)._ne(frame.getlocal(1)).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$109._add(new PyTuple(new PyObject[] {frame.getlocal(0), frame.getlocal(2), frame.getlocal(1)}).__repr__()))); + } + return Py.None; + } + + private static PyObject main$31(PyFrame frame) { + frame.setglobal("__file__", s$112); + + PyObject[] imp_accu; + // Code + /* Random variable generators. + + integers + -------- + uniform within range + + sequences + --------- + pick random element + generate random permutation + + distributions on the real line: + ------------------------------ + uniform + normal (Gaussian) + lognormal + negative exponential + gamma + beta + + distributions on the circle (angles 0 to 2pi) + --------------------------------------------- + circular uniform + von Mises + + Translated from anonymously contributed C/C++ source. + + Multi-threading note: the random number generator used here is not thread- + safe; it is possible that two calls return the same random value. However, + you can instantiate a different instance of Random() in each thread to get + generators that don't share state, then use .setstate() and .jumpahead() to + move the generators to disjoint segments of the full period. For example, + + def create_generators(num, delta, firstseed=None): + """Return list of num distinct generators. + Each generator has its own unique segment of delta elements from + Random.random()'s full period. + Seed the first generator with optional arg firstseed (default is + None, to seed from current time). + """ + + from random import Random + g = Random(firstseed) + result = [g] + for i in range(num - 1): + laststate = g.getstate() + g = Random() + g.setstate(laststate) + g.jumpahead(delta) + result.append(g) + return result + + gens = create_generators(10, 1000000) + + That creates 10 distinct generators, which can be passed out to 10 distinct + threads. The generators don't share state so can be called safely in + parallel. So long as no thread calls its g.random() more than a million + times (the second argument to create_generators), the sequences seen by + each thread will not overlap. + + The period of the underlying Wichmann-Hill generator is 6,953,607,871,644, + and that limits how far this technique can be pushed. + + Just for fun, note that since we know the period, .jumpahead() can also be + used to "move backward in time": + + >>> g = Random(42) # arbitrary + >>> g.random() + 0.25420336316883324 + >>> g.jumpahead(6953607871644L - 1) # move *back* one + >>> g.random() + 0.25420336316883324 + */ + imp_accu = org.python.core.imp.importFrom("math", new String[] {"log", "exp", "pi", "e"}, frame); + frame.setlocal("_log", imp_accu[0]); + frame.setlocal("_exp", imp_accu[1]); + frame.setlocal("_pi", imp_accu[2]); + frame.setlocal("_e", imp_accu[3]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("math", new String[] {"sqrt", "acos", "cos", "sin"}, frame); + frame.setlocal("_sqrt", imp_accu[0]); + frame.setlocal("_acos", imp_accu[1]); + frame.setlocal("_cos", imp_accu[2]); + frame.setlocal("_sin", imp_accu[3]); + imp_accu = null; + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12, s$13, s$14, s$15, s$16, s$17, s$18, s$19, s$20, s$21, s$22, s$23})); + frame.setlocal("_verify", new PyFunction(frame.f_globals, new PyObject[] {}, c$0__verify)); + frame.setlocal("NV_MAGICCONST", i$26._mul(frame.getname("_exp").__call__(f$27.__neg__()))._div(frame.getname("_sqrt").__call__(f$28))); + frame.getname("_verify").__call__(s$29, frame.getname("NV_MAGICCONST"), f$30); + frame.setlocal("TWOPI", f$28._mul(frame.getname("_pi"))); + frame.getname("_verify").__call__(s$31, frame.getname("TWOPI"), f$32); + frame.setlocal("LOG4", frame.getname("_log").__call__(f$33)); + frame.getname("_verify").__call__(s$34, frame.getname("LOG4"), f$35); + frame.setlocal("SG_MAGICCONST", f$36._add(frame.getname("_log").__call__(f$37))); + frame.getname("_verify").__call__(s$38, frame.getname("SG_MAGICCONST"), f$39); + frame.dellocal("_verify"); + frame.setlocal("Random", Py.makeClass("Random", new PyObject[] {}, c$27_Random, null)); + frame.setlocal("_test_generator", new PyFunction(frame.f_globals, new PyObject[] {}, c$28__test_generator)); + frame.setlocal("_test", new PyFunction(frame.f_globals, new PyObject[] {i$110}, c$29__test)); + frame.setlocal("_inst", frame.getname("Random").__call__()); + frame.setlocal("seed", frame.getname("_inst").__getattr__("seed")); + frame.setlocal("random", frame.getname("_inst").__getattr__("random")); + frame.setlocal("uniform", frame.getname("_inst").__getattr__("uniform")); + frame.setlocal("randint", frame.getname("_inst").__getattr__("randint")); + frame.setlocal("choice", frame.getname("_inst").__getattr__("choice")); + frame.setlocal("randrange", frame.getname("_inst").__getattr__("randrange")); + frame.setlocal("shuffle", frame.getname("_inst").__getattr__("shuffle")); + frame.setlocal("normalvariate", frame.getname("_inst").__getattr__("normalvariate")); + frame.setlocal("lognormvariate", frame.getname("_inst").__getattr__("lognormvariate")); + frame.setlocal("cunifvariate", frame.getname("_inst").__getattr__("cunifvariate")); + frame.setlocal("expovariate", frame.getname("_inst").__getattr__("expovariate")); + frame.setlocal("vonmisesvariate", frame.getname("_inst").__getattr__("vonmisesvariate")); + frame.setlocal("gammavariate", frame.getname("_inst").__getattr__("gammavariate")); + frame.setlocal("stdgamma", frame.getname("_inst").__getattr__("stdgamma")); + frame.setlocal("gauss", frame.getname("_inst").__getattr__("gauss")); + frame.setlocal("betavariate", frame.getname("_inst").__getattr__("betavariate")); + frame.setlocal("paretovariate", frame.getname("_inst").__getattr__("paretovariate")); + frame.setlocal("weibullvariate", frame.getname("_inst").__getattr__("weibullvariate")); + frame.setlocal("getstate", frame.getname("_inst").__getattr__("getstate")); + frame.setlocal("setstate", frame.getname("_inst").__getattr__("setstate")); + frame.setlocal("jumpahead", frame.getname("_inst").__getattr__("jumpahead")); + frame.setlocal("whseed", frame.getname("_inst").__getattr__("whseed")); + if (frame.getname("__name__")._eq(s$111).__nonzero__()) { + frame.getname("_test").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("random")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "random"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(random._PyInner.class, newargs, random.jpy$packages, random.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/re$_PyInner.class b/server/jpywork/re$_PyInner.class new file mode 100644 index 00000000..fc31af35 Binary files /dev/null and b/server/jpywork/re$_PyInner.class differ diff --git a/server/jpywork/re.class b/server/jpywork/re.class new file mode 100644 index 00000000..97062698 Binary files /dev/null and b/server/jpywork/re.class differ diff --git a/server/jpywork/re.java b/server/jpywork/re.java new file mode 100644 index 00000000..f1377fa9 --- /dev/null +++ b/server/jpywork/re.java @@ -0,0 +1,115 @@ +import org.python.core.*; + +public class re extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyFunctionTable funcTable; + private static PyCode c$0_main; + private static void initConstants() { + s$0 = Py.newString("match"); + s$1 = Py.newString("search"); + s$2 = Py.newString("sub"); + s$3 = Py.newString("subn"); + s$4 = Py.newString("split"); + s$5 = Py.newString("findall"); + s$6 = Py.newString("compile"); + s$7 = Py.newString("purge"); + s$8 = Py.newString("template"); + s$9 = Py.newString("escape"); + s$10 = Py.newString("I"); + s$11 = Py.newString("L"); + s$12 = Py.newString("M"); + s$13 = Py.newString("S"); + s$14 = Py.newString("X"); + s$15 = Py.newString("U"); + s$16 = Py.newString("IGNORECASE"); + s$17 = Py.newString("LOCALE"); + s$18 = Py.newString("MULTILINE"); + s$19 = Py.newString("DOTALL"); + s$20 = Py.newString("VERBOSE"); + s$21 = Py.newString("UNICODE"); + s$22 = Py.newString("error"); + s$23 = Py.newString("re"); + s$24 = Py.newString("/usr/share/jython/Lib/re.py"); + funcTable = new _PyInner(); + c$0_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/re.py", "main", false, false, funcTable, 0, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$0_main == null) _PyInner.initConstants(); + return c$0_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.main$1(frame); + default: + return null; + } + } + + private static PyObject main$1(PyFrame frame) { + frame.setglobal("__file__", s$24); + + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal("__all__", new PyList(new PyObject[] {s$0, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12, s$13, s$14, s$15, s$16, s$17, s$18, s$19, s$20, s$21, s$22})); + frame.setlocal("sre", org.python.core.imp.importOne("sre", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("module", frame.getname("sys").__getattr__("modules").__getitem__(s$23)); + t$0$int = 0; + t$1$PyObject = frame.getname("__all__"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal("name", t$0$PyObject); + frame.getname("setattr").__call__(frame.getname("module"), frame.getname("name"), frame.getname("getattr").__call__(frame.getname("sre"), frame.getname("name"))); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("re")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "re"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(re._PyInner.class, newargs, re.jpy$packages, re.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/repr$_PyInner.class b/server/jpywork/repr$_PyInner.class new file mode 100644 index 00000000..2bfce455 Binary files /dev/null and b/server/jpywork/repr$_PyInner.class differ diff --git a/server/jpywork/repr.class b/server/jpywork/repr.class new file mode 100644 index 00000000..0565ed59 Binary files /dev/null and b/server/jpywork/repr.class differ diff --git a/server/jpywork/repr.java b/server/jpywork/repr.java new file mode 100644 index 00000000..2cfaa1da --- /dev/null +++ b/server/jpywork/repr.java @@ -0,0 +1,354 @@ +import org.python.core.*; + +public class repr extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject i$3; + private static PyObject i$4; + private static PyObject i$5; + private static PyObject i$6; + private static PyObject i$7; + private static PyObject i$8; + private static PyObject i$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject i$13; + private static PyObject i$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject i$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_repr; + private static PyCode c$2_repr1; + private static PyCode c$3_repr_tuple; + private static PyCode c$4_repr_list; + private static PyCode c$5_repr_dictionary; + private static PyCode c$6_repr_string; + private static PyCode c$7_repr_long_int; + private static PyCode c$8_repr_instance; + private static PyCode c$9_Repr; + private static PyCode c$10_main; + private static void initConstants() { + s$0 = Py.newString("Redo the `...` (representation) but with limits on most sizes."); + s$1 = Py.newString("Repr"); + s$2 = Py.newString("repr"); + i$3 = Py.newInteger(6); + i$4 = Py.newInteger(4); + i$5 = Py.newInteger(30); + i$6 = Py.newInteger(40); + i$7 = Py.newInteger(20); + i$8 = Py.newInteger(7); + i$9 = Py.newInteger(2); + s$10 = Py.newString(" "); + s$11 = Py.newString("_"); + s$12 = Py.newString("repr_"); + i$13 = Py.newInteger(0); + i$14 = Py.newInteger(3); + s$15 = Py.newString("..."); + s$16 = Py.newString("()"); + s$17 = Py.newString("(...)"); + s$18 = Py.newString(""); + s$19 = Py.newString(", "); + i$20 = Py.newInteger(1); + s$21 = Py.newString(", ..."); + s$22 = Py.newString(","); + s$23 = Py.newString("("); + s$24 = Py.newString(")"); + s$25 = Py.newString("[]"); + s$26 = Py.newString("[...]"); + s$27 = Py.newString("["); + s$28 = Py.newString("]"); + s$29 = Py.newString("{}"); + s$30 = Py.newString("{...}"); + s$31 = Py.newString(": "); + s$32 = Py.newString("{"); + s$33 = Py.newString("}"); + s$34 = Py.newString("<"); + s$35 = Py.newString(" instance at "); + s$36 = Py.newString(">"); + s$37 = Py.newString("/usr/share/jython/Lib-cpython/repr.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/repr.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_repr = Py.newCode(2, new String[] {"self", "x"}, "/usr/share/jython/Lib-cpython/repr.py", "repr", false, false, funcTable, 1, null, null, 0, 1); + c$2_repr1 = Py.newCode(3, new String[] {"self", "x", "level", "j", "parts", "i", "typename", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr1", false, false, funcTable, 2, null, null, 0, 1); + c$3_repr_tuple = Py.newCode(3, new String[] {"self", "x", "level", "n", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_tuple", false, false, funcTable, 3, null, null, 0, 1); + c$4_repr_list = Py.newCode(3, new String[] {"self", "x", "level", "n", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_list", false, false, funcTable, 4, null, null, 0, 1); + c$5_repr_dictionary = Py.newCode(3, new String[] {"self", "x", "level", "n", "i", "key", "keys", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_dictionary", false, false, funcTable, 5, null, null, 0, 1); + c$6_repr_string = Py.newCode(3, new String[] {"self", "x", "level", "j", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_string", false, false, funcTable, 6, null, null, 0, 1); + c$7_repr_long_int = Py.newCode(3, new String[] {"self", "x", "level", "j", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_long_int", false, false, funcTable, 7, null, null, 0, 1); + c$8_repr_instance = Py.newCode(3, new String[] {"self", "x", "level", "j", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_instance", false, false, funcTable, 8, null, null, 0, 1); + c$9_Repr = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/repr.py", "Repr", false, false, funcTable, 9, null, null, 0, 0); + c$10_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/repr.py", "main", false, false, funcTable, 10, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$10_main == null) _PyInner.initConstants(); + return c$10_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.repr$2(frame); + case 2: + return _PyInner.repr1$3(frame); + case 3: + return _PyInner.repr_tuple$4(frame); + case 4: + return _PyInner.repr_list$5(frame); + case 5: + return _PyInner.repr_dictionary$6(frame); + case 6: + return _PyInner.repr_string$7(frame); + case 7: + return _PyInner.repr_long_int$8(frame); + case 8: + return _PyInner.repr_instance$9(frame); + case 9: + return _PyInner.Repr$10(frame); + case 10: + return _PyInner.main$11(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + frame.getlocal(0).__setattr__("maxlevel", i$3); + frame.getlocal(0).__setattr__("maxtuple", i$3); + frame.getlocal(0).__setattr__("maxlist", i$3); + frame.getlocal(0).__setattr__("maxdict", i$4); + frame.getlocal(0).__setattr__("maxstring", i$5); + frame.getlocal(0).__setattr__("maxlong", i$6); + frame.getlocal(0).__setattr__("maxother", i$7); + return Py.None; + } + + private static PyObject repr$2(PyFrame frame) { + return frame.getlocal(0).invoke("repr1", frame.getlocal(1), frame.getlocal(0).__getattr__("maxlevel")); + } + + private static PyObject repr1$3(PyFrame frame) { + frame.setlocal(6, frame.getglobal("type").__call__(frame.getlocal(1)).__repr__().__getslice__(i$8, i$9.__neg__(), null)); + if (s$10._in(frame.getlocal(6)).__nonzero__()) { + frame.setlocal(4, frame.getlocal(6).invoke("split")); + frame.setlocal(6, s$11.invoke("join", frame.getlocal(4))); + } + if (frame.getglobal("hasattr").__call__(frame.getlocal(0), s$12._add(frame.getlocal(6))).__nonzero__()) { + return frame.getglobal("getattr").__call__(frame.getlocal(0), s$12._add(frame.getlocal(6))).__call__(frame.getlocal(1), frame.getlocal(2)); + } + else { + frame.setlocal(7, frame.getlocal(1).__repr__()); + if (frame.getglobal("len").__call__(frame.getlocal(7))._gt(frame.getlocal(0).__getattr__("maxother")).__nonzero__()) { + frame.setlocal(5, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxother")._sub(i$14)._div(i$9))); + frame.setlocal(3, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxother")._sub(i$14)._sub(frame.getlocal(5)))); + frame.setlocal(7, frame.getlocal(7).__getslice__(null, frame.getlocal(5), null)._add(s$15)._add(frame.getlocal(7).__getslice__(frame.getglobal("len").__call__(frame.getlocal(7))._sub(frame.getlocal(3)), null, null))); + } + return frame.getlocal(7); + } + } + + private static PyObject repr_tuple$4(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("len").__call__(frame.getlocal(1))); + if (frame.getlocal(3)._eq(i$13).__nonzero__()) { + return s$16; + } + if (frame.getlocal(2)._le(i$13).__nonzero__()) { + return s$17; + } + frame.setlocal(5, s$18); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("min").__call__(frame.getlocal(3), frame.getlocal(0).__getattr__("maxtuple"))); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + if (frame.getlocal(5).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$19)); + } + frame.setlocal(5, frame.getlocal(5)._add(frame.getlocal(0).invoke("repr1", frame.getlocal(1).__getitem__(frame.getlocal(4)), frame.getlocal(2)._sub(i$20)))); + } + if (frame.getlocal(3)._gt(frame.getlocal(0).__getattr__("maxtuple")).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$21)); + } + else if (frame.getlocal(3)._eq(i$20).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$22)); + } + return s$23._add(frame.getlocal(5))._add(s$24); + } + + private static PyObject repr_list$5(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("len").__call__(frame.getlocal(1))); + if (frame.getlocal(3)._eq(i$13).__nonzero__()) { + return s$25; + } + if (frame.getlocal(2)._le(i$13).__nonzero__()) { + return s$26; + } + frame.setlocal(5, s$18); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("min").__call__(frame.getlocal(3), frame.getlocal(0).__getattr__("maxlist"))); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + if (frame.getlocal(5).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$19)); + } + frame.setlocal(5, frame.getlocal(5)._add(frame.getlocal(0).invoke("repr1", frame.getlocal(1).__getitem__(frame.getlocal(4)), frame.getlocal(2)._sub(i$20)))); + } + if (frame.getlocal(3)._gt(frame.getlocal(0).__getattr__("maxlist")).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$21)); + } + return s$27._add(frame.getlocal(5))._add(s$28); + } + + private static PyObject repr_dictionary$6(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("len").__call__(frame.getlocal(1))); + if (frame.getlocal(3)._eq(i$13).__nonzero__()) { + return s$29; + } + if (frame.getlocal(2)._le(i$13).__nonzero__()) { + return s$30; + } + frame.setlocal(7, s$18); + frame.setlocal(6, frame.getlocal(1).invoke("keys")); + frame.getlocal(6).invoke("sort"); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("min").__call__(frame.getlocal(3), frame.getlocal(0).__getattr__("maxdict"))); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + if (frame.getlocal(7).__nonzero__()) { + frame.setlocal(7, frame.getlocal(7)._add(s$19)); + } + frame.setlocal(5, frame.getlocal(6).__getitem__(frame.getlocal(4))); + frame.setlocal(7, frame.getlocal(7)._add(frame.getlocal(0).invoke("repr1", frame.getlocal(5), frame.getlocal(2)._sub(i$20)))); + frame.setlocal(7, frame.getlocal(7)._add(s$31)._add(frame.getlocal(0).invoke("repr1", frame.getlocal(1).__getitem__(frame.getlocal(5)), frame.getlocal(2)._sub(i$20)))); + } + if (frame.getlocal(3)._gt(frame.getlocal(0).__getattr__("maxdict")).__nonzero__()) { + frame.setlocal(7, frame.getlocal(7)._add(s$21)); + } + return s$32._add(frame.getlocal(7))._add(s$33); + } + + private static PyObject repr_string$7(PyFrame frame) { + frame.setlocal(5, frame.getlocal(1).__getslice__(null, frame.getlocal(0).__getattr__("maxstring"), null).__repr__()); + if (frame.getglobal("len").__call__(frame.getlocal(5))._gt(frame.getlocal(0).__getattr__("maxstring")).__nonzero__()) { + frame.setlocal(4, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxstring")._sub(i$14)._div(i$9))); + frame.setlocal(3, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxstring")._sub(i$14)._sub(frame.getlocal(4)))); + frame.setlocal(5, frame.getlocal(1).__getslice__(null, frame.getlocal(4), null)._add(frame.getlocal(1).__getslice__(frame.getglobal("len").__call__(frame.getlocal(1))._sub(frame.getlocal(3)), null, null)).__repr__()); + frame.setlocal(5, frame.getlocal(5).__getslice__(null, frame.getlocal(4), null)._add(s$15)._add(frame.getlocal(5).__getslice__(frame.getglobal("len").__call__(frame.getlocal(5))._sub(frame.getlocal(3)), null, null))); + } + return frame.getlocal(5); + } + + private static PyObject repr_long_int$8(PyFrame frame) { + frame.setlocal(5, frame.getlocal(1).__repr__()); + if (frame.getglobal("len").__call__(frame.getlocal(5))._gt(frame.getlocal(0).__getattr__("maxlong")).__nonzero__()) { + frame.setlocal(4, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxlong")._sub(i$14)._div(i$9))); + frame.setlocal(3, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxlong")._sub(i$14)._sub(frame.getlocal(4)))); + frame.setlocal(5, frame.getlocal(5).__getslice__(null, frame.getlocal(4), null)._add(s$15)._add(frame.getlocal(5).__getslice__(frame.getglobal("len").__call__(frame.getlocal(5))._sub(frame.getlocal(3)), null, null))); + } + return frame.getlocal(5); + } + + private static PyObject repr_instance$9(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + try { + frame.setlocal(5, frame.getlocal(1).__repr__()); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return s$34._add(frame.getlocal(1).__getattr__("__class__").__getattr__("__name__"))._add(s$35)._add(frame.getglobal("hex").__call__(frame.getglobal("id").__call__(frame.getlocal(1))).__getslice__(i$9, null, null))._add(s$36); + } + if (frame.getglobal("len").__call__(frame.getlocal(5))._gt(frame.getlocal(0).__getattr__("maxstring")).__nonzero__()) { + frame.setlocal(4, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxstring")._sub(i$14)._div(i$9))); + frame.setlocal(3, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxstring")._sub(i$14)._sub(frame.getlocal(4)))); + frame.setlocal(5, frame.getlocal(5).__getslice__(null, frame.getlocal(4), null)._add(s$15)._add(frame.getlocal(5).__getslice__(frame.getglobal("len").__call__(frame.getlocal(5))._sub(frame.getlocal(3)), null, null))); + } + return frame.getlocal(5); + } + + private static PyObject Repr$10(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$0___init__)); + frame.setlocal("repr", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_repr)); + frame.setlocal("repr1", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_repr1)); + frame.setlocal("repr_tuple", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_repr_tuple)); + frame.setlocal("repr_list", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_repr_list)); + frame.setlocal("repr_dictionary", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_repr_dictionary)); + frame.setlocal("repr_string", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_repr_string)); + frame.setlocal("repr_long_int", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_repr_long_int)); + frame.setlocal("repr_instance", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_repr_instance)); + return frame.getf_locals(); + } + + private static PyObject main$11(PyFrame frame) { + frame.setglobal("__file__", s$37); + + /* Redo the `...` (representation) but with limits on most sizes. */ + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2})); + frame.setlocal("Repr", Py.makeClass("Repr", new PyObject[] {}, c$9_Repr, null)); + frame.setlocal("aRepr", frame.getname("Repr").__call__()); + frame.setlocal("repr", frame.getname("aRepr").__getattr__("repr")); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("repr")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "repr"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(repr._PyInner.class, newargs, repr.jpy$packages, repr.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/server$_PyInner.class b/server/jpywork/server$_PyInner.class new file mode 100644 index 00000000..fb598633 Binary files /dev/null and b/server/jpywork/server$_PyInner.class differ diff --git a/server/jpywork/server.class b/server/jpywork/server.class new file mode 100644 index 00000000..457a26ab Binary files /dev/null and b/server/jpywork/server.class differ diff --git a/server/jpywork/server.java b/server/jpywork/server.java new file mode 100644 index 00000000..b871ed6e --- /dev/null +++ b/server/jpywork/server.java @@ -0,0 +1,1188 @@ +import org.python.core.*; + +public class server extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject i$8; + private static PyObject i$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject i$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject s$56; + private static PyObject s$57; + private static PyObject s$58; + private static PyObject s$59; + private static PyObject s$60; + private static PyObject s$61; + private static PyObject s$62; + private static PyObject s$63; + private static PyObject s$64; + private static PyObject s$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyObject s$68; + private static PyObject s$69; + private static PyObject s$70; + private static PyObject s$71; + private static PyObject s$72; + private static PyObject s$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject s$80; + private static PyObject s$81; + private static PyObject s$82; + private static PyObject s$83; + private static PyObject s$84; + private static PyObject s$85; + private static PyObject s$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject s$89; + private static PyObject s$90; + private static PyObject s$91; + private static PyObject s$92; + private static PyObject s$93; + private static PyObject s$94; + private static PyObject s$95; + private static PyObject s$96; + private static PyObject s$97; + private static PyObject s$98; + private static PyObject s$99; + private static PyObject s$100; + private static PyObject s$101; + private static PyObject s$102; + private static PyObject s$103; + private static PyObject s$104; + private static PyObject s$105; + private static PyObject s$106; + private static PyObject s$107; + private static PyObject s$108; + private static PyObject s$109; + private static PyObject i$110; + private static PyObject s$111; + private static PyObject s$112; + private static PyObject i$113; + private static PyObject s$114; + private static PyObject s$115; + private static PyObject s$116; + private static PyObject s$117; + private static PyObject s$118; + private static PyObject s$119; + private static PyObject s$120; + private static PyObject s$121; + private static PyObject s$122; + private static PyObject s$123; + private static PyObject s$124; + private static PyObject s$125; + private static PyObject s$126; + private static PyObject s$127; + private static PyObject s$128; + private static PyObject s$129; + private static PyObject s$130; + private static PyObject s$131; + private static PyObject s$132; + private static PyObject s$133; + private static PyFunctionTable funcTable; + private static PyCode c$0_register; + private static PyCode c$1_update; + private static PyCode c$2_remove; + private static PyCode c$3_lookup; + private static PyCode c$4_list; + private static PyCode c$5_getCredential; + private static PyCode c$6_getAccounting; + private static PyCode c$7___init__; + private static PyCode c$8_construct_hierarchy; + private static PyCode c$9_sec_init; + private static PyCode c$10_save_state; + private static PyCode c$11_GENIServer; + private static PyCode c$12_handle; + private static PyCode c$13_handle_connection; + private static PyCode c$14_main; + private static PyCode c$15_main; + private static void initConstants() { + s$0 = Py.newString("127.0.0.1"); + i$1 = Py.newInteger(8002); + s$2 = Py.newString("interface_tree_sr"); + s$3 = Py.newString("interface_tree_cr"); + s$4 = Py.newString("../"); + s$5 = Py.newString("../util"); + s$6 = Py.newString("../util/sec"); + s$7 = Py.newString("../PLCAPI/trunk"); + i$8 = Py.newInteger(0); + i$9 = Py.newInteger(1); + s$10 = Py.newString("type"); + s$11 = Py.newString("g_params"); + s$12 = Py.newString("Record "); + s$13 = Py.newString("hrn"); + s$14 = Py.newString(" already exists.\012"); + s$15 = Py.newString("SA"); + s$16 = Py.newString("MA"); + s$17 = Py.newString("local"); + s$18 = Py.newString("wrapperurl"); + s$19 = Py.newString(""); + s$20 = Py.newString("slc"); + s$21 = Py.newString("comp"); + s$22 = Py.newString("(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)"); + s$23 = Py.newString("#0:reg:"); + s$24 = Py.newString(":"); + s$25 = Py.newString("#1:reg:"); + s$26 = Py.newString("rights"); + s$27 = Py.newString("p_params"); + s$28 = Py.newString("site_id"); + s$29 = Py.newString("SELECT site_id FROM sites WHERE login_base = '"); + s$30 = Py.newString("';"); + s$31 = Py.newString("login_base"); + s$32 = Py.newString("SELECT * FROM sites WHERE login_base = '"); + s$33 = Py.newString("'"); + s$34 = Py.newString("Site login_base '"); + s$35 = Py.newString(", already exists in the system. Try another name.\012"); + i$36 = Py.newInteger(10); + s$37 = Py.newString("slice"); + s$38 = Py.newString("component"); + s$39 = Py.newString("/"); + s$40 = Py.newString("."); + s$41 = Py.newString("rm -rf "); + s$42 = Py.newString(".cert"); + s$43 = Py.newString("pubkey"); + s$44 = Py.newString("pointer"); + s$45 = Py.newString("INSERT"); + s$46 = Py.newString("DROP TABLE IF EXISTS "); + s$47 = Py.newString("CREATE TABLE "); + s$48 = Py.newString(" ( hrn text, type text, uuid text, userlist text, rights text, description text, pubkey text, wrapperURL text, disabled text, pointer integer);"); + s$49 = Py.newString("db_info"); + s$50 = Py.newString("key_info"); + s$51 = Py.newString(".pkey"); + s$52 = Py.newString("sr"); + s$53 = Py.newString("cr"); + s$54 = Py.newString(" "); + s$55 = Py.newString(" is successfully added.\012"); + s$56 = Py.newString("_"); + s$57 = Py.newString("name"); + s$58 = Py.newString("UPDATE "); + s$59 = Py.newString(" SET hrn = '"); + s$60 = Py.newString("userlist"); + s$61 = Py.newString(" userlist = '"); + s$62 = Py.newString(" rights = '"); + s$63 = Py.newString(" WHERE pointer = "); + s$64 = Py.newString("Slice "); + s$65 = Py.newString("user"); + s$66 = Py.newString("(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)"); + s$67 = Py.newString("#0:reg:slc:"); + s$68 = Py.newString("User "); + s$69 = Py.newString("node"); + s$70 = Py.newString("Node "); + s$71 = Py.newString("Error in 'register():"); + s$72 = Py.newString("Error in register:."); + s$73 = Py.newString(" does not exist.\012"); + s$74 = Py.newString("geni"); + s$75 = Py.newString("INSERT INTO slice_person VALUES("); + s$76 = Py.newString(", "); + s$77 = Py.newString(");"); + s$78 = Py.newString("UPDATE"); + s$79 = Py.newString("The record '"); + s$80 = Py.newString("' is successfully updated.\012"); + s$81 = Py.newString("Error in 'update():'"); + s$82 = Py.newString("Error in update:"); + s$83 = Py.newString("Error in remove.\012"); + s$84 = Py.newString("Site removal should be at the leaves.\012"); + s$85 = Py.newString("DELETE"); + s$86 = Py.newString("' is successfully removed.\012"); + s$87 = Py.newString("Error in 'delete()'"); + s$88 = Py.newString("Error in delete:"); + s$89 = Py.newString("pl"); + s$90 = Py.newString("cred_name"); + s$91 = Py.newString("registry"); + s$92 = Py.newString("SELECT * FROM "); + s$93 = Py.newString(" WHERE hrn = '"); + s$94 = Py.newString("' "); + s$95 = Py.newString("admin"); + s$96 = Py.newString("roles"); + s$97 = Py.newString("(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)"); + s$98 = Py.newString("(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)"); + s$99 = Py.newString("#1:reg:comp:"); + s$100 = Py.newString("pi"); + s$101 = Py.newString("Registry credentials"); + s$102 = Py.newString("is_deleted"); + s$103 = Py.newString("expires"); + s$104 = Py.newString("f"); + s$105 = Py.newString("SELECT * FROM person_slice WHERE person_id = "); + s$106 = Py.newString(" AND slice_id = "); + s$107 = Py.newString("(10-0)(11-0)(12-0)(13-0)(14-0)(15-0)(16-0)(17-0)(18-0)(20-0)(21-0)(22-0)(23-0)"); + s$108 = Py.newString("#0:comp:planetlab.*"); + s$109 = Py.newString("Credential "); + i$110 = Py.newInteger(3); + s$111 = Py.newString("account_name"); + s$112 = Py.newString("uuid"); + i$113 = Py.newInteger(2); + s$114 = Py.newString("register"); + s$115 = Py.newString("remove"); + s$116 = Py.newString("update"); + s$117 = Py.newString("lookup"); + s$118 = Py.newString("list"); + s$119 = Py.newString("getCredential"); + s$120 = Py.newString("getAccounting"); + s$121 = Py.newString("server"); + s$122 = Py.newString("accounting"); + s$123 = Py.newString("credential"); + s$124 = Py.newString("both"); + s$125 = Py.newString("opname"); + s$126 = Py.newString("WRONG INTERFACE"); + s$127 = Py.newString("NO FUNC"); + s$128 = Py.newString("AUTHORIZATION FAIL"); + s$129 = Py.newString("message"); + s$130 = Py.newString("Requested record does not exist.\012"); + s$131 = Py.newString("There is an error handling the request. "); + s$132 = Py.newString("__main__"); + s$133 = Py.newString("/home/soners/work/geni/rpc/server/server.py"); + funcTable = new _PyInner(); + c$0_register = Py.newCode(3, new String[] {"self", "record", "dbinfo", "other_tree", "parent_key_info", "user_fields", "existing_res", "login_base", "slice_fields", "rights", "reg_type", "querystr", "cnx", "pointer", "tree", "new_table_name", "table", "dirname", "parent_data", "site_fields", "res", "parent_db_info", "db_info", "curdir", "node_fields", "hrn_suffix", "i", "info", "long_hrn", "e", "dir_type", "key_info", "type"}, "/home/soners/work/geni/rpc/server/server.py", "register", false, false, funcTable, 0, null, null, 0, 1); + c$1_update = Py.newCode(3, new String[] {"self", "record", "dbinfo", "usr_dbinfo", "type", "user_pointer", "rec", "existing_res", "user_fields", "pl_res", "node_fields", "cnx", "site_fields", "pointer", "querystr", "e", "table", "long_hrn", "slice_fields", "user"}, "/home/soners/work/geni/rpc/server/server.py", "update", false, false, funcTable, 1, null, null, 0, 1); + c$2_remove = Py.newCode(3, new String[] {"self", "record", "dbinfo", "type", "existing_res", "tree", "cnx", "pointer", "querystr", "hrn_suffix", "leaf", "e", "table", "long_hrn"}, "/home/soners/work/geni/rpc/server/server.py", "remove", false, false, funcTable, 2, null, null, 0, 1); + c$3_lookup = Py.newCode(3, new String[] {"self", "record", "dbinfo", "pointer", "cnx", "type", "existing_res", "pl_res", "table"}, "/home/soners/work/geni/rpc/server/server.py", "lookup", false, false, funcTable, 3, null, null, 0, 1); + c$4_list = Py.newCode(3, new String[] {"self", "record", "dbinfo", "x"}, "/home/soners/work/geni/rpc/server/server.py", "list", false, false, funcTable, 4, null, null, 0, 1); + c$5_getCredential = Py.newCode(5, new String[] {"self", "record", "dbinfo", "keyinfo", "peerinfo", "openssl_cert", "usr_dbinfo", "cname", "has_slc", "cred_name", "slc_result", "expires", "rights", "querystr", "cnx", "pointer", "table", "usr_slc_res", "user_pointer", "cred_pem", "slc_rec", "rec", "deleted", "pl_res", "timenow", "geni_res", "type"}, "/home/soners/work/geni/rpc/server/server.py", "getCredential", false, false, funcTable, 5, null, null, 0, 1); + c$6_getAccounting = Py.newCode(5, new String[] {"self", "record", "dbinfo", "keyinfo", "peer_cert", "uuid", "cnx", "openssl_cert", "rec", "acc", "res", "table"}, "/home/soners/work/geni/rpc/server/server.py", "getAccounting", false, false, funcTable, 6, null, null, 0, 1); + c$7___init__ = Py.newCode(3, new String[] {"self", "socket", "handler"}, "/home/soners/work/geni/rpc/server/server.py", "__init__", false, false, funcTable, 7, null, null, 0, 1); + c$8_construct_hierarchy = Py.newCode(1, new String[] {"self"}, "/home/soners/work/geni/rpc/server/server.py", "construct_hierarchy", false, false, funcTable, 8, null, null, 0, 1); + c$9_sec_init = Py.newCode(1, new String[] {"self", "id_key_file", "acc_file", "id_file", "key_info", "cred_file"}, "/home/soners/work/geni/rpc/server/server.py", "sec_init", false, false, funcTable, 9, null, null, 0, 1); + c$10_save_state = Py.newCode(2, new String[] {"self", "type"}, "/home/soners/work/geni/rpc/server/server.py", "save_state", false, false, funcTable, 10, null, null, 0, 1); + c$11_GENIServer = Py.newCode(0, new String[] {}, "/home/soners/work/geni/rpc/server/server.py", "GENIServer", false, false, funcTable, 11, null, null, 0, 0); + c$12_handle = Py.newCode(1, new String[] {"self", "type", "op", "peerinfo", "target_hrn", "result", "peer", "dbinfo", "tree", "operation_request", "opname", "hrn_of_call", "reg_type", "e", "params", "keyinfo"}, "/home/soners/work/geni/rpc/server/server.py", "handle", false, false, funcTable, 12, null, null, 0, 1); + c$13_handle_connection = Py.newCode(0, new String[] {}, "/home/soners/work/geni/rpc/server/server.py", "handle_connection", false, false, funcTable, 13, null, null, 0, 0); + c$14_main = Py.newCode(0, new String[] {}, "/home/soners/work/geni/rpc/server/server.py", "main", false, false, funcTable, 14, null, null, 0, 1); + c$15_main = Py.newCode(0, new String[] {}, "/home/soners/work/geni/rpc/server/server.py", "main", false, false, funcTable, 15, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$15_main == null) _PyInner.initConstants(); + return c$15_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.register$1(frame); + case 1: + return _PyInner.update$2(frame); + case 2: + return _PyInner.remove$3(frame); + case 3: + return _PyInner.lookup$4(frame); + case 4: + return _PyInner.list$5(frame); + case 5: + return _PyInner.getCredential$6(frame); + case 6: + return _PyInner.getAccounting$7(frame); + case 7: + return _PyInner.__init__$8(frame); + case 8: + return _PyInner.construct_hierarchy$9(frame); + case 9: + return _PyInner.sec_init$10(frame); + case 10: + return _PyInner.save_state$11(frame); + case 11: + return _PyInner.GENIServer$12(frame); + case 12: + return _PyInner.handle$13(frame); + case 13: + return _PyInner.handle_connection$14(frame); + case 14: + return _PyInner.main$15(frame); + case 15: + return _PyInner.main$16(frame); + default: + return null; + } + } + + private static PyObject register$1(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + frame.setlocal(12, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(16, frame.getlocal(2).__getitem__(i$9)); + frame.setlocal(32, frame.getlocal(1).__getitem__(s$11).__getitem__(s$10)); + try { + frame.setlocal(6, frame.getglobal("check_exists_geni").__call__(frame.getlocal(1), frame.getlocal(2))); + if (frame.getlocal(6).__nonzero__()) { + throw Py.makeException(frame.getglobal("ExistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$14))); + } + if (((t$0$PyObject = frame.getlocal(32)._eq(s$15)).__nonzero__() ? t$0$PyObject : frame.getlocal(32)._eq(s$16)).__nonzero__()) { + frame.getlocal(1).__getitem__(s$11).__setitem__(s$18, s$17); + frame.setlocal(10, s$19); + if (frame.getlocal(32)._eq(s$15).__nonzero__()) { + frame.setlocal(10, s$20); + } + else { + frame.setlocal(10, s$21); + } + frame.setlocal(9, s$22); + frame.setlocal(9, frame.getlocal(9)._add(s$23)._add(frame.getlocal(10))._add(s$24)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)))._add(s$25)._add(frame.getlocal(10))._add(s$24)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$26, frame.getlocal(9)); + frame.setlocal(28, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(25, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(13, i$9.__neg__()); + frame.setlocal(7, s$19); + frame.setlocal(19, frame.getlocal(1).__getitem__(s$27)); + frame.setlocal(3, frame.getglobal("None")); + if (frame.getlocal(10)._eq(s$20).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).__getattr__("cr_tree")); + } + else { + frame.setlocal(3, frame.getlocal(0).__getattr__("sr_tree")); + } + frame.setlocal(27, frame.getlocal(3).invoke("tree_lookup", frame.getlocal(28))); + if (frame.getlocal(27).__nonzero__()) { + frame.setlocal(7, frame.getlocal(27).__getattr__("login_base")); + frame.setlocal(13, frame.getlocal(12).invoke("query", s$29._add(frame.getlocal(7))._add(s$30)).invoke("dictresult").__getitem__(i$8).__getitem__(s$28)); + } + else { + if (frame.getlocal(19).invoke("has_key", s$31).__nonzero__()) { + frame.setlocal(7, frame.getlocal(19).__getitem__(s$31)); + frame.setlocal(11, s$32._add(frame.getlocal(7))._add(s$33)); + frame.setlocal(20, frame.getlocal(12).invoke("query", frame.getlocal(11)).invoke("dictresult")); + if (frame.getlocal(20).__nonzero__()) { + return s$34._add(frame.getlocal(7))._add(s$35); + } + } + else { + frame.setlocal(7, frame.getglobal("hrn_to_loginbase").__call__(frame.getlocal(28))); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(i$9, i$36); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(26, t$0$PyObject); + frame.setlocal(11, s$32._add(frame.getlocal(7))._add(s$33)); + frame.setlocal(20, frame.getlocal(12).invoke("query", frame.getlocal(11)).invoke("dictresult")); + if (frame.getlocal(20).__not__().__nonzero__()) { + break; + } + else { + frame.setlocal(7, frame.getglobal("hrn_to_loginbase").__call__(frame.getlocal(28), frame.getlocal(26))); + } + } + frame.getlocal(19).__setitem__(s$31, frame.getlocal(7)); + } + frame.setlocal(13, frame.getglobal("shell").invoke("AddSite", frame.getglobal("pl_auth"), frame.getlocal(19))); + } + frame.setlocal(23, frame.getglobal("os").__getattr__("getcwd").__call__()); + if (frame.getlocal(10)._eq(s$20).__nonzero__()) { + frame.setlocal(30, s$37); + } + else { + frame.setlocal(30, s$38); + } + frame.setlocal(17, frame.getlocal(30)._add(s$39)._add(frame.getlocal(28).invoke("replace", s$40, s$39))); + if (frame.getglobal("os").__getattr__("path").__getattr__("exists").__call__(frame.getlocal(17)).__nonzero__()) { + frame.getglobal("os").__getattr__("system").__call__(s$41._add(frame.getlocal(17))); + } + frame.getglobal("os").__getattr__("makedirs").__call__(frame.getlocal(17)); + frame.getglobal("os").__getattr__("chdir").__call__(frame.getlocal(17)); + frame.getglobal("create_self_cert").__call__(frame.getlocal(25)); + frame.getglobal("os").__getattr__("chdir").__call__(frame.getlocal(23)); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$13, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$43, frame.getglobal("X509").__getattr__("load_cert").__call__(frame.getlocal(17)._add(s$39)._add(frame.getlocal(25))._add(s$42)).invoke("get_pubkey").__getattr__("as_pem").__call__(new PyObject[] {frame.getglobal("None")}, new String[] {"cipher"})); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$44, frame.getlocal(13)); + frame.setlocal(11, frame.getglobal("generate_querystr").__call__(s$45, frame.getlocal(16), frame.getlocal(1).__getitem__(s$11))); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + frame.setlocal(15, frame.getglobal("hrn_to_tablename").__call__(frame.getlocal(28), frame.getlocal(10))); + frame.getlocal(12).invoke("query", s$46._add(frame.getlocal(15))); + frame.setlocal(11, s$47._add(frame.getlocal(15))._add(s$48)); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + frame.setlocal(14, frame.getglobal("None")); + if (frame.getlocal(32)._eq(s$15).__nonzero__()) { + frame.setlocal(14, frame.getlocal(0).__getattr__("sr_tree")); + } + else { + frame.setlocal(14, frame.getlocal(0).__getattr__("cr_tree")); + } + frame.setlocal(18, frame.getlocal(14).invoke("tree_lookup", frame.getglobal("obtain_authority").__call__(frame.getlocal(28))).__getattr__("node_data")); + frame.setlocal(21, frame.getlocal(18).__getitem__(s$49)); + frame.setlocal(4, frame.getlocal(18).__getitem__(s$50)); + frame.setlocal(27, frame.getglobal("TreeNodeInfo").__call__()); + frame.getlocal(27).__setattr__("name", frame.getlocal(28)); + frame.getlocal(27).__setattr__("login_base", frame.getlocal(7)); + frame.setlocal(22, frame.getglobal("DbInfo").__call__()); + frame.setlocal(31, frame.getglobal("KeyInfo").__call__()); + frame.getlocal(27).__setattr__("node_data", new PyDictionary(new PyObject[] {s$49, frame.getlocal(22), s$50, frame.getlocal(31)})); + frame.getlocal(22).__setattr__("table_name", frame.getlocal(15)); + frame.getlocal(22).__setattr__("db_name", frame.getlocal(21).__getattr__("db_name")); + frame.getlocal(22).__setattr__("address", frame.getlocal(21).__getattr__("address")); + frame.getlocal(22).__setattr__("port", frame.getlocal(21).__getattr__("port")); + frame.getlocal(22).__setattr__("user", frame.getlocal(21).__getattr__("user")); + frame.getlocal(22).__setattr__("password", frame.getlocal(21).__getattr__("password")); + frame.getlocal(31).__setattr__("acc_file", s$19); + frame.getlocal(31).__setattr__("cred_file", s$19); + frame.getlocal(31).__setattr__("folder", frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(25))); + frame.getlocal(31).__setattr__("id_file", frame.getlocal(25)._add(s$42)); + frame.getlocal(31).__setattr__("id_key_file", frame.getlocal(25)._add(s$51)); + frame.getlocal(14).invoke("tree_add", frame.getlocal(27)); + if (frame.getlocal(32)._eq(s$15).__nonzero__()) { + frame.getlocal(0).invoke("save_state", s$52); + } + else { + frame.getlocal(0).invoke("save_state", s$53); + } + return frame.getlocal(32)._add(s$54)._add(frame.getlocal(28))._add(s$55); + } + else if (frame.getlocal(32)._eq(s$37).__nonzero__()) { + frame.setlocal(7, frame.getglobal("get_leaf").__call__(frame.getglobal("obtain_authority").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)))); + frame.setlocal(28, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(25, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(8, frame.getlocal(1).__getitem__(s$27)); + frame.getlocal(8).__setitem__(s$57, frame.getlocal(7)._add(s$56)._add(frame.getlocal(25))); + frame.setlocal(13, frame.getglobal("shell").invoke("AddSlice", frame.getglobal("pl_auth"), frame.getlocal(8))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$44, frame.getlocal(13)); + frame.setlocal(11, s$58._add(frame.getlocal(16))._add(s$59)._add(frame.getlocal(25))._add(s$33)); + if (frame.getlocal(1).__getitem__(s$11).invoke("has_key", s$60).__nonzero__()) { + frame.setlocal(11, frame.getlocal(11)._add(s$61)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$60))._add(s$33)); + } + if (frame.getlocal(1).__getitem__(s$11).invoke("has_key", s$26).__nonzero__()) { + frame.setlocal(11, frame.getlocal(11)._add(s$62)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$26))._add(s$33)); + } + frame.setlocal(11, frame.getlocal(11)._add(s$63)._add(frame.getglobal("str").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$44)))); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + return s$64._add(frame.getlocal(28))._add(s$55); + } + else if (frame.getlocal(32)._eq(s$65).__nonzero__()) { + frame.setlocal(28, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$13, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(9, s$66); + frame.setlocal(9, frame.getlocal(9)._add(s$67)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$26, frame.getlocal(9)); + frame.setlocal(5, frame.getlocal(1).__getitem__(s$27)); + frame.setlocal(13, frame.getglobal("shell").invoke("AddPerson", frame.getglobal("pl_auth"), frame.getlocal(5))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$44, frame.getlocal(13)); + frame.setlocal(11, frame.getglobal("generate_querystr").__call__(s$45, frame.getlocal(16), frame.getlocal(1).__getitem__(s$11))); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + return s$68._add(frame.getlocal(28))._add(s$55); + } + else if (frame.getlocal(32)._eq(s$69).__nonzero__()) { + frame.setlocal(28, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(7, frame.getlocal(0).__getattr__("cr_tree").invoke("tree_lookup", frame.getglobal("obtain_authority").__call__(frame.getlocal(28))).__getattr__("login_base")); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$13, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(9, s$19); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$26, frame.getlocal(9)); + frame.setlocal(24, frame.getlocal(1).__getitem__(s$27)); + frame.setlocal(13, frame.getglobal("shell").invoke("AddNode", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(7), frame.getlocal(24)})); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$44, frame.getlocal(13)); + frame.setlocal(11, s$58._add(frame.getlocal(16))._add(s$59)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$33)); + if (((t$2$PyObject = frame.getlocal(1).__getitem__(s$11).invoke("has_key", s$26)).__nonzero__() ? frame.getlocal(1).__getitem__(s$11).__getitem__(s$26)._ne(s$19) : t$2$PyObject).__nonzero__()) { + frame.setlocal(11, frame.getlocal(11)._add(s$62)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$26))._add(s$33)); + } + frame.setlocal(11, frame.getlocal(11)._add(s$63)._add(frame.getglobal("str").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$44)))); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + return s$70._add(frame.getlocal(28))._add(s$55); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("Exception"))) { + frame.setlocal(29, t$0$PyException.value); + Py.println(s$71._add(frame.getglobal("str").__call__(frame.getlocal(29)))); + return s$72._add(frame.getglobal("str").__call__(frame.getlocal(29))); + } + else throw t$0$PyException; + } + return Py.None; + } + + private static PyObject update$2(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(11, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(16, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(7, frame.getglobal("check_exists_geni").__call__(frame.getlocal(1), frame.getlocal(2))); + if (frame.getlocal(7).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(4, frame.getlocal(7).__getitem__(s$10)); + frame.setlocal(13, frame.getlocal(7).__getitem__(s$44)); + frame.setlocal(17, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + if (((t$0$PyObject = frame.getlocal(4)._eq(s$15)).__nonzero__() ? frame.getlocal(13)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(12, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdateSite", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(12)}); + } + else if (((t$0$PyObject = frame.getlocal(4)._eq(s$16)).__nonzero__() ? frame.getlocal(13)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(12, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdateSite", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(12)}); + } + else if (frame.getlocal(4)._eq(s$37).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetSlices", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(18, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdateSlice", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(18)}); + t$0$int = 0; + t$1$PyObject = frame.getlocal(1).__getitem__(s$11).__getitem__(s$60); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(19, t$0$PyObject); + frame.setlocal(3, frame.getglobal("determine_dbinfo").__call__(frame.getglobal("get_authority").__call__(frame.getlocal(19)), frame.getlocal(0).__getattr__("tree"))); + if (frame.getlocal(3).__nonzero__()) { + frame.setlocal(6, new PyDictionary(new PyObject[] {s$11, new PyDictionary(new PyObject[] {s$13, frame.getlocal(19)}), s$27, new PyDictionary(new PyObject[] {})})); + frame.setlocal(5, frame.getlocal(0).invoke("lookup", frame.getlocal(6), frame.getlocal(3)).__getitem__(s$74).__getitem__(s$44)); + frame.setlocal(14, s$75._add(frame.getlocal(13))._add(s$76)._add(frame.getlocal(5))._add(s$77)); + frame.getlocal(11).invoke("query", frame.getlocal(14)); + } + } + } + else if (frame.getlocal(4)._eq(s$65).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetPersons", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(8, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdatePerson", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(8)}); + } + else if (frame.getlocal(4)._eq(s$69).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetNodes", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(10, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdateNode", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(10)}); + } + frame.getlocal(1).__getitem__(s$11).__setitem__(s$13, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(14, frame.getglobal("generate_querystr").__call__(s$78, frame.getlocal(16), frame.getlocal(1).__getitem__(s$11))); + frame.getlocal(11).invoke("query", frame.getlocal(14)); + return s$79._add(frame.getlocal(17))._add(s$80); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("Exception"))) { + frame.setlocal(15, t$0$PyException.value); + Py.println(s$81._add(frame.getglobal("str").__call__(frame.getlocal(15)))); + return s$82._add(frame.getglobal("str").__call__(frame.getlocal(15))); + } + else throw t$0$PyException; + } + } + + private static PyObject remove$3(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(6, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(12, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(13, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(9, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(4, frame.getglobal("check_exists_geni").__call__(frame.getlocal(1), frame.getlocal(2))); + if (frame.getlocal(4).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(3, frame.getlocal(4).__getitem__(s$10)); + frame.setlocal(7, frame.getlocal(4).__getitem__(s$44)); + if (((t$0$PyObject = frame.getlocal(3)._eq(s$15)).__nonzero__() ? t$0$PyObject : frame.getlocal(3)._eq(s$16)).__nonzero__()) { + frame.setlocal(5, frame.getglobal("None")); + if (frame.getlocal(3)._eq(s$15).__nonzero__()) { + frame.setlocal(5, frame.getlocal(0).__getattr__("sr_tree")); + } + else { + frame.setlocal(5, frame.getlocal(0).__getattr__("cr_tree")); + } + frame.setlocal(10, frame.getlocal(5).invoke("is_leaf", frame.getlocal(13))); + if (frame.getlocal(10)._eq(frame.getglobal("None")).__nonzero__()) { + return s$83; + } + else if (frame.getlocal(10)._eq(frame.getglobal("False")).__nonzero__()) { + return s$84; + } + frame.getlocal(5).invoke("tree_remove", frame.getlocal(13)); + if (frame.getlocal(3)._eq(s$15).__nonzero__()) { + frame.getlocal(0).invoke("save_state", s$52); + } + else { + frame.getlocal(0).invoke("save_state", s$53); + } + if (frame.getglobal("site_to_auth").__call__(frame.getlocal(7)).__not__().__nonzero__()) { + try { + frame.getglobal("shell").invoke("DeleteSite", frame.getglobal("pl_auth"), frame.getlocal(7)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + i$9._eq(i$9); + } + } + } + else if (frame.getlocal(3)._eq(s$65).__nonzero__()) { + frame.getglobal("shell").invoke("DeletePerson", frame.getglobal("pl_auth"), frame.getlocal(7)); + } + else if (frame.getlocal(3)._eq(s$37).__nonzero__()) { + frame.getglobal("shell").invoke("DeleteSlice", frame.getglobal("pl_auth"), frame.getlocal(7)); + } + else if (frame.getlocal(3)._eq(s$69).__nonzero__()) { + frame.getglobal("shell").invoke("DeleteNode", frame.getglobal("pl_auth"), frame.getlocal(7)); + } + frame.setlocal(8, frame.getglobal("generate_querystr").__call__(s$85, frame.getlocal(12), frame.getlocal(1).__getitem__(s$11))); + frame.getlocal(6).invoke("query", frame.getlocal(8)); + return s$79._add(frame.getlocal(13))._add(s$86); + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("Exception"))) { + frame.setlocal(11, t$0$PyException.value); + Py.println(s$87._add(frame.getglobal("str").__call__(frame.getlocal(11)))); + return s$88._add(frame.getglobal("str").__call__(frame.getlocal(11))); + } + else throw t$0$PyException; + } + } + + private static PyObject lookup$4(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(4, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(8, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(6, frame.getglobal("check_exists_geni").__call__(frame.getlocal(1), frame.getlocal(2))); + if (frame.getlocal(6).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(5, frame.getlocal(6).__getitem__(s$10)); + frame.setlocal(3, frame.getlocal(6).__getitem__(s$44)); + frame.setlocal(7, frame.getglobal("None")); + if (((t$0$PyObject = frame.getlocal(5)._eq(s$15)).__nonzero__() ? frame.getlocal(3)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + else if (((t$0$PyObject = frame.getlocal(5)._eq(s$16)).__nonzero__() ? frame.getlocal(3)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + else if (frame.getlocal(5)._eq(s$37).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetSlices", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + else if (frame.getlocal(5)._eq(s$65).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetPersons", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + else if (frame.getlocal(5)._eq(s$69).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetNodes", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + return frame.getglobal("str").__call__(new PyDictionary(new PyObject[] {s$89, frame.getlocal(7), s$74, frame.getlocal(6)})); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return frame.getglobal("None"); + } + } + + private static PyObject list$5(PyFrame frame) { + frame.setlocal(3, i$9); + return Py.None; + } + + private static PyObject getCredential$6(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(14, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(16, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(19, frame.getglobal("None")); + if (frame.getlocal(1).__getitem__(s$11).__getitem__(s$90).invoke("split", s$24).__getitem__(i$8)._eq(s$91).__nonzero__()) { + frame.setlocal(25, frame.getlocal(14).invoke("query", s$92._add(frame.getlocal(16))._add(s$93)._add(frame.getglobal("get_leaf").__call__(frame.getlocal(4).__getitem__(i$8)))._add(s$94)).invoke("dictresult")); + if (frame.getlocal(25).__nonzero__()) { + frame.setlocal(25, frame.getlocal(25).__getitem__(i$8)); + } + else { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + frame.setlocal(26, frame.getlocal(25).__getitem__(s$10)); + frame.setlocal(15, frame.getlocal(25).__getitem__(s$44)); + frame.setlocal(12, frame.getlocal(25).__getitem__(s$26)); + frame.setlocal(23, frame.getglobal("None")); + if (((t$0$PyObject = frame.getlocal(26)._eq(s$15)).__nonzero__() ? frame.getlocal(15)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(23, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)}))); + if (frame.getlocal(23).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + } + else if (((t$0$PyObject = frame.getlocal(26)._eq(s$16)).__nonzero__() ? frame.getlocal(15)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(23, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)}))); + if (frame.getlocal(23).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + } + else if (frame.getlocal(26)._eq(s$65).__nonzero__()) { + frame.setlocal(23, frame.getglobal("shell").invoke("GetPersons", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)}))); + if (frame.getlocal(23).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + frame.setlocal(23, frame.getglobal("shell").invoke("GetPersons", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)})).__getitem__(i$8)); + if (((t$0$PyObject = frame.getlocal(12)._eq(s$19)).__nonzero__() ? t$0$PyObject : frame.getlocal(12)._eq(frame.getglobal("None"))).__nonzero__()) { + if (s$95._in(frame.getlocal(23).__getitem__(s$96)).__nonzero__()) { + frame.setlocal(12, s$97._add(s$98)); + frame.setlocal(12, frame.getlocal(12)._add(s$67)._add(frame.getglobal("ROOT_AUTH"))._add(s$99)._add(frame.getglobal("ROOT_AUTH"))); + } + else if (s$100._in(frame.getlocal(23).__getitem__(s$96)).__nonzero__()) { + frame.setlocal(12, s$97._add(s$98)); + frame.setlocal(12, frame.getlocal(12)._add(s$67)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(4).__getitem__(i$8)))._add(s$99)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(4).__getitem__(i$8)))); + } + else if (s$65._in(frame.getlocal(23).__getitem__(s$96)).__nonzero__()) { + frame.setlocal(12, s$66); + frame.setlocal(12, frame.getlocal(12)._add(s$67)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(4).__getitem__(i$8)))); + } + } + } + else if (frame.getlocal(26)._eq(s$69).__nonzero__()) { + frame.setlocal(23, frame.getglobal("shell").invoke("GetNodes", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)}))); + if (frame.getlocal(23).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + } + frame.setlocal(7, s$101); + frame.setlocal(5, frame.getlocal(4).__getitem__(i$9)); + frame.setlocal(19, frame.getglobal("create_cred").__call__(new PyObject[] {frame.getlocal(3).__getitem__(i$8), frame.getlocal(3).__getitem__(i$9), frame.getlocal(5).invoke("get_pubkey"), frame.getlocal(7), frame.getlocal(12)})); + } + else { + frame.setlocal(9, frame.getlocal(1).__getitem__(s$11).__getitem__(s$90).invoke("split", s$24)); + if (frame.getlocal(9).__getitem__(i$8)._eq(s$37).__nonzero__()) { + frame.setlocal(20, new PyDictionary(new PyObject[] {s$11, new PyDictionary(new PyObject[] {s$13, frame.getlocal(9).__getitem__(i$9)}), s$27, new PyDictionary(new PyObject[] {})})); + frame.setlocal(10, frame.getlocal(0).invoke("lookup", frame.getlocal(20), frame.getlocal(2))); + frame.setlocal(8, frame.getglobal("False")); + frame.setlocal(22, frame.getlocal(10).__getitem__(s$27).__getitem__(s$102)); + frame.setlocal(11, frame.getglobal("time").__getattr__("strptime").__call__(frame.getlocal(10).__getitem__(s$27).__getitem__(s$103), frame.getglobal("PL_DATETIME_FORMAT"))); + frame.setlocal(11, frame.getglobal("datetime").__getattr__("timedelta").__call__(new PyObject[] {frame.getglobal("calendar").__getattr__("timegm").__call__(frame.getlocal(11))}, new String[] {"seconds"})); + if (((t$0$PyObject = frame.getlocal(10)).__nonzero__() ? frame.getlocal(22)._eq(s$104) : t$0$PyObject).__nonzero__()) { + frame.setlocal(6, frame.getglobal("determine_dbinfo").__call__(frame.getglobal("get_authority").__call__(frame.getlocal(4).__getitem__(i$8)), frame.getlocal(0).__getattr__("tree"))); + if (frame.getlocal(6).__nonzero__()) { + frame.setlocal(21, new PyDictionary(new PyObject[] {s$11, new PyDictionary(new PyObject[] {s$13, frame.getlocal(4).__getitem__(i$8)}), s$27, new PyDictionary(new PyObject[] {})})); + frame.setlocal(18, frame.getlocal(0).invoke("lookup", frame.getlocal(21), frame.getlocal(6)).__getitem__(s$74).__getitem__(s$44)); + frame.setlocal(13, s$105._add(frame.getlocal(18))._add(s$106)._add(frame.getlocal(10).__getitem__(s$74).__getitem__(s$44))); + frame.setlocal(17, frame.getlocal(14).invoke("query", frame.getlocal(13)).invoke("dictresult")); + if (frame.getlocal(17).__nonzero__()) { + frame.setlocal(8, frame.getglobal("True")); + } + } + if (frame.getlocal(8).__nonzero__()) { + frame.setlocal(12, s$19); + if (((t$0$PyObject = frame.getlocal(10).__getitem__(s$74).__getitem__(s$26)._ne(s$19)).__nonzero__() ? t$0$PyObject : frame.getlocal(10).__getitem__(s$74).__getitem__(s$26)._ne(frame.getglobal("None"))).__nonzero__()) { + frame.setlocal(12, frame.getlocal(10).__getitem__(s$74).__getitem__(s$26)); + } + else { + frame.setlocal(12, s$107); + frame.setlocal(12, frame.getlocal(12)._add(s$108)); + } + frame.setlocal(7, frame.getlocal(10).__getitem__(s$74).__getitem__(s$13)); + frame.setlocal(24, frame.getglobal("datetime").__getattr__("timedelta").__call__(new PyObject[] {frame.getglobal("time").__getattr__("time").__call__()}, new String[] {"seconds"})); + if (frame.getlocal(11)._sub(frame.getlocal(24))._gt(frame.getglobal("CRED_GRANT_TIME")).__nonzero__()) { + frame.setlocal(5, frame.getglobal("crypto").invoke("load_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(4).__getitem__(i$9))); + frame.setlocal(19, frame.getglobal("create_cred").__call__(new PyObject[] {frame.getlocal(3).__getitem__(i$8), frame.getlocal(3).__getitem__(i$9), frame.getlocal(5).invoke("get_pubkey"), frame.getlocal(7), frame.getlocal(12)})); + } + } + } + } + else { + throw Py.makeException(frame.getglobal("NonexistingCredType").__call__(s$109._add(frame.getlocal(9).__getitem__(i$8))._add(s$73))); + } + } + if (frame.getlocal(19)._eq(frame.getglobal("None")).__nonzero__()) { + return frame.getlocal(19); + } + else { + return frame.getglobal("crypto").invoke("dump_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(19))._add(frame.getlocal(3).__getitem__(i$110)); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return frame.getglobal("None"); + } + } + + private static PyObject getAccounting$7(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + frame.setlocal(6, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(11, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(9, frame.getglobal("None")); + frame.setlocal(8, new PyDictionary(new PyObject[] {s$11, new PyDictionary(new PyObject[] {s$13, frame.getlocal(1).__getitem__(s$11).__getitem__(s$111)}), s$27, new PyDictionary(new PyObject[] {})})); + frame.setlocal(10, frame.getglobal("eval").__call__(frame.getlocal(0).invoke("lookup", frame.getlocal(8), frame.getlocal(2)))); + if (frame.getlocal(10).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$111))._add(s$73))); + } + if (frame.getlocal(10).__getitem__(s$74).__getitem__(s$43)._eq(frame.getlocal(4).invoke("get_pubkey").__getattr__("as_pem").__call__(new PyObject[] {frame.getglobal("None")}, new String[] {"cipher"})).__nonzero__()) { + frame.setlocal(7, frame.getglobal("crypto").invoke("load_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(4).invoke("as_pem"))); + frame.setlocal(5, i$8); + if (frame.getlocal(10).__getitem__(s$89).__not__().__nonzero__()) { + frame.setlocal(5, frame.getlocal(10).__getitem__(s$74).__getitem__(s$112)); + } + else { + frame.setlocal(5, frame.getlocal(10).__getitem__(s$89).__getitem__(s$112)); + } + frame.setlocal(9, frame.getglobal("create_acc").__call__(new PyObject[] {frame.getlocal(3).__getitem__(i$8), frame.getlocal(3).__getitem__(i$9), frame.getlocal(7).invoke("get_pubkey"), frame.getlocal(1).__getitem__(s$11).__getitem__(s$111), frame.getlocal(5)})); + } + if (frame.getlocal(9)._eq(frame.getglobal("None")).__nonzero__()) { + return frame.getlocal(9); + } + else { + return frame.getglobal("crypto").invoke("dump_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(9))._add(frame.getlocal(3).__getitem__(i$113)); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return frame.getglobal("None"); + } + } + + private static PyObject __init__$8(PyFrame frame) { + frame.getlocal(0).__setattr__("sr_tree_file", frame.getglobal("SR_FILE")); + frame.getlocal(0).__setattr__("cr_tree_file", frame.getglobal("CR_FILE")); + frame.getlocal(0).__setattr__("sr_tree", frame.getglobal("None")); + frame.getlocal(0).__setattr__("cr_tree", frame.getglobal("None")); + frame.getlocal(0).invoke("construct_hierarchy"); + frame.getglobal("set_tree_globals").__call__(frame.getlocal(0).__getattr__("sr_tree"), frame.getlocal(0).__getattr__("cr_tree")); + frame.getlocal(0).__setattr__("sec", frame.getglobal("None")); + frame.getlocal(0).invoke("sec_init"); + frame.getlocal(0).__setattr__("functionList", new PyDictionary(new PyObject[] {s$114, frame.getlocal(0).__getattr__("register"), s$115, frame.getlocal(0).__getattr__("remove"), s$116, frame.getlocal(0).__getattr__("update"), s$117, frame.getlocal(0).__getattr__("lookup"), s$118, frame.getlocal(0).__getattr__("list"), s$119, frame.getlocal(0).__getattr__("getCredential"), s$120, frame.getlocal(0).__getattr__("getAccounting")})); + frame.getglobal("SSL").__getattr__("SSLServer").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2), frame.getlocal(0).__getattr__("sec").__getattr__("ctx")}); + return Py.None; + } + + private static PyObject construct_hierarchy$9(PyFrame frame) { + frame.getlocal(0).__setattr__("sr_tree", frame.getglobal("InterfaceTree").__call__(s$37, frame.getlocal(0).__getattr__("sr_tree_file"), new PyTuple(new PyObject[] {frame.getglobal("AUTH_HOST"), frame.getglobal("AUTH_PORT")}))); + frame.getlocal(0).__setattr__("cr_tree", frame.getglobal("InterfaceTree").__call__(s$38, frame.getlocal(0).__getattr__("cr_tree_file"), new PyTuple(new PyObject[] {frame.getglobal("AUTH_HOST"), frame.getglobal("AUTH_PORT")}))); + return Py.None; + } + + private static PyObject sec_init$10(PyFrame frame) { + frame.setlocal(4, frame.getlocal(0).__getattr__("sr_tree").__getattr__("my_tree").__getattr__("info").__getattr__("node_data").__getitem__(s$50)); + frame.setlocal(3, frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(4).__getattr__("id_file"))); + frame.setlocal(1, frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(4).__getattr__("id_key_file"))); + frame.setlocal(2, frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(4).__getattr__("acc_file"))); + frame.setlocal(5, frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(4).__getattr__("cred_file"))); + frame.getlocal(0).__setattr__("sec", frame.getglobal("Sec").__call__(new PyObject[] {s$121, frame.getlocal(3), frame.getlocal(1), frame.getlocal(2), frame.getlocal(5)})); + frame.getglobal("renew_cert").__call__(new PyObject[] {s$122, frame.getlocal(4).__getattr__("folder"), s$37, frame.getlocal(0).__getattr__("sr_tree").__getattr__("my_tree").__getattr__("info").__getattr__("name"), frame.getglobal("None"), frame.getglobal("None"), new PyTuple(new PyObject[] {frame.getglobal("AUTH_HOST"), frame.getglobal("AUTH_PORT")}), frame.getlocal(0).__getattr__("sec")}); + frame.getglobal("renew_cert").__call__(new PyObject[] {s$123, frame.getlocal(4).__getattr__("folder"), s$37, frame.getlocal(0).__getattr__("sr_tree").__getattr__("my_tree").__getattr__("info").__getattr__("name"), frame.getglobal("None"), frame.getglobal("None"), new PyTuple(new PyObject[] {frame.getglobal("AUTH_HOST"), frame.getglobal("AUTH_PORT")}), frame.getlocal(0).__getattr__("sec")}); + return Py.None; + } + + private static PyObject save_state$11(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (((t$0$PyObject = frame.getlocal(1)._eq(s$52)).__nonzero__() ? t$0$PyObject : frame.getlocal(1)._eq(s$124)).__nonzero__()) { + frame.getlocal(0).__getattr__("sr_tree").invoke("save_tree"); + } + if (((t$0$PyObject = frame.getlocal(1)._eq(s$53)).__nonzero__() ? t$0$PyObject : frame.getlocal(1)._eq(s$124)).__nonzero__()) { + frame.getlocal(0).__getattr__("cr_tree").invoke("save_tree"); + } + return Py.None; + } + + private static PyObject GENIServer$12(PyFrame frame) { + frame.setlocal("register", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_register)); + frame.setlocal("update", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_update)); + frame.setlocal("remove", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_remove)); + frame.setlocal("lookup", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_lookup)); + frame.setlocal("list", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_list)); + frame.setlocal("getCredential", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_getCredential)); + frame.setlocal("getAccounting", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_getAccounting)); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$7___init__)); + frame.setlocal("construct_hierarchy", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_construct_hierarchy)); + frame.setlocal("sec_init", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_sec_init)); + frame.setlocal("save_state", new PyFunction(frame.f_globals, new PyObject[] {s$124}, c$10_save_state)); + return frame.getf_locals(); + } + + private static PyObject handle$13(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject; + + // Code + try { + frame.setlocal(6, frame.getglobal("server").__getattr__("sec").invoke("auth_protocol", frame.getlocal(0).__getattr__("request"))); + if (frame.getlocal(6).__not__().__nonzero__()) { + return Py.None; + } + frame.setlocal(9, frame.getglobal("msg_to_params").__call__(frame.getlocal(0).__getattr__("request").invoke("read"))); + frame.setlocal(11, frame.getlocal(9).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(10, frame.getlocal(9).__getitem__(s$125)); + frame.setlocal(4, s$19); + if (((t$0$PyObject = ((t$1$PyObject = ((t$2$PyObject = frame.getlocal(10)._eq(s$114)).__nonzero__() ? t$2$PyObject : frame.getlocal(10)._eq(s$115))).__nonzero__() ? t$1$PyObject : frame.getlocal(10)._eq(s$116))).__nonzero__() ? t$0$PyObject : frame.getlocal(10)._eq(s$117)).__nonzero__()) { + frame.setlocal(4, frame.getglobal("obtain_authority").__call__(frame.getlocal(11))); + } + else if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(10)._eq(s$118)).__nonzero__() ? t$1$PyObject : frame.getlocal(10)._eq(s$119))).__nonzero__() ? t$0$PyObject : frame.getlocal(10)._eq(s$120)).__nonzero__()) { + frame.setlocal(4, frame.getlocal(11)); + } + frame.setlocal(12, s$19); + if (((t$0$PyObject = ((t$1$PyObject = ((t$2$PyObject = ((t$3$PyObject = frame.getlocal(10)._eq(s$114)).__nonzero__() ? t$3$PyObject : frame.getlocal(10)._eq(s$115))).__nonzero__() ? t$2$PyObject : frame.getlocal(10)._eq(s$116))).__nonzero__() ? t$1$PyObject : frame.getlocal(10)._eq(s$117))).__nonzero__() ? t$0$PyObject : frame.getlocal(10)._eq(s$118)).__nonzero__()) { + frame.setlocal(1, frame.getlocal(9).__getitem__(s$11).__getitem__(s$10)); + if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(1)._eq(s$37)).__nonzero__() ? t$1$PyObject : frame.getlocal(1)._eq(s$65))).__nonzero__() ? t$0$PyObject : frame.getlocal(1)._eq(s$15)).__nonzero__()) { + frame.setlocal(12, s$37); + } + else { + frame.setlocal(12, s$38); + } + } + else if (frame.getlocal(10)._eq(s$119).__nonzero__()) { + if (frame.getlocal(9).__getitem__(s$11).__getitem__(s$90).invoke("split", s$24).__getitem__(i$9)._eq(s$20).__nonzero__()) { + frame.setlocal(12, s$37); + } + else { + frame.setlocal(12, s$38); + } + } + else if (frame.getlocal(10)._eq(s$120).__nonzero__()) { + frame.setlocal(12, frame.getlocal(9).__getitem__(s$11).__getitem__(s$91)); + } + frame.setlocal(8, frame.getglobal("None")); + if (frame.getlocal(12)._eq(s$37).__nonzero__()) { + frame.setlocal(8, frame.getglobal("server").__getattr__("sr_tree")); + } + else { + frame.setlocal(8, frame.getglobal("server").__getattr__("cr_tree")); + } + frame.setlocal(7, frame.getglobal("determine_dbinfo").__call__(frame.getlocal(4), frame.getlocal(8))); + frame.setlocal(15, frame.getglobal("None")); + if (frame.getlocal(10)._eq(s$120).__nonzero__()) { + frame.setlocal(15, frame.getlocal(8).invoke("determine_keyinfo", new PyObject[] {frame.getlocal(4), frame.getglobal("server"), s$122})); + } + else if (frame.getlocal(10)._eq(s$119).__nonzero__()) { + frame.setlocal(15, frame.getlocal(8).invoke("determine_keyinfo", new PyObject[] {frame.getlocal(4), frame.getglobal("server"), s$123})); + } + if (frame.getlocal(7)._eq(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(0).__getattr__("request").invoke("write", s$126); + return Py.None; + } + if (frame.getglobal("server").__getattr__("functionList").invoke("has_key", frame.getlocal(9).__getitem__(s$125)).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("request").invoke("write", s$127); + return Py.None; + } + if (frame.getglobal("server").__getattr__("sec").invoke("check_authorization", new PyObject[] {frame.getlocal(6).__getattr__("acc"), frame.getlocal(6).__getattr__("cred"), frame.getlocal(9)}).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("request").invoke("write", s$128); + return Py.None; + } + frame.setlocal(2, frame.getglobal("server").__getattr__("functionList").__getitem__(frame.getlocal(9).__getitem__(s$125))); + frame.setlocal(14, new PyDictionary(new PyObject[] {s$11, frame.getlocal(9).__getitem__(s$11), s$27, frame.getlocal(9).__getitem__(s$27)})); + frame.setlocal(5, frame.getglobal("None")); + if (frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("getAccounting")).__nonzero__()) { + frame.setlocal(5, frame.getlocal(2).__call__(new PyObject[] {frame.getlocal(14), frame.getlocal(7), frame.getlocal(15), frame.getlocal(6).__getattr__("cert")})); + } + else if (frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("getCredential")).__nonzero__()) { + frame.setlocal(3, new PyList(new PyObject[] {frame.getlocal(6).__getattr__("acc").invoke("get_hrn"), frame.getglobal("crypto").invoke("load_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(6).__getattr__("cert").invoke("as_pem"))})); + frame.setlocal(5, frame.getlocal(2).__call__(new PyObject[] {frame.getlocal(14), frame.getlocal(7), frame.getlocal(15), frame.getlocal(3)})); + } + else if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("register"))).__nonzero__() ? t$1$PyObject : frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("update")))).__nonzero__() ? t$0$PyObject : frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("remove"))).__nonzero__()) { + frame.setlocal(5, frame.getglobal("str").__call__(new PyDictionary(new PyObject[] {s$129, frame.getlocal(2).__call__(frame.getlocal(14), frame.getlocal(7))}))); + } + else { + frame.setlocal(5, frame.getlocal(2).__call__(frame.getlocal(14), frame.getlocal(7))); + if (frame.getlocal(5).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("request").invoke("write", frame.getglobal("str").__call__(new PyDictionary(new PyObject[] {s$129, s$130}))); + } + } + frame.getlocal(0).__getattr__("request").invoke("write", frame.getlocal(5)); + return Py.None; + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("Exception"))) { + frame.setlocal(13, t$0$PyException.value); + Py.println(s$131._add(frame.getglobal("str").__call__(frame.getlocal(13)))); + return Py.None; + } + else throw t$0$PyException; + } + } + + private static PyObject handle_connection$14(PyFrame frame) { + frame.setlocal("handle", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_handle)); + return frame.getf_locals(); + } + + private static PyObject main$15(PyFrame frame) { + frame.getglobal("server").invoke("save_state"); + frame.getglobal("server").invoke("serve_forever"); + return Py.None; + } + + private static PyObject main$16(PyFrame frame) { + frame.setglobal("__file__", s$133); + + PyObject[] imp_accu; + // Code + frame.setlocal("LISTEN_HOST", s$0); + frame.setlocal("LISTEN_PORT", i$1); + frame.setlocal("SR_FILE", s$2); + frame.setlocal("CR_FILE", s$3); + frame.setlocal("AUTH_HOST", s$0); + frame.setlocal("AUTH_PORT", i$1); + frame.setlocal("SocketServer", org.python.core.imp.importOne("SocketServer", frame)); + frame.setlocal("socket", org.python.core.imp.importOne("socket", frame)); + frame.setlocal("os", org.python.core.imp.importOne("os", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + imp_accu = org.python.core.imp.importFrom("M2Crypto", new String[] {"SSL"}, frame); + frame.setlocal("SSL", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("M2Crypto.SSL", new String[] {"SSLError"}, frame); + frame.setlocal("SSLError", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("M2Crypto", new String[] {"X509"}, frame); + frame.setlocal("X509", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("pg", new String[] {"DB"}, frame); + frame.setlocal("DB", imp_accu[0]); + imp_accu = null; + frame.getname("sys").__getattr__("path").__getattr__("append").__call__(s$4); + frame.getname("sys").__getattr__("path").__getattr__("append").__call__(s$5); + frame.getname("sys").__getattr__("path").__getattr__("append").__call__(s$6); + frame.getname("sys").__getattr__("path").__getattr__("append").__call__(s$7); + org.python.core.imp.importAll("util", frame); + org.python.core.imp.importAll("tree", frame); + org.python.core.imp.importAll("excep", frame); + org.python.core.imp.importAll("sec", frame); + org.python.core.imp.importAll("db", frame); + org.python.core.imp.importAll("pl_to_geni", frame); + frame.setlocal("time", org.python.core.imp.importOne("time", frame)); + frame.setlocal("datetime", org.python.core.imp.importOne("datetime", frame)); + frame.setlocal("calendar", org.python.core.imp.importOne("calendar", frame)); + imp_accu = org.python.core.imp.importFrom("PLC.Shell", new String[] {"Shell"}, frame); + frame.setlocal("Shell", imp_accu[0]); + imp_accu = null; + frame.setlocal("shell", frame.getname("Shell").__call__(new PyObject[] {frame.getname("globals").__call__()}, new String[] {"globals"})); + frame.setlocal("GENIServer", Py.makeClass("GENIServer", new PyObject[] {frame.getname("SSL").__getattr__("SSLServer")}, c$11_GENIServer, null)); + frame.setlocal("handle_connection", Py.makeClass("handle_connection", new PyObject[] {frame.getname("SocketServer").__getattr__("BaseRequestHandler")}, c$13_handle_connection, null)); + frame.setlocal("server", frame.getname("GENIServer").__call__(new PyTuple(new PyObject[] {frame.getname("LISTEN_HOST"), frame.getname("LISTEN_PORT")}), frame.getname("handle_connection"))); + frame.setlocal("main", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_main)); + if (frame.getname("__name__")._eq(s$132).__nonzero__()) { + frame.getname("main").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("server")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "server"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(server._PyInner.class, newargs, server.jpy$packages, server.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/socket$_PyInner.class b/server/jpywork/socket$_PyInner.class new file mode 100644 index 00000000..2e2de579 Binary files /dev/null and b/server/jpywork/socket$_PyInner.class differ diff --git a/server/jpywork/socket.class b/server/jpywork/socket.class new file mode 100644 index 00000000..7ac76d46 Binary files /dev/null and b/server/jpywork/socket.class differ diff --git a/server/jpywork/socket.java b/server/jpywork/socket.java new file mode 100644 index 00000000..4e66491c --- /dev/null +++ b/server/jpywork/socket.java @@ -0,0 +1,840 @@ +import org.python.core.*; + +public class socket extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject i$14; + private static PyObject i$15; + private static PyObject i$16; + private static PyObject i$17; + private static PyObject i$18; + private static PyObject i$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject i$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject i$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject i$32; + private static PyObject s$33; + private static PyObject i$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyFunctionTable funcTable; + private static PyCode c$0__gethostbyaddr; + private static PyCode c$1_getfqdn; + private static PyCode c$2_gethostname; + private static PyCode c$3_gethostbyname; + private static PyCode c$4_gethostbyaddr; + private static PyCode c$5_socket; + private static PyCode c$6_bind; + private static PyCode c$7_listen; + private static PyCode c$8_accept; + private static PyCode c$9_connect; + private static PyCode c$10__setup; + private static PyCode c$11_recv; + private static PyCode c$12_send; + private static PyCode c$13_getsockname; + private static PyCode c$14_getpeername; + private static PyCode c$15_setsockopt; + private static PyCode c$16_getsockopt; + private static PyCode c$17_makefile; + private static PyCode c$18___init__; + private static PyCode c$19_close; + private static PyCode c$20_FileWrapper; + private static PyCode c$21_shutdown; + private static PyCode c$22_close; + private static PyCode c$23__tcpsocket; + private static PyCode c$24___init__; + private static PyCode c$25_bind; + private static PyCode c$26_connect; + private static PyCode c$27_sendto; + private static PyCode c$28_send; + private static PyCode c$29_recvfrom; + private static PyCode c$30_recv; + private static PyCode c$31_getsockname; + private static PyCode c$32_getpeername; + private static PyCode c$33___del__; + private static PyCode c$34_close; + private static PyCode c$35__udpsocket; + private static PyCode c$36_test; + private static PyCode c$37_main; + private static void initConstants() { + s$0 = Py.newString("Preliminary socket module.\012\012XXX Restrictions:\012\012- Only INET sockets\012- No asynchronous behavior\012- No socket options\012- Can't do a very good gethostbyaddr() right...\012\012"); + s$1 = Py.newString("AF_INET"); + s$2 = Py.newString("SOCK_DGRAM"); + s$3 = Py.newString("SOCK_RAW"); + s$4 = Py.newString("SOCK_RDM"); + s$5 = Py.newString("SOCK_SEQPACKET"); + s$6 = Py.newString("SOCK_STREAM"); + s$7 = Py.newString("SocketType"); + s$8 = Py.newString("error"); + s$9 = Py.newString("getfqdn"); + s$10 = Py.newString("gethostbyaddr"); + s$11 = Py.newString("gethostbyname"); + s$12 = Py.newString("gethostname"); + s$13 = Py.newString("socket"); + i$14 = Py.newInteger(2); + i$15 = Py.newInteger(1); + i$16 = Py.newInteger(3); + i$17 = Py.newInteger(4); + i$18 = Py.newInteger(5); + i$19 = Py.newInteger(65535); + s$20 = Py.newString("\012 Return a fully qualified domain name for name. If name is omitted or empty\012 it is interpreted as the local host. To find the fully qualified name,\012 the hostname returned by gethostbyaddr() is checked, then aliases for the\012 host, if available. The first name which includes a period is selected.\012 In case no fully qualified domain name is available, the hostname is retur\012 New in version 2.0.\012 "); + s$21 = Py.newString("."); + i$22 = Py.newInteger(0); + s$23 = Py.newString("This signifies a server socket"); + s$24 = Py.newString(""); + s$25 = Py.newString("setReuseAddress"); + i$26 = Py.newInteger(50); + s$27 = Py.newString("This signifies a client socket"); + s$28 = Py.newString("b"); + s$29 = Py.newString(""); + s$30 = Py.newString("both istream and ostream have been shut down"); + s$31 = Py.newString("r"); + i$32 = Py.newInteger(80); + s$33 = Py.newString("GET / HTTP/1.0\015\012\015\012"); + i$34 = Py.newInteger(2000); + s$35 = Py.newString("__main__"); + s$36 = Py.newString("/usr/share/jython/Lib/socket.py"); + funcTable = new _PyInner(); + c$0__gethostbyaddr = Py.newCode(1, new String[] {"name", "addrs", "names", "addresses", "addr"}, "/usr/share/jython/Lib/socket.py", "_gethostbyaddr", false, false, funcTable, 0, null, null, 0, 1); + c$1_getfqdn = Py.newCode(1, new String[] {"name", "a", "addrs", "names"}, "/usr/share/jython/Lib/socket.py", "getfqdn", false, false, funcTable, 1, null, null, 0, 1); + c$2_gethostname = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "gethostname", false, false, funcTable, 2, null, null, 0, 1); + c$3_gethostbyname = Py.newCode(1, new String[] {"name"}, "/usr/share/jython/Lib/socket.py", "gethostbyname", false, false, funcTable, 3, null, null, 0, 1); + c$4_gethostbyaddr = Py.newCode(1, new String[] {"name", "addrs", "names"}, "/usr/share/jython/Lib/socket.py", "gethostbyaddr", false, false, funcTable, 4, null, null, 0, 1); + c$5_socket = Py.newCode(3, new String[] {"family", "type", "flags"}, "/usr/share/jython/Lib/socket.py", "socket", false, false, funcTable, 5, null, null, 0, 1); + c$6_bind = Py.newCode(3, new String[] {"self", "addr", "port", "host"}, "/usr/share/jython/Lib/socket.py", "bind", false, false, funcTable, 6, null, null, 0, 1); + c$7_listen = Py.newCode(2, new String[] {"self", "backlog", "a", "port", "host"}, "/usr/share/jython/Lib/socket.py", "listen", false, false, funcTable, 7, null, null, 0, 1); + c$8_accept = Py.newCode(1, new String[] {"self", "port", "sock", "conn", "host"}, "/usr/share/jython/Lib/socket.py", "accept", false, false, funcTable, 8, null, null, 0, 1); + c$9_connect = Py.newCode(3, new String[] {"self", "addr", "port", "host"}, "/usr/share/jython/Lib/socket.py", "connect", false, false, funcTable, 9, null, null, 0, 1); + c$10__setup = Py.newCode(2, new String[] {"self", "sock"}, "/usr/share/jython/Lib/socket.py", "_setup", false, false, funcTable, 10, null, null, 0, 1); + c$11_recv = Py.newCode(2, new String[] {"self", "n", "m", "data"}, "/usr/share/jython/Lib/socket.py", "recv", false, false, funcTable, 11, null, null, 0, 1); + c$12_send = Py.newCode(2, new String[] {"self", "s", "n"}, "/usr/share/jython/Lib/socket.py", "send", false, false, funcTable, 12, null, null, 0, 1); + c$13_getsockname = Py.newCode(1, new String[] {"self", "port", "host"}, "/usr/share/jython/Lib/socket.py", "getsockname", false, false, funcTable, 13, null, null, 0, 1); + c$14_getpeername = Py.newCode(1, new String[] {"self", "port", "host"}, "/usr/share/jython/Lib/socket.py", "getpeername", false, false, funcTable, 14, null, null, 0, 1); + c$15_setsockopt = Py.newCode(4, new String[] {"self", "level", "optname", "value"}, "/usr/share/jython/Lib/socket.py", "setsockopt", false, false, funcTable, 15, null, null, 0, 1); + c$16_getsockopt = Py.newCode(3, new String[] {"self", "level", "optname"}, "/usr/share/jython/Lib/socket.py", "getsockopt", false, false, funcTable, 16, null, null, 0, 1); + c$17_makefile = Py.newCode(3, new String[] {"self", "mode", "bufsize", "file"}, "/usr/share/jython/Lib/socket.py", "makefile", false, false, funcTable, 17, null, null, 0, 1); + c$18___init__ = Py.newCode(3, new String[] {"self", "socket", "file"}, "/usr/share/jython/Lib/socket.py", "__init__", false, false, funcTable, 18, null, null, 0, 1); + c$19_close = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/socket.py", "close", false, false, funcTable, 19, null, null, 0, 1); + c$20_FileWrapper = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "FileWrapper", false, false, funcTable, 20, null, null, 0, 0); + c$21_shutdown = Py.newCode(2, new String[] {"self", "how"}, "/usr/share/jython/Lib/socket.py", "shutdown", false, false, funcTable, 21, null, null, 0, 1); + c$22_close = Py.newCode(1, new String[] {"self", "ostream", "sock", "istream"}, "/usr/share/jython/Lib/socket.py", "close", false, false, funcTable, 22, null, null, 0, 1); + c$23__tcpsocket = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "_tcpsocket", false, false, funcTable, 23, null, null, 0, 0); + c$24___init__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/socket.py", "__init__", false, false, funcTable, 24, null, null, 0, 1); + c$25_bind = Py.newCode(3, new String[] {"self", "addr", "port", "a", "host"}, "/usr/share/jython/Lib/socket.py", "bind", false, false, funcTable, 25, null, null, 0, 1); + c$26_connect = Py.newCode(3, new String[] {"self", "addr", "port", "host"}, "/usr/share/jython/Lib/socket.py", "connect", false, false, funcTable, 26, null, null, 0, 1); + c$27_sendto = Py.newCode(3, new String[] {"self", "data", "addr", "packet", "n", "port", "a", "host", "bytes"}, "/usr/share/jython/Lib/socket.py", "sendto", false, false, funcTable, 27, null, null, 0, 1); + c$28_send = Py.newCode(2, new String[] {"self", "data"}, "/usr/share/jython/Lib/socket.py", "send", false, false, funcTable, 28, null, null, 0, 1); + c$29_recvfrom = Py.newCode(2, new String[] {"self", "n", "packet", "port", "m", "host", "bytes"}, "/usr/share/jython/Lib/socket.py", "recvfrom", false, false, funcTable, 29, null, null, 0, 1); + c$30_recv = Py.newCode(2, new String[] {"self", "n", "m", "bytes", "packet"}, "/usr/share/jython/Lib/socket.py", "recv", false, false, funcTable, 30, null, null, 0, 1); + c$31_getsockname = Py.newCode(1, new String[] {"self", "port", "host"}, "/usr/share/jython/Lib/socket.py", "getsockname", false, false, funcTable, 31, null, null, 0, 1); + c$32_getpeername = Py.newCode(1, new String[] {"self", "port", "host"}, "/usr/share/jython/Lib/socket.py", "getpeername", false, false, funcTable, 32, null, null, 0, 1); + c$33___del__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/socket.py", "__del__", false, false, funcTable, 33, null, null, 0, 1); + c$34_close = Py.newCode(1, new String[] {"self", "sock"}, "/usr/share/jython/Lib/socket.py", "close", false, false, funcTable, 34, null, null, 0, 1); + c$35__udpsocket = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "_udpsocket", false, false, funcTable, 35, null, null, 0, 0); + c$36_test = Py.newCode(0, new String[] {"s", "data"}, "/usr/share/jython/Lib/socket.py", "test", false, false, funcTable, 36, null, null, 0, 1); + c$37_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "main", false, false, funcTable, 37, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$37_main == null) _PyInner.initConstants(); + return c$37_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._gethostbyaddr$1(frame); + case 1: + return _PyInner.getfqdn$2(frame); + case 2: + return _PyInner.gethostname$3(frame); + case 3: + return _PyInner.gethostbyname$4(frame); + case 4: + return _PyInner.gethostbyaddr$5(frame); + case 5: + return _PyInner.socket$6(frame); + case 6: + return _PyInner.bind$7(frame); + case 7: + return _PyInner.listen$8(frame); + case 8: + return _PyInner.accept$9(frame); + case 9: + return _PyInner.connect$10(frame); + case 10: + return _PyInner._setup$11(frame); + case 11: + return _PyInner.recv$12(frame); + case 12: + return _PyInner.send$13(frame); + case 13: + return _PyInner.getsockname$14(frame); + case 14: + return _PyInner.getpeername$15(frame); + case 15: + return _PyInner.setsockopt$16(frame); + case 16: + return _PyInner.getsockopt$17(frame); + case 17: + return _PyInner.makefile$18(frame); + case 18: + return _PyInner.__init__$19(frame); + case 19: + return _PyInner.close$20(frame); + case 20: + return _PyInner.FileWrapper$21(frame); + case 21: + return _PyInner.shutdown$22(frame); + case 22: + return _PyInner.close$23(frame); + case 23: + return _PyInner._tcpsocket$24(frame); + case 24: + return _PyInner.__init__$25(frame); + case 25: + return _PyInner.bind$26(frame); + case 26: + return _PyInner.connect$27(frame); + case 27: + return _PyInner.sendto$28(frame); + case 28: + return _PyInner.send$29(frame); + case 29: + return _PyInner.recvfrom$30(frame); + case 30: + return _PyInner.recv$31(frame); + case 31: + return _PyInner.getsockname$32(frame); + case 32: + return _PyInner.getpeername$33(frame); + case 33: + return _PyInner.__del__$34(frame); + case 34: + return _PyInner.close$35(frame); + case 35: + return _PyInner._udpsocket$36(frame); + case 36: + return _PyInner.test$37(frame); + case 37: + return _PyInner.main$38(frame); + default: + return null; + } + } + + private static PyObject _gethostbyaddr$1(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getAllByName").__call__(frame.getglobal("gethostbyname").__call__(frame.getlocal(0)))); + frame.setlocal(2, new PyList(new PyObject[] {})); + frame.setlocal(1, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + frame.getlocal(2).invoke("append", frame.getlocal(4).invoke("getHostName")); + frame.getlocal(1).invoke("append", frame.getlocal(4).invoke("getHostAddress")); + } + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject getfqdn$2(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* + Return a fully qualified domain name for name. If name is omitted or empty + it is interpreted as the local host. To find the fully qualified name, + the hostname returned by gethostbyaddr() is checked, then aliases for the + host, if available. The first name which includes a period is selected. + In case no fully qualified domain name is available, the hostname is retur + New in version 2.0. + */ + if (frame.getlocal(0).__not__().__nonzero__()) { + frame.setlocal(0, frame.getglobal("gethostname").__call__()); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("_gethostbyaddr").__call__(frame.getlocal(0)), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(1, t$0$PyObject); + if (frame.getlocal(1).invoke("find", s$21)._ge(i$22).__nonzero__()) { + return frame.getlocal(1); + } + } + return frame.getlocal(0); + } + + private static PyObject gethostname$3(PyFrame frame) { + return frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getLocalHost").__call__().invoke("getHostName"); + } + + private static PyObject gethostbyname$4(PyFrame frame) { + return frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(0)).invoke("getHostAddress"); + } + + private static PyObject gethostbyaddr$5(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("_gethostbyaddr").__call__(frame.getlocal(0)), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + return new PyTuple(new PyObject[] {frame.getlocal(2).__getitem__(i$22), frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject socket$6(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0)._eq(frame.getglobal("AF_INET"))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._in(new PyTuple(new PyObject[] {frame.getglobal("SOCK_DGRAM"), frame.getglobal("SOCK_STREAM")}))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(2)._eq(i$22)); + if (frame.getlocal(1)._eq(frame.getglobal("SOCK_STREAM")).__nonzero__()) { + return frame.getglobal("_tcpsocket").__call__(); + } + else { + return frame.getglobal("_udpsocket").__call__(); + } + } + + private static PyObject bind$7(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})); + } + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock").__not__()); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("addr").__not__()); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.getlocal(0).__setattr__("addr", frame.getlocal(1)); + return Py.None; + } + + private static PyObject listen$8(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* This signifies a server socket */ + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock").__not__()); + frame.getlocal(0).__setattr__("server", i$15); + if (frame.getlocal(0).__getattr__("addr").__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("addr"), 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + } + else { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {s$24, i$22}), 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + } + if (frame.getlocal(4).__nonzero__()) { + frame.setlocal(2, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(4))); + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("ServerSocket").__call__(frame.getlocal(3), frame.getlocal(1), frame.getlocal(2))); + } + else { + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("ServerSocket").__call__(frame.getlocal(3), frame.getlocal(1))); + } + if (frame.getglobal("hasattr").__call__(frame.getlocal(0).__getattr__("sock"), s$25).__nonzero__()) { + frame.getlocal(0).__getattr__("sock").invoke("setReuseAddress", frame.getlocal(0).__getattr__("reuse_addr")); + } + return Py.None; + } + + private static PyObject accept$9(PyFrame frame) { + /* This signifies a server socket */ + if (frame.getlocal(0).__getattr__("sock").__not__().__nonzero__()) { + frame.getlocal(0).invoke("listen"); + } + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("server")); + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("accept")); + frame.setlocal(4, frame.getlocal(2).invoke("getInetAddress").invoke("getHostName")); + frame.setlocal(1, frame.getlocal(2).invoke("getPort")); + frame.setlocal(3, frame.getglobal("_tcpsocket").__call__()); + frame.getlocal(3).invoke("_setup", frame.getlocal(2)); + return new PyTuple(new PyObject[] {frame.getlocal(3), new PyTuple(new PyObject[] {frame.getlocal(4), frame.getlocal(1)})}); + } + + private static PyObject connect$10(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* This signifies a client socket */ + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})); + } + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock").__not__()); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + if (frame.getlocal(3)._eq(s$24).__nonzero__()) { + frame.setlocal(3, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getLocalHost").__call__()); + } + frame.getlocal(0).invoke("_setup", frame.getglobal("java").__getattr__("net").__getattr__("Socket").__call__(frame.getlocal(3), frame.getlocal(2))); + return Py.None; + } + + private static PyObject _setup$11(PyFrame frame) { + frame.getlocal(0).__setattr__("sock", frame.getlocal(1)); + if (frame.getglobal("hasattr").__call__(frame.getlocal(0).__getattr__("sock"), s$25).__nonzero__()) { + frame.getlocal(0).__getattr__("sock").invoke("setReuseAddress", frame.getlocal(0).__getattr__("reuse_addr")); + } + frame.getlocal(0).__setattr__("istream", frame.getlocal(1).invoke("getInputStream")); + frame.getlocal(0).__setattr__("ostream", frame.getlocal(1).invoke("getOutputStream")); + return Py.None; + } + + private static PyObject recv$12(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(3, frame.getglobal("jarray").__getattr__("zeros").__call__(frame.getlocal(1), s$28)); + frame.setlocal(2, frame.getlocal(0).__getattr__("istream").invoke("read", frame.getlocal(3))); + if (frame.getlocal(2)._le(i$22).__nonzero__()) { + return s$24; + } + if (frame.getlocal(2)._lt(frame.getlocal(1)).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3).__getslice__(null, frame.getlocal(2), null)); + } + return frame.getlocal(3).invoke("tostring"); + } + + private static PyObject send$13(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(2, frame.getglobal("len").__call__(frame.getlocal(1))); + frame.getlocal(0).__getattr__("ostream").invoke("write", frame.getlocal(1)); + return frame.getlocal(2); + } + + private static PyObject getsockname$14(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("sock").__not__().__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence((t$0$PyObject = frame.getlocal(0).__getattr__("addr")).__nonzero__() ? t$0$PyObject : new PyTuple(new PyObject[] {s$24, i$22}), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + frame.setlocal(2, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(2)).invoke("getHostAddress")); + } + else { + if (frame.getlocal(0).__getattr__("server").__nonzero__()) { + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getInetAddress").invoke("getHostAddress")); + } + else { + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getLocalAddress").invoke("getHostAddress")); + } + frame.setlocal(1, frame.getlocal(0).__getattr__("sock").invoke("getLocalPort")); + } + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject getpeername$15(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("server").__not__()); + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getInetAddress").invoke("getHostAddress")); + frame.setlocal(1, frame.getlocal(0).__getattr__("sock").invoke("getPort")); + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject setsockopt$16(PyFrame frame) { + if (frame.getlocal(2)._eq(frame.getglobal("SO_REUSEADDR")).__nonzero__()) { + frame.getlocal(0).__setattr__("reuse_addr", frame.getlocal(3)); + } + return Py.None; + } + + private static PyObject getsockopt$17(PyFrame frame) { + if (frame.getlocal(2)._eq(frame.getglobal("SO_REUSEADDR")).__nonzero__()) { + return frame.getlocal(0).__getattr__("reuse_addr"); + } + return Py.None; + } + + private static PyObject makefile$18(PyFrame frame) { + frame.setlocal(3, frame.getglobal("None")); + if (frame.getlocal(0).__getattr__("istream").__nonzero__()) { + if (frame.getlocal(0).__getattr__("ostream").__nonzero__()) { + frame.setlocal(3, frame.getglobal("org").__getattr__("python").__getattr__("core").__getattr__("PyFile").__call__(new PyObject[] {frame.getlocal(0).__getattr__("istream"), frame.getlocal(0).__getattr__("ostream"), s$29, frame.getlocal(1)})); + } + else { + frame.setlocal(3, frame.getglobal("org").__getattr__("python").__getattr__("core").__getattr__("PyFile").__call__(frame.getlocal(0).__getattr__("istream"), s$29, frame.getlocal(1))); + } + } + else if (frame.getlocal(0).__getattr__("ostream").__nonzero__()) { + frame.setlocal(3, frame.getglobal("org").__getattr__("python").__getattr__("core").__getattr__("PyFile").__call__(frame.getlocal(0).__getattr__("ostream"), s$29, frame.getlocal(1))); + } + else { + throw Py.makeException(frame.getglobal("IOError"), s$30); + } + if (frame.getlocal(3).__nonzero__()) { + return frame.getglobal("_tcpsocket").invoke("FileWrapper", frame.getlocal(0), frame.getlocal(3)); + } + return Py.None; + } + + private static PyObject __init__$19(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + frame.getlocal(0).__setattr__("socket", frame.getlocal(1)); + frame.getlocal(0).__setattr__("sock", frame.getlocal(1).__getattr__("sock")); + frame.getlocal(0).__setattr__("istream", frame.getlocal(1).__getattr__("istream")); + frame.getlocal(0).__setattr__("ostream", frame.getlocal(1).__getattr__("ostream")); + frame.getlocal(0).__setattr__("file", frame.getlocal(2)); + frame.getlocal(0).__setattr__("read", frame.getlocal(2).__getattr__("read")); + frame.getlocal(0).__setattr__("readline", frame.getlocal(2).__getattr__("readline")); + frame.getlocal(0).__setattr__("readlines", frame.getlocal(2).__getattr__("readlines")); + frame.getlocal(0).__setattr__("write", frame.getlocal(2).__getattr__("write")); + frame.getlocal(0).__setattr__("writelines", frame.getlocal(2).__getattr__("writelines")); + frame.getlocal(0).__setattr__("flush", frame.getlocal(2).__getattr__("flush")); + frame.getlocal(0).__setattr__("seek", frame.getlocal(2).__getattr__("seek")); + frame.getlocal(0).__setattr__("tell", frame.getlocal(2).__getattr__("tell")); + t$0$PyObject = i$15; + t$1$PyObject = frame.getlocal(0); + t$2$PyObject = t$1$PyObject.__getattr__("socket"); + t$2$PyObject.__setattr__("file_count", t$2$PyObject.__getattr__("file_count").__iadd__(t$0$PyObject)); + return Py.None; + } + + private static PyObject close$20(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("file").__getattr__("closed").__nonzero__()) { + return Py.None; + } + t$0$PyObject = i$15; + t$1$PyObject = frame.getlocal(0); + t$2$PyObject = t$1$PyObject.__getattr__("socket"); + t$2$PyObject.__setattr__("file_count", t$2$PyObject.__getattr__("file_count").__isub__(t$0$PyObject)); + frame.getlocal(0).__getattr__("file").invoke("close"); + if (((t$0$PyObject = frame.getlocal(0).__getattr__("socket").__getattr__("file_count")._eq(i$22)).__nonzero__() ? frame.getlocal(0).__getattr__("socket").__getattr__("sock")._eq(i$22) : t$0$PyObject).__nonzero__()) { + if (frame.getlocal(0).__getattr__("sock").__nonzero__()) { + frame.getlocal(0).__getattr__("sock").invoke("close"); + } + if (frame.getlocal(0).__getattr__("istream").__nonzero__()) { + frame.getlocal(0).__getattr__("istream").invoke("close"); + } + if (frame.getlocal(0).__getattr__("ostream").__nonzero__()) { + frame.getlocal(0).__getattr__("ostream").invoke("close"); + } + } + return Py.None; + } + + private static PyObject FileWrapper$21(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$18___init__)); + frame.setlocal("close", new PyFunction(frame.f_globals, new PyObject[] {}, c$19_close)); + return frame.getf_locals(); + } + + private static PyObject shutdown$22(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._in(new PyTuple(new PyObject[] {i$22, i$15, i$14}))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + if (frame.getlocal(1)._in(new PyTuple(new PyObject[] {i$22, i$14})).__nonzero__()) { + frame.getlocal(0).__setattr__("istream", frame.getglobal("None")); + } + if (frame.getlocal(1)._in(new PyTuple(new PyObject[] {i$15, i$14})).__nonzero__()) { + frame.getlocal(0).__setattr__("ostream", frame.getglobal("None")); + } + return Py.None; + } + + private static PyObject close$23(PyFrame frame) { + frame.setlocal(2, frame.getlocal(0).__getattr__("sock")); + frame.setlocal(3, frame.getlocal(0).__getattr__("istream")); + frame.setlocal(1, frame.getlocal(0).__getattr__("ostream")); + frame.getlocal(0).__setattr__("sock", i$22); + frame.getlocal(0).__setattr__("istream", i$22); + frame.getlocal(0).__setattr__("ostream", i$22); + if (frame.getlocal(0).__getattr__("file_count")._eq(i$22).__nonzero__()) { + if (frame.getlocal(3).__nonzero__()) { + frame.getlocal(3).invoke("close"); + } + if (frame.getlocal(1).__nonzero__()) { + frame.getlocal(1).invoke("close"); + } + if (frame.getlocal(2).__nonzero__()) { + frame.getlocal(2).invoke("close"); + } + } + return Py.None; + } + + private static PyObject _tcpsocket$24(PyFrame frame) { + frame.setlocal("sock", frame.getname("None")); + frame.setlocal("istream", frame.getname("None")); + frame.setlocal("ostream", frame.getname("None")); + frame.setlocal("addr", frame.getname("None")); + frame.setlocal("server", i$22); + frame.setlocal("file_count", i$22); + frame.setlocal("reuse_addr", i$22); + frame.setlocal("bind", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$6_bind)); + frame.setlocal("listen", new PyFunction(frame.f_globals, new PyObject[] {i$26}, c$7_listen)); + frame.setlocal("accept", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_accept)); + frame.setlocal("connect", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$9_connect)); + frame.setlocal("_setup", new PyFunction(frame.f_globals, new PyObject[] {}, c$10__setup)); + frame.setlocal("recv", new PyFunction(frame.f_globals, new PyObject[] {}, c$11_recv)); + frame.setlocal("send", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_send)); + frame.setlocal("getsockname", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_getsockname)); + frame.setlocal("getpeername", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_getpeername)); + frame.setlocal("setsockopt", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_setsockopt)); + frame.setlocal("getsockopt", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_getsockopt)); + frame.setlocal("makefile", new PyFunction(frame.f_globals, new PyObject[] {s$31, i$15.__neg__()}, c$17_makefile)); + frame.setlocal("FileWrapper", Py.makeClass("FileWrapper", new PyObject[] {}, c$20_FileWrapper, null)); + frame.setlocal("shutdown", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_shutdown)); + frame.setlocal("close", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_close)); + return frame.getf_locals(); + } + + private static PyObject __init__$25(PyFrame frame) { + frame.getlocal(0).__setattr__("sock", frame.getglobal("None")); + frame.getlocal(0).__setattr__("addr", frame.getglobal("None")); + return Py.None; + } + + private static PyObject bind$26(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})); + } + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock").__not__()); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + if (frame.getlocal(4)._eq(s$24).__nonzero__()) { + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("DatagramSocket").__call__(frame.getlocal(2))); + } + else { + frame.setlocal(3, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(4))); + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("DatagramSocket").__call__(frame.getlocal(2), frame.getlocal(3))); + } + return Py.None; + } + + private static PyObject connect$27(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("addr").__not__()); + if (frame.getlocal(0).__getattr__("sock").__not__().__nonzero__()) { + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("DatagramSocket").__call__()); + } + frame.getlocal(0).__setattr__("addr", frame.getlocal(1)); + return Py.None; + } + + private static PyObject sendto$28(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + frame.setlocal(4, frame.getglobal("len").__call__(frame.getlocal(1))); + if (frame.getlocal(0).__getattr__("sock").__not__().__nonzero__()) { + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("DatagramSocket").__call__()); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(2), 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(5, t$0$PyObject__[1]); + frame.setlocal(8, frame.getglobal("jarray").__getattr__("array").__call__(frame.getglobal("map").__call__(frame.getglobal("ord"), frame.getlocal(1)), s$28)); + frame.setlocal(6, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(7))); + frame.setlocal(3, frame.getglobal("java").__getattr__("net").__getattr__("DatagramPacket").__call__(new PyObject[] {frame.getlocal(8), frame.getlocal(4), frame.getlocal(6), frame.getlocal(5)})); + frame.getlocal(0).__getattr__("sock").invoke("send", frame.getlocal(3)); + return frame.getlocal(4); + } + + private static PyObject send$29(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("addr")); + return frame.getlocal(0).invoke("sendto", frame.getlocal(0).__getattr__("addr")); + } + + private static PyObject recvfrom$30(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(6, frame.getglobal("jarray").__getattr__("zeros").__call__(frame.getlocal(1), s$28)); + frame.setlocal(2, frame.getglobal("java").__getattr__("net").__getattr__("DatagramPacket").__call__(frame.getlocal(6), frame.getlocal(1))); + frame.getlocal(0).__getattr__("sock").invoke("receive", frame.getlocal(2)); + frame.setlocal(5, frame.getlocal(2).invoke("getAddress").invoke("getHostName")); + frame.setlocal(3, frame.getlocal(2).invoke("getPort")); + frame.setlocal(4, frame.getlocal(2).invoke("getLength")); + if (frame.getlocal(4)._lt(frame.getlocal(1)).__nonzero__()) { + frame.setlocal(6, frame.getlocal(6).__getslice__(null, frame.getlocal(4), null)); + } + return new PyTuple(new PyObject[] {frame.getlocal(6).invoke("tostring"), new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(3)})}); + } + + private static PyObject recv$31(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(3, frame.getglobal("jarray").__getattr__("zeros").__call__(frame.getlocal(1), s$28)); + frame.setlocal(4, frame.getglobal("java").__getattr__("net").__getattr__("DatagramPacket").__call__(frame.getlocal(3), frame.getlocal(1))); + frame.getlocal(0).__getattr__("sock").invoke("receive", frame.getlocal(4)); + frame.setlocal(2, frame.getlocal(4).invoke("getLength")); + if (frame.getlocal(2)._lt(frame.getlocal(1)).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3).__getslice__(null, frame.getlocal(2), null)); + } + return frame.getlocal(3).invoke("tostring"); + } + + private static PyObject getsockname$32(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getLocalAddress").invoke("getHostName")); + frame.setlocal(1, frame.getlocal(0).__getattr__("sock").invoke("getLocalPort")); + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject getpeername$33(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getInetAddress").invoke("getHostName")); + frame.setlocal(1, frame.getlocal(0).__getattr__("sock").invoke("getPort")); + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject __del__$34(PyFrame frame) { + frame.getlocal(0).invoke("close"); + return Py.None; + } + + private static PyObject close$35(PyFrame frame) { + frame.setlocal(1, frame.getlocal(0).__getattr__("sock")); + frame.getlocal(0).__setattr__("sock", i$22); + frame.getlocal(1).invoke("close"); + return Py.None; + } + + private static PyObject _udpsocket$36(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$24___init__)); + frame.setlocal("bind", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$25_bind)); + frame.setlocal("connect", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$26_connect)); + frame.setlocal("sendto", new PyFunction(frame.f_globals, new PyObject[] {}, c$27_sendto)); + frame.setlocal("send", new PyFunction(frame.f_globals, new PyObject[] {}, c$28_send)); + frame.setlocal("recvfrom", new PyFunction(frame.f_globals, new PyObject[] {}, c$29_recvfrom)); + frame.setlocal("recv", new PyFunction(frame.f_globals, new PyObject[] {}, c$30_recv)); + frame.setlocal("getsockname", new PyFunction(frame.f_globals, new PyObject[] {}, c$31_getsockname)); + frame.setlocal("getpeername", new PyFunction(frame.f_globals, new PyObject[] {}, c$32_getpeername)); + frame.setlocal("__del__", new PyFunction(frame.f_globals, new PyObject[] {}, c$33___del__)); + frame.setlocal("close", new PyFunction(frame.f_globals, new PyObject[] {}, c$34_close)); + return frame.getf_locals(); + } + + private static PyObject test$37(PyFrame frame) { + frame.setlocal(0, frame.getglobal("socket").__call__(frame.getglobal("AF_INET"), frame.getglobal("SOCK_STREAM"))); + frame.getlocal(0).invoke("connect", new PyTuple(new PyObject[] {s$24, i$32})); + frame.getlocal(0).invoke("send", s$33); + while (i$15.__nonzero__()) { + frame.setlocal(1, frame.getlocal(0).invoke("recv", i$34)); + Py.println(frame.getlocal(1)); + if (frame.getlocal(1).__not__().__nonzero__()) { + break; + } + } + return Py.None; + } + + private static PyObject main$38(PyFrame frame) { + frame.setglobal("__file__", s$36); + + /* Preliminary socket module. + + XXX Restrictions: + + - Only INET sockets + - No asynchronous behavior + - No socket options + - Can't do a very good gethostbyaddr() right... + + */ + frame.setlocal("java", org.python.core.imp.importOne("java.net", frame)); + frame.setlocal("org", org.python.core.imp.importOne("org.python.core", frame)); + frame.setlocal("jarray", org.python.core.imp.importOne("jarray", frame)); + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12, s$13})); + frame.setlocal("error", frame.getname("IOError")); + frame.setlocal("AF_INET", i$14); + frame.setlocal("SOCK_DGRAM", i$15); + frame.setlocal("SOCK_STREAM", i$14); + frame.setlocal("SOCK_RAW", i$16); + frame.setlocal("SOCK_RDM", i$17); + frame.setlocal("SOCK_SEQPACKET", i$18); + frame.setlocal("SOL_SOCKET", i$19); + frame.setlocal("SO_REUSEADDR", i$17); + frame.setlocal("_gethostbyaddr", new PyFunction(frame.f_globals, new PyObject[] {}, c$0__gethostbyaddr)); + frame.setlocal("getfqdn", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$1_getfqdn)); + frame.setlocal("gethostname", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_gethostname)); + frame.setlocal("gethostbyname", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_gethostbyname)); + frame.setlocal("gethostbyaddr", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_gethostbyaddr)); + frame.setlocal("socket", new PyFunction(frame.f_globals, new PyObject[] {i$22}, c$5_socket)); + frame.setlocal("_tcpsocket", Py.makeClass("_tcpsocket", new PyObject[] {}, c$23__tcpsocket, null)); + frame.setlocal("_udpsocket", Py.makeClass("_udpsocket", new PyObject[] {}, c$35__udpsocket, null)); + frame.setlocal("SocketType", frame.getname("_tcpsocket")); + frame.setlocal("test", new PyFunction(frame.f_globals, new PyObject[] {}, c$36_test)); + if (frame.getname("__name__")._eq(s$35).__nonzero__()) { + frame.getname("test").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("socket")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "socket"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(socket._PyInner.class, newargs, socket.jpy$packages, socket.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/sre$_PyInner.class b/server/jpywork/sre$_PyInner.class new file mode 100644 index 00000000..daae819d Binary files /dev/null and b/server/jpywork/sre$_PyInner.class differ diff --git a/server/jpywork/sre.class b/server/jpywork/sre.class new file mode 100644 index 00000000..f2def407 Binary files /dev/null and b/server/jpywork/sre.class differ diff --git a/server/jpywork/sre.java b/server/jpywork/sre.java new file mode 100644 index 00000000..02321c09 --- /dev/null +++ b/server/jpywork/sre.java @@ -0,0 +1,602 @@ +import org.python.core.*; + +public class sre extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject i$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject i$44; + private static PyObject i$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyFunctionTable funcTable; + private static PyCode c$0_match; + private static PyCode c$1_search; + private static PyCode c$2_sub; + private static PyCode c$3_subn; + private static PyCode c$4_split; + private static PyCode c$5_findall; + private static PyCode c$6_compile; + private static PyCode c$7_purge; + private static PyCode c$8_template; + private static PyCode c$9_escape; + private static PyCode c$10__join; + private static PyCode c$11__compile; + private static PyCode c$12__compile_repl; + private static PyCode c$13__expand; + private static PyCode c$14__sub; + private static PyCode c$15_filter; + private static PyCode c$16__subn; + private static PyCode c$17__split; + private static PyCode c$18__pickle; + private static PyCode c$19___init__; + private static PyCode c$20_scan; + private static PyCode c$21_Scanner; + private static PyCode c$22_main; + private static void initConstants() { + s$0 = Py.newString("match"); + s$1 = Py.newString("search"); + s$2 = Py.newString("sub"); + s$3 = Py.newString("subn"); + s$4 = Py.newString("split"); + s$5 = Py.newString("findall"); + s$6 = Py.newString("compile"); + s$7 = Py.newString("purge"); + s$8 = Py.newString("template"); + s$9 = Py.newString("escape"); + s$10 = Py.newString("I"); + s$11 = Py.newString("L"); + s$12 = Py.newString("M"); + s$13 = Py.newString("S"); + s$14 = Py.newString("X"); + s$15 = Py.newString("U"); + s$16 = Py.newString("IGNORECASE"); + s$17 = Py.newString("LOCALE"); + s$18 = Py.newString("MULTILINE"); + s$19 = Py.newString("DOTALL"); + s$20 = Py.newString("VERBOSE"); + s$21 = Py.newString("UNICODE"); + s$22 = Py.newString("error"); + s$23 = Py.newString("2.1b2"); + s$24 = Py.newString("Try to apply the pattern at the start of the string, returning\012 a match object, or None if no match was found."); + i$25 = Py.newInteger(0); + s$26 = Py.newString("Scan through string looking for a match to the pattern, returning\012 a match object, or None if no match was found."); + s$27 = Py.newString("Return the string obtained by replacing the leftmost\012 non-overlapping occurrences of the pattern in string by the\012 replacement repl"); + s$28 = Py.newString("Return a 2-tuple containing (new_string, number).\012 new_string is the string obtained by replacing the leftmost\012 non-overlapping occurrences of the pattern in the source\012 string by the replacement repl. number is the number of\012 substitutions that were made."); + s$29 = Py.newString("Split the source string by the occurrences of the pattern,\012 returning a list containing the resulting substrings."); + s$30 = Py.newString("Return a list of all non-overlapping matches in the string.\012\012 If one or more groups are present in the pattern, return a\012 list of groups; this will be a list of tuples if the pattern\012 has more than one group.\012\012 Empty matches are included in the result."); + s$31 = Py.newString("Compile a regular expression pattern, returning a pattern object."); + s$32 = Py.newString("Clear the regular expression cache"); + s$33 = Py.newString("Compile a template pattern, returning a pattern object"); + s$34 = Py.newString("Escape all non-alphanumeric characters in pattern."); + s$35 = Py.newString("a"); + s$36 = Py.newString("z"); + s$37 = Py.newString("A"); + s$38 = Py.newString("Z"); + s$39 = Py.newString("0"); + s$40 = Py.newString("9"); + s$41 = Py.newString("\000"); + s$42 = Py.newString("\\000"); + s$43 = Py.newString("\\"); + i$44 = Py.newInteger(100); + i$45 = Py.newInteger(1); + s$46 = Py.newString(""); + s$47 = Py.newString("/usr/share/jython/Lib-cpython/sre.py"); + funcTable = new _PyInner(); + c$0_match = Py.newCode(3, new String[] {"pattern", "string", "flags"}, "/usr/share/jython/Lib-cpython/sre.py", "match", false, false, funcTable, 0, null, null, 0, 1); + c$1_search = Py.newCode(3, new String[] {"pattern", "string", "flags"}, "/usr/share/jython/Lib-cpython/sre.py", "search", false, false, funcTable, 1, null, null, 0, 1); + c$2_sub = Py.newCode(4, new String[] {"pattern", "repl", "string", "count"}, "/usr/share/jython/Lib-cpython/sre.py", "sub", false, false, funcTable, 2, null, null, 0, 1); + c$3_subn = Py.newCode(4, new String[] {"pattern", "repl", "string", "count"}, "/usr/share/jython/Lib-cpython/sre.py", "subn", false, false, funcTable, 3, null, null, 0, 1); + c$4_split = Py.newCode(3, new String[] {"pattern", "string", "maxsplit"}, "/usr/share/jython/Lib-cpython/sre.py", "split", false, false, funcTable, 4, null, null, 0, 1); + c$5_findall = Py.newCode(3, new String[] {"pattern", "string", "maxsplit"}, "/usr/share/jython/Lib-cpython/sre.py", "findall", false, false, funcTable, 5, null, null, 0, 1); + c$6_compile = Py.newCode(2, new String[] {"pattern", "flags"}, "/usr/share/jython/Lib-cpython/sre.py", "compile", false, false, funcTable, 6, null, null, 0, 1); + c$7_purge = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre.py", "purge", false, false, funcTable, 7, null, null, 0, 1); + c$8_template = Py.newCode(2, new String[] {"pattern", "flags"}, "/usr/share/jython/Lib-cpython/sre.py", "template", false, false, funcTable, 8, null, null, 0, 1); + c$9_escape = Py.newCode(1, new String[] {"pattern", "i", "s", "c"}, "/usr/share/jython/Lib-cpython/sre.py", "escape", false, false, funcTable, 9, null, null, 0, 1); + c$10__join = Py.newCode(2, new String[] {"seq", "sep"}, "/usr/share/jython/Lib-cpython/sre.py", "_join", false, false, funcTable, 10, null, null, 0, 1); + c$11__compile = Py.newCode(1, new String[] {"key", "p", "flags", "pattern", "v"}, "/usr/share/jython/Lib-cpython/sre.py", "_compile", true, false, funcTable, 11, null, null, 0, 1); + c$12__compile_repl = Py.newCode(1, new String[] {"key", "p", "repl", "pattern", "v"}, "/usr/share/jython/Lib-cpython/sre.py", "_compile_repl", true, false, funcTable, 12, null, null, 0, 1); + c$13__expand = Py.newCode(3, new String[] {"pattern", "match", "template"}, "/usr/share/jython/Lib-cpython/sre.py", "_expand", false, false, funcTable, 13, null, null, 0, 1); + c$14__sub = Py.newCode(4, new String[] {"pattern", "template", "string", "count"}, "/usr/share/jython/Lib-cpython/sre.py", "_sub", false, false, funcTable, 14, null, null, 0, 1); + c$15_filter = Py.newCode(2, new String[] {"match", "template"}, "/usr/share/jython/Lib-cpython/sre.py", "filter", false, false, funcTable, 15, null, null, 0, 1); + c$16__subn = Py.newCode(4, new String[] {"pattern", "template", "string", "count", "filter", "append", "n", "m", "i", "e", "c", "b", "s"}, "/usr/share/jython/Lib-cpython/sre.py", "_subn", false, false, funcTable, 16, null, null, 0, 1); + c$17__split = Py.newCode(3, new String[] {"pattern", "string", "maxsplit", "append", "n", "m", "i", "g", "e", "extend", "c", "b", "s"}, "/usr/share/jython/Lib-cpython/sre.py", "_split", false, false, funcTable, 17, null, null, 0, 1); + c$18__pickle = Py.newCode(1, new String[] {"p"}, "/usr/share/jython/Lib-cpython/sre.py", "_pickle", false, false, funcTable, 18, null, null, 0, 1); + c$19___init__ = Py.newCode(2, new String[] {"self", "lexicon", "p", "SUBPATTERN", "phrase", "action", "BRANCH", "s"}, "/usr/share/jython/Lib-cpython/sre.py", "__init__", false, false, funcTable, 19, null, null, 0, 1); + c$20_scan = Py.newCode(2, new String[] {"self", "string", "append", "m", "action", "j", "i", "match", "result"}, "/usr/share/jython/Lib-cpython/sre.py", "scan", false, false, funcTable, 20, null, null, 0, 1); + c$21_Scanner = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre.py", "Scanner", false, false, funcTable, 21, null, null, 0, 0); + c$22_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre.py", "main", false, false, funcTable, 22, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$22_main == null) _PyInner.initConstants(); + return c$22_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.match$1(frame); + case 1: + return _PyInner.search$2(frame); + case 2: + return _PyInner.sub$3(frame); + case 3: + return _PyInner.subn$4(frame); + case 4: + return _PyInner.split$5(frame); + case 5: + return _PyInner.findall$6(frame); + case 6: + return _PyInner.compile$7(frame); + case 7: + return _PyInner.purge$8(frame); + case 8: + return _PyInner.template$9(frame); + case 9: + return _PyInner.escape$10(frame); + case 10: + return _PyInner._join$11(frame); + case 11: + return _PyInner._compile$12(frame); + case 12: + return _PyInner._compile_repl$13(frame); + case 13: + return _PyInner._expand$14(frame); + case 14: + return _PyInner._sub$15(frame); + case 15: + return _PyInner.filter$16(frame); + case 16: + return _PyInner._subn$17(frame); + case 17: + return _PyInner._split$18(frame); + case 18: + return _PyInner._pickle$19(frame); + case 19: + return _PyInner.__init__$20(frame); + case 20: + return _PyInner.scan$21(frame); + case 21: + return _PyInner.Scanner$22(frame); + case 22: + return _PyInner.main$23(frame); + default: + return null; + } + } + + private static PyObject match$1(PyFrame frame) { + /* Try to apply the pattern at the start of the string, returning + a match object, or None if no match was found. */ + return frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(2)).invoke("match", frame.getlocal(1)); + } + + private static PyObject search$2(PyFrame frame) { + /* Scan through string looking for a match to the pattern, returning + a match object, or None if no match was found. */ + return frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(2)).invoke("search", frame.getlocal(1)); + } + + private static PyObject sub$3(PyFrame frame) { + /* Return the string obtained by replacing the leftmost + non-overlapping occurrences of the pattern in string by the + replacement repl */ + return frame.getglobal("_compile").__call__(frame.getlocal(0), i$25).invoke("sub", new PyObject[] {frame.getlocal(1), frame.getlocal(2), frame.getlocal(3)}); + } + + private static PyObject subn$4(PyFrame frame) { + /* Return a 2-tuple containing (new_string, number). + new_string is the string obtained by replacing the leftmost + non-overlapping occurrences of the pattern in the source + string by the replacement repl. number is the number of + substitutions that were made. */ + return frame.getglobal("_compile").__call__(frame.getlocal(0), i$25).invoke("subn", new PyObject[] {frame.getlocal(1), frame.getlocal(2), frame.getlocal(3)}); + } + + private static PyObject split$5(PyFrame frame) { + /* Split the source string by the occurrences of the pattern, + returning a list containing the resulting substrings. */ + return frame.getglobal("_compile").__call__(frame.getlocal(0), i$25).invoke("split", frame.getlocal(1), frame.getlocal(2)); + } + + private static PyObject findall$6(PyFrame frame) { + /* Return a list of all non-overlapping matches in the string. + + If one or more groups are present in the pattern, return a + list of groups; this will be a list of tuples if the pattern + has more than one group. + + Empty matches are included in the result. */ + return frame.getglobal("_compile").__call__(frame.getlocal(0), i$25).invoke("findall", frame.getlocal(1), frame.getlocal(2)); + } + + private static PyObject compile$7(PyFrame frame) { + /* Compile a regular expression pattern, returning a pattern object. */ + return frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject purge$8(PyFrame frame) { + /* Clear the regular expression cache */ + frame.getglobal("_cache").invoke("clear"); + frame.getglobal("_cache_repl").invoke("clear"); + return Py.None; + } + + private static PyObject template$9(PyFrame frame) { + /* Compile a template pattern, returning a pattern object */ + return frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(1)._or(frame.getglobal("T"))); + } + + private static PyObject escape$10(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject; + + // Code + /* Escape all non-alphanumeric characters in pattern. */ + frame.setlocal(2, frame.getglobal("list").__call__(frame.getlocal(0))); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("len").__call__(frame.getlocal(0))); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(1, t$0$PyObject); + frame.setlocal(3, frame.getlocal(0).__getitem__(frame.getlocal(1))); + if (((t$2$PyObject = ((t$3$PyObject = (s$35._le(t$4$PyObject = frame.getlocal(3)).__nonzero__() ? t$4$PyObject._le(s$36) : Py.Zero)).__nonzero__() ? t$3$PyObject : (s$37._le(t$4$PyObject = frame.getlocal(3)).__nonzero__() ? t$4$PyObject._le(s$38) : Py.Zero))).__nonzero__() ? t$2$PyObject : (s$39._le(t$3$PyObject = frame.getlocal(3)).__nonzero__() ? t$3$PyObject._le(s$40) : Py.Zero)).__not__().__nonzero__()) { + if (frame.getlocal(3)._eq(s$41).__nonzero__()) { + frame.getlocal(2).__setitem__(frame.getlocal(1), s$42); + } + else { + frame.getlocal(2).__setitem__(frame.getlocal(1), s$43._add(frame.getlocal(3))); + } + } + } + return frame.getglobal("_join").__call__(frame.getlocal(2), frame.getlocal(0)); + } + + private static PyObject _join$11(PyFrame frame) { + return frame.getglobal("string").__getattr__("join").__call__(frame.getlocal(0), frame.getlocal(1).__getslice__(null, i$25, null)); + } + + private static PyObject _compile$12(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + + // Code + frame.setlocal(1, frame.getglobal("_cache").invoke("get", frame.getlocal(0))); + if (frame.getlocal(1)._isnot(frame.getglobal("None")).__nonzero__()) { + return frame.getlocal(1); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + if (frame.getglobal("type").__call__(frame.getlocal(3))._notin(frame.getglobal("sre_compile").__getattr__("STRING_TYPES")).__nonzero__()) { + return frame.getlocal(3); + } + try { + frame.setlocal(1, frame.getglobal("sre_compile").__getattr__("compile").__call__(frame.getlocal(3), frame.getlocal(2))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("error"))) { + frame.setlocal(4, t$0$PyException.value); + throw Py.makeException(frame.getglobal("error"), frame.getlocal(4)); + } + else throw t$0$PyException; + } + if (frame.getglobal("len").__call__(frame.getglobal("_cache"))._ge(frame.getglobal("_MAXCACHE")).__nonzero__()) { + frame.getglobal("_cache").invoke("clear"); + } + frame.getglobal("_cache").__setitem__(frame.getlocal(0), frame.getlocal(1)); + return frame.getlocal(1); + } + + private static PyObject _compile_repl$13(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + + // Code + frame.setlocal(1, frame.getglobal("_cache_repl").invoke("get", frame.getlocal(0))); + if (frame.getlocal(1)._isnot(frame.getglobal("None")).__nonzero__()) { + return frame.getlocal(1); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + try { + frame.setlocal(1, frame.getglobal("sre_parse").__getattr__("parse_template").__call__(frame.getlocal(2), frame.getlocal(3))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("error"))) { + frame.setlocal(4, t$0$PyException.value); + throw Py.makeException(frame.getglobal("error"), frame.getlocal(4)); + } + else throw t$0$PyException; + } + if (frame.getglobal("len").__call__(frame.getglobal("_cache_repl"))._ge(frame.getglobal("_MAXCACHE")).__nonzero__()) { + frame.getglobal("_cache_repl").invoke("clear"); + } + frame.getglobal("_cache_repl").__setitem__(frame.getlocal(0), frame.getlocal(1)); + return frame.getlocal(1); + } + + private static PyObject _expand$14(PyFrame frame) { + frame.setlocal(2, frame.getglobal("sre_parse").__getattr__("parse_template").__call__(frame.getlocal(2), frame.getlocal(0))); + return frame.getglobal("sre_parse").__getattr__("expand_template").__call__(frame.getlocal(2), frame.getlocal(1)); + } + + private static PyObject _sub$15(PyFrame frame) { + return frame.getglobal("_subn").__call__(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2), frame.getlocal(3)}).__getitem__(i$25); + } + + private static PyObject filter$16(PyFrame frame) { + return frame.getglobal("sre_parse").__getattr__("expand_template").__call__(frame.getlocal(1), frame.getlocal(0)); + } + + private static PyObject _subn$17(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject; + + // Code + if (frame.getglobal("callable").__call__(frame.getlocal(1)).__nonzero__()) { + frame.setlocal(4, frame.getlocal(1)); + } + else { + frame.setlocal(1, frame.getglobal("_compile_repl").__call__(frame.getlocal(1), frame.getlocal(0))); + frame.setlocal(4, new PyFunction(frame.f_globals, new PyObject[] {frame.getlocal(1)}, c$15_filter)); + } + t$0$PyObject = i$25; + frame.setlocal(6, t$0$PyObject); + frame.setlocal(8, t$0$PyObject); + frame.setlocal(12, new PyList(new PyObject[] {})); + frame.setlocal(5, frame.getlocal(12).__getattr__("append")); + frame.setlocal(10, frame.getlocal(0).invoke("scanner", frame.getlocal(2))); + while (((t$0$PyObject = frame.getlocal(3).__not__()).__nonzero__() ? t$0$PyObject : frame.getlocal(6)._lt(frame.getlocal(3))).__nonzero__()) { + frame.setlocal(7, frame.getlocal(10).invoke("search")); + if (frame.getlocal(7).__not__().__nonzero__()) { + break; + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(7).invoke("span"), 2); + frame.setlocal(11, t$0$PyObject__[0]); + frame.setlocal(9, t$0$PyObject__[1]); + if (frame.getlocal(8)._lt(frame.getlocal(11)).__nonzero__()) { + frame.getlocal(5).__call__(frame.getlocal(2).__getslice__(frame.getlocal(8), frame.getlocal(11), null)); + } + frame.getlocal(5).__call__(frame.getlocal(4).__call__(frame.getlocal(7))); + frame.setlocal(8, frame.getlocal(9)); + frame.setlocal(6, frame.getlocal(6)._add(i$45)); + } + frame.getlocal(5).__call__(frame.getlocal(2).__getslice__(frame.getlocal(8), null, null)); + return new PyTuple(new PyObject[] {frame.getglobal("_join").__call__(frame.getlocal(12), frame.getlocal(2).__getslice__(null, i$25, null)), frame.getlocal(6)}); + } + + private static PyObject _split$18(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject; + + // Code + t$0$PyObject = i$25; + frame.setlocal(4, t$0$PyObject); + frame.setlocal(6, t$0$PyObject); + frame.setlocal(12, new PyList(new PyObject[] {})); + frame.setlocal(3, frame.getlocal(12).__getattr__("append")); + frame.setlocal(9, frame.getlocal(12).__getattr__("extend")); + frame.setlocal(10, frame.getlocal(0).invoke("scanner", frame.getlocal(1))); + frame.setlocal(7, frame.getlocal(0).__getattr__("groups")); + while (((t$0$PyObject = frame.getlocal(2).__not__()).__nonzero__() ? t$0$PyObject : frame.getlocal(4)._lt(frame.getlocal(2))).__nonzero__()) { + frame.setlocal(5, frame.getlocal(10).invoke("search")); + if (frame.getlocal(5).__not__().__nonzero__()) { + break; + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(5).invoke("span"), 2); + frame.setlocal(11, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + if (frame.getlocal(11)._eq(frame.getlocal(8)).__nonzero__()) { + if (frame.getlocal(6)._ge(frame.getglobal("len").__call__(frame.getlocal(1))).__nonzero__()) { + break; + } + continue; + } + frame.getlocal(3).__call__(frame.getlocal(1).__getslice__(frame.getlocal(6), frame.getlocal(11), null)); + if (((t$0$PyObject = frame.getlocal(7)).__nonzero__() ? frame.getlocal(11)._ne(frame.getlocal(8)) : t$0$PyObject).__nonzero__()) { + frame.getlocal(9).__call__(frame.getglobal("list").__call__(frame.getlocal(5).invoke("groups"))); + } + frame.setlocal(6, frame.getlocal(8)); + frame.setlocal(4, frame.getlocal(4)._add(i$45)); + } + frame.getlocal(3).__call__(frame.getlocal(1).__getslice__(frame.getlocal(6), null, null)); + return frame.getlocal(12); + } + + private static PyObject _pickle$19(PyFrame frame) { + return new PyTuple(new PyObject[] {frame.getglobal("_compile"), new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("pattern"), frame.getlocal(0).__getattr__("flags")})}); + } + + private static PyObject __init__$20(PyFrame frame) { + PyObject[] imp_accu; + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + imp_accu = org.python.core.imp.importFrom("sre_constants", new String[] {"BRANCH", "SUBPATTERN"}, frame); + frame.setlocal(6, imp_accu[0]); + frame.setlocal(3, imp_accu[1]); + imp_accu = null; + frame.getlocal(0).__setattr__("lexicon", frame.getlocal(1)); + frame.setlocal(2, new PyList(new PyObject[] {})); + frame.setlocal(7, frame.getglobal("sre_parse").__getattr__("Pattern").__call__()); + t$0$int = 0; + t$1$PyObject = frame.getlocal(1); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(5, t$0$PyObject__[1]); + frame.getlocal(2).invoke("append", frame.getglobal("sre_parse").__getattr__("SubPattern").__call__(frame.getlocal(7), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getlocal(3), new PyTuple(new PyObject[] {frame.getglobal("len").__call__(frame.getlocal(2)), frame.getglobal("sre_parse").__getattr__("parse").__call__(frame.getlocal(4))})})}))); + } + frame.setlocal(2, frame.getglobal("sre_parse").__getattr__("SubPattern").__call__(frame.getlocal(7), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getlocal(6), new PyTuple(new PyObject[] {frame.getglobal("None"), frame.getlocal(2)})})}))); + frame.getlocal(7).__setattr__("groups", frame.getglobal("len").__call__(frame.getlocal(2))); + frame.getlocal(0).__setattr__("scanner", frame.getglobal("sre_compile").__getattr__("compile").__call__(frame.getlocal(2))); + return Py.None; + } + + private static PyObject scan$21(PyFrame frame) { + frame.setlocal(8, new PyList(new PyObject[] {})); + frame.setlocal(2, frame.getlocal(8).__getattr__("append")); + frame.setlocal(7, frame.getlocal(0).__getattr__("scanner").__getattr__("match")); + frame.setlocal(6, i$25); + while (i$45.__nonzero__()) { + frame.setlocal(3, frame.getlocal(7).__call__(frame.getlocal(1), frame.getlocal(6))); + if (frame.getlocal(3).__not__().__nonzero__()) { + break; + } + frame.setlocal(5, frame.getlocal(3).invoke("end")); + if (frame.getlocal(6)._eq(frame.getlocal(5)).__nonzero__()) { + break; + } + frame.setlocal(4, frame.getlocal(0).__getattr__("lexicon").__getitem__(frame.getlocal(3).__getattr__("lastindex")).__getitem__(i$45)); + if (frame.getglobal("callable").__call__(frame.getlocal(4)).__nonzero__()) { + frame.getlocal(0).__setattr__("match", frame.getlocal(3)); + frame.setlocal(4, frame.getlocal(4).__call__(frame.getlocal(0), frame.getlocal(3).invoke("group"))); + } + if (frame.getlocal(4)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(2).__call__(frame.getlocal(4)); + } + frame.setlocal(6, frame.getlocal(5)); + } + return new PyTuple(new PyObject[] {frame.getlocal(8), frame.getlocal(1).__getslice__(frame.getlocal(6), null, null)}); + } + + private static PyObject Scanner$22(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$19___init__)); + frame.setlocal("scan", new PyFunction(frame.f_globals, new PyObject[] {}, c$20_scan)); + return frame.getf_locals(); + } + + private static PyObject main$23(PyFrame frame) { + frame.setglobal("__file__", s$47); + + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal("sre_compile", org.python.core.imp.importOne("sre_compile", frame)); + frame.setlocal("sre_parse", org.python.core.imp.importOne("sre_parse", frame)); + frame.setlocal("__all__", new PyList(new PyObject[] {s$0, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12, s$13, s$14, s$15, s$16, s$17, s$18, s$19, s$20, s$21, s$22})); + frame.setlocal("__version__", s$23); + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + t$0$PyObject = frame.getname("sre_compile").__getattr__("SRE_FLAG_IGNORECASE"); + frame.setlocal("I", t$0$PyObject); + frame.setlocal("IGNORECASE", t$0$PyObject); + t$0$PyObject = frame.getname("sre_compile").__getattr__("SRE_FLAG_LOCALE"); + frame.setlocal("L", t$0$PyObject); + frame.setlocal("LOCALE", t$0$PyObject); + t$0$PyObject = frame.getname("sre_compile").__getattr__("SRE_FLAG_UNICODE"); + frame.setlocal("U", t$0$PyObject); + frame.setlocal("UNICODE", t$0$PyObject); + t$0$PyObject = frame.getname("sre_compile").__getattr__("SRE_FLAG_MULTILINE"); + frame.setlocal("M", t$0$PyObject); + frame.setlocal("MULTILINE", t$0$PyObject); + t$0$PyObject = frame.getname("sre_compile").__getattr__("SRE_FLAG_DOTALL"); + frame.setlocal("S", t$0$PyObject); + frame.setlocal("DOTALL", t$0$PyObject); + t$0$PyObject = frame.getname("sre_compile").__getattr__("SRE_FLAG_VERBOSE"); + frame.setlocal("X", t$0$PyObject); + frame.setlocal("VERBOSE", t$0$PyObject); + t$0$PyObject = frame.getname("sre_compile").__getattr__("SRE_FLAG_TEMPLATE"); + frame.setlocal("T", t$0$PyObject); + frame.setlocal("TEMPLATE", t$0$PyObject); + frame.setlocal("DEBUG", frame.getname("sre_compile").__getattr__("SRE_FLAG_DEBUG")); + frame.setlocal("error", frame.getname("sre_compile").__getattr__("error")); + frame.setlocal("match", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$0_match)); + frame.setlocal("search", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$1_search)); + frame.setlocal("sub", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$2_sub)); + frame.setlocal("subn", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$3_subn)); + frame.setlocal("split", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$4_split)); + frame.setlocal("findall", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$5_findall)); + frame.setlocal("compile", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$6_compile)); + frame.setlocal("purge", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_purge)); + frame.setlocal("template", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$8_template)); + frame.setlocal("escape", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_escape)); + frame.setlocal("_cache", new PyDictionary(new PyObject[] {})); + frame.setlocal("_cache_repl", new PyDictionary(new PyObject[] {})); + frame.setlocal("_MAXCACHE", i$44); + frame.setlocal("_join", new PyFunction(frame.f_globals, new PyObject[] {}, c$10__join)); + frame.setlocal("_compile", new PyFunction(frame.f_globals, new PyObject[] {}, c$11__compile)); + frame.setlocal("_compile_repl", new PyFunction(frame.f_globals, new PyObject[] {}, c$12__compile_repl)); + frame.setlocal("_expand", new PyFunction(frame.f_globals, new PyObject[] {}, c$13__expand)); + frame.setlocal("_sub", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$14__sub)); + frame.setlocal("_subn", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$16__subn)); + frame.setlocal("_split", new PyFunction(frame.f_globals, new PyObject[] {i$25}, c$17__split)); + frame.setlocal("copy_reg", org.python.core.imp.importOne("copy_reg", frame)); + frame.setlocal("_pickle", new PyFunction(frame.f_globals, new PyObject[] {}, c$18__pickle)); + frame.getname("copy_reg").__getattr__("pickle").__call__(frame.getname("type").__call__(frame.getname("_compile").__call__(s$46, i$25)), frame.getname("_pickle"), frame.getname("_compile")); + frame.setlocal("Scanner", Py.makeClass("Scanner", new PyObject[] {}, c$21_Scanner, null)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("sre")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "sre"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(sre._PyInner.class, newargs, sre.jpy$packages, sre.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/sre_compile$_PyInner.class b/server/jpywork/sre_compile$_PyInner.class new file mode 100644 index 00000000..25d8672c Binary files /dev/null and b/server/jpywork/sre_compile$_PyInner.class differ diff --git a/server/jpywork/sre_compile.class b/server/jpywork/sre_compile.class new file mode 100644 index 00000000..17636b72 Binary files /dev/null and b/server/jpywork/sre_compile.class differ diff --git a/server/jpywork/sre_compile.java b/server/jpywork/sre_compile.java new file mode 100644 index 00000000..6ab5235d --- /dev/null +++ b/server/jpywork/sre_compile.java @@ -0,0 +1,710 @@ +import org.python.core.*; + +public class sre_compile extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject i$2; + private static PyObject s$3; + private static PyObject i$4; + private static PyObject i$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject i$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject i$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyFunctionTable funcTable; + private static PyCode c$0_fixup; + private static PyCode c$1_lambda; + private static PyCode c$2__compile; + private static PyCode c$3_lambda; + private static PyCode c$4__compile_charset; + private static PyCode c$5__optimize_charset; + private static PyCode c$6__simple; + private static PyCode c$7__compile_info; + private static PyCode c$8__code; + private static PyCode c$9_compile; + private static PyCode c$10_main; + private static void initConstants() { + s$0 = Py.newString("SRE module mismatch"); + i$1 = Py.newInteger(65535); + i$2 = Py.newInteger(0); + s$3 = Py.newString("internal: unsupported template operator"); + i$4 = Py.newInteger(1); + i$5 = Py.newInteger(2); + s$6 = Py.newString("look-behind requires fixed-width pattern"); + s$7 = Py.newString("unsupported operand type"); + s$8 = Py.newString("internal: unsupported set operator"); + i$9 = Py.newInteger(256); + s$10 = Py.newString("nothing to repeat"); + s$11 = Py.newString(""); + i$12 = Py.newInteger(100); + s$13 = Py.newString("sorry, but this version only supports 100 named groups"); + s$14 = Py.newString("/usr/share/jython/Lib-cpython/sre_compile.py"); + funcTable = new _PyInner(); + c$0_fixup = Py.newCode(2, new String[] {"literal", "flags"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "fixup", false, false, funcTable, 0, null, null, 0, 1); + c$1_lambda = Py.newCode(1, new String[] {"x"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "", false, false, funcTable, 1, null, null, 0, 1); + c$2__compile = Py.newCode(3, new String[] {"code", "pattern", "flags", "av", "emit", "skip", "lo", "op", "fixup", "hi", "tail"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_compile", false, false, funcTable, 2, null, null, 0, 1); + c$3_lambda = Py.newCode(1, new String[] {"x"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "", false, false, funcTable, 3, null, null, 0, 1); + c$4__compile_charset = Py.newCode(4, new String[] {"charset", "flags", "code", "fixup", "op", "av", "emit"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_compile_charset", false, false, funcTable, 4, null, null, 0, 1); + c$5__optimize_charset = Py.newCode(2, new String[] {"charset", "fixup", "op", "v", "av", "charmap", "p", "n", "m", "runs", "i", "out", "c", "data"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_optimize_charset", false, false, funcTable, 5, null, null, 0, 1); + c$6__simple = Py.newCode(1, new String[] {"av", "hi", "lo"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_simple", false, false, funcTable, 6, null, null, 0, 1); + c$7__compile_info = Py.newCode(3, new String[] {"code", "pattern", "flags", "hi", "charset", "lo", "op", "av", "emit", "p", "skip", "prefix", "i", "mask", "table", "c", "prefix_skip"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_compile_info", false, false, funcTable, 7, null, null, 0, 1); + c$8__code = Py.newCode(2, new String[] {"p", "flags", "code"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_code", false, false, funcTable, 8, null, null, 0, 1); + c$9_compile = Py.newCode(2, new String[] {"p", "flags", "groupindex", "code", "indexgroup", "k", "i", "sre_parse", "pattern"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "compile", false, false, funcTable, 9, null, null, 0, 1); + c$10_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_compile.py", "main", false, false, funcTable, 10, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$10_main == null) _PyInner.initConstants(); + return c$10_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.fixup$1(frame); + case 1: + return _PyInner.lambda$2(frame); + case 2: + return _PyInner._compile$3(frame); + case 3: + return _PyInner.lambda$4(frame); + case 4: + return _PyInner._compile_charset$5(frame); + case 5: + return _PyInner._optimize_charset$6(frame); + case 6: + return _PyInner._simple$7(frame); + case 7: + return _PyInner._compile_info$8(frame); + case 8: + return _PyInner._code$9(frame); + case 9: + return _PyInner.compile$10(frame); + case 10: + return _PyInner.main$11(frame); + default: + return null; + } + } + + private static PyObject fixup$1(PyFrame frame) { + return frame.getglobal("_sre").__getattr__("getlower").__call__(frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject lambda$2(PyFrame frame) { + return frame.getlocal(0); + } + + private static PyObject _compile$3(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject; + + // Code + frame.setlocal(4, frame.getlocal(0).__getattr__("append")); + t$0$int = 0; + t$1$PyObject = frame.getlocal(1); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + if (frame.getlocal(7)._in(new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("NOT_LITERAL")})).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_IGNORECASE")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("OP_IGNORE").__getitem__(frame.getlocal(7)))); + frame.getlocal(4).__call__(frame.getglobal("_sre").__getattr__("getlower").__call__(frame.getlocal(3), frame.getlocal(2))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.getlocal(4).__call__(frame.getlocal(3)); + } + } + else if (frame.getlocal(7)._is(frame.getglobal("IN")).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_IGNORECASE")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("OP_IGNORE").__getitem__(frame.getlocal(7)))); + frame.setlocal(8, new PyFunction(frame.f_globals, new PyObject[] {frame.getlocal(2)}, c$0_fixup)); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.setlocal(8, new PyFunction(frame.f_globals, new PyObject[] {}, c$1_lambda)); + } + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getglobal("_compile_charset").__call__(new PyObject[] {frame.getlocal(3), frame.getlocal(2), frame.getlocal(0), frame.getlocal(8)}); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + else if (frame.getlocal(7)._is(frame.getglobal("ANY")).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_DOTALL")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("ANY_ALL"))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("ANY"))); + } + } + else if (frame.getlocal(7)._in(new PyTuple(new PyObject[] {frame.getglobal("REPEAT"), frame.getglobal("MIN_REPEAT"), frame.getglobal("MAX_REPEAT")})).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_TEMPLATE")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$3); + } + else if (((t$2$PyObject = frame.getglobal("_simple").__call__(frame.getlocal(3))).__nonzero__() ? frame.getlocal(7)._eq(frame.getglobal("MAX_REPEAT")) : t$2$PyObject).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("REPEAT_ONE"))); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$2)); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$4)); + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3).__getitem__(i$5), frame.getlocal(2)); + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("SUCCESS"))); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("REPEAT"))); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$2)); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$4)); + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3).__getitem__(i$5), frame.getlocal(2)); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + if (frame.getlocal(7)._eq(frame.getglobal("MAX_REPEAT")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("MAX_UNTIL"))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("MIN_UNTIL"))); + } + } + } + else if (frame.getlocal(7)._is(frame.getglobal("SUBPATTERN")).__nonzero__()) { + if (frame.getlocal(3).__getitem__(i$2).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("MARK"))); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$2)._sub(i$4)._mul(i$5)); + } + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3).__getitem__(i$4), frame.getlocal(2)); + if (frame.getlocal(3).__getitem__(i$2).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("MARK"))); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$2)._sub(i$4)._mul(i$5)._add(i$4)); + } + } + else if (frame.getlocal(7)._in(new PyTuple(new PyObject[] {frame.getglobal("SUCCESS"), frame.getglobal("FAILURE")})).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + } + else if (frame.getlocal(7)._in(new PyTuple(new PyObject[] {frame.getglobal("ASSERT"), frame.getglobal("ASSERT_NOT")})).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + if (frame.getlocal(3).__getitem__(i$2)._ge(i$2).__nonzero__()) { + frame.getlocal(4).__call__(i$2); + } + else { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(3).__getitem__(i$4).invoke("getwidth"), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(9, t$0$PyObject__[1]); + if (frame.getlocal(6)._ne(frame.getlocal(9)).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$6); + } + frame.getlocal(4).__call__(frame.getlocal(6)); + } + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3).__getitem__(i$4), frame.getlocal(2)); + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("SUCCESS"))); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + else if (frame.getlocal(7)._is(frame.getglobal("CALL")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3), frame.getlocal(2)); + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("SUCCESS"))); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + else if (frame.getlocal(7)._is(frame.getglobal("AT")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_MULTILINE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("AT_MULTILINE").invoke("get", frame.getlocal(3), frame.getlocal(3))); + } + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_LOCALE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("AT_LOCALE").invoke("get", frame.getlocal(3), frame.getlocal(3))); + } + else if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_UNICODE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("AT_UNICODE").invoke("get", frame.getlocal(3), frame.getlocal(3))); + } + frame.getlocal(4).__call__(frame.getglobal("ATCODES").__getitem__(frame.getlocal(3))); + } + else if (frame.getlocal(7)._is(frame.getglobal("BRANCH")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.setlocal(10, new PyList(new PyObject[] {})); + t$1$int = 0; + t$3$PyObject = frame.getlocal(3).__getitem__(i$4); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(3, t$2$PyObject); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3), frame.getlocal(2)); + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("JUMP"))); + frame.getlocal(10).invoke("append", frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + frame.getlocal(4).__call__(i$2); + t$2$int = 0; + t$5$PyObject = frame.getlocal(10); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(10, t$4$PyObject); + frame.getlocal(0).__setitem__(frame.getlocal(10), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(10))); + } + } + else if (frame.getlocal(7)._is(frame.getglobal("CATEGORY")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_LOCALE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("CH_LOCALE").__getitem__(frame.getlocal(3))); + } + else if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_UNICODE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("CH_UNICODE").__getitem__(frame.getlocal(3))); + } + frame.getlocal(4).__call__(frame.getglobal("CHCODES").__getitem__(frame.getlocal(3))); + } + else if (frame.getlocal(7)._is(frame.getglobal("GROUPREF")).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_IGNORECASE")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("OP_IGNORE").__getitem__(frame.getlocal(7)))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + } + frame.getlocal(4).__call__(frame.getlocal(3)._sub(i$4)); + } + else { + throw Py.makeException(frame.getglobal("ValueError"), new PyTuple(new PyObject[] {s$7, frame.getlocal(7)})); + } + } + return Py.None; + } + + private static PyObject lambda$4(PyFrame frame) { + return frame.getlocal(0); + } + + private static PyObject _compile_charset$5(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(6, frame.getlocal(2).__getattr__("append")); + if (frame.getlocal(3).__not__().__nonzero__()) { + frame.setlocal(3, new PyFunction(frame.f_globals, new PyObject[] {}, c$3_lambda)); + } + t$0$int = 0; + t$1$PyObject = frame.getglobal("_optimize_charset").__call__(frame.getlocal(0), frame.getlocal(3)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(5, t$0$PyObject__[1]); + frame.getlocal(6).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(4))); + if (frame.getlocal(4)._is(frame.getglobal("NEGATE")).__nonzero__()) { + // pass + } + else if (frame.getlocal(4)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(6).__call__(frame.getlocal(3).__call__(frame.getlocal(5))); + } + else if (frame.getlocal(4)._is(frame.getglobal("RANGE")).__nonzero__()) { + frame.getlocal(6).__call__(frame.getlocal(3).__call__(frame.getlocal(5).__getitem__(i$2))); + frame.getlocal(6).__call__(frame.getlocal(3).__call__(frame.getlocal(5).__getitem__(i$4))); + } + else if (frame.getlocal(4)._is(frame.getglobal("CHARSET")).__nonzero__()) { + frame.getlocal(2).invoke("extend", frame.getlocal(5)); + } + else if (frame.getlocal(4)._is(frame.getglobal("CATEGORY")).__nonzero__()) { + if (frame.getlocal(1)._and(frame.getglobal("SRE_FLAG_LOCALE")).__nonzero__()) { + frame.getlocal(6).__call__(frame.getglobal("CHCODES").__getitem__(frame.getglobal("CH_LOCALE").__getitem__(frame.getlocal(5)))); + } + else if (frame.getlocal(1)._and(frame.getglobal("SRE_FLAG_UNICODE")).__nonzero__()) { + frame.getlocal(6).__call__(frame.getglobal("CHCODES").__getitem__(frame.getglobal("CH_UNICODE").__getitem__(frame.getlocal(5)))); + } + else { + frame.getlocal(6).__call__(frame.getglobal("CHCODES").__getitem__(frame.getlocal(5))); + } + } + else { + throw Py.makeException(frame.getglobal("error"), s$8); + } + } + frame.getlocal(6).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("FAILURE"))); + return Py.None; + } + + private static PyObject _optimize_charset$6(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int, t$3$int, t$4$int; + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject, t$6$PyObject, t$7$PyObject, t$8$PyObject, t$9$PyObject; + + // Code + frame.setlocal(11, new PyList(new PyObject[] {})); + frame.setlocal(5, new PyList(new PyObject[] {i$2})._mul(i$9)); + try { + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + if (frame.getlocal(2)._is(frame.getglobal("NEGATE")).__nonzero__()) { + frame.getlocal(11).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(4)})); + } + else if (frame.getlocal(2)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(5).__setitem__(frame.getlocal(1).__call__(frame.getlocal(4)), i$4); + } + else if (frame.getlocal(2)._is(frame.getglobal("RANGE")).__nonzero__()) { + t$1$int = 0; + t$3$PyObject = frame.getglobal("range").__call__(frame.getlocal(1).__call__(frame.getlocal(4).__getitem__(i$2)), frame.getlocal(1).__call__(frame.getlocal(4).__getitem__(i$4))._add(i$4)); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(10, t$2$PyObject); + frame.getlocal(5).__setitem__(frame.getlocal(10), i$4); + } + } + else if (frame.getlocal(2)._is(frame.getglobal("CATEGORY")).__nonzero__()) { + return frame.getlocal(0); + } + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + return frame.getlocal(0); + } + else throw t$0$PyException; + } + t$4$PyObject = i$2; + frame.setlocal(10, t$4$PyObject); + frame.setlocal(6, t$4$PyObject); + frame.setlocal(7, t$4$PyObject); + frame.setlocal(9, new PyList(new PyObject[] {})); + t$2$int = 0; + t$5$PyObject = frame.getlocal(5); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(12, t$4$PyObject); + if (frame.getlocal(12).__nonzero__()) { + if (frame.getlocal(7)._eq(i$2).__nonzero__()) { + frame.setlocal(6, frame.getlocal(10)); + } + frame.setlocal(7, frame.getlocal(7)._add(i$4)); + } + else if (frame.getlocal(7).__nonzero__()) { + frame.getlocal(9).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + frame.setlocal(7, i$2); + } + frame.setlocal(10, frame.getlocal(10)._add(i$4)); + } + if (frame.getlocal(7).__nonzero__()) { + frame.getlocal(9).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + } + if (frame.getglobal("len").__call__(frame.getlocal(9))._le(i$5).__nonzero__()) { + t$3$int = 0; + t$7$PyObject = frame.getlocal(9); + while ((t$6$PyObject = t$7$PyObject.__finditem__(t$3$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$6$PyObject, 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(7)._eq(i$4).__nonzero__()) { + frame.getlocal(11).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getlocal(6)})); + } + else { + frame.getlocal(11).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("RANGE"), new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(6)._add(frame.getlocal(7))._sub(i$4)})})); + } + } + if (frame.getglobal("len").__call__(frame.getlocal(11))._lt(frame.getglobal("len").__call__(frame.getlocal(0))).__nonzero__()) { + return frame.getlocal(11); + } + } + else { + frame.setlocal(13, new PyList(new PyObject[] {})); + frame.setlocal(8, i$4); + frame.setlocal(3, i$2); + t$4$int = 0; + t$9$PyObject = frame.getlocal(5); + while ((t$8$PyObject = t$9$PyObject.__finditem__(t$4$int++)) != null) { + frame.setlocal(12, t$8$PyObject); + if (frame.getlocal(12).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3)._add(frame.getlocal(8))); + } + frame.setlocal(8, frame.getlocal(8)._lshift(i$4)); + if (frame.getlocal(8)._gt(frame.getglobal("MAXCODE")).__nonzero__()) { + frame.getlocal(13).invoke("append", frame.getlocal(3)); + frame.setlocal(8, i$4); + frame.setlocal(3, i$2); + } + } + frame.getlocal(11).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("CHARSET"), frame.getlocal(13)})); + return frame.getlocal(11); + } + return frame.getlocal(0); + } + + private static PyObject _simple$7(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getitem__(i$5).invoke("getwidth"), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + if (((t$0$PyObject = frame.getlocal(2)._eq(i$2)).__nonzero__() ? frame.getlocal(1)._eq(frame.getglobal("MAXREPEAT")) : t$0$PyObject).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$10); + } + return (t$0$PyObject = (frame.getlocal(2)._eq(t$1$PyObject = frame.getlocal(1)).__nonzero__() ? t$1$PyObject._eq(i$4) : Py.Zero)).__nonzero__() ? frame.getlocal(0).__getitem__(i$5).__getitem__(i$2).__getitem__(i$2)._ne(frame.getglobal("SUBPATTERN")) : t$0$PyObject; + } + + private static PyObject _compile_info$8(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int, t$3$int; + boolean t$0$boolean; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject, t$6$PyObject, t$7$PyObject, t$8$PyObject; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1).invoke("getwidth"), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + if (frame.getlocal(5)._eq(i$2).__nonzero__()) { + return Py.None; + } + frame.setlocal(11, new PyList(new PyObject[] {})); + frame.setlocal(16, i$2); + frame.setlocal(4, new PyList(new PyObject[] {})); + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_IGNORECASE")).__not__().__nonzero__()) { + t$0$int = 0; + t$1$PyObject = frame.getlocal(1).__getattr__("data"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + if (frame.getglobal("len").__call__(frame.getlocal(11))._eq(frame.getlocal(16)).__nonzero__()) { + frame.setlocal(16, frame.getlocal(16)._add(i$4)); + } + frame.getlocal(11).invoke("append", frame.getlocal(7)); + } + else if (((t$2$PyObject = frame.getlocal(6)._is(frame.getglobal("SUBPATTERN"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(7).__getitem__(i$4))._eq(i$4) : t$2$PyObject).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(7).__getitem__(i$4).__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(11).invoke("append", frame.getlocal(7)); + } + else { + break; + } + } + else { + break; + } + } + if (((t$2$PyObject = frame.getlocal(11).__not__()).__nonzero__() ? frame.getlocal(1).__getattr__("data") : t$2$PyObject).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1).__getattr__("data").__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (((t$2$PyObject = frame.getlocal(6)._is(frame.getglobal("SUBPATTERN"))).__nonzero__() ? frame.getlocal(7).__getitem__(i$4) : t$2$PyObject).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(7).__getitem__(i$4).__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(4).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + } + else if (frame.getlocal(6)._is(frame.getglobal("BRANCH")).__nonzero__()) { + frame.setlocal(15, new PyList(new PyObject[] {})); + t$1$int = 0; + t$3$PyObject = frame.getlocal(7).__getitem__(i$4); + while (t$0$boolean=(t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(9, t$2$PyObject); + if (frame.getlocal(9).__not__().__nonzero__()) { + break; + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(9).__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(15).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + } + else { + break; + } + } + if (!t$0$boolean) { + frame.setlocal(4, frame.getlocal(15)); + } + } + } + else if (frame.getlocal(6)._is(frame.getglobal("BRANCH")).__nonzero__()) { + frame.setlocal(15, new PyList(new PyObject[] {})); + t$2$int = 0; + t$5$PyObject = frame.getlocal(7).__getitem__(i$4); + while (t$0$boolean=(t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(9, t$4$PyObject); + if (frame.getlocal(9).__not__().__nonzero__()) { + break; + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(9).__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(15).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + } + else { + break; + } + } + if (!t$0$boolean) { + frame.setlocal(4, frame.getlocal(15)); + } + } + else if (frame.getlocal(6)._is(frame.getglobal("IN")).__nonzero__()) { + frame.setlocal(4, frame.getlocal(7)); + } + } + } + frame.setlocal(8, frame.getlocal(0).__getattr__("append")); + frame.getlocal(8).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("INFO"))); + frame.setlocal(10, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(8).__call__(i$2); + frame.setlocal(13, i$2); + if (frame.getlocal(11).__nonzero__()) { + frame.setlocal(13, frame.getglobal("SRE_INFO_PREFIX")); + if ((frame.getglobal("len").__call__(frame.getlocal(11))._eq(t$6$PyObject = frame.getlocal(16)).__nonzero__() ? t$6$PyObject._eq(frame.getglobal("len").__call__(frame.getlocal(1).__getattr__("data"))) : Py.Zero).__nonzero__()) { + frame.setlocal(13, frame.getlocal(13)._add(frame.getglobal("SRE_INFO_LITERAL"))); + } + } + else if (frame.getlocal(4).__nonzero__()) { + frame.setlocal(13, frame.getlocal(13)._add(frame.getglobal("SRE_INFO_CHARSET"))); + } + frame.getlocal(8).__call__(frame.getlocal(13)); + if (frame.getlocal(5)._lt(frame.getglobal("MAXCODE")).__nonzero__()) { + frame.getlocal(8).__call__(frame.getlocal(5)); + } + else { + frame.getlocal(8).__call__(frame.getglobal("MAXCODE")); + frame.setlocal(11, frame.getlocal(11).__getslice__(null, frame.getglobal("MAXCODE"), null)); + } + if (frame.getlocal(3)._lt(frame.getglobal("MAXCODE")).__nonzero__()) { + frame.getlocal(8).__call__(frame.getlocal(3)); + } + else { + frame.getlocal(8).__call__(i$2); + } + if (frame.getlocal(11).__nonzero__()) { + frame.getlocal(8).__call__(frame.getglobal("len").__call__(frame.getlocal(11))); + frame.getlocal(8).__call__(frame.getlocal(16)); + frame.getlocal(0).invoke("extend", frame.getlocal(11)); + frame.setlocal(14, new PyList(new PyObject[] {i$4.__neg__()})._add(new PyList(new PyObject[] {i$2})._mul(frame.getglobal("len").__call__(frame.getlocal(11))))); + t$3$int = 0; + t$7$PyObject = frame.getglobal("range").__call__(frame.getglobal("len").__call__(frame.getlocal(11))); + while ((t$6$PyObject = t$7$PyObject.__finditem__(t$3$int++)) != null) { + frame.setlocal(12, t$6$PyObject); + frame.getlocal(14).__setitem__(frame.getlocal(12)._add(i$4), frame.getlocal(14).__getitem__(frame.getlocal(12))._add(i$4)); + while (((t$8$PyObject = frame.getlocal(14).__getitem__(frame.getlocal(12)._add(i$4))._gt(i$2)).__nonzero__() ? frame.getlocal(11).__getitem__(frame.getlocal(12))._ne(frame.getlocal(11).__getitem__(frame.getlocal(14).__getitem__(frame.getlocal(12)._add(i$4))._sub(i$4))) : t$8$PyObject).__nonzero__()) { + frame.getlocal(14).__setitem__(frame.getlocal(12)._add(i$4), frame.getlocal(14).__getitem__(frame.getlocal(14).__getitem__(frame.getlocal(12)._add(i$4))._sub(i$4))._add(i$4)); + } + } + frame.getlocal(0).invoke("extend", frame.getlocal(14).__getslice__(i$4, null, null)); + } + else if (frame.getlocal(4).__nonzero__()) { + frame.getglobal("_compile_charset").__call__(frame.getlocal(4), i$2, frame.getlocal(0)); + } + frame.getlocal(0).__setitem__(frame.getlocal(10), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(10))); + return Py.None; + } + + private static PyObject _code$9(PyFrame frame) { + frame.setlocal(1, frame.getlocal(0).__getattr__("pattern").__getattr__("flags")._or(frame.getlocal(1))); + frame.setlocal(2, new PyList(new PyObject[] {})); + frame.getglobal("_compile_info").__call__(frame.getlocal(2), frame.getlocal(0), frame.getlocal(1)); + frame.getglobal("_compile").__call__(frame.getlocal(2), frame.getlocal(0).__getattr__("data"), frame.getlocal(1)); + frame.getlocal(2).invoke("append", frame.getglobal("OPCODES").__getitem__(frame.getglobal("SUCCESS"))); + return frame.getlocal(2); + } + + private static PyObject compile$10(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getglobal("type").__call__(frame.getlocal(0))._in(frame.getglobal("STRING_TYPES")).__nonzero__()) { + frame.setlocal(7, org.python.core.imp.importOne("sre_parse", frame)); + frame.setlocal(8, frame.getlocal(0)); + frame.setlocal(0, frame.getlocal(7).__getattr__("parse").__call__(frame.getlocal(0), frame.getlocal(1))); + } + else { + frame.setlocal(8, frame.getglobal("None")); + } + frame.setlocal(3, frame.getglobal("_code").__call__(frame.getlocal(0), frame.getlocal(1))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("pattern").__getattr__("groups")._le(i$12), s$13); + frame.setlocal(2, frame.getlocal(0).__getattr__("pattern").__getattr__("groupdict")); + frame.setlocal(4, new PyList(new PyObject[] {frame.getglobal("None")})._mul(frame.getlocal(0).__getattr__("pattern").__getattr__("groups"))); + t$0$int = 0; + t$1$PyObject = frame.getlocal(2).invoke("items"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.getlocal(4).__setitem__(frame.getlocal(6), frame.getlocal(5)); + } + return frame.getglobal("_sre").__getattr__("compile").__call__(new PyObject[] {frame.getlocal(8), frame.getlocal(1), frame.getlocal(3), frame.getlocal(0).__getattr__("pattern").__getattr__("groups")._sub(i$4), frame.getlocal(2), frame.getlocal(4)}); + } + + private static PyObject main$11(PyFrame frame) { + frame.setglobal("__file__", s$14); + + // Temporary Variables + PyException t$0$PyException; + + // Code + frame.setlocal("_sre", org.python.core.imp.importOne("_sre", frame)); + org.python.core.imp.importAll("sre_constants", frame); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getname("_sre").__getattr__("MAGIC")._eq(frame.getname("MAGIC")), s$0); + frame.setlocal("MAXCODE", i$1); + frame.setlocal("_compile", new PyFunction(frame.f_globals, new PyObject[] {}, c$2__compile)); + frame.setlocal("_compile_charset", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$4__compile_charset)); + frame.setlocal("_optimize_charset", new PyFunction(frame.f_globals, new PyObject[] {}, c$5__optimize_charset)); + frame.setlocal("_simple", new PyFunction(frame.f_globals, new PyObject[] {}, c$6__simple)); + frame.setlocal("_compile_info", new PyFunction(frame.f_globals, new PyObject[] {}, c$7__compile_info)); + frame.setlocal("STRING_TYPES", new PyList(new PyObject[] {frame.getname("type").__call__(s$11)})); + try { + frame.getname("STRING_TYPES").invoke("append", frame.getname("type").__call__(frame.getname("unicode").__call__(s$11))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("NameError"))) { + // pass + } + else throw t$0$PyException; + } + frame.setlocal("_code", new PyFunction(frame.f_globals, new PyObject[] {}, c$8__code)); + frame.setlocal("compile", new PyFunction(frame.f_globals, new PyObject[] {i$2}, c$9_compile)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("sre_compile")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "sre_compile"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(sre_compile._PyInner.class, newargs, sre_compile.jpy$packages, sre_compile.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/sre_constants$_PyInner.class b/server/jpywork/sre_constants$_PyInner.class new file mode 100644 index 00000000..cce46552 Binary files /dev/null and b/server/jpywork/sre_constants$_PyInner.class differ diff --git a/server/jpywork/sre_constants.class b/server/jpywork/sre_constants.class new file mode 100644 index 00000000..ef574d83 Binary files /dev/null and b/server/jpywork/sre_constants.class differ diff --git a/server/jpywork/sre_constants.java b/server/jpywork/sre_constants.java new file mode 100644 index 00000000..8e993cce --- /dev/null +++ b/server/jpywork/sre_constants.java @@ -0,0 +1,407 @@ +import org.python.core.*; + +public class sre_constants extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject i$0; + private static PyObject i$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject s$56; + private static PyObject s$57; + private static PyObject s$58; + private static PyObject s$59; + private static PyObject s$60; + private static PyObject s$61; + private static PyObject s$62; + private static PyObject i$63; + private static PyObject i$64; + private static PyObject i$65; + private static PyObject i$66; + private static PyObject i$67; + private static PyObject i$68; + private static PyObject i$69; + private static PyObject i$70; + private static PyObject i$71; + private static PyObject s$72; + private static PyObject s$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject s$80; + private static PyObject s$81; + private static PyObject s$82; + private static PyObject s$83; + private static PyObject s$84; + private static PyObject s$85; + private static PyObject s$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject s$89; + private static PyObject s$90; + private static PyObject s$91; + private static PyFunctionTable funcTable; + private static PyCode c$0_error; + private static PyCode c$1_makedict; + private static PyCode c$2_lambda; + private static PyCode c$3_dump; + private static PyCode c$4_main; + private static void initConstants() { + i$0 = Py.newInteger(20010320); + i$1 = Py.newInteger(65535); + s$2 = Py.newString("failure"); + s$3 = Py.newString("success"); + s$4 = Py.newString("any"); + s$5 = Py.newString("any_all"); + s$6 = Py.newString("assert"); + s$7 = Py.newString("assert_not"); + s$8 = Py.newString("at"); + s$9 = Py.newString("branch"); + s$10 = Py.newString("call"); + s$11 = Py.newString("category"); + s$12 = Py.newString("charset"); + s$13 = Py.newString("groupref"); + s$14 = Py.newString("groupref_ignore"); + s$15 = Py.newString("in"); + s$16 = Py.newString("in_ignore"); + s$17 = Py.newString("info"); + s$18 = Py.newString("jump"); + s$19 = Py.newString("literal"); + s$20 = Py.newString("literal_ignore"); + s$21 = Py.newString("mark"); + s$22 = Py.newString("max_repeat"); + s$23 = Py.newString("max_until"); + s$24 = Py.newString("min_repeat"); + s$25 = Py.newString("min_until"); + s$26 = Py.newString("negate"); + s$27 = Py.newString("not_literal"); + s$28 = Py.newString("not_literal_ignore"); + s$29 = Py.newString("range"); + s$30 = Py.newString("repeat"); + s$31 = Py.newString("repeat_one"); + s$32 = Py.newString("subpattern"); + s$33 = Py.newString("at_beginning"); + s$34 = Py.newString("at_beginning_line"); + s$35 = Py.newString("at_beginning_string"); + s$36 = Py.newString("at_boundary"); + s$37 = Py.newString("at_non_boundary"); + s$38 = Py.newString("at_end"); + s$39 = Py.newString("at_end_line"); + s$40 = Py.newString("at_end_string"); + s$41 = Py.newString("at_loc_boundary"); + s$42 = Py.newString("at_loc_non_boundary"); + s$43 = Py.newString("at_uni_boundary"); + s$44 = Py.newString("at_uni_non_boundary"); + s$45 = Py.newString("category_digit"); + s$46 = Py.newString("category_not_digit"); + s$47 = Py.newString("category_space"); + s$48 = Py.newString("category_not_space"); + s$49 = Py.newString("category_word"); + s$50 = Py.newString("category_not_word"); + s$51 = Py.newString("category_linebreak"); + s$52 = Py.newString("category_not_linebreak"); + s$53 = Py.newString("category_loc_word"); + s$54 = Py.newString("category_loc_not_word"); + s$55 = Py.newString("category_uni_digit"); + s$56 = Py.newString("category_uni_not_digit"); + s$57 = Py.newString("category_uni_space"); + s$58 = Py.newString("category_uni_not_space"); + s$59 = Py.newString("category_uni_word"); + s$60 = Py.newString("category_uni_not_word"); + s$61 = Py.newString("category_uni_linebreak"); + s$62 = Py.newString("category_uni_not_linebreak"); + i$63 = Py.newInteger(0); + i$64 = Py.newInteger(1); + i$65 = Py.newInteger(2); + i$66 = Py.newInteger(4); + i$67 = Py.newInteger(8); + i$68 = Py.newInteger(16); + i$69 = Py.newInteger(32); + i$70 = Py.newInteger(64); + i$71 = Py.newInteger(128); + s$72 = Py.newString("__main__"); + s$73 = Py.newString("#define %s_%s %s\012"); + s$74 = Py.newString("sre_constants.h"); + s$75 = Py.newString("w"); + s$76 = Py.newString("/*\012 * Secret Labs' Regular Expression Engine\012 *\012 * regular expression matching engine\012 *\012 * NOTE: This file is generated by sre_constants.py. If you need\012 * to change anything in here, edit sre_constants.py and run it.\012 *\012 * Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.\012 *\012 * See the _sre.c file for information on usage and redistribution.\012 */\012\012"); + s$77 = Py.newString("#define SRE_MAGIC %d\012"); + s$78 = Py.newString("SRE_OP"); + s$79 = Py.newString("SRE"); + s$80 = Py.newString("#define SRE_FLAG_TEMPLATE %d\012"); + s$81 = Py.newString("#define SRE_FLAG_IGNORECASE %d\012"); + s$82 = Py.newString("#define SRE_FLAG_LOCALE %d\012"); + s$83 = Py.newString("#define SRE_FLAG_MULTILINE %d\012"); + s$84 = Py.newString("#define SRE_FLAG_DOTALL %d\012"); + s$85 = Py.newString("#define SRE_FLAG_UNICODE %d\012"); + s$86 = Py.newString("#define SRE_FLAG_VERBOSE %d\012"); + s$87 = Py.newString("#define SRE_INFO_PREFIX %d\012"); + s$88 = Py.newString("#define SRE_INFO_LITERAL %d\012"); + s$89 = Py.newString("#define SRE_INFO_CHARSET %d\012"); + s$90 = Py.newString("done"); + s$91 = Py.newString("/usr/share/jython/Lib-cpython/sre_constants.py"); + funcTable = new _PyInner(); + c$0_error = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_constants.py", "error", false, false, funcTable, 0, null, null, 0, 0); + c$1_makedict = Py.newCode(1, new String[] {"list", "i", "item", "d"}, "/usr/share/jython/Lib-cpython/sre_constants.py", "makedict", false, false, funcTable, 1, null, null, 0, 1); + c$2_lambda = Py.newCode(2, new String[] {"a", "b"}, "/usr/share/jython/Lib-cpython/sre_constants.py", "", false, false, funcTable, 2, null, null, 0, 1); + c$3_dump = Py.newCode(3, new String[] {"f", "d", "prefix", "v", "k", "items"}, "/usr/share/jython/Lib-cpython/sre_constants.py", "dump", false, false, funcTable, 3, null, null, 0, 1); + c$4_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_constants.py", "main", false, false, funcTable, 4, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$4_main == null) _PyInner.initConstants(); + return c$4_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.error$1(frame); + case 1: + return _PyInner.makedict$2(frame); + case 2: + return _PyInner.lambda$3(frame); + case 3: + return _PyInner.dump$4(frame); + case 4: + return _PyInner.main$5(frame); + default: + return null; + } + } + + private static PyObject error$1(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject makedict$2(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, new PyDictionary(new PyObject[] {})); + frame.setlocal(1, i$63); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.getlocal(3).__setitem__(frame.getlocal(2), frame.getlocal(1)); + frame.setlocal(1, frame.getlocal(1)._add(i$64)); + } + return frame.getlocal(3); + } + + private static PyObject lambda$3(PyFrame frame) { + return frame.getglobal("cmp").__call__(frame.getlocal(0).__getitem__(i$64), frame.getlocal(1).__getitem__(i$64)); + } + + private static PyObject dump$4(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(5, frame.getlocal(1).invoke("items")); + frame.getlocal(5).invoke("sort", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_lambda)); + t$0$int = 0; + t$1$PyObject = frame.getlocal(5); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + frame.getlocal(0).invoke("write", s$73._mod(new PyTuple(new PyObject[] {frame.getlocal(2), frame.getglobal("string").__getattr__("upper").__call__(frame.getlocal(4)), frame.getlocal(3)}))); + } + return Py.None; + } + + private static PyObject main$5(PyFrame frame) { + frame.setglobal("__file__", s$91); + + frame.setlocal("MAGIC", i$0); + frame.setlocal("MAXREPEAT", i$1); + frame.setlocal("error", Py.makeClass("error", new PyObject[] {frame.getname("Exception")}, c$0_error, null)); + frame.setlocal("FAILURE", s$2); + frame.setlocal("SUCCESS", s$3); + frame.setlocal("ANY", s$4); + frame.setlocal("ANY_ALL", s$5); + frame.setlocal("ASSERT", s$6); + frame.setlocal("ASSERT_NOT", s$7); + frame.setlocal("AT", s$8); + frame.setlocal("BRANCH", s$9); + frame.setlocal("CALL", s$10); + frame.setlocal("CATEGORY", s$11); + frame.setlocal("CHARSET", s$12); + frame.setlocal("GROUPREF", s$13); + frame.setlocal("GROUPREF_IGNORE", s$14); + frame.setlocal("IN", s$15); + frame.setlocal("IN_IGNORE", s$16); + frame.setlocal("INFO", s$17); + frame.setlocal("JUMP", s$18); + frame.setlocal("LITERAL", s$19); + frame.setlocal("LITERAL_IGNORE", s$20); + frame.setlocal("MARK", s$21); + frame.setlocal("MAX_REPEAT", s$22); + frame.setlocal("MAX_UNTIL", s$23); + frame.setlocal("MIN_REPEAT", s$24); + frame.setlocal("MIN_UNTIL", s$25); + frame.setlocal("NEGATE", s$26); + frame.setlocal("NOT_LITERAL", s$27); + frame.setlocal("NOT_LITERAL_IGNORE", s$28); + frame.setlocal("RANGE", s$29); + frame.setlocal("REPEAT", s$30); + frame.setlocal("REPEAT_ONE", s$31); + frame.setlocal("SUBPATTERN", s$32); + frame.setlocal("AT_BEGINNING", s$33); + frame.setlocal("AT_BEGINNING_LINE", s$34); + frame.setlocal("AT_BEGINNING_STRING", s$35); + frame.setlocal("AT_BOUNDARY", s$36); + frame.setlocal("AT_NON_BOUNDARY", s$37); + frame.setlocal("AT_END", s$38); + frame.setlocal("AT_END_LINE", s$39); + frame.setlocal("AT_END_STRING", s$40); + frame.setlocal("AT_LOC_BOUNDARY", s$41); + frame.setlocal("AT_LOC_NON_BOUNDARY", s$42); + frame.setlocal("AT_UNI_BOUNDARY", s$43); + frame.setlocal("AT_UNI_NON_BOUNDARY", s$44); + frame.setlocal("CATEGORY_DIGIT", s$45); + frame.setlocal("CATEGORY_NOT_DIGIT", s$46); + frame.setlocal("CATEGORY_SPACE", s$47); + frame.setlocal("CATEGORY_NOT_SPACE", s$48); + frame.setlocal("CATEGORY_WORD", s$49); + frame.setlocal("CATEGORY_NOT_WORD", s$50); + frame.setlocal("CATEGORY_LINEBREAK", s$51); + frame.setlocal("CATEGORY_NOT_LINEBREAK", s$52); + frame.setlocal("CATEGORY_LOC_WORD", s$53); + frame.setlocal("CATEGORY_LOC_NOT_WORD", s$54); + frame.setlocal("CATEGORY_UNI_DIGIT", s$55); + frame.setlocal("CATEGORY_UNI_NOT_DIGIT", s$56); + frame.setlocal("CATEGORY_UNI_SPACE", s$57); + frame.setlocal("CATEGORY_UNI_NOT_SPACE", s$58); + frame.setlocal("CATEGORY_UNI_WORD", s$59); + frame.setlocal("CATEGORY_UNI_NOT_WORD", s$60); + frame.setlocal("CATEGORY_UNI_LINEBREAK", s$61); + frame.setlocal("CATEGORY_UNI_NOT_LINEBREAK", s$62); + frame.setlocal("OPCODES", new PyList(new PyObject[] {frame.getname("FAILURE"), frame.getname("SUCCESS"), frame.getname("ANY"), frame.getname("ANY_ALL"), frame.getname("ASSERT"), frame.getname("ASSERT_NOT"), frame.getname("AT"), frame.getname("BRANCH"), frame.getname("CALL"), frame.getname("CATEGORY"), frame.getname("CHARSET"), frame.getname("GROUPREF"), frame.getname("GROUPREF_IGNORE"), frame.getname("IN"), frame.getname("IN_IGNORE"), frame.getname("INFO"), frame.getname("JUMP"), frame.getname("LITERAL"), frame.getname("LITERAL_IGNORE"), frame.getname("MARK"), frame.getname("MAX_UNTIL"), frame.getname("MIN_UNTIL"), frame.getname("NOT_LITERAL"), frame.getname("NOT_LITERAL_IGNORE"), frame.getname("NEGATE"), frame.getname("RANGE"), frame.getname("REPEAT"), frame.getname("REPEAT_ONE"), frame.getname("SUBPATTERN")})); + frame.setlocal("ATCODES", new PyList(new PyObject[] {frame.getname("AT_BEGINNING"), frame.getname("AT_BEGINNING_LINE"), frame.getname("AT_BEGINNING_STRING"), frame.getname("AT_BOUNDARY"), frame.getname("AT_NON_BOUNDARY"), frame.getname("AT_END"), frame.getname("AT_END_LINE"), frame.getname("AT_END_STRING"), frame.getname("AT_LOC_BOUNDARY"), frame.getname("AT_LOC_NON_BOUNDARY"), frame.getname("AT_UNI_BOUNDARY"), frame.getname("AT_UNI_NON_BOUNDARY")})); + frame.setlocal("CHCODES", new PyList(new PyObject[] {frame.getname("CATEGORY_DIGIT"), frame.getname("CATEGORY_NOT_DIGIT"), frame.getname("CATEGORY_SPACE"), frame.getname("CATEGORY_NOT_SPACE"), frame.getname("CATEGORY_WORD"), frame.getname("CATEGORY_NOT_WORD"), frame.getname("CATEGORY_LINEBREAK"), frame.getname("CATEGORY_NOT_LINEBREAK"), frame.getname("CATEGORY_LOC_WORD"), frame.getname("CATEGORY_LOC_NOT_WORD"), frame.getname("CATEGORY_UNI_DIGIT"), frame.getname("CATEGORY_UNI_NOT_DIGIT"), frame.getname("CATEGORY_UNI_SPACE"), frame.getname("CATEGORY_UNI_NOT_SPACE"), frame.getname("CATEGORY_UNI_WORD"), frame.getname("CATEGORY_UNI_NOT_WORD"), frame.getname("CATEGORY_UNI_LINEBREAK"), frame.getname("CATEGORY_UNI_NOT_LINEBREAK")})); + frame.setlocal("makedict", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_makedict)); + frame.setlocal("OPCODES", frame.getname("makedict").__call__(frame.getname("OPCODES"))); + frame.setlocal("ATCODES", frame.getname("makedict").__call__(frame.getname("ATCODES"))); + frame.setlocal("CHCODES", frame.getname("makedict").__call__(frame.getname("CHCODES"))); + frame.setlocal("OP_IGNORE", new PyDictionary(new PyObject[] {frame.getname("GROUPREF"), frame.getname("GROUPREF_IGNORE"), frame.getname("IN"), frame.getname("IN_IGNORE"), frame.getname("LITERAL"), frame.getname("LITERAL_IGNORE"), frame.getname("NOT_LITERAL"), frame.getname("NOT_LITERAL_IGNORE")})); + frame.setlocal("AT_MULTILINE", new PyDictionary(new PyObject[] {frame.getname("AT_BEGINNING"), frame.getname("AT_BEGINNING_LINE"), frame.getname("AT_END"), frame.getname("AT_END_LINE")})); + frame.setlocal("AT_LOCALE", new PyDictionary(new PyObject[] {frame.getname("AT_BOUNDARY"), frame.getname("AT_LOC_BOUNDARY"), frame.getname("AT_NON_BOUNDARY"), frame.getname("AT_LOC_NON_BOUNDARY")})); + frame.setlocal("AT_UNICODE", new PyDictionary(new PyObject[] {frame.getname("AT_BOUNDARY"), frame.getname("AT_UNI_BOUNDARY"), frame.getname("AT_NON_BOUNDARY"), frame.getname("AT_UNI_NON_BOUNDARY")})); + frame.setlocal("CH_LOCALE", new PyDictionary(new PyObject[] {frame.getname("CATEGORY_DIGIT"), frame.getname("CATEGORY_DIGIT"), frame.getname("CATEGORY_NOT_DIGIT"), frame.getname("CATEGORY_NOT_DIGIT"), frame.getname("CATEGORY_SPACE"), frame.getname("CATEGORY_SPACE"), frame.getname("CATEGORY_NOT_SPACE"), frame.getname("CATEGORY_NOT_SPACE"), frame.getname("CATEGORY_WORD"), frame.getname("CATEGORY_LOC_WORD"), frame.getname("CATEGORY_NOT_WORD"), frame.getname("CATEGORY_LOC_NOT_WORD"), frame.getname("CATEGORY_LINEBREAK"), frame.getname("CATEGORY_LINEBREAK"), frame.getname("CATEGORY_NOT_LINEBREAK"), frame.getname("CATEGORY_NOT_LINEBREAK")})); + frame.setlocal("CH_UNICODE", new PyDictionary(new PyObject[] {frame.getname("CATEGORY_DIGIT"), frame.getname("CATEGORY_UNI_DIGIT"), frame.getname("CATEGORY_NOT_DIGIT"), frame.getname("CATEGORY_UNI_NOT_DIGIT"), frame.getname("CATEGORY_SPACE"), frame.getname("CATEGORY_UNI_SPACE"), frame.getname("CATEGORY_NOT_SPACE"), frame.getname("CATEGORY_UNI_NOT_SPACE"), frame.getname("CATEGORY_WORD"), frame.getname("CATEGORY_UNI_WORD"), frame.getname("CATEGORY_NOT_WORD"), frame.getname("CATEGORY_UNI_NOT_WORD"), frame.getname("CATEGORY_LINEBREAK"), frame.getname("CATEGORY_UNI_LINEBREAK"), frame.getname("CATEGORY_NOT_LINEBREAK"), frame.getname("CATEGORY_UNI_NOT_LINEBREAK")})); + frame.setlocal("SRE_FLAG_TEMPLATE", i$64); + frame.setlocal("SRE_FLAG_IGNORECASE", i$65); + frame.setlocal("SRE_FLAG_LOCALE", i$66); + frame.setlocal("SRE_FLAG_MULTILINE", i$67); + frame.setlocal("SRE_FLAG_DOTALL", i$68); + frame.setlocal("SRE_FLAG_UNICODE", i$69); + frame.setlocal("SRE_FLAG_VERBOSE", i$70); + frame.setlocal("SRE_FLAG_DEBUG", i$71); + frame.setlocal("SRE_INFO_PREFIX", i$64); + frame.setlocal("SRE_INFO_LITERAL", i$65); + frame.setlocal("SRE_INFO_CHARSET", i$66); + if (frame.getname("__name__")._eq(s$72).__nonzero__()) { + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + frame.setlocal("dump", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_dump)); + frame.setlocal("f", frame.getname("open").__call__(s$74, s$75)); + frame.getname("f").invoke("write", s$76); + frame.getname("f").invoke("write", s$77._mod(frame.getname("MAGIC"))); + frame.getname("dump").__call__(frame.getname("f"), frame.getname("OPCODES"), s$78); + frame.getname("dump").__call__(frame.getname("f"), frame.getname("ATCODES"), s$79); + frame.getname("dump").__call__(frame.getname("f"), frame.getname("CHCODES"), s$79); + frame.getname("f").invoke("write", s$80._mod(frame.getname("SRE_FLAG_TEMPLATE"))); + frame.getname("f").invoke("write", s$81._mod(frame.getname("SRE_FLAG_IGNORECASE"))); + frame.getname("f").invoke("write", s$82._mod(frame.getname("SRE_FLAG_LOCALE"))); + frame.getname("f").invoke("write", s$83._mod(frame.getname("SRE_FLAG_MULTILINE"))); + frame.getname("f").invoke("write", s$84._mod(frame.getname("SRE_FLAG_DOTALL"))); + frame.getname("f").invoke("write", s$85._mod(frame.getname("SRE_FLAG_UNICODE"))); + frame.getname("f").invoke("write", s$86._mod(frame.getname("SRE_FLAG_VERBOSE"))); + frame.getname("f").invoke("write", s$87._mod(frame.getname("SRE_INFO_PREFIX"))); + frame.getname("f").invoke("write", s$88._mod(frame.getname("SRE_INFO_LITERAL"))); + frame.getname("f").invoke("write", s$89._mod(frame.getname("SRE_INFO_CHARSET"))); + frame.getname("f").invoke("close"); + Py.println(s$90); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("sre_constants")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "sre_constants"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(sre_constants._PyInner.class, newargs, sre_constants.jpy$packages, sre_constants.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/sre_parse$_PyInner.class b/server/jpywork/sre_parse$_PyInner.class new file mode 100644 index 00000000..e4ff9217 Binary files /dev/null and b/server/jpywork/sre_parse$_PyInner.class differ diff --git a/server/jpywork/sre_parse.class b/server/jpywork/sre_parse.class new file mode 100644 index 00000000..8e20fe0b Binary files /dev/null and b/server/jpywork/sre_parse.class differ diff --git a/server/jpywork/sre_parse.java b/server/jpywork/sre_parse.java new file mode 100644 index 00000000..6b42f368 --- /dev/null +++ b/server/jpywork/sre_parse.java @@ -0,0 +1,1544 @@ +import org.python.core.*; + +public class sre_parse extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject i$39; + private static PyObject i$40; + private static PyObject i$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject l$46; + private static PyObject i$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject i$56; + private static PyObject s$57; + private static PyObject i$58; + private static PyObject i$59; + private static PyObject i$60; + private static PyObject s$61; + private static PyObject s$62; + private static PyObject s$63; + private static PyObject s$64; + private static PyObject s$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyObject s$68; + private static PyObject s$69; + private static PyObject s$70; + private static PyObject s$71; + private static PyObject s$72; + private static PyObject s$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject s$80; + private static PyObject s$81; + private static PyObject s$82; + private static PyObject s$83; + private static PyObject s$84; + private static PyObject s$85; + private static PyObject s$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject s$89; + private static PyObject s$90; + private static PyObject s$91; + private static PyObject s$92; + private static PyObject s$93; + private static PyObject s$94; + private static PyObject s$95; + private static PyObject s$96; + private static PyObject s$97; + private static PyObject s$98; + private static PyObject s$99; + private static PyObject s$100; + private static PyObject s$101; + private static PyObject s$102; + private static PyObject s$103; + private static PyObject s$104; + private static PyObject i$105; + private static PyObject s$106; + private static PyObject s$107; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_opengroup; + private static PyCode c$2_closegroup; + private static PyCode c$3_checkgroup; + private static PyCode c$4_Pattern; + private static PyCode c$5___init__; + private static PyCode c$6_dump; + private static PyCode c$7___repr__; + private static PyCode c$8___len__; + private static PyCode c$9___delitem__; + private static PyCode c$10___getitem__; + private static PyCode c$11___setitem__; + private static PyCode c$12___getslice__; + private static PyCode c$13_insert; + private static PyCode c$14_append; + private static PyCode c$15_getwidth; + private static PyCode c$16_SubPattern; + private static PyCode c$17___init__; + private static PyCode c$18__Tokenizer__next; + private static PyCode c$19_match; + private static PyCode c$20_get; + private static PyCode c$21_tell; + private static PyCode c$22_seek; + private static PyCode c$23_Tokenizer; + private static PyCode c$24_isident; + private static PyCode c$25_isdigit; + private static PyCode c$26_isname; + private static PyCode c$27__group; + private static PyCode c$28__class_escape; + private static PyCode c$29__escape; + private static PyCode c$30__parse_sub; + private static PyCode c$31__parse; + private static PyCode c$32_parse; + private static PyCode c$33_literal; + private static PyCode c$34_parse_template; + private static PyCode c$35_expand_template; + private static PyCode c$36_main; + private static void initConstants() { + s$0 = Py.newString(".\\[{()*+?^$|"); + s$1 = Py.newString("*+?{"); + s$2 = Py.newString("0123456789"); + s$3 = Py.newString("01234567"); + s$4 = Py.newString("0123456789abcdefABCDEF"); + s$5 = Py.newString(" \011\012\015\013\014"); + s$6 = Py.newString("\\a"); + s$7 = Py.newString("\007"); + s$8 = Py.newString("\\b"); + s$9 = Py.newString("\010"); + s$10 = Py.newString("\\f"); + s$11 = Py.newString("\014"); + s$12 = Py.newString("\\n"); + s$13 = Py.newString("\012"); + s$14 = Py.newString("\\r"); + s$15 = Py.newString("\015"); + s$16 = Py.newString("\\t"); + s$17 = Py.newString("\011"); + s$18 = Py.newString("\\v"); + s$19 = Py.newString("\013"); + s$20 = Py.newString("\\\\"); + s$21 = Py.newString("\\"); + s$22 = Py.newString("\\A"); + s$23 = Py.newString("\\B"); + s$24 = Py.newString("\\d"); + s$25 = Py.newString("\\D"); + s$26 = Py.newString("\\s"); + s$27 = Py.newString("\\S"); + s$28 = Py.newString("\\w"); + s$29 = Py.newString("\\W"); + s$30 = Py.newString("\\Z"); + s$31 = Py.newString("i"); + s$32 = Py.newString("L"); + s$33 = Py.newString("m"); + s$34 = Py.newString("s"); + s$35 = Py.newString("x"); + s$36 = Py.newString("t"); + s$37 = Py.newString("u"); + s$38 = Py.newString("10"); + i$39 = Py.newInteger(8); + i$40 = Py.newInteger(0); + i$41 = Py.newInteger(1); + s$42 = Py.newString(" "); + s$43 = Py.newString("in"); + s$44 = Py.newString("branch"); + s$45 = Py.newString("or"); + l$46 = Py.newLong("0"); + i$47 = Py.newInteger(2); + s$48 = Py.newString("bogus escape"); + s$49 = Py.newString("a"); + s$50 = Py.newString("z"); + s$51 = Py.newString("A"); + s$52 = Py.newString("Z"); + s$53 = Py.newString("_"); + s$54 = Py.newString("0"); + s$55 = Py.newString("9"); + i$56 = Py.newInteger(4); + s$57 = Py.newString("bogus escape: %s"); + i$58 = Py.newInteger(16); + i$59 = Py.newInteger(255); + i$60 = Py.newInteger(5); + s$61 = Py.newString("cannot refer to open group"); + s$62 = Py.newString("|"); + s$63 = Py.newString(")"); + s$64 = Py.newString("pattern not properly closed"); + s$65 = Py.newString("#"); + s$66 = Py.newString("["); + s$67 = Py.newString("^"); + s$68 = Py.newString("]"); + s$69 = Py.newString("unexpected end of regular expression"); + s$70 = Py.newString("-"); + s$71 = Py.newString("bad character range"); + s$72 = Py.newString("?"); + s$73 = Py.newString("*"); + s$74 = Py.newString("+"); + s$75 = Py.newString("{"); + s$76 = Py.newString(""); + s$77 = Py.newString(","); + s$78 = Py.newString("}"); + s$79 = Py.newString("bad repeat interval"); + s$80 = Py.newString("not supported"); + s$81 = Py.newString("nothing to repeat"); + s$82 = Py.newString("multiple repeat"); + s$83 = Py.newString("."); + s$84 = Py.newString("("); + s$85 = Py.newString("P"); + s$86 = Py.newString("<"); + s$87 = Py.newString("unterminated name"); + s$88 = Py.newString(">"); + s$89 = Py.newString("bad character in group name"); + s$90 = Py.newString("="); + s$91 = Py.newString("unknown group name"); + s$92 = Py.newString("unexpected end of pattern"); + s$93 = Py.newString("unknown specifier: ?P%s"); + s$94 = Py.newString(":"); + s$95 = Py.newString("unbalanced parenthesis"); + s$96 = Py.newString("!"); + s$97 = Py.newString("syntax error"); + s$98 = Py.newString("unknown extension"); + s$99 = Py.newString("$"); + s$100 = Py.newString("parser error"); + s$101 = Py.newString("bogus characters at end of regular expression"); + s$102 = Py.newString("\\g"); + s$103 = Py.newString("unterminated group name"); + s$104 = Py.newString("bad group name"); + i$105 = Py.newInteger(6); + s$106 = Py.newString("empty group"); + s$107 = Py.newString("/usr/share/jython/Lib-cpython/sre_parse.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_opengroup = Py.newCode(2, new String[] {"self", "name", "gid"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "opengroup", false, false, funcTable, 1, null, null, 0, 1); + c$2_closegroup = Py.newCode(2, new String[] {"self", "gid"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "closegroup", false, false, funcTable, 2, null, null, 0, 1); + c$3_checkgroup = Py.newCode(2, new String[] {"self", "gid"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "checkgroup", false, false, funcTable, 3, null, null, 0, 1); + c$4_Pattern = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_parse.py", "Pattern", false, false, funcTable, 4, null, null, 0, 0); + c$5___init__ = Py.newCode(3, new String[] {"self", "pattern", "data"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__init__", false, false, funcTable, 5, null, null, 0, 1); + c$6_dump = Py.newCode(2, new String[] {"self", "level", "nl", "av", "i", "op", "a"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "dump", false, false, funcTable, 6, null, null, 0, 1); + c$7___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__repr__", false, false, funcTable, 7, null, null, 0, 1); + c$8___len__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__len__", false, false, funcTable, 8, null, null, 0, 1); + c$9___delitem__ = Py.newCode(2, new String[] {"self", "index"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__delitem__", false, false, funcTable, 9, null, null, 0, 1); + c$10___getitem__ = Py.newCode(2, new String[] {"self", "index"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__getitem__", false, false, funcTable, 10, null, null, 0, 1); + c$11___setitem__ = Py.newCode(3, new String[] {"self", "index", "code"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__setitem__", false, false, funcTable, 11, null, null, 0, 1); + c$12___getslice__ = Py.newCode(3, new String[] {"self", "start", "stop"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__getslice__", false, false, funcTable, 12, null, null, 0, 1); + c$13_insert = Py.newCode(3, new String[] {"self", "index", "code"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "insert", false, false, funcTable, 13, null, null, 0, 1); + c$14_append = Py.newCode(2, new String[] {"self", "code"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "append", false, false, funcTable, 14, null, null, 0, 1); + c$15_getwidth = Py.newCode(1, new String[] {"self", "hi", "lo", "op", "av", "l", "j", "i", "h"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "getwidth", false, false, funcTable, 15, null, null, 0, 1); + c$16_SubPattern = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_parse.py", "SubPattern", false, false, funcTable, 16, null, null, 0, 0); + c$17___init__ = Py.newCode(2, new String[] {"self", "string"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__init__", false, false, funcTable, 17, null, null, 0, 1); + c$18__Tokenizer__next = Py.newCode(1, new String[] {"self", "char", "c"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_Tokenizer__next", false, false, funcTable, 18, null, null, 0, 1); + c$19_match = Py.newCode(3, new String[] {"self", "char", "skip"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "match", false, false, funcTable, 19, null, null, 0, 1); + c$20_get = Py.newCode(1, new String[] {"self", "this"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "get", false, false, funcTable, 20, null, null, 0, 1); + c$21_tell = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "tell", false, false, funcTable, 21, null, null, 0, 1); + c$22_seek = Py.newCode(2, new String[] {"self", "index"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "seek", false, false, funcTable, 22, null, null, 0, 1); + c$23_Tokenizer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_parse.py", "Tokenizer", false, false, funcTable, 23, null, null, 0, 0); + c$24_isident = Py.newCode(1, new String[] {"char"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "isident", false, false, funcTable, 24, null, null, 0, 1); + c$25_isdigit = Py.newCode(1, new String[] {"char"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "isdigit", false, false, funcTable, 25, null, null, 0, 1); + c$26_isname = Py.newCode(1, new String[] {"name", "char"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "isname", false, false, funcTable, 26, null, null, 0, 1); + c$27__group = Py.newCode(2, new String[] {"escape", "groups", "gid"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_group", false, false, funcTable, 27, null, null, 0, 1); + c$28__class_escape = Py.newCode(2, new String[] {"source", "escape", "code"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_class_escape", false, false, funcTable, 28, null, null, 0, 1); + c$29__escape = Py.newCode(3, new String[] {"source", "escape", "state", "here", "code", "group"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_escape", false, false, funcTable, 29, null, null, 0, 1); + c$30__parse_sub = Py.newCode(3, new String[] {"source", "state", "nested", "subpattern", "prefix", "items", "set", "item"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_parse_sub", false, false, funcTable, 30, null, null, 0, 1); + c$31__parse = Py.newCode(2, new String[] {"source", "state", "code", "this", "name", "group", "code2", "code1", "max", "start", "set", "item", "subpattern", "lo", "here", "char", "gid", "p", "dir", "min", "hi"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_parse", false, false, funcTable, 31, null, null, 0, 1); + c$32_parse = Py.newCode(3, new String[] {"str", "flags", "pattern", "source", "p", "tail"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "parse", false, false, funcTable, 32, null, null, 0, 1); + c$33_literal = Py.newCode(2, new String[] {"literal", "p"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "literal", false, false, funcTable, 33, null, null, 0, 1); + c$34_parse_template = Py.newCode(2, new String[] {"source", "pattern", "code", "this", "literals", "index", "group", "s", "sep", "p", "i", "literal", "groups", "char", "c", "a", "name"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "parse_template", false, false, funcTable, 34, null, null, 0, 1); + c$35_expand_template = Py.newCode(2, new String[] {"template", "match", "literals", "groups", "g", "index", "group", "s", "sep"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "expand_template", false, false, funcTable, 35, null, null, 0, 1); + c$36_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_parse.py", "main", false, false, funcTable, 36, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$36_main == null) _PyInner.initConstants(); + return c$36_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.opengroup$2(frame); + case 2: + return _PyInner.closegroup$3(frame); + case 3: + return _PyInner.checkgroup$4(frame); + case 4: + return _PyInner.Pattern$5(frame); + case 5: + return _PyInner.__init__$6(frame); + case 6: + return _PyInner.dump$7(frame); + case 7: + return _PyInner.__repr__$8(frame); + case 8: + return _PyInner.__len__$9(frame); + case 9: + return _PyInner.__delitem__$10(frame); + case 10: + return _PyInner.__getitem__$11(frame); + case 11: + return _PyInner.__setitem__$12(frame); + case 12: + return _PyInner.__getslice__$13(frame); + case 13: + return _PyInner.insert$14(frame); + case 14: + return _PyInner.append$15(frame); + case 15: + return _PyInner.getwidth$16(frame); + case 16: + return _PyInner.SubPattern$17(frame); + case 17: + return _PyInner.__init__$18(frame); + case 18: + return _PyInner._Tokenizer__next$19(frame); + case 19: + return _PyInner.match$20(frame); + case 20: + return _PyInner.get$21(frame); + case 21: + return _PyInner.tell$22(frame); + case 22: + return _PyInner.seek$23(frame); + case 23: + return _PyInner.Tokenizer$24(frame); + case 24: + return _PyInner.isident$25(frame); + case 25: + return _PyInner.isdigit$26(frame); + case 26: + return _PyInner.isname$27(frame); + case 27: + return _PyInner._group$28(frame); + case 28: + return _PyInner._class_escape$29(frame); + case 29: + return _PyInner._escape$30(frame); + case 30: + return _PyInner._parse_sub$31(frame); + case 31: + return _PyInner._parse$32(frame); + case 32: + return _PyInner.parse$33(frame); + case 33: + return _PyInner.literal$34(frame); + case 34: + return _PyInner.parse_template$35(frame); + case 35: + return _PyInner.expand_template$36(frame); + case 36: + return _PyInner.main$37(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + frame.getlocal(0).__setattr__("flags", i$40); + frame.getlocal(0).__setattr__("open", new PyList(new PyObject[] {})); + frame.getlocal(0).__setattr__("groups", i$41); + frame.getlocal(0).__setattr__("groupdict", new PyDictionary(new PyObject[] {})); + return Py.None; + } + + private static PyObject opengroup$2(PyFrame frame) { + frame.setlocal(2, frame.getlocal(0).__getattr__("groups")); + frame.getlocal(0).__setattr__("groups", frame.getlocal(2)._add(i$41)); + if (frame.getlocal(1).__nonzero__()) { + frame.getlocal(0).__getattr__("groupdict").__setitem__(frame.getlocal(1), frame.getlocal(2)); + } + frame.getlocal(0).__getattr__("open").invoke("append", frame.getlocal(2)); + return frame.getlocal(2); + } + + private static PyObject closegroup$3(PyFrame frame) { + frame.getlocal(0).__getattr__("open").invoke("remove", frame.getlocal(1)); + return Py.None; + } + + private static PyObject checkgroup$4(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + return (t$0$PyObject = frame.getlocal(1)._lt(frame.getlocal(0).__getattr__("groups"))).__nonzero__() ? frame.getlocal(1)._notin(frame.getlocal(0).__getattr__("open")) : t$0$PyObject; + } + + private static PyObject Pattern$5(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$0___init__)); + frame.setlocal("opengroup", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$1_opengroup)); + frame.setlocal("closegroup", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_closegroup)); + frame.setlocal("checkgroup", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_checkgroup)); + return frame.getf_locals(); + } + + private static PyObject __init__$6(PyFrame frame) { + frame.getlocal(0).__setattr__("pattern", frame.getlocal(1)); + if (frame.getlocal(2).__not__().__nonzero__()) { + frame.setlocal(2, new PyList(new PyObject[] {})); + } + frame.getlocal(0).__setattr__("data", frame.getlocal(2)); + frame.getlocal(0).__setattr__("width", frame.getglobal("None")); + return Py.None; + } + + private static PyObject dump$7(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int, t$3$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject, t$6$PyObject, t$7$PyObject; + + // Code + frame.setlocal(2, i$41); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0).__getattr__("data"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + Py.printComma(frame.getlocal(1)._mul(s$42)._add(frame.getlocal(5))); + frame.setlocal(2, i$40); + if (frame.getlocal(5)._eq(s$43).__nonzero__()) { + Py.println(); + frame.setlocal(2, i$41); + t$1$int = 0; + t$3$PyObject = frame.getlocal(3); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$2$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + Py.printComma(frame.getlocal(1)._add(i$41)._mul(s$42)._add(frame.getlocal(5))); + Py.println(frame.getlocal(6)); + } + } + else if (frame.getlocal(5)._eq(s$44).__nonzero__()) { + Py.println(); + frame.setlocal(2, i$41); + frame.setlocal(4, i$40); + t$2$int = 0; + t$5$PyObject = frame.getlocal(3).__getitem__(i$41); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(6, t$4$PyObject); + if (frame.getlocal(4)._gt(i$40).__nonzero__()) { + Py.println(frame.getlocal(1)._mul(s$42)._add(s$45)); + } + frame.getlocal(6).invoke("dump", frame.getlocal(1)._add(i$41)); + frame.setlocal(2, i$41); + frame.setlocal(4, frame.getlocal(4)._add(i$41)); + } + } + else if (frame.getglobal("type").__call__(frame.getlocal(3))._in(new PyTuple(new PyObject[] {frame.getglobal("type").__call__(new PyTuple(new PyObject[] {})), frame.getglobal("type").__call__(new PyList(new PyObject[] {}))})).__nonzero__()) { + t$3$int = 0; + t$7$PyObject = frame.getlocal(3); + while ((t$6$PyObject = t$7$PyObject.__finditem__(t$3$int++)) != null) { + frame.setlocal(6, t$6$PyObject); + if (frame.getglobal("isinstance").__call__(frame.getlocal(6), frame.getglobal("SubPattern")).__nonzero__()) { + if (frame.getlocal(2).__not__().__nonzero__()) { + Py.println(); + } + frame.getlocal(6).invoke("dump", frame.getlocal(1)._add(i$41)); + frame.setlocal(2, i$41); + } + else { + Py.printComma(frame.getlocal(6)); + frame.setlocal(2, i$40); + } + } + } + else { + Py.printComma(frame.getlocal(3)); + frame.setlocal(2, i$40); + } + if (frame.getlocal(2).__not__().__nonzero__()) { + Py.println(); + } + } + return Py.None; + } + + private static PyObject __repr__$8(PyFrame frame) { + return frame.getglobal("repr").__call__(frame.getlocal(0).__getattr__("data")); + } + + private static PyObject __len__$9(PyFrame frame) { + return frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("data")); + } + + private static PyObject __delitem__$10(PyFrame frame) { + frame.getlocal(0).__getattr__("data").__delitem__(frame.getlocal(1)); + return Py.None; + } + + private static PyObject __getitem__$11(PyFrame frame) { + return frame.getlocal(0).__getattr__("data").__getitem__(frame.getlocal(1)); + } + + private static PyObject __setitem__$12(PyFrame frame) { + frame.getlocal(0).__getattr__("data").__setitem__(frame.getlocal(1), frame.getlocal(2)); + return Py.None; + } + + private static PyObject __getslice__$13(PyFrame frame) { + return frame.getglobal("SubPattern").__call__(frame.getlocal(0).__getattr__("pattern"), frame.getlocal(0).__getattr__("data").__getslice__(frame.getlocal(1), frame.getlocal(2), null)); + } + + private static PyObject insert$14(PyFrame frame) { + frame.getlocal(0).__getattr__("data").invoke("insert", frame.getlocal(1), frame.getlocal(2)); + return Py.None; + } + + private static PyObject append$15(PyFrame frame) { + frame.getlocal(0).__getattr__("data").invoke("append", frame.getlocal(1)); + return Py.None; + } + + private static PyObject getwidth$16(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("width").__nonzero__()) { + return frame.getlocal(0).__getattr__("width"); + } + t$0$PyObject = l$46; + frame.setlocal(2, t$0$PyObject); + frame.setlocal(1, t$0$PyObject); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0).__getattr__("data"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + if (frame.getlocal(3)._is(frame.getglobal("BRANCH")).__nonzero__()) { + frame.setlocal(7, frame.getglobal("sys").__getattr__("maxint")); + frame.setlocal(6, i$40); + t$1$int = 0; + t$3$PyObject = frame.getlocal(4).__getitem__(i$41); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(4, t$2$PyObject); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(4).invoke("getwidth"), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + frame.setlocal(7, frame.getglobal("min").__call__(frame.getlocal(7), frame.getlocal(5))); + frame.setlocal(6, frame.getglobal("max").__call__(frame.getlocal(6), frame.getlocal(8))); + } + frame.setlocal(2, frame.getlocal(2)._add(frame.getlocal(7))); + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(6))); + } + else if (frame.getlocal(3)._is(frame.getglobal("CALL")).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(4).invoke("getwidth"), 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.setlocal(2, frame.getlocal(2)._add(frame.getlocal(7))); + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(6))); + } + else if (frame.getlocal(3)._is(frame.getglobal("SUBPATTERN")).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(4).__getitem__(i$41).invoke("getwidth"), 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.setlocal(2, frame.getlocal(2)._add(frame.getlocal(7))); + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(6))); + } + else if (frame.getlocal(3)._in(new PyTuple(new PyObject[] {frame.getglobal("MIN_REPEAT"), frame.getglobal("MAX_REPEAT")})).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(4).__getitem__(i$47).invoke("getwidth"), 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.setlocal(2, frame.getlocal(2)._add(frame.getglobal("long").__call__(frame.getlocal(7))._mul(frame.getlocal(4).__getitem__(i$40)))); + frame.setlocal(1, frame.getlocal(1)._add(frame.getglobal("long").__call__(frame.getlocal(6))._mul(frame.getlocal(4).__getitem__(i$41)))); + } + else if (frame.getlocal(3)._in(new PyTuple(new PyObject[] {frame.getglobal("ANY"), frame.getglobal("RANGE"), frame.getglobal("IN"), frame.getglobal("LITERAL"), frame.getglobal("NOT_LITERAL"), frame.getglobal("CATEGORY")})).__nonzero__()) { + frame.setlocal(2, frame.getlocal(2)._add(i$41)); + frame.setlocal(1, frame.getlocal(1)._add(i$41)); + } + else if (frame.getlocal(3)._eq(frame.getglobal("SUCCESS")).__nonzero__()) { + break; + } + } + frame.getlocal(0).__setattr__("width", new PyTuple(new PyObject[] {frame.getglobal("int").__call__(frame.getglobal("min").__call__(frame.getlocal(2), frame.getglobal("sys").__getattr__("maxint"))), frame.getglobal("int").__call__(frame.getglobal("min").__call__(frame.getlocal(1), frame.getglobal("sys").__getattr__("maxint")))})); + return frame.getlocal(0).__getattr__("width"); + } + + private static PyObject SubPattern$17(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$5___init__)); + frame.setlocal("dump", new PyFunction(frame.f_globals, new PyObject[] {i$40}, c$6_dump)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$7___repr__)); + frame.setlocal("__len__", new PyFunction(frame.f_globals, new PyObject[] {}, c$8___len__)); + frame.setlocal("__delitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$9___delitem__)); + frame.setlocal("__getitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$10___getitem__)); + frame.setlocal("__setitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$11___setitem__)); + frame.setlocal("__getslice__", new PyFunction(frame.f_globals, new PyObject[] {}, c$12___getslice__)); + frame.setlocal("insert", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_insert)); + frame.setlocal("append", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_append)); + frame.setlocal("getwidth", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_getwidth)); + return frame.getf_locals(); + } + + private static PyObject __init__$18(PyFrame frame) { + frame.getlocal(0).__setattr__("string", frame.getlocal(1)); + frame.getlocal(0).__setattr__("index", i$40); + frame.getlocal(0).invoke("_Tokenizer__next"); + return Py.None; + } + + private static PyObject _Tokenizer__next$19(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + if (frame.getlocal(0).__getattr__("index")._ge(frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("string"))).__nonzero__()) { + frame.getlocal(0).__setattr__("next", frame.getglobal("None")); + return Py.None; + } + frame.setlocal(1, frame.getlocal(0).__getattr__("string").__getitem__(frame.getlocal(0).__getattr__("index"))); + if (frame.getlocal(1).__getitem__(i$40)._eq(s$21).__nonzero__()) { + try { + frame.setlocal(2, frame.getlocal(0).__getattr__("string").__getitem__(frame.getlocal(0).__getattr__("index")._add(i$41))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + throw Py.makeException(frame.getglobal("error"), s$48); + } + else throw t$0$PyException; + } + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(2))); + } + frame.getlocal(0).__setattr__("index", frame.getlocal(0).__getattr__("index")._add(frame.getglobal("len").__call__(frame.getlocal(1)))); + frame.getlocal(0).__setattr__("next", frame.getlocal(1)); + return Py.None; + } + + private static PyObject match$20(PyFrame frame) { + if (frame.getlocal(1)._eq(frame.getlocal(0).__getattr__("next")).__nonzero__()) { + if (frame.getlocal(2).__nonzero__()) { + frame.getlocal(0).invoke("_Tokenizer__next"); + } + return i$41; + } + return i$40; + } + + private static PyObject get$21(PyFrame frame) { + frame.setlocal(1, frame.getlocal(0).__getattr__("next")); + frame.getlocal(0).invoke("_Tokenizer__next"); + return frame.getlocal(1); + } + + private static PyObject tell$22(PyFrame frame) { + return new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("index"), frame.getlocal(0).__getattr__("next")}); + } + + private static PyObject seek$23(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.getlocal(0).__setattr__("index", t$0$PyObject__[0]); + frame.getlocal(0).__setattr__("next", t$0$PyObject__[1]); + return Py.None; + } + + private static PyObject Tokenizer$24(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$17___init__)); + frame.setlocal("_Tokenizer__next", new PyFunction(frame.f_globals, new PyObject[] {}, c$18__Tokenizer__next)); + frame.setlocal("match", new PyFunction(frame.f_globals, new PyObject[] {i$41}, c$19_match)); + frame.setlocal("get", new PyFunction(frame.f_globals, new PyObject[] {}, c$20_get)); + frame.setlocal("tell", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_tell)); + frame.setlocal("seek", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_seek)); + return frame.getf_locals(); + } + + private static PyObject isident$25(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + return (t$0$PyObject = ((t$1$PyObject = (s$49._le(t$2$PyObject = frame.getlocal(0)).__nonzero__() ? t$2$PyObject._le(s$50) : Py.Zero)).__nonzero__() ? t$1$PyObject : (s$51._le(t$2$PyObject = frame.getlocal(0)).__nonzero__() ? t$2$PyObject._le(s$52) : Py.Zero))).__nonzero__() ? t$0$PyObject : frame.getlocal(0)._eq(s$53); + } + + private static PyObject isdigit$26(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + return s$54._le(t$0$PyObject = frame.getlocal(0)).__nonzero__() ? t$0$PyObject._le(s$55) : Py.Zero; + } + + private static PyObject isname$27(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + if (frame.getglobal("isident").__call__(frame.getlocal(0).__getitem__(i$40)).__not__().__nonzero__()) { + return i$40; + } + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(1, t$0$PyObject); + if (((t$2$PyObject = frame.getglobal("isident").__call__(frame.getlocal(1)).__not__()).__nonzero__() ? frame.getglobal("isdigit").__call__(frame.getlocal(1)).__not__() : t$2$PyObject).__nonzero__()) { + return i$40; + } + } + return i$41; + } + + private static PyObject _group$28(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + try { + frame.setlocal(2, frame.getglobal("atoi").__call__(frame.getlocal(0).__getslice__(i$41, null, null))); + if (((t$0$PyObject = frame.getlocal(2)).__nonzero__() ? frame.getlocal(2)._lt(frame.getlocal(1)) : t$0$PyObject).__nonzero__()) { + return frame.getlocal(2); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + return frame.getglobal("None"); + } + + private static PyObject _class_escape$29(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(2, frame.getglobal("ESCAPES").invoke("get", frame.getlocal(1))); + if (frame.getlocal(2).__nonzero__()) { + return frame.getlocal(2); + } + frame.setlocal(2, frame.getglobal("CATEGORIES").invoke("get", frame.getlocal(1))); + if (frame.getlocal(2).__nonzero__()) { + return frame.getlocal(2); + } + try { + if (frame.getlocal(1).__getslice__(i$41, i$47, null)._eq(s$35).__nonzero__()) { + while (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._in(frame.getglobal("HEXDIGITS"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(1))._lt(i$56) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + } + frame.setlocal(1, frame.getlocal(1).__getslice__(i$47, null, null)); + if (frame.getglobal("len").__call__(frame.getlocal(1))._ne(i$47).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$57._mod(frame.getglobal("repr").__call__(s$21._add(frame.getlocal(1))))); + } + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1), i$58)._and(i$59)}); + } + else if (frame.getglobal("str").__call__(frame.getlocal(1).__getslice__(i$41, i$47, null))._in(frame.getglobal("OCTDIGITS")).__nonzero__()) { + while (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._in(frame.getglobal("OCTDIGITS"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(1))._lt(i$60) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + } + frame.setlocal(1, frame.getlocal(1).__getslice__(i$41, null, null)); + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1), i$39)._and(i$59)}); + } + if (frame.getglobal("len").__call__(frame.getlocal(1))._eq(i$47).__nonzero__()) { + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(1).__getitem__(i$41))}); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + throw Py.makeException(frame.getglobal("error"), s$57._mod(frame.getglobal("repr").__call__(frame.getlocal(1)))); + } + + private static PyObject _escape$30(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(4, frame.getglobal("CATEGORIES").invoke("get", frame.getlocal(1))); + if (frame.getlocal(4).__nonzero__()) { + return frame.getlocal(4); + } + frame.setlocal(4, frame.getglobal("ESCAPES").invoke("get", frame.getlocal(1))); + if (frame.getlocal(4).__nonzero__()) { + return frame.getlocal(4); + } + try { + if (frame.getlocal(1).__getslice__(i$41, i$47, null)._eq(s$35).__nonzero__()) { + while (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._in(frame.getglobal("HEXDIGITS"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(1))._lt(i$56) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + } + if (frame.getglobal("len").__call__(frame.getlocal(1))._ne(i$56).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError")); + } + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1).__getslice__(i$47, null, null), i$58)._and(i$59)}); + } + else if (frame.getlocal(1).__getslice__(i$41, i$47, null)._eq(s$54).__nonzero__()) { + while (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._in(frame.getglobal("OCTDIGITS"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(1))._lt(i$56) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + } + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1).__getslice__(i$41, null, null), i$39)._and(i$59)}); + } + else if (frame.getlocal(1).__getslice__(i$41, i$47, null)._in(frame.getglobal("DIGITS")).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).invoke("tell")); + if (frame.getlocal(0).__getattr__("next")._in(frame.getglobal("DIGITS")).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(1).__getitem__(i$41)._in(frame.getglobal("OCTDIGITS"))).__nonzero__() ? frame.getlocal(1).__getitem__(i$47)._in(frame.getglobal("OCTDIGITS")) : t$1$PyObject)).__nonzero__() ? frame.getlocal(0).__getattr__("next")._in(frame.getglobal("OCTDIGITS")) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1).__getslice__(i$41, null, null), i$39)._and(i$59)}); + } + } + frame.setlocal(5, frame.getglobal("_group").__call__(frame.getlocal(1), frame.getlocal(2).__getattr__("groups"))); + if (frame.getlocal(5).__nonzero__()) { + if (frame.getlocal(2).invoke("checkgroup", frame.getlocal(5)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$61); + } + return new PyTuple(new PyObject[] {frame.getglobal("GROUPREF"), frame.getlocal(5)}); + } + throw Py.makeException(frame.getglobal("ValueError")); + } + if (frame.getglobal("len").__call__(frame.getlocal(1))._eq(i$47).__nonzero__()) { + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(1).__getitem__(i$41))}); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + throw Py.makeException(frame.getglobal("error"), s$57._mod(frame.getglobal("repr").__call__(frame.getlocal(1)))); + } + + private static PyObject _parse_sub$31(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int, t$3$int; + boolean t$0$boolean; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject, t$6$PyObject, t$7$PyObject; + + // Code + frame.setlocal(5, new PyList(new PyObject[] {})); + while (i$41.__nonzero__()) { + frame.getlocal(5).invoke("append", frame.getglobal("_parse").__call__(frame.getlocal(0), frame.getlocal(1))); + if (frame.getlocal(0).invoke("match", s$62).__nonzero__()) { + continue; + } + if (frame.getlocal(2).__not__().__nonzero__()) { + break; + } + if (((t$0$PyObject = frame.getlocal(0).__getattr__("next").__not__()).__nonzero__() ? t$0$PyObject : frame.getlocal(0).invoke("match", s$63, i$40)).__nonzero__()) { + break; + } + else { + throw Py.makeException(frame.getglobal("error"), s$64); + } + } + if (frame.getglobal("len").__call__(frame.getlocal(5))._eq(i$41).__nonzero__()) { + return frame.getlocal(5).__getitem__(i$40); + } + frame.setlocal(3, frame.getglobal("SubPattern").__call__(frame.getlocal(1))); + while (i$41.__nonzero__()) { + frame.setlocal(4, frame.getglobal("None")); + t$0$int = 0; + t$1$PyObject = frame.getlocal(5); + while (t$0$boolean=(t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(7, t$0$PyObject); + if (frame.getlocal(7).__not__().__nonzero__()) { + break; + } + if (frame.getlocal(4)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(4, frame.getlocal(7).__getitem__(i$40)); + } + else if (frame.getlocal(7).__getitem__(i$40)._ne(frame.getlocal(4)).__nonzero__()) { + break; + } + } + if (!t$0$boolean) { + t$1$int = 0; + t$3$PyObject = frame.getlocal(5); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(7, t$2$PyObject); + frame.getlocal(7).__delitem__(i$40); + } + frame.getlocal(3).invoke("append", frame.getlocal(4)); + continue; + } + break; + } + t$2$int = 0; + t$5$PyObject = frame.getlocal(5); + while (t$0$boolean=(t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(7, t$4$PyObject); + if (((t$6$PyObject = frame.getglobal("len").__call__(frame.getlocal(7))._ne(i$41)).__nonzero__() ? t$6$PyObject : frame.getlocal(7).__getitem__(i$40).__getitem__(i$40)._ne(frame.getglobal("LITERAL"))).__nonzero__()) { + break; + } + } + if (!t$0$boolean) { + frame.setlocal(6, new PyList(new PyObject[] {})); + t$3$int = 0; + t$7$PyObject = frame.getlocal(5); + while ((t$6$PyObject = t$7$PyObject.__finditem__(t$3$int++)) != null) { + frame.setlocal(7, t$6$PyObject); + frame.getlocal(6).invoke("append", frame.getlocal(7).__getitem__(i$40)); + } + frame.getlocal(3).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("IN"), frame.getlocal(6)})); + return frame.getlocal(3); + } + frame.getlocal(3).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("BRANCH"), new PyTuple(new PyObject[] {frame.getglobal("None"), frame.getlocal(5)})})); + return frame.getlocal(3); + } + + private static PyObject _parse$32(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(12, frame.getglobal("SubPattern").__call__(frame.getlocal(1))); + while (i$41.__nonzero__()) { + if (frame.getlocal(0).__getattr__("next")._in(new PyTuple(new PyObject[] {s$62, s$63})).__nonzero__()) { + break; + } + frame.setlocal(3, frame.getlocal(0).invoke("get")); + if (frame.getlocal(3)._is(frame.getglobal("None")).__nonzero__()) { + break; + } + if (frame.getlocal(1).__getattr__("flags")._and(frame.getglobal("SRE_FLAG_VERBOSE")).__nonzero__()) { + if (frame.getlocal(3)._in(frame.getglobal("WHITESPACE")).__nonzero__()) { + continue; + } + if (frame.getlocal(3)._eq(s$65).__nonzero__()) { + while (i$41.__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).invoke("get")); + if (frame.getlocal(3)._in(new PyTuple(new PyObject[] {frame.getglobal("None"), s$13})).__nonzero__()) { + break; + } + } + continue; + } + } + if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._notin(frame.getglobal("SPECIAL_CHARS")) : t$0$PyObject).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(3))})); + } + else if (frame.getlocal(3)._eq(s$66).__nonzero__()) { + frame.setlocal(10, new PyList(new PyObject[] {})); + if (frame.getlocal(0).invoke("match", s$67).__nonzero__()) { + frame.getlocal(10).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("NEGATE"), frame.getglobal("None")})); + } + frame.setlocal(9, frame.getlocal(10).__getslice__(null, null, null)); + while (i$41.__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).invoke("get")); + if (((t$0$PyObject = frame.getlocal(3)._eq(s$68)).__nonzero__() ? frame.getlocal(10)._ne(frame.getlocal(9)) : t$0$PyObject).__nonzero__()) { + break; + } + else if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._eq(s$21) : t$0$PyObject).__nonzero__()) { + frame.setlocal(7, frame.getglobal("_class_escape").__call__(frame.getlocal(0), frame.getlocal(3))); + } + else if (frame.getlocal(3).__nonzero__()) { + frame.setlocal(7, new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(3))})); + } + else { + throw Py.makeException(frame.getglobal("error"), s$69); + } + if (frame.getlocal(0).invoke("match", s$70).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).invoke("get")); + if (frame.getlocal(3)._eq(s$68).__nonzero__()) { + if (frame.getlocal(7).__getitem__(i$40)._is(frame.getglobal("IN")).__nonzero__()) { + frame.setlocal(7, frame.getlocal(7).__getitem__(i$41).__getitem__(i$40)); + } + frame.getlocal(10).invoke("append", frame.getlocal(7)); + frame.getlocal(10).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(s$70)})); + break; + } + else { + if (frame.getlocal(3).__getitem__(i$40)._eq(s$21).__nonzero__()) { + frame.setlocal(6, frame.getglobal("_class_escape").__call__(frame.getlocal(0), frame.getlocal(3))); + } + else { + frame.setlocal(6, new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(3))})); + } + if (((t$0$PyObject = frame.getlocal(7).__getitem__(i$40)._ne(frame.getglobal("LITERAL"))).__nonzero__() ? t$0$PyObject : frame.getlocal(6).__getitem__(i$40)._ne(frame.getglobal("LITERAL"))).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$71); + } + frame.setlocal(13, frame.getlocal(7).__getitem__(i$41)); + frame.setlocal(20, frame.getlocal(6).__getitem__(i$41)); + if (frame.getlocal(20)._lt(frame.getlocal(13)).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$71); + } + frame.getlocal(10).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("RANGE"), new PyTuple(new PyObject[] {frame.getlocal(13), frame.getlocal(20)})})); + } + } + else { + if (frame.getlocal(7).__getitem__(i$40)._is(frame.getglobal("IN")).__nonzero__()) { + frame.setlocal(7, frame.getlocal(7).__getitem__(i$41).__getitem__(i$40)); + } + frame.getlocal(10).invoke("append", frame.getlocal(7)); + } + } + if (((t$0$PyObject = frame.getglobal("len").__call__(frame.getlocal(10))._eq(i$41)).__nonzero__() ? frame.getlocal(10).__getitem__(i$40).__getitem__(i$40)._is(frame.getglobal("LITERAL")) : t$0$PyObject).__nonzero__()) { + frame.getlocal(12).invoke("append", frame.getlocal(10).__getitem__(i$40)); + } + else if (((t$0$PyObject = ((t$1$PyObject = frame.getglobal("len").__call__(frame.getlocal(10))._eq(i$47)).__nonzero__() ? frame.getlocal(10).__getitem__(i$40).__getitem__(i$40)._is(frame.getglobal("NEGATE")) : t$1$PyObject)).__nonzero__() ? frame.getlocal(10).__getitem__(i$41).__getitem__(i$40)._is(frame.getglobal("LITERAL")) : t$0$PyObject).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("NOT_LITERAL"), frame.getlocal(10).__getitem__(i$41).__getitem__(i$41)})); + } + else { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("IN"), frame.getlocal(10)})); + } + } + else if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._in(frame.getglobal("REPEAT_CHARS")) : t$0$PyObject).__nonzero__()) { + if (frame.getlocal(3)._eq(s$72).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {i$40, i$41}), 2); + frame.setlocal(19, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + } + else if (frame.getlocal(3)._eq(s$73).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {i$40, frame.getglobal("MAXREPEAT")}), 2); + frame.setlocal(19, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + } + else if (frame.getlocal(3)._eq(s$74).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {i$41, frame.getglobal("MAXREPEAT")}), 2); + frame.setlocal(19, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + } + else if (frame.getlocal(3)._eq(s$75).__nonzero__()) { + frame.setlocal(14, frame.getlocal(0).invoke("tell")); + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {i$40, frame.getglobal("MAXREPEAT")}), 2); + frame.setlocal(19, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + t$0$PyObject = s$76; + frame.setlocal(13, t$0$PyObject); + frame.setlocal(20, t$0$PyObject); + while (frame.getlocal(0).__getattr__("next")._in(frame.getglobal("DIGITS")).__nonzero__()) { + frame.setlocal(13, frame.getlocal(13)._add(frame.getlocal(0).invoke("get"))); + } + if (frame.getlocal(0).invoke("match", s$77).__nonzero__()) { + while (frame.getlocal(0).__getattr__("next")._in(frame.getglobal("DIGITS")).__nonzero__()) { + frame.setlocal(20, frame.getlocal(20)._add(frame.getlocal(0).invoke("get"))); + } + } + else { + frame.setlocal(20, frame.getlocal(13)); + } + if (frame.getlocal(0).invoke("match", s$78).__not__().__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(3))})); + frame.getlocal(0).invoke("seek", frame.getlocal(14)); + continue; + } + if (frame.getlocal(13).__nonzero__()) { + frame.setlocal(19, frame.getglobal("atoi").__call__(frame.getlocal(13))); + } + if (frame.getlocal(20).__nonzero__()) { + frame.setlocal(8, frame.getglobal("atoi").__call__(frame.getlocal(20))); + } + if (frame.getlocal(8)._lt(frame.getlocal(19)).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$79); + } + } + else { + throw Py.makeException(frame.getglobal("error"), s$80); + } + if (frame.getlocal(12).__nonzero__()) { + frame.setlocal(11, frame.getlocal(12).__getslice__(i$41.__neg__(), null, null)); + } + else { + frame.setlocal(11, frame.getglobal("None")); + } + if (((t$0$PyObject = frame.getlocal(11).__not__()).__nonzero__() ? t$0$PyObject : ((t$1$PyObject = frame.getglobal("len").__call__(frame.getlocal(11))._eq(i$41)).__nonzero__() ? frame.getlocal(11).__getitem__(i$40).__getitem__(i$40)._eq(frame.getglobal("AT")) : t$1$PyObject)).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$81); + } + if (frame.getlocal(11).__getitem__(i$40).__getitem__(i$40)._in(new PyTuple(new PyObject[] {frame.getglobal("MIN_REPEAT"), frame.getglobal("MAX_REPEAT")})).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$82); + } + if (frame.getlocal(0).invoke("match", s$72).__nonzero__()) { + frame.getlocal(12).__setitem__(i$41.__neg__(), new PyTuple(new PyObject[] {frame.getglobal("MIN_REPEAT"), new PyTuple(new PyObject[] {frame.getlocal(19), frame.getlocal(8), frame.getlocal(11)})})); + } + else { + frame.getlocal(12).__setitem__(i$41.__neg__(), new PyTuple(new PyObject[] {frame.getglobal("MAX_REPEAT"), new PyTuple(new PyObject[] {frame.getlocal(19), frame.getlocal(8), frame.getlocal(11)})})); + } + } + else if (frame.getlocal(3)._eq(s$83).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("ANY"), frame.getglobal("None")})); + } + else if (frame.getlocal(3)._eq(s$84).__nonzero__()) { + frame.setlocal(5, i$41); + frame.setlocal(4, frame.getglobal("None")); + if (frame.getlocal(0).invoke("match", s$72).__nonzero__()) { + frame.setlocal(5, i$40); + if (frame.getlocal(0).invoke("match", s$85).__nonzero__()) { + if (frame.getlocal(0).invoke("match", s$86).__nonzero__()) { + frame.setlocal(4, s$76); + while (i$41.__nonzero__()) { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + if (frame.getlocal(15)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$87); + } + if (frame.getlocal(15)._eq(s$88).__nonzero__()) { + break; + } + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(15))); + } + frame.setlocal(5, i$41); + if (frame.getglobal("isname").__call__(frame.getlocal(4)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$89); + } + } + else if (frame.getlocal(0).invoke("match", s$90).__nonzero__()) { + frame.setlocal(4, s$76); + while (i$41.__nonzero__()) { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + if (frame.getlocal(15)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$87); + } + if (frame.getlocal(15)._eq(s$63).__nonzero__()) { + break; + } + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(15))); + } + if (frame.getglobal("isname").__call__(frame.getlocal(4)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$89); + } + frame.setlocal(16, frame.getlocal(1).__getattr__("groupdict").invoke("get", frame.getlocal(4))); + if (frame.getlocal(16)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$91); + } + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("GROUPREF"), frame.getlocal(16)})); + continue; + } + else { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + if (frame.getlocal(15)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$92); + } + throw Py.makeException(frame.getglobal("error"), s$93._mod(frame.getlocal(15))); + } + } + else if (frame.getlocal(0).invoke("match", s$94).__nonzero__()) { + frame.setlocal(5, i$47); + } + else if (frame.getlocal(0).invoke("match", s$65).__nonzero__()) { + while (i$41.__nonzero__()) { + if (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._is(frame.getglobal("None"))).__nonzero__() ? t$0$PyObject : frame.getlocal(0).__getattr__("next")._eq(s$63)).__nonzero__()) { + break; + } + frame.getlocal(0).invoke("get"); + } + if (frame.getlocal(0).invoke("match", s$63).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$95); + } + continue; + } + else if (frame.getlocal(0).__getattr__("next")._in(new PyTuple(new PyObject[] {s$90, s$96, s$86})).__nonzero__()) { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + frame.setlocal(18, i$41); + if (frame.getlocal(15)._eq(s$86).__nonzero__()) { + if (frame.getlocal(0).__getattr__("next")._notin(new PyTuple(new PyObject[] {s$90, s$96})).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$97); + } + frame.setlocal(18, i$41.__neg__()); + frame.setlocal(15, frame.getlocal(0).invoke("get")); + } + frame.setlocal(17, frame.getglobal("_parse_sub").__call__(frame.getlocal(0), frame.getlocal(1))); + if (frame.getlocal(0).invoke("match", s$63).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$95); + } + if (frame.getlocal(15)._eq(s$90).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("ASSERT"), new PyTuple(new PyObject[] {frame.getlocal(18), frame.getlocal(17)})})); + } + else { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("ASSERT_NOT"), new PyTuple(new PyObject[] {frame.getlocal(18), frame.getlocal(17)})})); + } + continue; + } + else { + if (frame.getglobal("FLAGS").invoke("has_key", frame.getlocal(0).__getattr__("next")).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$92); + } + while (frame.getglobal("FLAGS").invoke("has_key", frame.getlocal(0).__getattr__("next")).__nonzero__()) { + frame.getlocal(1).__setattr__("flags", frame.getlocal(1).__getattr__("flags")._or(frame.getglobal("FLAGS").__getitem__(frame.getlocal(0).invoke("get")))); + } + } + } + if (frame.getlocal(5).__nonzero__()) { + if (frame.getlocal(5)._eq(i$47).__nonzero__()) { + frame.setlocal(5, frame.getglobal("None")); + } + else { + frame.setlocal(5, frame.getlocal(1).invoke("opengroup", frame.getlocal(4))); + } + frame.setlocal(17, frame.getglobal("_parse_sub").__call__(frame.getlocal(0), frame.getlocal(1))); + if (frame.getlocal(0).invoke("match", s$63).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$95); + } + if (frame.getlocal(5)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(1).invoke("closegroup", frame.getlocal(5)); + } + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("SUBPATTERN"), new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(17)})})); + } + else { + while (i$41.__nonzero__()) { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + if (frame.getlocal(15)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$92); + } + if (frame.getlocal(15)._eq(s$63).__nonzero__()) { + break; + } + throw Py.makeException(frame.getglobal("error"), s$98); + } + } + } + else if (frame.getlocal(3)._eq(s$67).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("AT"), frame.getglobal("AT_BEGINNING")})); + } + else if (frame.getlocal(3)._eq(s$99).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("AT"), frame.getglobal("AT_END")})); + } + else if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._eq(s$21) : t$0$PyObject).__nonzero__()) { + frame.setlocal(2, frame.getglobal("_escape").__call__(frame.getlocal(0), frame.getlocal(3), frame.getlocal(1))); + frame.getlocal(12).invoke("append", frame.getlocal(2)); + } + else { + throw Py.makeException(frame.getglobal("error"), s$100); + } + } + return frame.getlocal(12); + } + + private static PyObject parse$33(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("Tokenizer").__call__(frame.getlocal(0))); + if (frame.getlocal(2)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(2, frame.getglobal("Pattern").__call__()); + } + frame.getlocal(2).__setattr__("flags", frame.getlocal(1)); + frame.getlocal(2).__setattr__("str", frame.getlocal(0)); + frame.setlocal(4, frame.getglobal("_parse_sub").__call__(frame.getlocal(3), frame.getlocal(2), i$40)); + frame.setlocal(5, frame.getlocal(3).invoke("get")); + if (frame.getlocal(5)._eq(s$63).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$95); + } + else if (frame.getlocal(5).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$101); + } + if (frame.getlocal(1)._and(frame.getglobal("SRE_FLAG_DEBUG")).__nonzero__()) { + frame.getlocal(4).invoke("dump"); + } + if (((t$0$PyObject = frame.getlocal(1)._and(frame.getglobal("SRE_FLAG_VERBOSE")).__not__()).__nonzero__() ? frame.getlocal(4).__getattr__("pattern").__getattr__("flags")._and(frame.getglobal("SRE_FLAG_VERBOSE")) : t$0$PyObject).__nonzero__()) { + return frame.getglobal("parse").__call__(frame.getlocal(0), frame.getlocal(4).__getattr__("pattern").__getattr__("flags")); + } + return frame.getlocal(4); + } + + private static PyObject literal$34(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (((t$0$PyObject = frame.getlocal(1)).__nonzero__() ? frame.getlocal(1).__getitem__(i$41.__neg__()).__getitem__(i$40)._is(frame.getglobal("LITERAL")) : t$0$PyObject).__nonzero__()) { + frame.getlocal(1).__setitem__(i$41.__neg__(), new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getlocal(1).__getitem__(i$41.__neg__()).__getitem__(i$41)._add(frame.getlocal(0))})); + } + else { + frame.getlocal(1).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getlocal(0)})); + } + return Py.None; + } + + private static PyObject parse_template$35(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyException t$0$PyException, t$1$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(7, frame.getglobal("Tokenizer").__call__(frame.getlocal(0))); + frame.setlocal(9, new PyList(new PyObject[] {})); + frame.setlocal(15, frame.getlocal(9).__getattr__("append")); + frame.setlocal(11, new PyFunction(frame.f_globals, new PyObject[] {frame.getlocal(9)}, c$33_literal)); + frame.setlocal(8, frame.getlocal(0).__getslice__(null, i$40, null)); + if (frame.getglobal("type").__call__(frame.getlocal(8))._is(frame.getglobal("type").__call__(s$76)).__nonzero__()) { + frame.setlocal(13, frame.getglobal("chr")); + } + else { + frame.setlocal(13, frame.getglobal("unichr")); + } + while (i$41.__nonzero__()) { + frame.setlocal(3, frame.getlocal(7).invoke("get")); + if (frame.getlocal(3)._is(frame.getglobal("None")).__nonzero__()) { + break; + } + if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._eq(s$21) : t$0$PyObject).__nonzero__()) { + if (frame.getlocal(3)._eq(s$102).__nonzero__()) { + frame.setlocal(16, s$76); + if (frame.getlocal(7).invoke("match", s$86).__nonzero__()) { + while (i$41.__nonzero__()) { + frame.setlocal(13, frame.getlocal(7).invoke("get")); + if (frame.getlocal(13)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$103); + } + if (frame.getlocal(13)._eq(s$88).__nonzero__()) { + break; + } + frame.setlocal(16, frame.getlocal(16)._add(frame.getlocal(13))); + } + } + if (frame.getlocal(16).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$104); + } + try { + frame.setlocal(5, frame.getglobal("atoi").__call__(frame.getlocal(16))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + if (frame.getglobal("isname").__call__(frame.getlocal(16)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$89); + } + try { + frame.setlocal(5, frame.getlocal(1).__getattr__("groupindex").__getitem__(frame.getlocal(16))); + } + catch (Throwable x$1) { + t$1$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$1$PyException, frame.getglobal("KeyError"))) { + throw Py.makeException(frame.getglobal("IndexError"), s$91); + } + else throw t$1$PyException; + } + } + else throw t$0$PyException; + } + frame.getlocal(15).__call__(new PyTuple(new PyObject[] {frame.getglobal("MARK"), frame.getlocal(5)})); + } + else if (((t$0$PyObject = frame.getglobal("len").__call__(frame.getlocal(3))._gt(i$41)).__nonzero__() ? frame.getlocal(3).__getitem__(i$41)._in(frame.getglobal("DIGITS")) : t$0$PyObject).__nonzero__()) { + frame.setlocal(2, frame.getglobal("None")); + while (i$41.__nonzero__()) { + frame.setlocal(6, frame.getglobal("_group").__call__(frame.getlocal(3), frame.getlocal(1).__getattr__("groups")._add(i$41))); + if (frame.getlocal(6).__nonzero__()) { + if (((t$0$PyObject = frame.getlocal(7).__getattr__("next")._notin(frame.getglobal("DIGITS"))).__nonzero__() ? t$0$PyObject : frame.getglobal("_group").__call__(frame.getlocal(3)._add(frame.getlocal(7).__getattr__("next")), frame.getlocal(1).__getattr__("groups")._add(i$41)).__not__()).__nonzero__()) { + frame.setlocal(2, new PyTuple(new PyObject[] {frame.getglobal("MARK"), frame.getlocal(6)})); + break; + } + } + else if (frame.getlocal(7).__getattr__("next")._in(frame.getglobal("OCTDIGITS")).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3)._add(frame.getlocal(7).invoke("get"))); + } + else { + break; + } + } + if (frame.getlocal(2).__not__().__nonzero__()) { + frame.setlocal(3, frame.getlocal(3).__getslice__(i$41, null, null)); + frame.setlocal(2, new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getlocal(13).__call__(frame.getglobal("atoi").__call__(frame.getlocal(3).__getslice__(i$105.__neg__(), null, null), i$39)._and(i$59))})); + } + if (frame.getlocal(2).__getitem__(i$40)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(11).__call__(frame.getlocal(2).__getitem__(i$41)); + } + else { + frame.getlocal(15).__call__(frame.getlocal(2)); + } + } + else { + try { + frame.setlocal(3, frame.getlocal(13).__call__(frame.getglobal("ESCAPES").__getitem__(frame.getlocal(3)).__getitem__(i$41))); + } + catch (Throwable x$2) { + t$0$PyException = Py.setException(x$2, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) { + // pass + } + else throw t$0$PyException; + } + frame.getlocal(11).__call__(frame.getlocal(3)); + } + } + else { + frame.getlocal(11).__call__(frame.getlocal(3)); + } + } + frame.setlocal(10, i$40); + frame.setlocal(12, new PyList(new PyObject[] {})); + frame.setlocal(4, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(9); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(14, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(14)._is(frame.getglobal("MARK")).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(10), frame.getlocal(7)})); + frame.getlocal(4).invoke("append", frame.getglobal("None")); + } + else { + frame.getlocal(4).invoke("append", frame.getlocal(7)); + } + frame.setlocal(10, frame.getlocal(10)._add(i$41)); + } + return new PyTuple(new PyObject[] {frame.getlocal(12), frame.getlocal(4)}); + } + + private static PyObject expand_template$36(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + frame.setlocal(4, frame.getlocal(1).__getattr__("group")); + frame.setlocal(8, frame.getlocal(1).__getattr__("string").__getslice__(null, i$40, null)); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.setlocal(2, frame.getlocal(2).__getslice__(null, null, null)); + try { + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + t$2$PyObject = frame.getlocal(4).__call__(frame.getlocal(6)); + frame.getlocal(2).__setitem__(frame.getlocal(5), t$2$PyObject); + frame.setlocal(7, t$2$PyObject); + if (frame.getlocal(7)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("IndexError")); + } + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + throw Py.makeException(frame.getglobal("error"), s$106); + } + else throw t$0$PyException; + } + return frame.getglobal("string").__getattr__("join").__call__(frame.getlocal(2), frame.getlocal(8)); + } + + private static PyObject main$37(PyFrame frame) { + frame.setglobal("__file__", s$107); + + // Temporary Variables + PyException t$0$PyException; + + // Code + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + org.python.core.imp.importAll("sre_constants", frame); + frame.setlocal("SPECIAL_CHARS", s$0); + frame.setlocal("REPEAT_CHARS", s$1); + frame.setlocal("DIGITS", frame.getname("tuple").__call__(s$2)); + frame.setlocal("OCTDIGITS", frame.getname("tuple").__call__(s$3)); + frame.setlocal("HEXDIGITS", frame.getname("tuple").__call__(s$4)); + frame.setlocal("WHITESPACE", frame.getname("tuple").__call__(s$5)); + frame.setlocal("ESCAPES", new PyDictionary(new PyObject[] {s$6, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$7)}), s$8, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$9)}), s$10, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$11)}), s$12, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$13)}), s$14, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$15)}), s$16, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$17)}), s$18, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$19)}), s$20, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$21)})})); + frame.setlocal("CATEGORIES", new PyDictionary(new PyObject[] {s$22, new PyTuple(new PyObject[] {frame.getname("AT"), frame.getname("AT_BEGINNING_STRING")}), s$8, new PyTuple(new PyObject[] {frame.getname("AT"), frame.getname("AT_BOUNDARY")}), s$23, new PyTuple(new PyObject[] {frame.getname("AT"), frame.getname("AT_NON_BOUNDARY")}), s$24, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_DIGIT")})})}), s$25, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_NOT_DIGIT")})})}), s$26, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_SPACE")})})}), s$27, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_NOT_SPACE")})})}), s$28, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_WORD")})})}), s$29, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_NOT_WORD")})})}), s$30, new PyTuple(new PyObject[] {frame.getname("AT"), frame.getname("AT_END_STRING")})})); + frame.setlocal("FLAGS", new PyDictionary(new PyObject[] {s$31, frame.getname("SRE_FLAG_IGNORECASE"), s$32, frame.getname("SRE_FLAG_LOCALE"), s$33, frame.getname("SRE_FLAG_MULTILINE"), s$34, frame.getname("SRE_FLAG_DOTALL"), s$35, frame.getname("SRE_FLAG_VERBOSE"), s$36, frame.getname("SRE_FLAG_TEMPLATE"), s$37, frame.getname("SRE_FLAG_UNICODE")})); + try { + frame.getname("int").__call__(s$38, i$39); + frame.setlocal("atoi", frame.getname("int")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("TypeError"))) { + frame.setlocal("atoi", frame.getname("string").__getattr__("atoi")); + } + else throw t$0$PyException; + } + frame.setlocal("Pattern", Py.makeClass("Pattern", new PyObject[] {}, c$4_Pattern, null)); + frame.setlocal("SubPattern", Py.makeClass("SubPattern", new PyObject[] {}, c$16_SubPattern, null)); + frame.setlocal("Tokenizer", Py.makeClass("Tokenizer", new PyObject[] {}, c$23_Tokenizer, null)); + frame.setlocal("isident", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_isident)); + frame.setlocal("isdigit", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_isdigit)); + frame.setlocal("isname", new PyFunction(frame.f_globals, new PyObject[] {}, c$26_isname)); + frame.setlocal("_group", new PyFunction(frame.f_globals, new PyObject[] {}, c$27__group)); + frame.setlocal("_class_escape", new PyFunction(frame.f_globals, new PyObject[] {}, c$28__class_escape)); + frame.setlocal("_escape", new PyFunction(frame.f_globals, new PyObject[] {}, c$29__escape)); + frame.setlocal("_parse_sub", new PyFunction(frame.f_globals, new PyObject[] {i$41}, c$30__parse_sub)); + frame.setlocal("_parse", new PyFunction(frame.f_globals, new PyObject[] {}, c$31__parse)); + frame.setlocal("parse", new PyFunction(frame.f_globals, new PyObject[] {i$40, frame.getname("None")}, c$32_parse)); + frame.setlocal("parse_template", new PyFunction(frame.f_globals, new PyObject[] {}, c$34_parse_template)); + frame.setlocal("expand_template", new PyFunction(frame.f_globals, new PyObject[] {}, c$35_expand_template)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("sre_parse")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "sre_parse"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(sre_parse._PyInner.class, newargs, sre_parse.jpy$packages, sre_parse.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/stat$_PyInner.class b/server/jpywork/stat$_PyInner.class new file mode 100644 index 00000000..2ac0d537 Binary files /dev/null and b/server/jpywork/stat$_PyInner.class differ diff --git a/server/jpywork/stat.class b/server/jpywork/stat.class new file mode 100644 index 00000000..8cfdab82 Binary files /dev/null and b/server/jpywork/stat.class differ diff --git a/server/jpywork/stat.java b/server/jpywork/stat.java new file mode 100644 index 00000000..2bcf81a6 --- /dev/null +++ b/server/jpywork/stat.java @@ -0,0 +1,233 @@ +import org.python.core.*; + +public class stat extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject i$2; + private static PyObject i$3; + private static PyObject i$4; + private static PyObject i$5; + private static PyObject i$6; + private static PyObject i$7; + private static PyObject i$8; + private static PyObject i$9; + private static PyObject i$10; + private static PyObject i$11; + private static PyObject i$12; + private static PyObject i$13; + private static PyObject i$14; + private static PyObject i$15; + private static PyObject i$16; + private static PyObject i$17; + private static PyObject i$18; + private static PyObject i$19; + private static PyObject i$20; + private static PyObject i$21; + private static PyObject i$22; + private static PyObject i$23; + private static PyObject i$24; + private static PyObject i$25; + private static PyObject i$26; + private static PyObject i$27; + private static PyObject i$28; + private static PyObject i$29; + private static PyObject s$30; + private static PyFunctionTable funcTable; + private static PyCode c$0_S_IMODE; + private static PyCode c$1_S_IFMT; + private static PyCode c$2_S_ISDIR; + private static PyCode c$3_S_ISCHR; + private static PyCode c$4_S_ISBLK; + private static PyCode c$5_S_ISREG; + private static PyCode c$6_S_ISFIFO; + private static PyCode c$7_S_ISLNK; + private static PyCode c$8_S_ISSOCK; + private static PyCode c$9_main; + private static void initConstants() { + s$0 = Py.newString("Constants/functions for interpreting results of os.stat() and os.lstat().\012\012Suggested usage: from stat import *\012"); + i$1 = Py.newInteger(0); + i$2 = Py.newInteger(1); + i$3 = Py.newInteger(2); + i$4 = Py.newInteger(3); + i$5 = Py.newInteger(4); + i$6 = Py.newInteger(5); + i$7 = Py.newInteger(6); + i$8 = Py.newInteger(7); + i$9 = Py.newInteger(8); + i$10 = Py.newInteger(9); + i$11 = Py.newInteger(4095); + i$12 = Py.newInteger(61440); + i$13 = Py.newInteger(16384); + i$14 = Py.newInteger(8192); + i$15 = Py.newInteger(24576); + i$16 = Py.newInteger(32768); + i$17 = Py.newInteger(4096); + i$18 = Py.newInteger(40960); + i$19 = Py.newInteger(49152); + i$20 = Py.newInteger(2048); + i$21 = Py.newInteger(1024); + i$22 = Py.newInteger(512); + i$23 = Py.newInteger(256); + i$24 = Py.newInteger(128); + i$25 = Py.newInteger(64); + i$26 = Py.newInteger(448); + i$27 = Py.newInteger(56); + i$28 = Py.newInteger(32); + i$29 = Py.newInteger(16); + s$30 = Py.newString("/usr/share/jython/Lib-cpython/stat.py"); + funcTable = new _PyInner(); + c$0_S_IMODE = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_IMODE", false, false, funcTable, 0, null, null, 0, 1); + c$1_S_IFMT = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_IFMT", false, false, funcTable, 1, null, null, 0, 1); + c$2_S_ISDIR = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISDIR", false, false, funcTable, 2, null, null, 0, 1); + c$3_S_ISCHR = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISCHR", false, false, funcTable, 3, null, null, 0, 1); + c$4_S_ISBLK = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISBLK", false, false, funcTable, 4, null, null, 0, 1); + c$5_S_ISREG = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISREG", false, false, funcTable, 5, null, null, 0, 1); + c$6_S_ISFIFO = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISFIFO", false, false, funcTable, 6, null, null, 0, 1); + c$7_S_ISLNK = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISLNK", false, false, funcTable, 7, null, null, 0, 1); + c$8_S_ISSOCK = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISSOCK", false, false, funcTable, 8, null, null, 0, 1); + c$9_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/stat.py", "main", false, false, funcTable, 9, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$9_main == null) _PyInner.initConstants(); + return c$9_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.S_IMODE$1(frame); + case 1: + return _PyInner.S_IFMT$2(frame); + case 2: + return _PyInner.S_ISDIR$3(frame); + case 3: + return _PyInner.S_ISCHR$4(frame); + case 4: + return _PyInner.S_ISBLK$5(frame); + case 5: + return _PyInner.S_ISREG$6(frame); + case 6: + return _PyInner.S_ISFIFO$7(frame); + case 7: + return _PyInner.S_ISLNK$8(frame); + case 8: + return _PyInner.S_ISSOCK$9(frame); + case 9: + return _PyInner.main$10(frame); + default: + return null; + } + } + + private static PyObject S_IMODE$1(PyFrame frame) { + return frame.getlocal(0)._and(i$11); + } + + private static PyObject S_IFMT$2(PyFrame frame) { + return frame.getlocal(0)._and(i$12); + } + + private static PyObject S_ISDIR$3(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFDIR")); + } + + private static PyObject S_ISCHR$4(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFCHR")); + } + + private static PyObject S_ISBLK$5(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFBLK")); + } + + private static PyObject S_ISREG$6(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFREG")); + } + + private static PyObject S_ISFIFO$7(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFIFO")); + } + + private static PyObject S_ISLNK$8(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFLNK")); + } + + private static PyObject S_ISSOCK$9(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFSOCK")); + } + + private static PyObject main$10(PyFrame frame) { + frame.setglobal("__file__", s$30); + + /* Constants/functions for interpreting results of os.stat() and os.lstat(). + + Suggested usage: from stat import * + */ + frame.setlocal("ST_MODE", i$1); + frame.setlocal("ST_INO", i$2); + frame.setlocal("ST_DEV", i$3); + frame.setlocal("ST_NLINK", i$4); + frame.setlocal("ST_UID", i$5); + frame.setlocal("ST_GID", i$6); + frame.setlocal("ST_SIZE", i$7); + frame.setlocal("ST_ATIME", i$8); + frame.setlocal("ST_MTIME", i$9); + frame.setlocal("ST_CTIME", i$10); + frame.setlocal("S_IMODE", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_S_IMODE)); + frame.setlocal("S_IFMT", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_S_IFMT)); + frame.setlocal("S_IFDIR", i$13); + frame.setlocal("S_IFCHR", i$14); + frame.setlocal("S_IFBLK", i$15); + frame.setlocal("S_IFREG", i$16); + frame.setlocal("S_IFIFO", i$17); + frame.setlocal("S_IFLNK", i$18); + frame.setlocal("S_IFSOCK", i$19); + frame.setlocal("S_ISDIR", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_S_ISDIR)); + frame.setlocal("S_ISCHR", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_S_ISCHR)); + frame.setlocal("S_ISBLK", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_S_ISBLK)); + frame.setlocal("S_ISREG", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_S_ISREG)); + frame.setlocal("S_ISFIFO", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_S_ISFIFO)); + frame.setlocal("S_ISLNK", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_S_ISLNK)); + frame.setlocal("S_ISSOCK", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_S_ISSOCK)); + frame.setlocal("S_ISUID", i$20); + frame.setlocal("S_ISGID", i$21); + frame.setlocal("S_ENFMT", frame.getname("S_ISGID")); + frame.setlocal("S_ISVTX", i$22); + frame.setlocal("S_IREAD", i$23); + frame.setlocal("S_IWRITE", i$24); + frame.setlocal("S_IEXEC", i$25); + frame.setlocal("S_IRWXU", i$26); + frame.setlocal("S_IRUSR", i$23); + frame.setlocal("S_IWUSR", i$24); + frame.setlocal("S_IXUSR", i$25); + frame.setlocal("S_IRWXG", i$27); + frame.setlocal("S_IRGRP", i$28); + frame.setlocal("S_IWGRP", i$29); + frame.setlocal("S_IXGRP", i$9); + frame.setlocal("S_IRWXO", i$8); + frame.setlocal("S_IROTH", i$5); + frame.setlocal("S_IWOTH", i$3); + frame.setlocal("S_IXOTH", i$2); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("stat")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "stat"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(stat._PyInner.class, newargs, stat.jpy$packages, stat.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/string$_PyInner.class b/server/jpywork/string$_PyInner.class new file mode 100644 index 00000000..87ee37b1 Binary files /dev/null and b/server/jpywork/string$_PyInner.class differ diff --git a/server/jpywork/string.class b/server/jpywork/string.class new file mode 100644 index 00000000..ad49016f Binary files /dev/null and b/server/jpywork/string.class differ diff --git a/server/jpywork/string.java b/server/jpywork/string.java new file mode 100644 index 00000000..32b21506 --- /dev/null +++ b/server/jpywork/string.java @@ -0,0 +1,758 @@ +import org.python.core.*; + +public class string extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject i$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject i$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject i$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject i$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject i$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyFunctionTable funcTable; + private static PyCode c$0_lower; + private static PyCode c$1_upper; + private static PyCode c$2_swapcase; + private static PyCode c$3_strip; + private static PyCode c$4_lstrip; + private static PyCode c$5_rstrip; + private static PyCode c$6_split; + private static PyCode c$7_join; + private static PyCode c$8_index; + private static PyCode c$9_rindex; + private static PyCode c$10_count; + private static PyCode c$11_find; + private static PyCode c$12_rfind; + private static PyCode c$13_atof; + private static PyCode c$14_atoi; + private static PyCode c$15_atol; + private static PyCode c$16_ljust; + private static PyCode c$17_rjust; + private static PyCode c$18_center; + private static PyCode c$19_zfill; + private static PyCode c$20_expandtabs; + private static PyCode c$21_translate; + private static PyCode c$22_capitalize; + private static PyCode c$23_capwords; + private static PyCode c$24_maketrans; + private static PyCode c$25_replace; + private static PyCode c$26_main; + private static void initConstants() { + s$0 = Py.newString("Common string manipulations.\012\012Public module variables:\012\012whitespace -- a string containing all characters considered whitespace\012lowercase -- a string containing all characters considered lowercase letters\012uppercase -- a string containing all characters considered uppercase letters\012letters -- a string containing all characters considered letters\012digits -- a string containing all characters considered decimal digits\012hexdigits -- a string containing all characters considered hexadecimal digits\012octdigits -- a string containing all characters considered octal digits\012\012"); + s$1 = Py.newString(" \011\012\015\013\014"); + s$2 = Py.newString("abcdefghijklmnopqrstuvwxyz"); + s$3 = Py.newString("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + s$4 = Py.newString("0123456789"); + s$5 = Py.newString("abcdef"); + s$6 = Py.newString("ABCDEF"); + s$7 = Py.newString("01234567"); + s$8 = Py.newString(""); + i$9 = Py.newInteger(256); + s$10 = Py.newString("lower(s) -> string\012\012 Return a copy of the string s converted to lowercase.\012\012 "); + s$11 = Py.newString("upper(s) -> string\012\012 Return a copy of the string s converted to uppercase.\012\012 "); + s$12 = Py.newString("swapcase(s) -> string\012\012 Return a copy of the string s with upper case characters\012 converted to lowercase and vice versa.\012\012 "); + s$13 = Py.newString("strip(s) -> string\012\012 Return a copy of the string s with leading and trailing\012 whitespace removed.\012\012 "); + s$14 = Py.newString("lstrip(s) -> string\012\012 Return a copy of the string s with leading whitespace removed.\012\012 "); + s$15 = Py.newString("rstrip(s) -> string\012\012 Return a copy of the string s with trailing whitespace\012 removed.\012\012 "); + s$16 = Py.newString("split(str [,sep [,maxsplit]]) -> list of strings\012\012 Return a list of the words in the string s, using sep as the\012 delimiter string. If maxsplit is nonzero, splits into at most\012 maxsplit words If sep is not specified, any whitespace string\012 is a separator. Maxsplit defaults to -1.\012\012 (split and splitfields are synonymous)\012\012 "); + i$17 = Py.newInteger(1); + s$18 = Py.newString("join(list [,sep]) -> string\012\012 Return a string composed of the words in list, with\012 intervening occurences of sep. The default separator is a\012 single space.\012\012 (joinfields and join are synonymous)\012\012 "); + s$19 = Py.newString(" "); + s$20 = Py.newString("index(s, sub [,start [,end]]) -> int\012\012 Like find but raises ValueError when the substring is not found.\012\012 "); + s$21 = Py.newString("rindex(s, sub [,start [,end]]) -> int\012\012 Like rfind but raises ValueError when the substring is not found.\012\012 "); + s$22 = Py.newString("count(s, sub[, start[,end]]) -> int\012\012 Return the number of occurrences of substring sub in string\012 s[start:end]. Optional arguments start and end are\012 interpreted as in slice notation.\012\012 "); + s$23 = Py.newString("find(s, sub [,start [,end]]) -> in\012\012 Return the lowest index in s where substring sub is found,\012 such that sub is contained within s[start,end]. Optional\012 arguments start and end are interpreted as in slice notation.\012\012 Return -1 on failure.\012\012 "); + s$24 = Py.newString("rfind(s, sub [,start [,end]]) -> int\012\012 Return the highest index in s where substring sub is found,\012 such that sub is contained within s[start,end]. Optional\012 arguments start and end are interpreted as in slice notation.\012\012 Return -1 on failure.\012\012 "); + s$25 = Py.newString("atof(s) -> float\012\012 Return the floating point number represented by the string s.\012\012 "); + s$26 = Py.newString("argument 1: expected string, %s found"); + s$27 = Py.newString("atoi(s [,base]) -> int\012\012 Return the integer represented by the string s in the given\012 base, which defaults to 10. The string s must consist of one\012 or more digits, possibly preceded by a sign. If base is 0, it\012 is chosen from the leading characters of s, 0 for octal, 0x or\012 0X for hexadecimal. If base is 16, a preceding 0x or 0X is\012 accepted.\012\012 "); + i$28 = Py.newInteger(0); + s$29 = Py.newString("function requires at least 1 argument: %d given"); + s$30 = Py.newString("atol(s [,base]) -> long\012\012 Return the long integer represented by the string s in the\012 given base, which defaults to 10. The string s must consist\012 of one or more digits, possibly preceded by a sign. If base\012 is 0, it is chosen from the leading characters of s, 0 for\012 octal, 0x or 0X for hexadecimal. If base is 16, a preceding\012 0x or 0X is accepted. A trailing L or l is not accepted,\012 unless base is 0.\012\012 "); + s$31 = Py.newString("ljust(s, width) -> string\012\012 Return a left-justified version of s, in a field of the\012 specified width, padded with spaces as needed. The string is\012 never truncated.\012\012 "); + s$32 = Py.newString("rjust(s, width) -> string\012\012 Return a right-justified version of s, in a field of the\012 specified width, padded with spaces as needed. The string is\012 never truncated.\012\012 "); + s$33 = Py.newString("center(s, width) -> string\012\012 Return a center version of s, in a field of the specified\012 width. padded with spaces as needed. The string is never\012 truncated.\012\012 "); + i$34 = Py.newInteger(2); + s$35 = Py.newString("zfill(x, width) -> string\012\012 Pad a numeric string x with zeros on the left, to fill a field\012 of the specified width. The string x is never truncated.\012\012 "); + s$36 = Py.newString("-"); + s$37 = Py.newString("+"); + s$38 = Py.newString("0"); + s$39 = Py.newString("expandtabs(s [,tabsize]) -> string\012\012 Return a copy of the string s with all tab characters replaced\012 by the appropriate number of spaces, depending on the current\012 column, and the tabsize (default 8).\012\012 "); + s$40 = Py.newString("\011"); + s$41 = Py.newString("\012"); + i$42 = Py.newInteger(8); + s$43 = Py.newString("translate(s,table [,deletechars]) -> string\012\012 Return a copy of the string s, where all characters occurring\012 in the optional argument deletechars are removed, and the\012 remaining characters have been mapped through the given\012 translation table, which must be a string of length 256.\012\012 "); + s$44 = Py.newString("capitalize(s) -> string\012\012 Return a copy of the string s with only its first character\012 capitalized.\012\012 "); + s$45 = Py.newString("capwords(s, [sep]) -> string\012\012 Split the argument into words using split, capitalize each\012 word using capitalize, and join the capitalized words using\012 join. Note that this replaces runs of whitespace characters by\012 a single space.\012\012 "); + s$46 = Py.newString("maketrans(frm, to) -> string\012\012 Return a translation table (a string of 256 bytes long)\012 suitable for use in string.translate. The strings frm and to\012 must be of the same length.\012\012 "); + s$47 = Py.newString("maketrans arguments must have same length"); + s$48 = Py.newString("replace (str, old, new[, maxsplit]) -> string\012\012 Return a copy of string str with all occurrences of substring\012 old replaced by new. If the optional argument maxsplit is\012 given, only the first maxsplit occurrences are replaced.\012\012 "); + s$49 = Py.newString("/usr/share/jython/Lib/string.py"); + funcTable = new _PyInner(); + c$0_lower = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "lower", false, false, funcTable, 0, null, null, 0, 1); + c$1_upper = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "upper", false, false, funcTable, 1, null, null, 0, 1); + c$2_swapcase = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "swapcase", false, false, funcTable, 2, null, null, 0, 1); + c$3_strip = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "strip", false, false, funcTable, 3, null, null, 0, 1); + c$4_lstrip = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "lstrip", false, false, funcTable, 4, null, null, 0, 1); + c$5_rstrip = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "rstrip", false, false, funcTable, 5, null, null, 0, 1); + c$6_split = Py.newCode(3, new String[] {"s", "sep", "maxsplit"}, "/usr/share/jython/Lib/string.py", "split", false, false, funcTable, 6, null, null, 0, 1); + c$7_join = Py.newCode(2, new String[] {"words", "sep"}, "/usr/share/jython/Lib/string.py", "join", false, false, funcTable, 7, null, null, 0, 1); + c$8_index = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "index", true, false, funcTable, 8, null, null, 0, 1); + c$9_rindex = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "rindex", true, false, funcTable, 9, null, null, 0, 1); + c$10_count = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "count", true, false, funcTable, 10, null, null, 0, 1); + c$11_find = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "find", true, false, funcTable, 11, null, null, 0, 1); + c$12_rfind = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "rfind", true, false, funcTable, 12, null, null, 0, 1); + c$13_atof = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "atof", false, false, funcTable, 13, null, null, 0, 1); + c$14_atoi = Py.newCode(1, new String[] {"args", "s"}, "/usr/share/jython/Lib/string.py", "atoi", true, false, funcTable, 14, null, null, 0, 1); + c$15_atol = Py.newCode(1, new String[] {"args", "s"}, "/usr/share/jython/Lib/string.py", "atol", true, false, funcTable, 15, null, null, 0, 1); + c$16_ljust = Py.newCode(2, new String[] {"s", "width", "n"}, "/usr/share/jython/Lib/string.py", "ljust", false, false, funcTable, 16, null, null, 0, 1); + c$17_rjust = Py.newCode(2, new String[] {"s", "width", "n"}, "/usr/share/jython/Lib/string.py", "rjust", false, false, funcTable, 17, null, null, 0, 1); + c$18_center = Py.newCode(2, new String[] {"s", "width", "half", "n"}, "/usr/share/jython/Lib/string.py", "center", false, false, funcTable, 18, null, null, 0, 1); + c$19_zfill = Py.newCode(2, new String[] {"x", "width", "sign", "s", "n"}, "/usr/share/jython/Lib/string.py", "zfill", false, false, funcTable, 19, null, null, 0, 1); + c$20_expandtabs = Py.newCode(2, new String[] {"s", "tabsize", "line", "res", "c"}, "/usr/share/jython/Lib/string.py", "expandtabs", false, false, funcTable, 20, null, null, 0, 1); + c$21_translate = Py.newCode(3, new String[] {"s", "table", "deletions"}, "/usr/share/jython/Lib/string.py", "translate", false, false, funcTable, 21, null, null, 0, 1); + c$22_capitalize = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "capitalize", false, false, funcTable, 22, null, null, 0, 1); + c$23_capwords = Py.newCode(2, new String[] {"s", "sep"}, "/usr/share/jython/Lib/string.py", "capwords", false, false, funcTable, 23, null, null, 0, 1); + c$24_maketrans = Py.newCode(2, new String[] {"fromstr", "tostr", "i", "L"}, "/usr/share/jython/Lib/string.py", "maketrans", false, false, funcTable, 24, null, null, 0, 1); + c$25_replace = Py.newCode(4, new String[] {"s", "old", "new", "maxsplit"}, "/usr/share/jython/Lib/string.py", "replace", false, false, funcTable, 25, null, null, 0, 1); + c$26_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/string.py", "main", false, false, funcTable, 26, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$26_main == null) _PyInner.initConstants(); + return c$26_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.lower$1(frame); + case 1: + return _PyInner.upper$2(frame); + case 2: + return _PyInner.swapcase$3(frame); + case 3: + return _PyInner.strip$4(frame); + case 4: + return _PyInner.lstrip$5(frame); + case 5: + return _PyInner.rstrip$6(frame); + case 6: + return _PyInner.split$7(frame); + case 7: + return _PyInner.join$8(frame); + case 8: + return _PyInner.index$9(frame); + case 9: + return _PyInner.rindex$10(frame); + case 10: + return _PyInner.count$11(frame); + case 11: + return _PyInner.find$12(frame); + case 12: + return _PyInner.rfind$13(frame); + case 13: + return _PyInner.atof$14(frame); + case 14: + return _PyInner.atoi$15(frame); + case 15: + return _PyInner.atol$16(frame); + case 16: + return _PyInner.ljust$17(frame); + case 17: + return _PyInner.rjust$18(frame); + case 18: + return _PyInner.center$19(frame); + case 19: + return _PyInner.zfill$20(frame); + case 20: + return _PyInner.expandtabs$21(frame); + case 21: + return _PyInner.translate$22(frame); + case 22: + return _PyInner.capitalize$23(frame); + case 23: + return _PyInner.capwords$24(frame); + case 24: + return _PyInner.maketrans$25(frame); + case 25: + return _PyInner.replace$26(frame); + case 26: + return _PyInner.main$27(frame); + default: + return null; + } + } + + private static PyObject lower$1(PyFrame frame) { + /* lower(s) -> string + + Return a copy of the string s converted to lowercase. + + */ + return frame.getlocal(0).invoke("lower"); + } + + private static PyObject upper$2(PyFrame frame) { + /* upper(s) -> string + + Return a copy of the string s converted to uppercase. + + */ + return frame.getlocal(0).invoke("upper"); + } + + private static PyObject swapcase$3(PyFrame frame) { + /* swapcase(s) -> string + + Return a copy of the string s with upper case characters + converted to lowercase and vice versa. + + */ + return frame.getlocal(0).invoke("swapcase"); + } + + private static PyObject strip$4(PyFrame frame) { + /* strip(s) -> string + + Return a copy of the string s with leading and trailing + whitespace removed. + + */ + return frame.getlocal(0).invoke("strip"); + } + + private static PyObject lstrip$5(PyFrame frame) { + /* lstrip(s) -> string + + Return a copy of the string s with leading whitespace removed. + + */ + return frame.getlocal(0).invoke("lstrip"); + } + + private static PyObject rstrip$6(PyFrame frame) { + /* rstrip(s) -> string + + Return a copy of the string s with trailing whitespace + removed. + + */ + return frame.getlocal(0).invoke("rstrip"); + } + + private static PyObject split$7(PyFrame frame) { + /* split(str [,sep [,maxsplit]]) -> list of strings + + Return a list of the words in the string s, using sep as the + delimiter string. If maxsplit is nonzero, splits into at most + maxsplit words If sep is not specified, any whitespace string + is a separator. Maxsplit defaults to -1. + + (split and splitfields are synonymous) + + */ + return frame.getlocal(0).invoke("split", frame.getlocal(1), frame.getlocal(2)); + } + + private static PyObject join$8(PyFrame frame) { + /* join(list [,sep]) -> string + + Return a string composed of the words in list, with + intervening occurences of sep. The default separator is a + single space. + + (joinfields and join are synonymous) + + */ + return frame.getlocal(1).invoke("join", frame.getlocal(0)); + } + + private static PyObject index$9(PyFrame frame) { + /* index(s, sub [,start [,end]]) -> int + + Like find but raises ValueError when the substring is not found. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("index"), frame.getlocal(1)); + } + + private static PyObject rindex$10(PyFrame frame) { + /* rindex(s, sub [,start [,end]]) -> int + + Like rfind but raises ValueError when the substring is not found. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("rindex"), frame.getlocal(1)); + } + + private static PyObject count$11(PyFrame frame) { + /* count(s, sub[, start[,end]]) -> int + + Return the number of occurrences of substring sub in string + s[start:end]. Optional arguments start and end are + interpreted as in slice notation. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("count"), frame.getlocal(1)); + } + + private static PyObject find$12(PyFrame frame) { + /* find(s, sub [,start [,end]]) -> in + + Return the lowest index in s where substring sub is found, + such that sub is contained within s[start,end]. Optional + arguments start and end are interpreted as in slice notation. + + Return -1 on failure. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("find"), frame.getlocal(1)); + } + + private static PyObject rfind$13(PyFrame frame) { + /* rfind(s, sub [,start [,end]]) -> int + + Return the highest index in s where substring sub is found, + such that sub is contained within s[start,end]. Optional + arguments start and end are interpreted as in slice notation. + + Return -1 on failure. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("rfind"), frame.getlocal(1)); + } + + private static PyObject atof$14(PyFrame frame) { + /* atof(s) -> float + + Return the floating point number represented by the string s. + + */ + if (frame.getglobal("type").__call__(frame.getlocal(0))._eq(frame.getglobal("_StringType")).__nonzero__()) { + return frame.getglobal("_float").__call__(frame.getlocal(0)); + } + else { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$26._mod(frame.getglobal("type").__call__(frame.getlocal(0)).__getattr__("__name__")))); + } + } + + private static PyObject atoi$15(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* atoi(s [,base]) -> int + + Return the integer represented by the string s in the given + base, which defaults to 10. The string s must consist of one + or more digits, possibly preceded by a sign. If base is 0, it + is chosen from the leading characters of s, 0 for octal, 0x or + 0X for hexadecimal. If base is 16, a preceding 0x or 0X is + accepted. + + */ + try { + frame.setlocal(1, frame.getlocal(0).__getitem__(i$28)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$29._mod(frame.getglobal("len").__call__(frame.getlocal(0))))); + } + else throw t$0$PyException; + } + if (frame.getglobal("type").__call__(frame.getlocal(1))._eq(frame.getglobal("_StringType")).__nonzero__()) { + return frame.getglobal("_apply").__call__(frame.getglobal("_int"), frame.getlocal(0)); + } + else { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$26._mod(frame.getglobal("type").__call__(frame.getlocal(1)).__getattr__("__name__")))); + } + } + + private static PyObject atol$16(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* atol(s [,base]) -> long + + Return the long integer represented by the string s in the + given base, which defaults to 10. The string s must consist + of one or more digits, possibly preceded by a sign. If base + is 0, it is chosen from the leading characters of s, 0 for + octal, 0x or 0X for hexadecimal. If base is 16, a preceding + 0x or 0X is accepted. A trailing L or l is not accepted, + unless base is 0. + + */ + try { + frame.setlocal(1, frame.getlocal(0).__getitem__(i$28)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$29._mod(frame.getglobal("len").__call__(frame.getlocal(0))))); + } + else throw t$0$PyException; + } + if (frame.getglobal("type").__call__(frame.getlocal(1))._eq(frame.getglobal("_StringType")).__nonzero__()) { + return frame.getglobal("_apply").__call__(frame.getglobal("_long"), frame.getlocal(0)); + } + else { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$26._mod(frame.getglobal("type").__call__(frame.getlocal(1)).__getattr__("__name__")))); + } + } + + private static PyObject ljust$17(PyFrame frame) { + /* ljust(s, width) -> string + + Return a left-justified version of s, in a field of the + specified width, padded with spaces as needed. The string is + never truncated. + + */ + frame.setlocal(2, frame.getlocal(1)._sub(frame.getglobal("len").__call__(frame.getlocal(0)))); + if (frame.getlocal(2)._le(i$28).__nonzero__()) { + return frame.getlocal(0); + } + return frame.getlocal(0)._add(s$19._mul(frame.getlocal(2))); + } + + private static PyObject rjust$18(PyFrame frame) { + /* rjust(s, width) -> string + + Return a right-justified version of s, in a field of the + specified width, padded with spaces as needed. The string is + never truncated. + + */ + frame.setlocal(2, frame.getlocal(1)._sub(frame.getglobal("len").__call__(frame.getlocal(0)))); + if (frame.getlocal(2)._le(i$28).__nonzero__()) { + return frame.getlocal(0); + } + return s$19._mul(frame.getlocal(2))._add(frame.getlocal(0)); + } + + private static PyObject center$19(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* center(s, width) -> string + + Return a center version of s, in a field of the specified + width. padded with spaces as needed. The string is never + truncated. + + */ + frame.setlocal(3, frame.getlocal(1)._sub(frame.getglobal("len").__call__(frame.getlocal(0)))); + if (frame.getlocal(3)._le(i$28).__nonzero__()) { + return frame.getlocal(0); + } + frame.setlocal(2, frame.getlocal(3)._div(i$34)); + if (((t$0$PyObject = frame.getlocal(3)._mod(i$34)).__nonzero__() ? frame.getlocal(1)._mod(i$34) : t$0$PyObject).__nonzero__()) { + frame.setlocal(2, frame.getlocal(2)._add(i$17)); + } + return s$19._mul(frame.getlocal(2))._add(frame.getlocal(0))._add(s$19._mul(frame.getlocal(3)._sub(frame.getlocal(2)))); + } + + private static PyObject zfill$20(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* zfill(x, width) -> string + + Pad a numeric string x with zeros on the left, to fill a field + of the specified width. The string x is never truncated. + + */ + if (frame.getglobal("type").__call__(frame.getlocal(0))._eq(frame.getglobal("type").__call__(s$8)).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0)); + } + else { + frame.setlocal(3, frame.getlocal(0).__repr__()); + } + frame.setlocal(4, frame.getglobal("len").__call__(frame.getlocal(3))); + if (frame.getlocal(4)._ge(frame.getlocal(1)).__nonzero__()) { + return frame.getlocal(3); + } + frame.setlocal(2, s$8); + if (frame.getlocal(3).__getitem__(i$28)._in(new PyTuple(new PyObject[] {s$36, s$37})).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {frame.getlocal(3).__getitem__(i$28), frame.getlocal(3).__getslice__(i$17, null, null)}), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + } + return frame.getlocal(2)._add(s$38._mul(frame.getlocal(1)._sub(frame.getlocal(4))))._add(frame.getlocal(3)); + } + + private static PyObject expandtabs$21(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* expandtabs(s [,tabsize]) -> string + + Return a copy of the string s with all tab characters replaced + by the appropriate number of spaces, depending on the current + column, and the tabsize (default 8). + + */ + t$0$PyObject = s$8; + frame.setlocal(3, t$0$PyObject); + frame.setlocal(2, t$0$PyObject); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + if (frame.getlocal(4)._eq(s$40).__nonzero__()) { + frame.setlocal(4, s$19._mul(frame.getlocal(1)._sub(frame.getglobal("len").__call__(frame.getlocal(2))._mod(frame.getlocal(1))))); + } + frame.setlocal(2, frame.getlocal(2)._add(frame.getlocal(4))); + if (frame.getlocal(4)._eq(s$41).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3)._add(frame.getlocal(2))); + frame.setlocal(2, s$8); + } + } + return frame.getlocal(3)._add(frame.getlocal(2)); + } + + private static PyObject translate$22(PyFrame frame) { + /* translate(s,table [,deletechars]) -> string + + Return a copy of the string s, where all characters occurring + in the optional argument deletechars are removed, and the + remaining characters have been mapped through the given + translation table, which must be a string of length 256. + + */ + return frame.getlocal(0).invoke("translate", frame.getlocal(1), frame.getlocal(2)); + } + + private static PyObject capitalize$23(PyFrame frame) { + /* capitalize(s) -> string + + Return a copy of the string s with only its first character + capitalized. + + */ + return frame.getlocal(0).invoke("capitalize"); + } + + private static PyObject capwords$24(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* capwords(s, [sep]) -> string + + Split the argument into words using split, capitalize each + word using capitalize, and join the capitalized words using + join. Note that this replaces runs of whitespace characters by + a single space. + + */ + return frame.getglobal("join").__call__(frame.getglobal("map").__call__(frame.getglobal("capitalize"), frame.getlocal(0).invoke("split", frame.getlocal(1))), (t$0$PyObject = frame.getlocal(1)).__nonzero__() ? t$0$PyObject : s$19); + } + + private static PyObject maketrans$25(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* maketrans(frm, to) -> string + + Return a translation table (a string of 256 bytes long) + suitable for use in string.translate. The strings frm and to + must be of the same length. + + */ + if (frame.getglobal("len").__call__(frame.getlocal(0))._ne(frame.getglobal("len").__call__(frame.getlocal(1))).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$47); + } + // global _idmapL + if (frame.getglobal("_idmapL").__not__().__nonzero__()) { + frame.setglobal("_idmapL", frame.getglobal("map").__call__(frame.getglobal("None"), frame.getglobal("_idmap"))); + } + frame.setlocal(3, frame.getglobal("_idmapL").__getslice__(null, null, null)); + frame.setlocal(0, frame.getglobal("map").__call__(frame.getglobal("ord"), frame.getlocal(0))); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("len").__call__(frame.getlocal(0))); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.getlocal(3).__setitem__(frame.getlocal(0).__getitem__(frame.getlocal(2)), frame.getlocal(1).__getitem__(frame.getlocal(2))); + } + return frame.getglobal("joinfields").__call__(frame.getlocal(3), s$8); + } + + private static PyObject replace$26(PyFrame frame) { + /* replace (str, old, new[, maxsplit]) -> string + + Return a copy of string str with all occurrences of substring + old replaced by new. If the optional argument maxsplit is + given, only the first maxsplit occurrences are replaced. + + */ + return frame.getlocal(0).invoke("replace", new PyObject[] {frame.getlocal(1), frame.getlocal(2), frame.getlocal(3)}); + } + + private static PyObject main$27(PyFrame frame) { + frame.setglobal("__file__", s$49); + + PyObject[] imp_accu; + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Common string manipulations. + + Public module variables: + + whitespace -- a string containing all characters considered whitespace + lowercase -- a string containing all characters considered lowercase letters + uppercase -- a string containing all characters considered uppercase letters + letters -- a string containing all characters considered letters + digits -- a string containing all characters considered decimal digits + hexdigits -- a string containing all characters considered hexadecimal digits + octdigits -- a string containing all characters considered octal digits + + */ + frame.setlocal("whitespace", s$1); + frame.setlocal("lowercase", s$2); + frame.setlocal("uppercase", s$3); + frame.setlocal("letters", frame.getname("lowercase")._add(frame.getname("uppercase"))); + frame.setlocal("digits", s$4); + frame.setlocal("hexdigits", frame.getname("digits")._add(s$5)._add(s$6)); + frame.setlocal("octdigits", s$7); + frame.setlocal("_idmap", s$8); + t$0$int = 0; + t$1$PyObject = frame.getname("range").__call__(i$9); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal("i", t$0$PyObject); + frame.setlocal("_idmap", frame.getname("_idmap")._add(frame.getname("chr").__call__(frame.getname("i")))); + } + frame.dellocal("i"); + frame.setlocal("index_error", frame.getname("ValueError")); + frame.setlocal("atoi_error", frame.getname("ValueError")); + frame.setlocal("atof_error", frame.getname("ValueError")); + frame.setlocal("atol_error", frame.getname("ValueError")); + frame.setlocal("lower", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_lower)); + frame.setlocal("upper", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_upper)); + frame.setlocal("swapcase", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_swapcase)); + frame.setlocal("strip", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_strip)); + frame.setlocal("lstrip", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_lstrip)); + frame.setlocal("rstrip", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_rstrip)); + frame.setlocal("split", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), i$17.__neg__()}, c$6_split)); + frame.setlocal("splitfields", frame.getname("split")); + frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {s$19}, c$7_join)); + frame.setlocal("joinfields", frame.getname("join")); + frame.setlocal("_apply", frame.getname("apply")); + frame.setlocal("index", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_index)); + frame.setlocal("rindex", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_rindex)); + frame.setlocal("count", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_count)); + frame.setlocal("find", new PyFunction(frame.f_globals, new PyObject[] {}, c$11_find)); + frame.setlocal("rfind", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_rfind)); + frame.setlocal("_float", frame.getname("float")); + frame.setlocal("_int", frame.getname("int")); + frame.setlocal("_long", frame.getname("long")); + frame.setlocal("_StringType", frame.getname("type").__call__(s$8)); + frame.setlocal("atof", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_atof)); + frame.setlocal("atoi", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_atoi)); + frame.setlocal("atol", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_atol)); + frame.setlocal("ljust", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_ljust)); + frame.setlocal("rjust", new PyFunction(frame.f_globals, new PyObject[] {}, c$17_rjust)); + frame.setlocal("center", new PyFunction(frame.f_globals, new PyObject[] {}, c$18_center)); + frame.setlocal("zfill", new PyFunction(frame.f_globals, new PyObject[] {}, c$19_zfill)); + frame.setlocal("expandtabs", new PyFunction(frame.f_globals, new PyObject[] {i$42}, c$20_expandtabs)); + frame.setlocal("translate", new PyFunction(frame.f_globals, new PyObject[] {s$8}, c$21_translate)); + frame.setlocal("capitalize", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_capitalize)); + frame.setlocal("capwords", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$23_capwords)); + frame.setlocal("_idmapL", frame.getname("None")); + frame.setlocal("maketrans", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_maketrans)); + frame.setlocal("replace", new PyFunction(frame.f_globals, new PyObject[] {i$17.__neg__()}, c$25_replace)); + try { + imp_accu = org.python.core.imp.importFrom("strop", new String[] {"maketrans", "lowercase", "uppercase", "whitespace"}, frame); + frame.setlocal("maketrans", imp_accu[0]); + frame.setlocal("lowercase", imp_accu[1]); + frame.setlocal("uppercase", imp_accu[2]); + frame.setlocal("whitespace", imp_accu[3]); + imp_accu = null; + frame.setlocal("letters", frame.getname("lowercase")._add(frame.getname("uppercase"))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("ImportError"))) { + // pass + } + else throw t$0$PyException; + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("string")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "string"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(string._PyInner.class, newargs, string.jpy$packages, string.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/threading$_PyInner.class b/server/jpywork/threading$_PyInner.class new file mode 100644 index 00000000..614fe464 Binary files /dev/null and b/server/jpywork/threading$_PyInner.class differ diff --git a/server/jpywork/threading.class b/server/jpywork/threading.class new file mode 100644 index 00000000..b05afce3 Binary files /dev/null and b/server/jpywork/threading.class differ diff --git a/server/jpywork/threading.java b/server/jpywork/threading.java new file mode 100644 index 00000000..f3a0d68e --- /dev/null +++ b/server/jpywork/threading.java @@ -0,0 +1,1462 @@ +import org.python.core.*; + +public class threading extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject i$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject f$16; + private static PyObject f$17; + private static PyObject f$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject s$56; + private static PyObject s$57; + private static PyObject s$58; + private static PyObject s$59; + private static PyObject f$60; + private static PyObject s$61; + private static PyObject i$62; + private static PyObject i$63; + private static PyObject i$64; + private static PyObject s$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1__note; + private static PyCode c$2__Verbose; + private static PyCode c$3___init__; + private static PyCode c$4__note; + private static PyCode c$5__Verbose; + private static PyCode c$6_RLock; + private static PyCode c$7___init__; + private static PyCode c$8___repr__; + private static PyCode c$9_acquire; + private static PyCode c$10_release; + private static PyCode c$11__acquire_restore; + private static PyCode c$12__release_save; + private static PyCode c$13__is_owned; + private static PyCode c$14__RLock; + private static PyCode c$15_Condition; + private static PyCode c$16___init__; + private static PyCode c$17___repr__; + private static PyCode c$18__release_save; + private static PyCode c$19__acquire_restore; + private static PyCode c$20__is_owned; + private static PyCode c$21_wait; + private static PyCode c$22_notify; + private static PyCode c$23_notifyAll; + private static PyCode c$24__Condition; + private static PyCode c$25_Semaphore; + private static PyCode c$26___init__; + private static PyCode c$27_acquire; + private static PyCode c$28_release; + private static PyCode c$29__Semaphore; + private static PyCode c$30_Event; + private static PyCode c$31___init__; + private static PyCode c$32_isSet; + private static PyCode c$33_set; + private static PyCode c$34_clear; + private static PyCode c$35_wait; + private static PyCode c$36__Event; + private static PyCode c$37__newname; + private static PyCode c$38___init__; + private static PyCode c$39__set_daemon; + private static PyCode c$40___repr__; + private static PyCode c$41_start; + private static PyCode c$42_run; + private static PyCode c$43__Thread__bootstrap; + private static PyCode c$44__Thread__stop; + private static PyCode c$45__Thread__delete; + private static PyCode c$46_join; + private static PyCode c$47_getName; + private static PyCode c$48_setName; + private static PyCode c$49_isAlive; + private static PyCode c$50_isDaemon; + private static PyCode c$51_setDaemon; + private static PyCode c$52_Thread; + private static PyCode c$53___init__; + private static PyCode c$54__set_daemon; + private static PyCode c$55___MainThread__exitfunc; + private static PyCode c$56__MainThread; + private static PyCode c$57__pickSomeNonDaemonThread; + private static PyCode c$58___init__; + private static PyCode c$59__set_daemon; + private static PyCode c$60_join; + private static PyCode c$61__DummyThread; + private static PyCode c$62_currentThread; + private static PyCode c$63_activeCount; + private static PyCode c$64_enumerate; + private static PyCode c$65___init__; + private static PyCode c$66_put; + private static PyCode c$67_get; + private static PyCode c$68_BoundedQueue; + private static PyCode c$69___init__; + private static PyCode c$70_run; + private static PyCode c$71_ProducerThread; + private static PyCode c$72___init__; + private static PyCode c$73_run; + private static PyCode c$74_ConsumerThread; + private static PyCode c$75__test; + private static PyCode c$76_main; + private static void initConstants() { + s$0 = Py.newString("Proposed new threading module, emulating a subset of Java's threading model."); + i$1 = Py.newInteger(0); + s$2 = Py.newString("%s: %s\012"); + s$3 = Py.newString("<%s(%s, %d)>"); + i$4 = Py.newInteger(1); + s$5 = Py.newString("%s.acquire(%s): recursive success"); + s$6 = Py.newString("%s.acquire(%s): initial succes"); + s$7 = Py.newString("%s.acquire(%s): failure"); + s$8 = Py.newString("release() of un-acquire()d lock"); + s$9 = Py.newString("%s.release(): final release"); + s$10 = Py.newString("%s.release(): non-final release"); + s$11 = Py.newString("%s._acquire_restore()"); + s$12 = Py.newString("%s._release_save()"); + s$13 = Py.newString(""); + s$14 = Py.newString("wait() of un-acquire()d lock"); + s$15 = Py.newString("%s.wait(): got it"); + f$16 = Py.newFloat(1.0E-6); + f$17 = Py.newFloat(1.0); + f$18 = Py.newFloat(2.0); + s$19 = Py.newString("%s.wait(%s): timed out"); + s$20 = Py.newString("%s.wait(%s): got it"); + s$21 = Py.newString("notify() of un-acquire()d lock"); + s$22 = Py.newString("%s.notify(): no waiters"); + s$23 = Py.newString("%s.notify(): notifying %d waiter%s"); + s$24 = Py.newString("s"); + s$25 = Py.newString(""); + s$26 = Py.newString("Semaphore initial value must be >= 0"); + s$27 = Py.newString("Thread-%d"); + s$28 = Py.newString("group argument must be None for now"); + s$29 = Py.newString("Thread.__init__() was not called"); + s$30 = Py.newString("initial"); + s$31 = Py.newString("started"); + s$32 = Py.newString("stopped"); + s$33 = Py.newString(" daemon"); + s$34 = Py.newString("<%s(%s, %s)>"); + s$35 = Py.newString("Thread.__init__() not called"); + s$36 = Py.newString("thread already started"); + s$37 = Py.newString("%s.start(): starting thread"); + s$38 = Py.newString("%s.__bootstrap(): thread started"); + s$39 = Py.newString("%s.__bootstrap(): raised SystemExit"); + s$40 = Py.newString("%s.__bootstrap(): unhandled exception"); + s$41 = Py.newString("Exception in thread %s:\012%s\012"); + s$42 = Py.newString("%s.__bootstrap(): normal return"); + s$43 = Py.newString("cannot join thread before it is started"); + s$44 = Py.newString("cannot join current thread"); + s$45 = Py.newString("%s.join(): waiting until thread stops"); + s$46 = Py.newString("%s.join(): thread stopped"); + s$47 = Py.newString("%s.join(): timed out"); + s$48 = Py.newString("cannot set daemon status of active thread"); + s$49 = Py.newString("MainThread"); + s$50 = Py.newString("%s: waiting for other threads"); + s$51 = Py.newString("%s: exiting"); + s$52 = Py.newString("Dummy-%d"); + s$53 = Py.newString("cannot join a dummy thread"); + s$54 = Py.newString("put(%s): queue full"); + s$55 = Py.newString("put(%s): appended, length now %d"); + s$56 = Py.newString("get(): queue empty"); + s$57 = Py.newString("get(): got %s, %d left"); + s$58 = Py.newString("Producer"); + s$59 = Py.newString("%s.%d"); + f$60 = Py.newFloat(1.0E-5); + s$61 = Py.newString("Consumer"); + i$62 = Py.newInteger(3); + i$63 = Py.newInteger(4); + i$64 = Py.newInteger(5); + s$65 = Py.newString("Producer-%d"); + s$66 = Py.newString("__main__"); + s$67 = Py.newString("/usr/share/jython/Lib-cpython/threading.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1__note = Py.newCode(3, new String[] {"self", "format", "args"}, "/usr/share/jython/Lib-cpython/threading.py", "_note", true, false, funcTable, 1, null, null, 0, 1); + c$2__Verbose = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Verbose", false, false, funcTable, 2, null, null, 0, 0); + c$3___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 3, null, null, 0, 1); + c$4__note = Py.newCode(2, new String[] {"self", "args"}, "/usr/share/jython/Lib-cpython/threading.py", "_note", true, false, funcTable, 4, null, null, 0, 1); + c$5__Verbose = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Verbose", false, false, funcTable, 5, null, null, 0, 0); + c$6_RLock = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "RLock", true, true, funcTable, 6, null, null, 0, 1); + c$7___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 7, null, null, 0, 1); + c$8___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "__repr__", false, false, funcTable, 8, null, null, 0, 1); + c$9_acquire = Py.newCode(2, new String[] {"self", "blocking", "me", "rc"}, "/usr/share/jython/Lib-cpython/threading.py", "acquire", false, false, funcTable, 9, null, null, 0, 1); + c$10_release = Py.newCode(1, new String[] {"self", "count", "me"}, "/usr/share/jython/Lib-cpython/threading.py", "release", false, false, funcTable, 10, null, null, 0, 1); + c$11__acquire_restore = Py.newCode(2, new String[] {"self", "(count, owner)", "owner", "count"}, "/usr/share/jython/Lib-cpython/threading.py", "_acquire_restore", false, false, funcTable, 11, null, null, 0, 1); + c$12__release_save = Py.newCode(1, new String[] {"self", "owner", "count"}, "/usr/share/jython/Lib-cpython/threading.py", "_release_save", false, false, funcTable, 12, null, null, 0, 1); + c$13__is_owned = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_is_owned", false, false, funcTable, 13, null, null, 0, 1); + c$14__RLock = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_RLock", false, false, funcTable, 14, null, null, 0, 0); + c$15_Condition = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "Condition", true, true, funcTable, 15, null, null, 0, 1); + c$16___init__ = Py.newCode(3, new String[] {"self", "lock", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 16, null, null, 0, 1); + c$17___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "__repr__", false, false, funcTable, 17, null, null, 0, 1); + c$18__release_save = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_release_save", false, false, funcTable, 18, null, null, 0, 1); + c$19__acquire_restore = Py.newCode(2, new String[] {"self", "x"}, "/usr/share/jython/Lib-cpython/threading.py", "_acquire_restore", false, false, funcTable, 19, null, null, 0, 1); + c$20__is_owned = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_is_owned", false, false, funcTable, 20, null, null, 0, 1); + c$21_wait = Py.newCode(2, new String[] {"self", "timeout", "endtime", "saved_state", "delay", "me", "gotit", "waiter"}, "/usr/share/jython/Lib-cpython/threading.py", "wait", false, false, funcTable, 21, null, null, 0, 1); + c$22_notify = Py.newCode(2, new String[] {"self", "n", "__waiters", "waiters", "me", "waiter"}, "/usr/share/jython/Lib-cpython/threading.py", "notify", false, false, funcTable, 22, null, null, 0, 1); + c$23_notifyAll = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "notifyAll", false, false, funcTable, 23, null, null, 0, 1); + c$24__Condition = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Condition", false, false, funcTable, 24, null, null, 0, 0); + c$25_Semaphore = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "Semaphore", true, true, funcTable, 25, null, null, 0, 1); + c$26___init__ = Py.newCode(3, new String[] {"self", "value", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 26, null, null, 0, 1); + c$27_acquire = Py.newCode(2, new String[] {"self", "blocking", "rc"}, "/usr/share/jython/Lib-cpython/threading.py", "acquire", false, false, funcTable, 27, null, null, 0, 1); + c$28_release = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "release", false, false, funcTable, 28, null, null, 0, 1); + c$29__Semaphore = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Semaphore", false, false, funcTable, 29, null, null, 0, 0); + c$30_Event = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "Event", true, true, funcTable, 30, null, null, 0, 1); + c$31___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 31, null, null, 0, 1); + c$32_isSet = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "isSet", false, false, funcTable, 32, null, null, 0, 1); + c$33_set = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "set", false, false, funcTable, 33, null, null, 0, 1); + c$34_clear = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "clear", false, false, funcTable, 34, null, null, 0, 1); + c$35_wait = Py.newCode(2, new String[] {"self", "timeout"}, "/usr/share/jython/Lib-cpython/threading.py", "wait", false, false, funcTable, 35, null, null, 0, 1); + c$36__Event = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Event", false, false, funcTable, 36, null, null, 0, 0); + c$37__newname = Py.newCode(1, new String[] {"template"}, "/usr/share/jython/Lib-cpython/threading.py", "_newname", false, false, funcTable, 37, null, null, 0, 1); + c$38___init__ = Py.newCode(7, new String[] {"self", "group", "target", "name", "args", "kwargs", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 38, null, null, 0, 1); + c$39__set_daemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_set_daemon", false, false, funcTable, 39, null, null, 0, 1); + c$40___repr__ = Py.newCode(1, new String[] {"self", "status"}, "/usr/share/jython/Lib-cpython/threading.py", "__repr__", false, false, funcTable, 40, null, null, 0, 1); + c$41_start = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "start", false, false, funcTable, 41, null, null, 0, 1); + c$42_run = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "run", false, false, funcTable, 42, null, null, 0, 1); + c$43__Thread__bootstrap = Py.newCode(1, new String[] {"self", "s"}, "/usr/share/jython/Lib-cpython/threading.py", "_Thread__bootstrap", false, false, funcTable, 43, null, null, 0, 1); + c$44__Thread__stop = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_Thread__stop", false, false, funcTable, 44, null, null, 0, 1); + c$45__Thread__delete = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_Thread__delete", false, false, funcTable, 45, null, null, 0, 1); + c$46_join = Py.newCode(2, new String[] {"self", "timeout", "delay", "deadline"}, "/usr/share/jython/Lib-cpython/threading.py", "join", false, false, funcTable, 46, null, null, 0, 1); + c$47_getName = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "getName", false, false, funcTable, 47, null, null, 0, 1); + c$48_setName = Py.newCode(2, new String[] {"self", "name"}, "/usr/share/jython/Lib-cpython/threading.py", "setName", false, false, funcTable, 48, null, null, 0, 1); + c$49_isAlive = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "isAlive", false, false, funcTable, 49, null, null, 0, 1); + c$50_isDaemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "isDaemon", false, false, funcTable, 50, null, null, 0, 1); + c$51_setDaemon = Py.newCode(2, new String[] {"self", "daemonic"}, "/usr/share/jython/Lib-cpython/threading.py", "setDaemon", false, false, funcTable, 51, null, null, 0, 1); + c$52_Thread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "Thread", false, false, funcTable, 52, null, null, 0, 0); + c$53___init__ = Py.newCode(1, new String[] {"self", "atexit"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 53, null, null, 0, 1); + c$54__set_daemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_set_daemon", false, false, funcTable, 54, null, null, 0, 1); + c$55___MainThread__exitfunc = Py.newCode(1, new String[] {"self", "t"}, "/usr/share/jython/Lib-cpython/threading.py", "__MainThread__exitfunc", false, false, funcTable, 55, null, null, 0, 1); + c$56__MainThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_MainThread", false, false, funcTable, 56, null, null, 0, 0); + c$57__pickSomeNonDaemonThread = Py.newCode(0, new String[] {"t"}, "/usr/share/jython/Lib-cpython/threading.py", "_pickSomeNonDaemonThread", false, false, funcTable, 57, null, null, 0, 1); + c$58___init__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 58, null, null, 0, 1); + c$59__set_daemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_set_daemon", false, false, funcTable, 59, null, null, 0, 1); + c$60_join = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "join", false, false, funcTable, 60, null, null, 0, 1); + c$61__DummyThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_DummyThread", false, false, funcTable, 61, null, null, 0, 0); + c$62_currentThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "currentThread", false, false, funcTable, 62, null, null, 0, 1); + c$63_activeCount = Py.newCode(0, new String[] {"count"}, "/usr/share/jython/Lib-cpython/threading.py", "activeCount", false, false, funcTable, 63, null, null, 0, 1); + c$64_enumerate = Py.newCode(0, new String[] {"active"}, "/usr/share/jython/Lib-cpython/threading.py", "enumerate", false, false, funcTable, 64, null, null, 0, 1); + c$65___init__ = Py.newCode(2, new String[] {"self", "limit"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 65, null, null, 0, 1); + c$66_put = Py.newCode(2, new String[] {"self", "item"}, "/usr/share/jython/Lib-cpython/threading.py", "put", false, false, funcTable, 66, null, null, 0, 1); + c$67_get = Py.newCode(1, new String[] {"self", "item"}, "/usr/share/jython/Lib-cpython/threading.py", "get", false, false, funcTable, 67, null, null, 0, 1); + c$68_BoundedQueue = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "BoundedQueue", false, false, funcTable, 68, null, null, 0, 0); + c$69___init__ = Py.newCode(3, new String[] {"self", "queue", "quota"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 69, null, null, 0, 1); + c$70_run = Py.newCode(1, new String[] {"self", "counter", "random"}, "/usr/share/jython/Lib-cpython/threading.py", "run", false, false, funcTable, 70, null, null, 0, 1); + c$71_ProducerThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "ProducerThread", false, false, funcTable, 71, null, null, 0, 0); + c$72___init__ = Py.newCode(3, new String[] {"self", "queue", "count"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 72, null, null, 0, 1); + c$73_run = Py.newCode(1, new String[] {"self", "item"}, "/usr/share/jython/Lib-cpython/threading.py", "run", false, false, funcTable, 73, null, null, 0, 1); + c$74_ConsumerThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "ConsumerThread", false, false, funcTable, 74, null, null, 0, 0); + c$75__test = Py.newCode(0, new String[] {"random", "Q", "P", "time", "ProducerThread", "t", "C", "BoundedQueue", "ConsumerThread", "i", "NP", "QL", "NI"}, "/usr/share/jython/Lib-cpython/threading.py", "_test", false, false, funcTable, 75, null, null, 0, 1); + c$76_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "main", false, false, funcTable, 76, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$76_main == null) _PyInner.initConstants(); + return c$76_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner._note$2(frame); + case 2: + return _PyInner._Verbose$3(frame); + case 3: + return _PyInner.__init__$4(frame); + case 4: + return _PyInner._note$5(frame); + case 5: + return _PyInner._Verbose$6(frame); + case 6: + return _PyInner.RLock$7(frame); + case 7: + return _PyInner.__init__$8(frame); + case 8: + return _PyInner.__repr__$9(frame); + case 9: + return _PyInner.acquire$10(frame); + case 10: + return _PyInner.release$11(frame); + case 11: + return _PyInner._acquire_restore$12(frame); + case 12: + return _PyInner._release_save$13(frame); + case 13: + return _PyInner._is_owned$14(frame); + case 14: + return _PyInner._RLock$15(frame); + case 15: + return _PyInner.Condition$16(frame); + case 16: + return _PyInner.__init__$17(frame); + case 17: + return _PyInner.__repr__$18(frame); + case 18: + return _PyInner._release_save$19(frame); + case 19: + return _PyInner._acquire_restore$20(frame); + case 20: + return _PyInner._is_owned$21(frame); + case 21: + return _PyInner.wait$22(frame); + case 22: + return _PyInner.notify$23(frame); + case 23: + return _PyInner.notifyAll$24(frame); + case 24: + return _PyInner._Condition$25(frame); + case 25: + return _PyInner.Semaphore$26(frame); + case 26: + return _PyInner.__init__$27(frame); + case 27: + return _PyInner.acquire$28(frame); + case 28: + return _PyInner.release$29(frame); + case 29: + return _PyInner._Semaphore$30(frame); + case 30: + return _PyInner.Event$31(frame); + case 31: + return _PyInner.__init__$32(frame); + case 32: + return _PyInner.isSet$33(frame); + case 33: + return _PyInner.set$34(frame); + case 34: + return _PyInner.clear$35(frame); + case 35: + return _PyInner.wait$36(frame); + case 36: + return _PyInner._Event$37(frame); + case 37: + return _PyInner._newname$38(frame); + case 38: + return _PyInner.__init__$39(frame); + case 39: + return _PyInner._set_daemon$40(frame); + case 40: + return _PyInner.__repr__$41(frame); + case 41: + return _PyInner.start$42(frame); + case 42: + return _PyInner.run$43(frame); + case 43: + return _PyInner._Thread__bootstrap$44(frame); + case 44: + return _PyInner._Thread__stop$45(frame); + case 45: + return _PyInner._Thread__delete$46(frame); + case 46: + return _PyInner.join$47(frame); + case 47: + return _PyInner.getName$48(frame); + case 48: + return _PyInner.setName$49(frame); + case 49: + return _PyInner.isAlive$50(frame); + case 50: + return _PyInner.isDaemon$51(frame); + case 51: + return _PyInner.setDaemon$52(frame); + case 52: + return _PyInner.Thread$53(frame); + case 53: + return _PyInner.__init__$54(frame); + case 54: + return _PyInner._set_daemon$55(frame); + case 55: + return _PyInner.__MainThread__exitfunc$56(frame); + case 56: + return _PyInner._MainThread$57(frame); + case 57: + return _PyInner._pickSomeNonDaemonThread$58(frame); + case 58: + return _PyInner.__init__$59(frame); + case 59: + return _PyInner._set_daemon$60(frame); + case 60: + return _PyInner.join$61(frame); + case 61: + return _PyInner._DummyThread$62(frame); + case 62: + return _PyInner.currentThread$63(frame); + case 63: + return _PyInner.activeCount$64(frame); + case 64: + return _PyInner.enumerate$65(frame); + case 65: + return _PyInner.__init__$66(frame); + case 66: + return _PyInner.put$67(frame); + case 67: + return _PyInner.get$68(frame); + case 68: + return _PyInner.BoundedQueue$69(frame); + case 69: + return _PyInner.__init__$70(frame); + case 70: + return _PyInner.run$71(frame); + case 71: + return _PyInner.ProducerThread$72(frame); + case 72: + return _PyInner.__init__$73(frame); + case 73: + return _PyInner.run$74(frame); + case 74: + return _PyInner.ConsumerThread$75(frame); + case 75: + return _PyInner._test$76(frame); + case 76: + return _PyInner.main$77(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, frame.getglobal("_VERBOSE")); + } + frame.getlocal(0).__setattr__("__Verbose__verbose", frame.getlocal(1)); + return Py.None; + } + + private static PyObject _note$2(PyFrame frame) { + if (frame.getlocal(0).__getattr__("__Verbose__verbose").__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._mod(frame.getlocal(2))); + frame.setlocal(1, s$2._mod(new PyTuple(new PyObject[] {frame.getglobal("currentThread").__call__().invoke("getName"), frame.getlocal(1)}))); + frame.getglobal("_sys").__getattr__("stderr").__getattr__("write").__call__(frame.getlocal(1)); + } + return Py.None; + } + + private static PyObject _Verbose$3(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$0___init__)); + frame.setlocal("_note", new PyFunction(frame.f_globals, new PyObject[] {}, c$1__note)); + return frame.getf_locals(); + } + + private static PyObject __init__$4(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject _note$5(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject _Verbose$6(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$3___init__)); + frame.setlocal("_note", new PyFunction(frame.f_globals, new PyObject[] {}, c$4__note)); + return frame.getf_locals(); + } + + private static PyObject RLock$7(PyFrame frame) { + return frame.getglobal("apply").__call__(frame.getglobal("_RLock"), frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __init__$8(PyFrame frame) { + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(1)); + frame.getlocal(0).__setattr__("__RLock__block", frame.getglobal("_allocate_lock").__call__()); + frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None")); + frame.getlocal(0).__setattr__("__RLock__count", i$1); + return Py.None; + } + + private static PyObject __repr__$9(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + return s$3._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__class__").__getattr__("__name__"), (t$0$PyObject = frame.getlocal(0).__getattr__("__RLock__owner")).__nonzero__() ? frame.getlocal(0).__getattr__("__RLock__owner").invoke("getName") : t$0$PyObject, frame.getlocal(0).__getattr__("__RLock__count")})); + } + + private static PyObject acquire$10(PyFrame frame) { + frame.setlocal(2, frame.getglobal("currentThread").__call__()); + if (frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getlocal(2)).__nonzero__()) { + frame.getlocal(0).__setattr__("__RLock__count", frame.getlocal(0).__getattr__("__RLock__count")._add(i$4)); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$5, frame.getlocal(0), frame.getlocal(1)}); + } + return i$4; + } + frame.setlocal(3, frame.getlocal(0).__getattr__("__RLock__block").invoke("acquire", frame.getlocal(1))); + if (frame.getlocal(3).__nonzero__()) { + frame.getlocal(0).__setattr__("__RLock__owner", frame.getlocal(2)); + frame.getlocal(0).__setattr__("__RLock__count", i$4); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$6, frame.getlocal(0), frame.getlocal(1)}); + } + } + else { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$7, frame.getlocal(0), frame.getlocal(1)}); + } + } + return frame.getlocal(3); + } + + private static PyObject release$11(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(2, frame.getglobal("currentThread").__call__()); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getlocal(2)), s$8); + t$0$PyObject = frame.getlocal(0).__getattr__("__RLock__count")._sub(i$4); + frame.getlocal(0).__setattr__("__RLock__count", t$0$PyObject); + frame.setlocal(1, t$0$PyObject); + if (frame.getlocal(1).__not__().__nonzero__()) { + frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None")); + frame.getlocal(0).__getattr__("__RLock__block").invoke("release"); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$9, frame.getlocal(0)); + } + } + else { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$10, frame.getlocal(0)); + } + } + return Py.None; + } + + private static PyObject _acquire_restore$12(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.getlocal(0).__getattr__("__RLock__block").invoke("acquire"); + frame.getlocal(0).__setattr__("__RLock__count", frame.getlocal(3)); + frame.getlocal(0).__setattr__("__RLock__owner", frame.getlocal(2)); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$11, frame.getlocal(0)); + } + return Py.None; + } + + private static PyObject _release_save$13(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$12, frame.getlocal(0)); + } + frame.setlocal(2, frame.getlocal(0).__getattr__("__RLock__count")); + frame.getlocal(0).__setattr__("__RLock__count", i$1); + frame.setlocal(1, frame.getlocal(0).__getattr__("__RLock__owner")); + frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None")); + frame.getlocal(0).__getattr__("__RLock__block").invoke("release"); + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject _is_owned$14(PyFrame frame) { + return frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getglobal("currentThread").__call__()); + } + + private static PyObject _RLock$15(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$7___init__)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$8___repr__)); + frame.setlocal("acquire", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$9_acquire)); + frame.setlocal("release", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_release)); + frame.setlocal("_acquire_restore", new PyFunction(frame.f_globals, new PyObject[] {}, c$11__acquire_restore)); + frame.setlocal("_release_save", new PyFunction(frame.f_globals, new PyObject[] {}, c$12__release_save)); + frame.setlocal("_is_owned", new PyFunction(frame.f_globals, new PyObject[] {}, c$13__is_owned)); + return frame.getf_locals(); + } + + private static PyObject Condition$16(PyFrame frame) { + return frame.getglobal("apply").__call__(frame.getglobal("_Condition"), frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __init__$17(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(2)); + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, frame.getglobal("RLock").__call__()); + } + frame.getlocal(0).__setattr__("__Condition__lock", frame.getlocal(1)); + frame.getlocal(0).__setattr__("acquire", frame.getlocal(1).__getattr__("acquire")); + frame.getlocal(0).__setattr__("release", frame.getlocal(1).__getattr__("release")); + try { + frame.getlocal(0).__setattr__("_release_save", frame.getlocal(1).__getattr__("_release_save")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) { + // pass + } + else throw t$0$PyException; + } + try { + frame.getlocal(0).__setattr__("_acquire_restore", frame.getlocal(1).__getattr__("_acquire_restore")); + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) { + // pass + } + else throw t$0$PyException; + } + try { + frame.getlocal(0).__setattr__("_is_owned", frame.getlocal(1).__getattr__("_is_owned")); + } + catch (Throwable x$2) { + t$0$PyException = Py.setException(x$2, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) { + // pass + } + else throw t$0$PyException; + } + frame.getlocal(0).__setattr__("__Condition__waiters", new PyList(new PyObject[] {})); + return Py.None; + } + + private static PyObject __repr__$18(PyFrame frame) { + return s$13._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__Condition__lock"), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("__Condition__waiters"))})); + } + + private static PyObject _release_save$19(PyFrame frame) { + frame.getlocal(0).__getattr__("__Condition__lock").invoke("release"); + return Py.None; + } + + private static PyObject _acquire_restore$20(PyFrame frame) { + frame.getlocal(0).__getattr__("__Condition__lock").invoke("acquire"); + return Py.None; + } + + private static PyObject _is_owned$21(PyFrame frame) { + if (frame.getlocal(0).__getattr__("__Condition__lock").invoke("acquire", i$1).__nonzero__()) { + frame.getlocal(0).__getattr__("__Condition__lock").invoke("release"); + return i$1; + } + else { + return i$4; + } + } + + private static PyObject wait$22(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(5, frame.getglobal("currentThread").__call__()); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("_is_owned"), s$14); + frame.setlocal(7, frame.getglobal("_allocate_lock").__call__()); + frame.getlocal(7).invoke("acquire"); + frame.getlocal(0).__getattr__("__Condition__waiters").invoke("append", frame.getlocal(7)); + frame.setlocal(3, frame.getlocal(0).invoke("_release_save")); + try { + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(7).invoke("acquire"); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$15, frame.getlocal(0)); + } + } + else { + frame.setlocal(2, frame.getglobal("_time").__call__()._add(frame.getlocal(1))); + frame.setlocal(4, f$16); + while (i$4.__nonzero__()) { + frame.setlocal(6, frame.getlocal(7).invoke("acquire", i$1)); + if (((t$0$PyObject = frame.getlocal(6)).__nonzero__() ? t$0$PyObject : frame.getglobal("_time").__call__()._ge(frame.getlocal(2))).__nonzero__()) { + break; + } + frame.getglobal("_sleep").__call__(frame.getlocal(4)); + if (frame.getlocal(4)._lt(f$17).__nonzero__()) { + frame.setlocal(4, frame.getlocal(4)._mul(f$18)); + } + } + if (frame.getlocal(6).__not__().__nonzero__()) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$19, frame.getlocal(0), frame.getlocal(1)}); + } + try { + frame.getlocal(0).__getattr__("__Condition__waiters").invoke("remove", frame.getlocal(7)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + } + else { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$20, frame.getlocal(0), frame.getlocal(1)}); + } + } + } + } + finally { + frame.getlocal(0).invoke("_acquire_restore", frame.getlocal(3)); + } + return Py.None; + } + + private static PyObject notify$23(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(4, frame.getglobal("currentThread").__call__()); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("_is_owned"), s$21); + frame.setlocal(2, frame.getlocal(0).__getattr__("__Condition__waiters")); + frame.setlocal(3, frame.getlocal(2).__getslice__(null, frame.getlocal(1), null)); + if (frame.getlocal(3).__not__().__nonzero__()) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$22, frame.getlocal(0)); + } + return Py.None; + } + frame.getlocal(0).invoke("_note", new PyObject[] {s$23, frame.getlocal(0), frame.getlocal(1), (t$0$PyObject = ((t$1$PyObject = frame.getlocal(1)._ne(i$4)).__nonzero__() ? s$24 : t$1$PyObject)).__nonzero__() ? t$0$PyObject : s$25}); + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(5, t$0$PyObject); + frame.getlocal(5).invoke("release"); + try { + frame.getlocal(2).invoke("remove", frame.getlocal(5)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + } + return Py.None; + } + + private static PyObject notifyAll$24(PyFrame frame) { + frame.getlocal(0).invoke("notify", frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("__Condition__waiters"))); + return Py.None; + } + + private static PyObject _Condition$25(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$16___init__)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$17___repr__)); + frame.setlocal("_release_save", new PyFunction(frame.f_globals, new PyObject[] {}, c$18__release_save)); + frame.setlocal("_acquire_restore", new PyFunction(frame.f_globals, new PyObject[] {}, c$19__acquire_restore)); + frame.setlocal("_is_owned", new PyFunction(frame.f_globals, new PyObject[] {}, c$20__is_owned)); + frame.setlocal("wait", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$21_wait)); + frame.setlocal("notify", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$22_notify)); + frame.setlocal("notifyAll", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_notifyAll)); + return frame.getf_locals(); + } + + private static PyObject Semaphore$26(PyFrame frame) { + return frame.getglobal("apply").__call__(frame.getglobal("_Semaphore"), frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __init__$27(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._ge(i$1), s$26); + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(2)); + frame.getlocal(0).__setattr__("__Semaphore__cond", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__())); + frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(1)); + return Py.None; + } + + private static PyObject acquire$28(PyFrame frame) { + // Temporary Variables + boolean t$0$boolean; + + // Code + frame.setlocal(2, i$1); + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("acquire"); + while (t$0$boolean=frame.getlocal(0).__getattr__("__Semaphore__value")._eq(i$1).__nonzero__()) { + if (frame.getlocal(1).__not__().__nonzero__()) { + break; + } + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("wait"); + } + if (!t$0$boolean) { + frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(0).__getattr__("__Semaphore__value")._sub(i$4)); + frame.setlocal(2, i$4); + } + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("release"); + return frame.getlocal(2); + } + + private static PyObject release$29(PyFrame frame) { + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("acquire"); + frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(0).__getattr__("__Semaphore__value")._add(i$4)); + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("notify"); + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("release"); + return Py.None; + } + + private static PyObject _Semaphore$30(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {i$4, frame.getname("None")}, c$26___init__)); + frame.setlocal("acquire", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$27_acquire)); + frame.setlocal("release", new PyFunction(frame.f_globals, new PyObject[] {}, c$28_release)); + return frame.getf_locals(); + } + + private static PyObject Event$31(PyFrame frame) { + return frame.getglobal("apply").__call__(frame.getglobal("_Event"), frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __init__$32(PyFrame frame) { + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(1)); + frame.getlocal(0).__setattr__("__Event__cond", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__())); + frame.getlocal(0).__setattr__("__Event__flag", i$1); + return Py.None; + } + + private static PyObject isSet$33(PyFrame frame) { + return frame.getlocal(0).__getattr__("__Event__flag"); + } + + private static PyObject set$34(PyFrame frame) { + frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire"); + frame.getlocal(0).__setattr__("__Event__flag", i$4); + frame.getlocal(0).__getattr__("__Event__cond").invoke("notifyAll"); + frame.getlocal(0).__getattr__("__Event__cond").invoke("release"); + return Py.None; + } + + private static PyObject clear$35(PyFrame frame) { + frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire"); + frame.getlocal(0).__setattr__("__Event__flag", i$1); + frame.getlocal(0).__getattr__("__Event__cond").invoke("release"); + return Py.None; + } + + private static PyObject wait$36(PyFrame frame) { + frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire"); + if (frame.getlocal(0).__getattr__("__Event__flag").__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("__Event__cond").invoke("wait", frame.getlocal(1)); + } + frame.getlocal(0).__getattr__("__Event__cond").invoke("release"); + return Py.None; + } + + private static PyObject _Event$37(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$31___init__)); + frame.setlocal("isSet", new PyFunction(frame.f_globals, new PyObject[] {}, c$32_isSet)); + frame.setlocal("set", new PyFunction(frame.f_globals, new PyObject[] {}, c$33_set)); + frame.setlocal("clear", new PyFunction(frame.f_globals, new PyObject[] {}, c$34_clear)); + frame.setlocal("wait", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$35_wait)); + return frame.getf_locals(); + } + + private static PyObject _newname$38(PyFrame frame) { + // global _counter + frame.setglobal("_counter", frame.getglobal("_counter")._add(i$4)); + return frame.getlocal(0)._mod(frame.getglobal("_counter")); + } + + private static PyObject __init__$39(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._is(frame.getglobal("None")), s$28); + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(6)); + frame.getlocal(0).__setattr__("_Thread__target", frame.getlocal(2)); + frame.getlocal(0).__setattr__("_Thread__name", frame.getglobal("str").__call__((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? t$0$PyObject : frame.getglobal("_newname").__call__())); + frame.getlocal(0).__setattr__("_Thread__args", frame.getlocal(4)); + frame.getlocal(0).__setattr__("_Thread__kwargs", frame.getlocal(5)); + frame.getlocal(0).__setattr__("_Thread__daemonic", frame.getlocal(0).invoke("_set_daemon")); + frame.getlocal(0).__setattr__("_Thread__started", i$1); + frame.getlocal(0).__setattr__("_Thread__stopped", i$1); + frame.getlocal(0).__setattr__("_Thread__block", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__())); + frame.getlocal(0).__setattr__("_Thread__initialized", i$4); + return Py.None; + } + + private static PyObject _set_daemon$40(PyFrame frame) { + return frame.getglobal("currentThread").__call__().invoke("isDaemon"); + } + + private static PyObject __repr__$41(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$29); + frame.setlocal(1, s$30); + if (frame.getlocal(0).__getattr__("_Thread__started").__nonzero__()) { + frame.setlocal(1, s$31); + } + if (frame.getlocal(0).__getattr__("_Thread__stopped").__nonzero__()) { + frame.setlocal(1, s$32); + } + if (frame.getlocal(0).__getattr__("_Thread__daemonic").__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(s$33)); + } + return s$34._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__class__").__getattr__("__name__"), frame.getlocal(0).__getattr__("_Thread__name"), frame.getlocal(1)})); + } + + private static PyObject start$42(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started").__not__(), s$36); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$37, frame.getlocal(0)); + } + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_limbo").__setitem__(frame.getlocal(0), frame.getlocal(0)); + frame.getglobal("_active_limbo_lock").invoke("release"); + frame.getglobal("_start_new_thread").__call__(frame.getlocal(0).__getattr__("_Thread__bootstrap"), new PyTuple(new PyObject[] {})); + frame.getlocal(0).__setattr__("_Thread__started", i$4); + frame.getglobal("_sleep").__call__(f$16); + return Py.None; + } + + private static PyObject run$43(PyFrame frame) { + if (frame.getlocal(0).__getattr__("_Thread__target").__nonzero__()) { + frame.getglobal("apply").__call__(frame.getlocal(0).__getattr__("_Thread__target"), frame.getlocal(0).__getattr__("_Thread__args"), frame.getlocal(0).__getattr__("_Thread__kwargs")); + } + return Py.None; + } + + private static PyObject _Thread__bootstrap$44(PyFrame frame) { + // Temporary Variables + boolean t$0$boolean; + PyException t$0$PyException; + + // Code + try { + frame.getlocal(0).__setattr__("_Thread__started", i$4); + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0)); + frame.getglobal("_limbo").__delitem__(frame.getlocal(0)); + frame.getglobal("_active_limbo_lock").invoke("release"); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$38, frame.getlocal(0)); + } + t$0$boolean = true; + try { + frame.getlocal(0).invoke("run"); + } + catch (Throwable x$0) { + t$0$boolean = false; + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("SystemExit"))) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$39, frame.getlocal(0)); + } + } + else { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$40, frame.getlocal(0)); + } + frame.setlocal(1, frame.getglobal("_StringIO").__call__()); + frame.getglobal("_print_exc").__call__(new PyObject[] {frame.getlocal(1)}, new String[] {"file"}); + frame.getglobal("_sys").__getattr__("stderr").__getattr__("write").__call__(s$41._mod(new PyTuple(new PyObject[] {frame.getlocal(0).invoke("getName"), frame.getlocal(1).invoke("getvalue")}))); + } + } + if (t$0$boolean) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$42, frame.getlocal(0)); + } + } + } + finally { + frame.getlocal(0).invoke("_Thread__stop"); + try { + frame.getlocal(0).invoke("_Thread__delete"); + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + // pass + } + } + return Py.None; + } + + private static PyObject _Thread__stop$45(PyFrame frame) { + frame.getlocal(0).__getattr__("_Thread__block").invoke("acquire"); + frame.getlocal(0).__setattr__("_Thread__stopped", i$4); + frame.getlocal(0).__getattr__("_Thread__block").invoke("notifyAll"); + frame.getlocal(0).__getattr__("_Thread__block").invoke("release"); + return Py.None; + } + + private static PyObject _Thread__delete$46(PyFrame frame) { + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_active").__delitem__(frame.getglobal("_get_ident").__call__()); + frame.getglobal("_active_limbo_lock").invoke("release"); + return Py.None; + } + + private static PyObject join$47(PyFrame frame) { + // Temporary Variables + boolean t$0$boolean; + + // Code + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started"), s$43); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0)._isnot(frame.getglobal("currentThread").__call__()), s$44); + if (frame.getglobal("__debug__").__nonzero__()) { + if (frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) { + frame.getlocal(0).invoke("_note", s$45, frame.getlocal(0)); + } + } + frame.getlocal(0).__getattr__("_Thread__block").invoke("acquire"); + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + while (frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("_Thread__block").invoke("wait"); + } + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$46, frame.getlocal(0)); + } + } + else { + frame.setlocal(3, frame.getglobal("_time").__call__()._add(frame.getlocal(1))); + while (t$0$boolean=frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) { + frame.setlocal(2, frame.getlocal(3)._sub(frame.getglobal("_time").__call__())); + if (frame.getlocal(2)._le(i$1).__nonzero__()) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$47, frame.getlocal(0)); + } + break; + } + frame.getlocal(0).__getattr__("_Thread__block").invoke("wait", frame.getlocal(2)); + } + if (!t$0$boolean) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$46, frame.getlocal(0)); + } + } + } + frame.getlocal(0).__getattr__("_Thread__block").invoke("release"); + return Py.None; + } + + private static PyObject getName$48(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + return frame.getlocal(0).__getattr__("_Thread__name"); + } + + private static PyObject setName$49(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + frame.getlocal(0).__setattr__("_Thread__name", frame.getglobal("str").__call__(frame.getlocal(1))); + return Py.None; + } + + private static PyObject isAlive$50(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + return (t$0$PyObject = frame.getlocal(0).__getattr__("_Thread__started")).__nonzero__() ? frame.getlocal(0).__getattr__("_Thread__stopped").__not__() : t$0$PyObject; + } + + private static PyObject isDaemon$51(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + return frame.getlocal(0).__getattr__("_Thread__daemonic"); + } + + private static PyObject setDaemon$52(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started").__not__(), s$48); + frame.getlocal(0).__setattr__("_Thread__daemonic", frame.getlocal(1)); + return Py.None; + } + + private static PyObject Thread$53(PyFrame frame) { + frame.setlocal("_Thread__initialized", i$1); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None"), frame.getname("None"), new PyTuple(new PyObject[] {}), new PyDictionary(new PyObject[] {}), frame.getname("None")}, c$38___init__)); + frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$39__set_daemon)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$40___repr__)); + frame.setlocal("start", new PyFunction(frame.f_globals, new PyObject[] {}, c$41_start)); + frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$42_run)); + frame.setlocal("_Thread__bootstrap", new PyFunction(frame.f_globals, new PyObject[] {}, c$43__Thread__bootstrap)); + frame.setlocal("_Thread__stop", new PyFunction(frame.f_globals, new PyObject[] {}, c$44__Thread__stop)); + frame.setlocal("_Thread__delete", new PyFunction(frame.f_globals, new PyObject[] {}, c$45__Thread__delete)); + frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$46_join)); + frame.setlocal("getName", new PyFunction(frame.f_globals, new PyObject[] {}, c$47_getName)); + frame.setlocal("setName", new PyFunction(frame.f_globals, new PyObject[] {}, c$48_setName)); + frame.setlocal("isAlive", new PyFunction(frame.f_globals, new PyObject[] {}, c$49_isAlive)); + frame.setlocal("isDaemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$50_isDaemon)); + frame.setlocal("setDaemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$51_setDaemon)); + return frame.getf_locals(); + } + + private static PyObject __init__$54(PyFrame frame) { + frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$49}, new String[] {"name"}); + frame.getlocal(0).__setattr__("_Thread__started", i$4); + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0)); + frame.getglobal("_active_limbo_lock").invoke("release"); + frame.setlocal(1, org.python.core.imp.importOne("atexit", frame)); + frame.getlocal(1).__getattr__("register").__call__(frame.getlocal(0).__getattr__("__MainThread__exitfunc")); + return Py.None; + } + + private static PyObject _set_daemon$55(PyFrame frame) { + return i$1; + } + + private static PyObject __MainThread__exitfunc$56(PyFrame frame) { + frame.getlocal(0).invoke("_Thread__stop"); + frame.setlocal(1, frame.getglobal("_pickSomeNonDaemonThread").__call__()); + if (frame.getlocal(1).__nonzero__()) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$50, frame.getlocal(0)); + } + } + while (frame.getlocal(1).__nonzero__()) { + frame.getlocal(1).invoke("join"); + frame.setlocal(1, frame.getglobal("_pickSomeNonDaemonThread").__call__()); + } + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$51, frame.getlocal(0)); + } + frame.getlocal(0).invoke("_Thread__delete"); + return Py.None; + } + + private static PyObject _MainThread$57(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$53___init__)); + frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$54__set_daemon)); + frame.setlocal("__MainThread__exitfunc", new PyFunction(frame.f_globals, new PyObject[] {}, c$55___MainThread__exitfunc)); + return frame.getf_locals(); + } + + private static PyObject _pickSomeNonDaemonThread$58(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + t$0$int = 0; + t$1$PyObject = frame.getglobal("enumerate").__call__(); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(0, t$0$PyObject); + if (((t$2$PyObject = frame.getlocal(0).invoke("isDaemon").__not__()).__nonzero__() ? frame.getlocal(0).invoke("isAlive") : t$2$PyObject).__nonzero__()) { + return frame.getlocal(0); + } + } + return frame.getglobal("None"); + } + + private static PyObject __init__$59(PyFrame frame) { + frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), frame.getglobal("_newname").__call__(s$52)}, new String[] {"name"}); + frame.getlocal(0).__setattr__("_Thread__started", i$4); + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0)); + frame.getglobal("_active_limbo_lock").invoke("release"); + return Py.None; + } + + private static PyObject _set_daemon$60(PyFrame frame) { + return i$4; + } + + private static PyObject join$61(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(i$1, s$53); + return Py.None; + } + + private static PyObject _DummyThread$62(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$58___init__)); + frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$59__set_daemon)); + frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {}, c$60_join)); + return frame.getf_locals(); + } + + private static PyObject currentThread$63(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + try { + return frame.getglobal("_active").__getitem__(frame.getglobal("_get_ident").__call__()); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) { + return frame.getglobal("_DummyThread").__call__(); + } + else throw t$0$PyException; + } + } + + private static PyObject activeCount$64(PyFrame frame) { + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.setlocal(0, frame.getglobal("len").__call__(frame.getglobal("_active"))._add(frame.getglobal("len").__call__(frame.getglobal("_limbo")))); + frame.getglobal("_active_limbo_lock").invoke("release"); + return frame.getlocal(0); + } + + private static PyObject enumerate$65(PyFrame frame) { + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.setlocal(0, frame.getglobal("_active").invoke("values")._add(frame.getglobal("_limbo").invoke("values"))); + frame.getglobal("_active_limbo_lock").invoke("release"); + return frame.getlocal(0); + } + + private static PyObject __init__$66(PyFrame frame) { + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0)); + frame.getlocal(0).__setattr__("mon", frame.getglobal("RLock").__call__()); + frame.getlocal(0).__setattr__("rc", frame.getglobal("Condition").__call__(frame.getlocal(0).__getattr__("mon"))); + frame.getlocal(0).__setattr__("wc", frame.getglobal("Condition").__call__(frame.getlocal(0).__getattr__("mon"))); + frame.getlocal(0).__setattr__("limit", frame.getlocal(1)); + frame.getlocal(0).__setattr__("queue", new PyList(new PyObject[] {})); + return Py.None; + } + + private static PyObject put$67(PyFrame frame) { + frame.getlocal(0).__getattr__("mon").invoke("acquire"); + while (frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))._ge(frame.getlocal(0).__getattr__("limit")).__nonzero__()) { + frame.getlocal(0).invoke("_note", s$54, frame.getlocal(1)); + frame.getlocal(0).__getattr__("wc").invoke("wait"); + } + frame.getlocal(0).__getattr__("queue").invoke("append", frame.getlocal(1)); + frame.getlocal(0).invoke("_note", new PyObject[] {s$55, frame.getlocal(1), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))}); + frame.getlocal(0).__getattr__("rc").invoke("notify"); + frame.getlocal(0).__getattr__("mon").invoke("release"); + return Py.None; + } + + private static PyObject get$68(PyFrame frame) { + frame.getlocal(0).__getattr__("mon").invoke("acquire"); + while (frame.getlocal(0).__getattr__("queue").__not__().__nonzero__()) { + frame.getlocal(0).invoke("_note", s$56); + frame.getlocal(0).__getattr__("rc").invoke("wait"); + } + frame.setlocal(1, frame.getlocal(0).__getattr__("queue").__getitem__(i$1)); + frame.getlocal(0).__getattr__("queue").__delitem__(i$1); + frame.getlocal(0).invoke("_note", new PyObject[] {s$57, frame.getlocal(1), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))}); + frame.getlocal(0).__getattr__("wc").invoke("notify"); + frame.getlocal(0).__getattr__("mon").invoke("release"); + return frame.getlocal(1); + } + + private static PyObject BoundedQueue$69(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$65___init__)); + frame.setlocal("put", new PyFunction(frame.f_globals, new PyObject[] {}, c$66_put)); + frame.setlocal("get", new PyFunction(frame.f_globals, new PyObject[] {}, c$67_get)); + return frame.getf_locals(); + } + + private static PyObject __init__$70(PyFrame frame) { + frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$58}, new String[] {"name"}); + frame.getlocal(0).__setattr__("queue", frame.getlocal(1)); + frame.getlocal(0).__setattr__("quota", frame.getlocal(2)); + return Py.None; + } + + private static PyObject run$71(PyFrame frame) { + PyObject[] imp_accu; + // Code + imp_accu = org.python.core.imp.importFrom("random", new String[] {"random"}, frame); + frame.setlocal(2, imp_accu[0]); + imp_accu = null; + frame.setlocal(1, i$1); + while (frame.getlocal(1)._lt(frame.getlocal(0).__getattr__("quota")).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(i$4)); + frame.getlocal(0).__getattr__("queue").invoke("put", s$59._mod(new PyTuple(new PyObject[] {frame.getlocal(0).invoke("getName"), frame.getlocal(1)}))); + frame.getglobal("_sleep").__call__(frame.getlocal(2).__call__()._mul(f$60)); + } + return Py.None; + } + + private static PyObject ProducerThread$72(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$69___init__)); + frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$70_run)); + return frame.getf_locals(); + } + + private static PyObject __init__$73(PyFrame frame) { + frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$61}, new String[] {"name"}); + frame.getlocal(0).__setattr__("queue", frame.getlocal(1)); + frame.getlocal(0).__setattr__("count", frame.getlocal(2)); + return Py.None; + } + + private static PyObject run$74(PyFrame frame) { + while (frame.getlocal(0).__getattr__("count")._gt(i$1).__nonzero__()) { + frame.setlocal(1, frame.getlocal(0).__getattr__("queue").invoke("get")); + Py.println(frame.getlocal(1)); + frame.getlocal(0).__setattr__("count", frame.getlocal(0).__getattr__("count")._sub(i$4)); + } + return Py.None; + } + + private static PyObject ConsumerThread$75(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$72___init__)); + frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$73_run)); + return frame.getf_locals(); + } + + private static PyObject _test$76(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject; + + // Code + frame.setlocal(0, org.python.core.imp.importOne("random", frame)); + frame.setlocal(7, Py.makeClass("BoundedQueue", new PyObject[] {frame.getglobal("_Verbose")}, c$68_BoundedQueue, null)); + frame.setlocal(4, Py.makeClass("ProducerThread", new PyObject[] {frame.getglobal("Thread")}, c$71_ProducerThread, null)); + frame.setlocal(8, Py.makeClass("ConsumerThread", new PyObject[] {frame.getglobal("Thread")}, c$74_ConsumerThread, null)); + frame.setlocal(3, org.python.core.imp.importOne("time", frame)); + frame.setlocal(10, i$62); + frame.setlocal(11, i$63); + frame.setlocal(12, i$64); + frame.setlocal(1, frame.getlocal(7).__call__(frame.getlocal(11))); + frame.setlocal(2, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getlocal(10)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(9, t$0$PyObject); + frame.setlocal(5, frame.getlocal(4).__call__(frame.getlocal(1), frame.getlocal(12))); + frame.getlocal(5).invoke("setName", s$65._mod(frame.getlocal(9)._add(i$4))); + frame.getlocal(2).invoke("append", frame.getlocal(5)); + } + frame.setlocal(6, frame.getlocal(8).__call__(frame.getlocal(1), frame.getlocal(12)._mul(frame.getlocal(10)))); + t$1$int = 0; + t$3$PyObject = frame.getlocal(2); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(5, t$2$PyObject); + frame.getlocal(5).invoke("start"); + frame.getglobal("_sleep").__call__(f$16); + } + frame.getlocal(6).invoke("start"); + t$2$int = 0; + t$5$PyObject = frame.getlocal(2); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(5, t$4$PyObject); + frame.getlocal(5).invoke("join"); + } + frame.getlocal(6).invoke("join"); + return Py.None; + } + + private static PyObject main$77(PyFrame frame) { + frame.setglobal("__file__", s$67); + + /* Proposed new threading module, emulating a subset of Java's threading model. */ + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("time", org.python.core.imp.importOne("time", frame)); + frame.setlocal("thread", org.python.core.imp.importOne("thread", frame)); + frame.setlocal("traceback", org.python.core.imp.importOne("traceback", frame)); + frame.setlocal("StringIO", org.python.core.imp.importOne("StringIO", frame)); + frame.setlocal("_sys", frame.getname("sys")); + frame.dellocal("sys"); + frame.setlocal("_time", frame.getname("time").__getattr__("time")); + frame.setlocal("_sleep", frame.getname("time").__getattr__("sleep")); + frame.dellocal("time"); + frame.setlocal("_start_new_thread", frame.getname("thread").__getattr__("start_new_thread")); + frame.setlocal("_allocate_lock", frame.getname("thread").__getattr__("allocate_lock")); + frame.setlocal("_get_ident", frame.getname("thread").__getattr__("get_ident")); + frame.setlocal("ThreadError", frame.getname("thread").__getattr__("error")); + frame.dellocal("thread"); + frame.setlocal("_print_exc", frame.getname("traceback").__getattr__("print_exc")); + frame.dellocal("traceback"); + frame.setlocal("_StringIO", frame.getname("StringIO").__getattr__("StringIO")); + frame.dellocal("StringIO"); + frame.setlocal("_VERBOSE", i$1); + if (frame.getname("__debug__").__nonzero__()) { + frame.setlocal("_Verbose", Py.makeClass("_Verbose", new PyObject[] {}, c$2__Verbose, null)); + } + else { + frame.setlocal("_Verbose", Py.makeClass("_Verbose", new PyObject[] {}, c$5__Verbose, null)); + } + frame.setlocal("Lock", frame.getname("_allocate_lock")); + frame.setlocal("RLock", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_RLock)); + frame.setlocal("_RLock", Py.makeClass("_RLock", new PyObject[] {frame.getname("_Verbose")}, c$14__RLock, null)); + frame.setlocal("Condition", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_Condition)); + frame.setlocal("_Condition", Py.makeClass("_Condition", new PyObject[] {frame.getname("_Verbose")}, c$24__Condition, null)); + frame.setlocal("Semaphore", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_Semaphore)); + frame.setlocal("_Semaphore", Py.makeClass("_Semaphore", new PyObject[] {frame.getname("_Verbose")}, c$29__Semaphore, null)); + frame.setlocal("Event", new PyFunction(frame.f_globals, new PyObject[] {}, c$30_Event)); + frame.setlocal("_Event", Py.makeClass("_Event", new PyObject[] {frame.getname("_Verbose")}, c$36__Event, null)); + frame.setlocal("_counter", i$1); + frame.setlocal("_newname", new PyFunction(frame.f_globals, new PyObject[] {s$27}, c$37__newname)); + frame.setlocal("_active_limbo_lock", frame.getname("_allocate_lock").__call__()); + frame.setlocal("_active", new PyDictionary(new PyObject[] {})); + frame.setlocal("_limbo", new PyDictionary(new PyObject[] {})); + frame.setlocal("Thread", Py.makeClass("Thread", new PyObject[] {frame.getname("_Verbose")}, c$52_Thread, null)); + frame.setlocal("_MainThread", Py.makeClass("_MainThread", new PyObject[] {frame.getname("Thread")}, c$56__MainThread, null)); + frame.setlocal("_pickSomeNonDaemonThread", new PyFunction(frame.f_globals, new PyObject[] {}, c$57__pickSomeNonDaemonThread)); + frame.setlocal("_DummyThread", Py.makeClass("_DummyThread", new PyObject[] {frame.getname("Thread")}, c$61__DummyThread, null)); + frame.setlocal("currentThread", new PyFunction(frame.f_globals, new PyObject[] {}, c$62_currentThread)); + frame.setlocal("activeCount", new PyFunction(frame.f_globals, new PyObject[] {}, c$63_activeCount)); + frame.setlocal("enumerate", new PyFunction(frame.f_globals, new PyObject[] {}, c$64_enumerate)); + frame.getname("_MainThread").__call__(); + frame.setlocal("_test", new PyFunction(frame.f_globals, new PyObject[] {}, c$75__test)); + if (frame.getname("__name__")._eq(s$66).__nonzero__()) { + frame.getname("_test").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("threading")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "threading"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(threading._PyInner.class, newargs, threading.jpy$packages, threading.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/traceback$_PyInner.class b/server/jpywork/traceback$_PyInner.class new file mode 100644 index 00000000..d2a7e09e Binary files /dev/null and b/server/jpywork/traceback$_PyInner.class differ diff --git a/server/jpywork/traceback.class b/server/jpywork/traceback.class new file mode 100644 index 00000000..6cc56963 Binary files /dev/null and b/server/jpywork/traceback.class differ diff --git a/server/jpywork/traceback.java b/server/jpywork/traceback.java new file mode 100644 index 00000000..0787c8e6 --- /dev/null +++ b/server/jpywork/traceback.java @@ -0,0 +1,712 @@ +import org.python.core.*; + +public class traceback extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject i$24; + private static PyObject s$25; + private static PyObject i$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject i$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyFunctionTable funcTable; + private static PyCode c$0__print; + private static PyCode c$1_print_list; + private static PyCode c$2_format_list; + private static PyCode c$3_print_tb; + private static PyCode c$4_format_tb; + private static PyCode c$5_extract_tb; + private static PyCode c$6_print_exception; + private static PyCode c$7_format_exception; + private static PyCode c$8_format_exception_only; + private static PyCode c$9__some_str; + private static PyCode c$10_print_exc; + private static PyCode c$11_print_last; + private static PyCode c$12_print_stack; + private static PyCode c$13_format_stack; + private static PyCode c$14_extract_stack; + private static PyCode c$15_tb_lineno; + private static PyCode c$16_main; + private static void initConstants() { + s$0 = Py.newString("Extract, format and print information about Python stack traces."); + s$1 = Py.newString("extract_stack"); + s$2 = Py.newString("extract_tb"); + s$3 = Py.newString("format_exception"); + s$4 = Py.newString("format_exception_only"); + s$5 = Py.newString("format_list"); + s$6 = Py.newString("format_stack"); + s$7 = Py.newString("format_tb"); + s$8 = Py.newString("print_exc"); + s$9 = Py.newString("print_exception"); + s$10 = Py.newString("print_last"); + s$11 = Py.newString("print_stack"); + s$12 = Py.newString("print_tb"); + s$13 = Py.newString("tb_lineno"); + s$14 = Py.newString(""); + s$15 = Py.newString("\012"); + s$16 = Py.newString("Print the list of tuples as returned by extract_tb() or\012 extract_stack() as a formatted stack trace to the given file."); + s$17 = Py.newString(" File \"%s\", line %d, in %s"); + s$18 = Py.newString(" %s"); + s$19 = Py.newString("Format a list of traceback entry tuples for printing.\012\012 Given a list of tuples as returned by extract_tb() or\012 extract_stack(), return a list of strings ready for printing.\012 Each string in the resulting list corresponds to the item with the\012 same index in the argument list. Each string ends in a newline;\012 the strings may contain internal newlines as well, for those items\012 whose source text line is not None.\012 "); + s$20 = Py.newString(" File \"%s\", line %d, in %s\012"); + s$21 = Py.newString(" %s\012"); + s$22 = Py.newString("Print up to 'limit' stack trace entries from the traceback 'tb'.\012\012 If 'limit' is omitted or None, all entries are printed. If 'file'\012 is omitted or None, the output goes to sys.stderr; otherwise\012 'file' should be an open file or file-like object with a write()\012 method.\012 "); + s$23 = Py.newString("tracebacklimit"); + i$24 = Py.newInteger(0); + s$25 = Py.newString(" "); + i$26 = Py.newInteger(1); + s$27 = Py.newString("A shorthand for 'format_list(extract_stack(f, limit))."); + s$28 = Py.newString("Return list of up to limit pre-processed entries from traceback.\012\012 This is useful for alternate formatting of stack traces. If\012 'limit' is omitted or None, all entries are extracted. A\012 pre-processed stack trace entry is a quadruple (filename, line\012 number, function name, text) representing the information that is\012 usually printed for a stack trace. The text is a string with\012 leading and trailing whitespace stripped; if the source is not\012 available it is None.\012 "); + s$29 = Py.newString("Print exception up to 'limit' stack trace entries from 'tb' to 'file'.\012\012 This differs from print_tb() in the following ways: (1) if\012 traceback is not None, it prints a header \"Traceback (most recent\012 call last):\"; (2) it prints the exception type and value after the\012 stack trace; (3) if type is SyntaxError and value has the\012 appropriate format, it prints the line where the syntax error\012 occurred with a caret on the next line indicating the approximate\012 position of the error.\012 "); + s$30 = Py.newString("Traceback (most recent call last):"); + s$31 = Py.newString(" "); + s$32 = Py.newString("Format a stack trace and the exception information.\012\012 The arguments have the same meaning as the corresponding arguments\012 to print_exception(). The return value is a list of strings, each\012 ending in a newline and some containing internal newlines. When\012 these lines are concatenated and printed, exactly the same text is\012 printed as does print_exception().\012 "); + s$33 = Py.newString("Traceback (most recent call last):\012"); + s$34 = Py.newString("Format the exception part of a traceback.\012\012 The arguments are the exception type and value such as given by\012 sys.last_type and sys.last_value. The return value is a list of\012 strings, each ending in a newline. Normally, the list contains a\012 single string; however, for SyntaxError exceptions, it contains\012 several lines that (when printed) display detailed information\012 about where the syntax error occurred. The message indicating\012 which exception occurred is the always last string in the list.\012 "); + s$35 = Py.newString(""); + s$36 = Py.newString(" File \"%s\", line %d\012"); + s$37 = Py.newString("%s^\012"); + s$38 = Py.newString("%s: %s\012"); + s$39 = Py.newString("%s\012"); + s$40 = Py.newString(""); + s$41 = Py.newString("Shorthand for 'print_exception(sys.exc_type, sys.exc_value, sys.exc_traceback, limit, file)'.\012 (In fact, it uses sys.exc_info() to retrieve the same information\012 in a thread-safe way.)"); + s$42 = Py.newString("This is a shorthand for 'print_exception(sys.last_type,\012 sys.last_value, sys.last_traceback, limit, file)'."); + s$43 = Py.newString("Print a stack trace from its invocation point.\012\012 The optional 'f' argument can be used to specify an alternate\012 stack frame at which to start. The optional 'limit' and 'file'\012 arguments have the same meaning as for print_exception().\012 "); + i$44 = Py.newInteger(2); + s$45 = Py.newString("Shorthand for 'format_list(extract_stack(f, limit))'."); + s$46 = Py.newString("Extract the raw traceback from the current stack frame.\012\012 The return value has the same format as for extract_tb(). The\012 optional 'f' and 'limit' arguments have the same meaning as for\012 print_stack(). Each item in the list is a quadruple (filename,\012 line number, function name, text), and the entries are in order\012 from oldest to newest stack frame.\012 "); + s$47 = Py.newString("Calculate correct line number of traceback given in tb.\012\012 Even works with -O on.\012 "); + s$48 = Py.newString("co_lnotab"); + s$49 = Py.newString("/usr/share/jython/Lib-cpython/traceback.py"); + funcTable = new _PyInner(); + c$0__print = Py.newCode(3, new String[] {"file", "str", "terminator"}, "/usr/share/jython/Lib-cpython/traceback.py", "_print", false, false, funcTable, 0, null, null, 0, 1); + c$1_print_list = Py.newCode(2, new String[] {"extracted_list", "file", "line", "filename", "name", "lineno"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_list", false, false, funcTable, 1, null, null, 0, 1); + c$2_format_list = Py.newCode(1, new String[] {"extracted_list", "line", "filename", "name", "item", "list", "lineno"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_list", false, false, funcTable, 2, null, null, 0, 1); + c$3_print_tb = Py.newCode(3, new String[] {"tb", "limit", "file", "filename", "name", "lineno", "n", "f", "co", "line"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_tb", false, false, funcTable, 3, null, null, 0, 1); + c$4_format_tb = Py.newCode(2, new String[] {"tb", "limit"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_tb", false, false, funcTable, 4, null, null, 0, 1); + c$5_extract_tb = Py.newCode(2, new String[] {"tb", "limit", "filename", "name", "lineno", "n", "f", "list", "co", "line"}, "/usr/share/jython/Lib-cpython/traceback.py", "extract_tb", false, false, funcTable, 5, null, null, 0, 1); + c$6_print_exception = Py.newCode(5, new String[] {"etype", "value", "tb", "limit", "file", "line", "lines"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_exception", false, false, funcTable, 6, null, null, 0, 1); + c$7_format_exception = Py.newCode(4, new String[] {"etype", "value", "tb", "limit", "list"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_exception", false, false, funcTable, 7, null, null, 0, 1); + c$8_format_exception_only = Py.newCode(2, new String[] {"etype", "value", "stype", "msg", "offset", "lineno", "line", "s", "filename", "i", "list", "c"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_exception_only", false, false, funcTable, 8, null, null, 0, 1); + c$9__some_str = Py.newCode(1, new String[] {"value"}, "/usr/share/jython/Lib-cpython/traceback.py", "_some_str", false, false, funcTable, 9, null, null, 0, 1); + c$10_print_exc = Py.newCode(2, new String[] {"limit", "file", "tb", "etype", "value"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_exc", false, false, funcTable, 10, null, null, 0, 1); + c$11_print_last = Py.newCode(2, new String[] {"limit", "file"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_last", false, false, funcTable, 11, null, null, 0, 1); + c$12_print_stack = Py.newCode(3, new String[] {"f", "limit", "file"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_stack", false, false, funcTable, 12, null, null, 0, 1); + c$13_format_stack = Py.newCode(2, new String[] {"f", "limit"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_stack", false, false, funcTable, 13, null, null, 0, 1); + c$14_extract_stack = Py.newCode(2, new String[] {"f", "limit", "filename", "name", "lineno", "n", "list", "co", "line"}, "/usr/share/jython/Lib-cpython/traceback.py", "extract_stack", false, false, funcTable, 14, null, null, 0, 1); + c$15_tb_lineno = Py.newCode(1, new String[] {"tb", "tab", "i", "c", "addr", "stopat", "line"}, "/usr/share/jython/Lib-cpython/traceback.py", "tb_lineno", false, false, funcTable, 15, null, null, 0, 1); + c$16_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/traceback.py", "main", false, false, funcTable, 16, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$16_main == null) _PyInner.initConstants(); + return c$16_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._print$1(frame); + case 1: + return _PyInner.print_list$2(frame); + case 2: + return _PyInner.format_list$3(frame); + case 3: + return _PyInner.print_tb$4(frame); + case 4: + return _PyInner.format_tb$5(frame); + case 5: + return _PyInner.extract_tb$6(frame); + case 6: + return _PyInner.print_exception$7(frame); + case 7: + return _PyInner.format_exception$8(frame); + case 8: + return _PyInner.format_exception_only$9(frame); + case 9: + return _PyInner._some_str$10(frame); + case 10: + return _PyInner.print_exc$11(frame); + case 11: + return _PyInner.print_last$12(frame); + case 12: + return _PyInner.print_stack$13(frame); + case 13: + return _PyInner.format_stack$14(frame); + case 14: + return _PyInner.extract_stack$15(frame); + case 15: + return _PyInner.tb_lineno$16(frame); + case 16: + return _PyInner.main$17(frame); + default: + return null; + } + } + + private static PyObject _print$1(PyFrame frame) { + frame.getlocal(0).invoke("write", frame.getlocal(1)._add(frame.getlocal(2))); + return Py.None; + } + + private static PyObject print_list$2(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Print the list of tuples as returned by extract_tb() or + extract_stack() as a formatted stack trace to the given file. */ + if (frame.getlocal(1).__not__().__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("stderr")); + } + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 4); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(5, t$0$PyObject__[1]); + frame.setlocal(4, t$0$PyObject__[2]); + frame.setlocal(2, t$0$PyObject__[3]); + frame.getglobal("_print").__call__(frame.getlocal(1), s$17._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(5), frame.getlocal(4)}))); + if (frame.getlocal(2).__nonzero__()) { + frame.getglobal("_print").__call__(frame.getlocal(1), s$18._mod(frame.getlocal(2).invoke("strip"))); + } + } + return Py.None; + } + + private static PyObject format_list$3(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Format a list of traceback entry tuples for printing. + + Given a list of tuples as returned by extract_tb() or + extract_stack(), return a list of strings ready for printing. + Each string in the resulting list corresponds to the item with the + same index in the argument list. Each string ends in a newline; + the strings may contain internal newlines as well, for those items + whose source text line is not None. + */ + frame.setlocal(5, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 4); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.setlocal(3, t$0$PyObject__[2]); + frame.setlocal(1, t$0$PyObject__[3]); + frame.setlocal(4, s$20._mod(new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(6), frame.getlocal(3)}))); + if (frame.getlocal(1).__nonzero__()) { + frame.setlocal(4, frame.getlocal(4)._add(s$21._mod(frame.getlocal(1).invoke("strip")))); + } + frame.getlocal(5).invoke("append", frame.getlocal(4)); + } + return frame.getlocal(5); + } + + private static PyObject print_tb$4(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Print up to 'limit' stack trace entries from the traceback 'tb'. + + If 'limit' is omitted or None, all entries are printed. If 'file' + is omitted or None, the output goes to sys.stderr; otherwise + 'file' should be an open file or file-like object with a write() + method. + */ + if (frame.getlocal(2).__not__().__nonzero__()) { + frame.setlocal(2, frame.getglobal("sys").__getattr__("stderr")); + } + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + if (frame.getglobal("hasattr").__call__(frame.getglobal("sys"), s$23).__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("tracebacklimit")); + } + } + frame.setlocal(6, i$24); + while (((t$0$PyObject = frame.getlocal(0)._isnot(frame.getglobal("None"))).__nonzero__() ? ((t$1$PyObject = frame.getlocal(1)._is(frame.getglobal("None"))).__nonzero__() ? t$1$PyObject : frame.getlocal(6)._lt(frame.getlocal(1))) : t$0$PyObject).__nonzero__()) { + frame.setlocal(7, frame.getlocal(0).__getattr__("tb_frame")); + frame.setlocal(5, frame.getglobal("tb_lineno").__call__(frame.getlocal(0))); + frame.setlocal(8, frame.getlocal(7).__getattr__("f_code")); + frame.setlocal(3, frame.getlocal(8).__getattr__("co_filename")); + frame.setlocal(4, frame.getlocal(8).__getattr__("co_name")); + frame.getglobal("_print").__call__(frame.getlocal(2), s$17._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(5), frame.getlocal(4)}))); + frame.setlocal(9, frame.getglobal("linecache").__getattr__("getline").__call__(frame.getlocal(3), frame.getlocal(5))); + if (frame.getlocal(9).__nonzero__()) { + frame.getglobal("_print").__call__(frame.getlocal(2), s$25._add(frame.getlocal(9).invoke("strip"))); + } + frame.setlocal(0, frame.getlocal(0).__getattr__("tb_next")); + frame.setlocal(6, frame.getlocal(6)._add(i$26)); + } + return Py.None; + } + + private static PyObject format_tb$5(PyFrame frame) { + /* A shorthand for 'format_list(extract_stack(f, limit)). */ + return frame.getglobal("format_list").__call__(frame.getglobal("extract_tb").__call__(frame.getlocal(0), frame.getlocal(1))); + } + + private static PyObject extract_tb$6(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Return list of up to limit pre-processed entries from traceback. + + This is useful for alternate formatting of stack traces. If + 'limit' is omitted or None, all entries are extracted. A + pre-processed stack trace entry is a quadruple (filename, line + number, function name, text) representing the information that is + usually printed for a stack trace. The text is a string with + leading and trailing whitespace stripped; if the source is not + available it is None. + */ + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + if (frame.getglobal("hasattr").__call__(frame.getglobal("sys"), s$23).__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("tracebacklimit")); + } + } + frame.setlocal(7, new PyList(new PyObject[] {})); + frame.setlocal(5, i$24); + while (((t$0$PyObject = frame.getlocal(0)._isnot(frame.getglobal("None"))).__nonzero__() ? ((t$1$PyObject = frame.getlocal(1)._is(frame.getglobal("None"))).__nonzero__() ? t$1$PyObject : frame.getlocal(5)._lt(frame.getlocal(1))) : t$0$PyObject).__nonzero__()) { + frame.setlocal(6, frame.getlocal(0).__getattr__("tb_frame")); + frame.setlocal(4, frame.getglobal("tb_lineno").__call__(frame.getlocal(0))); + frame.setlocal(8, frame.getlocal(6).__getattr__("f_code")); + frame.setlocal(2, frame.getlocal(8).__getattr__("co_filename")); + frame.setlocal(3, frame.getlocal(8).__getattr__("co_name")); + frame.setlocal(9, frame.getglobal("linecache").__getattr__("getline").__call__(frame.getlocal(2), frame.getlocal(4))); + if (frame.getlocal(9).__nonzero__()) { + frame.setlocal(9, frame.getlocal(9).invoke("strip")); + } + else { + frame.setlocal(9, frame.getglobal("None")); + } + frame.getlocal(7).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(4), frame.getlocal(3), frame.getlocal(9)})); + frame.setlocal(0, frame.getlocal(0).__getattr__("tb_next")); + frame.setlocal(5, frame.getlocal(5)._add(i$26)); + } + return frame.getlocal(7); + } + + private static PyObject print_exception$7(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Print exception up to 'limit' stack trace entries from 'tb' to 'file'. + + This differs from print_tb() in the following ways: (1) if + traceback is not None, it prints a header "Traceback (most recent + call last):"; (2) it prints the exception type and value after the + stack trace; (3) if type is SyntaxError and value has the + appropriate format, it prints the line where the syntax error + occurred with a caret on the next line indicating the approximate + position of the error. + */ + if (frame.getlocal(4).__not__().__nonzero__()) { + frame.setlocal(4, frame.getglobal("sys").__getattr__("stderr")); + } + if (frame.getlocal(2).__nonzero__()) { + frame.getglobal("_print").__call__(frame.getlocal(4), s$30); + frame.getglobal("print_tb").__call__(frame.getlocal(2), frame.getlocal(3), frame.getlocal(4)); + } + frame.setlocal(6, frame.getglobal("format_exception_only").__call__(frame.getlocal(0), frame.getlocal(1))); + t$0$int = 0; + t$1$PyObject = frame.getlocal(6).__getslice__(null, i$26.__neg__(), null); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(5, t$0$PyObject); + frame.getglobal("_print").__call__(frame.getlocal(4), frame.getlocal(5), s$31); + } + frame.getglobal("_print").__call__(frame.getlocal(4), frame.getlocal(6).__getitem__(i$26.__neg__()), s$14); + return Py.None; + } + + private static PyObject format_exception$8(PyFrame frame) { + /* Format a stack trace and the exception information. + + The arguments have the same meaning as the corresponding arguments + to print_exception(). The return value is a list of strings, each + ending in a newline and some containing internal newlines. When + these lines are concatenated and printed, exactly the same text is + printed as does print_exception(). + */ + if (frame.getlocal(2).__nonzero__()) { + frame.setlocal(4, new PyList(new PyObject[] {s$33})); + frame.setlocal(4, frame.getlocal(4)._add(frame.getglobal("format_tb").__call__(frame.getlocal(2), frame.getlocal(3)))); + } + else { + frame.setlocal(4, new PyList(new PyObject[] {})); + } + frame.setlocal(4, frame.getlocal(4)._add(frame.getglobal("format_exception_only").__call__(frame.getlocal(0), frame.getlocal(1)))); + return frame.getlocal(4); + } + + private static PyObject format_exception_only$9(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__, t$1$PyObject__; + boolean t$0$boolean; + PyObject t$0$PyObject, t$1$PyObject; + PyException t$0$PyException; + + // Code + /* Format the exception part of a traceback. + + The arguments are the exception type and value such as given by + sys.last_type and sys.last_value. The return value is a list of + strings, each ending in a newline. Normally, the list contains a + single string; however, for SyntaxError exceptions, it contains + several lines that (when printed) display detailed information + about where the syntax error occurred. The message indicating + which exception occurred is the always last string in the list. + */ + frame.setlocal(10, new PyList(new PyObject[] {})); + if (frame.getglobal("type").__call__(frame.getlocal(0))._eq(frame.getglobal("types").__getattr__("ClassType")).__nonzero__()) { + frame.setlocal(2, frame.getlocal(0).__getattr__("__name__")); + } + else { + frame.setlocal(2, frame.getlocal(0)); + } + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(10).invoke("append", frame.getglobal("str").__call__(frame.getlocal(2))._add(s$15)); + } + else { + if (frame.getlocal(0)._is(frame.getglobal("SyntaxError")).__nonzero__()) { + t$0$boolean = true; + try { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + t$1$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject__[1], 4); + frame.setlocal(8, t$1$PyObject__[0]); + frame.setlocal(5, t$1$PyObject__[1]); + frame.setlocal(4, t$1$PyObject__[2]); + frame.setlocal(6, t$1$PyObject__[3]); + } + catch (Throwable x$0) { + t$0$boolean = false; + t$0$PyException = Py.setException(x$0, frame); + // pass + } + if (t$0$boolean) { + if (frame.getlocal(8).__not__().__nonzero__()) { + frame.setlocal(8, s$35); + } + frame.getlocal(10).invoke("append", s$36._mod(new PyTuple(new PyObject[] {frame.getlocal(8), frame.getlocal(5)}))); + if (frame.getlocal(6)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(9, i$24); + while (((t$0$PyObject = frame.getlocal(9)._lt(frame.getglobal("len").__call__(frame.getlocal(6)))).__nonzero__() ? frame.getlocal(6).__getitem__(frame.getlocal(9)).invoke("isspace") : t$0$PyObject).__nonzero__()) { + frame.setlocal(9, frame.getlocal(9)._add(i$26)); + } + frame.getlocal(10).invoke("append", s$21._mod(frame.getlocal(6).invoke("strip"))); + if (frame.getlocal(4)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(7, s$25); + t$0$int = 0; + t$1$PyObject = frame.getlocal(6).__getslice__(frame.getlocal(9), frame.getlocal(4)._sub(i$26), null); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(11, t$0$PyObject); + if (frame.getlocal(11).invoke("isspace").__nonzero__()) { + frame.setlocal(7, frame.getlocal(7)._add(frame.getlocal(11))); + } + else { + frame.setlocal(7, frame.getlocal(7)._add(s$31)); + } + } + frame.getlocal(10).invoke("append", s$37._mod(frame.getlocal(7))); + } + frame.setlocal(1, frame.getlocal(3)); + } + } + } + frame.setlocal(7, frame.getglobal("_some_str").__call__(frame.getlocal(1))); + if (frame.getlocal(7).__nonzero__()) { + frame.getlocal(10).invoke("append", s$38._mod(new PyTuple(new PyObject[] {frame.getglobal("str").__call__(frame.getlocal(2)), frame.getlocal(7)}))); + } + else { + frame.getlocal(10).invoke("append", s$39._mod(frame.getglobal("str").__call__(frame.getlocal(2)))); + } + } + return frame.getlocal(10); + } + + private static PyObject _some_str$10(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + try { + return frame.getglobal("str").__call__(frame.getlocal(0)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return s$40._mod(frame.getglobal("type").__call__(frame.getlocal(0)).__getattr__("__name__")); + } + } + + private static PyObject print_exc$11(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject; + + // Code + /* Shorthand for 'print_exception(sys.exc_type, sys.exc_value, sys.exc_traceback, limit, file)'. + (In fact, it uses sys.exc_info() to retrieve the same information + in a thread-safe way.) */ + if (frame.getlocal(1).__not__().__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("stderr")); + } + try { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("sys").__getattr__("exc_info").__call__(), 3); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + frame.setlocal(2, t$0$PyObject__[2]); + frame.getglobal("print_exception").__call__(new PyObject[] {frame.getlocal(3), frame.getlocal(4), frame.getlocal(2), frame.getlocal(0), frame.getlocal(1)}); + } + finally { + t$0$PyObject = frame.getglobal("None"); + frame.setlocal(3, t$0$PyObject); + frame.setlocal(4, t$0$PyObject); + frame.setlocal(2, t$0$PyObject); + } + return Py.None; + } + + private static PyObject print_last$12(PyFrame frame) { + /* This is a shorthand for 'print_exception(sys.last_type, + sys.last_value, sys.last_traceback, limit, file)'. */ + if (frame.getlocal(1).__not__().__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("stderr")); + } + frame.getglobal("print_exception").__call__(new PyObject[] {frame.getglobal("sys").__getattr__("last_type"), frame.getglobal("sys").__getattr__("last_value"), frame.getglobal("sys").__getattr__("last_traceback"), frame.getlocal(0), frame.getlocal(1)}); + return Py.None; + } + + private static PyObject print_stack$13(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* Print a stack trace from its invocation point. + + The optional 'f' argument can be used to specify an alternate + stack frame at which to start. The optional 'limit' and 'file' + arguments have the same meaning as for print_exception(). + */ + if (frame.getlocal(0)._is(frame.getglobal("None")).__nonzero__()) { + try { + throw Py.makeException(frame.getglobal("ZeroDivisionError")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ZeroDivisionError"))) { + frame.setlocal(0, frame.getglobal("sys").__getattr__("exc_info").__call__().__getitem__(i$44).__getattr__("tb_frame").__getattr__("f_back")); + } + else throw t$0$PyException; + } + } + frame.getglobal("print_list").__call__(frame.getglobal("extract_stack").__call__(frame.getlocal(0), frame.getlocal(1)), frame.getlocal(2)); + return Py.None; + } + + private static PyObject format_stack$14(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* Shorthand for 'format_list(extract_stack(f, limit))'. */ + if (frame.getlocal(0)._is(frame.getglobal("None")).__nonzero__()) { + try { + throw Py.makeException(frame.getglobal("ZeroDivisionError")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ZeroDivisionError"))) { + frame.setlocal(0, frame.getglobal("sys").__getattr__("exc_info").__call__().__getitem__(i$44).__getattr__("tb_frame").__getattr__("f_back")); + } + else throw t$0$PyException; + } + } + return frame.getglobal("format_list").__call__(frame.getglobal("extract_stack").__call__(frame.getlocal(0), frame.getlocal(1))); + } + + private static PyObject extract_stack$15(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + PyException t$0$PyException; + + // Code + /* Extract the raw traceback from the current stack frame. + + The return value has the same format as for extract_tb(). The + optional 'f' and 'limit' arguments have the same meaning as for + print_stack(). Each item in the list is a quadruple (filename, + line number, function name, text), and the entries are in order + from oldest to newest stack frame. + */ + if (frame.getlocal(0)._is(frame.getglobal("None")).__nonzero__()) { + try { + throw Py.makeException(frame.getglobal("ZeroDivisionError")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ZeroDivisionError"))) { + frame.setlocal(0, frame.getglobal("sys").__getattr__("exc_info").__call__().__getitem__(i$44).__getattr__("tb_frame").__getattr__("f_back")); + } + else throw t$0$PyException; + } + } + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + if (frame.getglobal("hasattr").__call__(frame.getglobal("sys"), s$23).__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("tracebacklimit")); + } + } + frame.setlocal(6, new PyList(new PyObject[] {})); + frame.setlocal(5, i$24); + while (((t$0$PyObject = frame.getlocal(0)._isnot(frame.getglobal("None"))).__nonzero__() ? ((t$1$PyObject = frame.getlocal(1)._is(frame.getglobal("None"))).__nonzero__() ? t$1$PyObject : frame.getlocal(5)._lt(frame.getlocal(1))) : t$0$PyObject).__nonzero__()) { + frame.setlocal(4, frame.getlocal(0).__getattr__("f_lineno")); + frame.setlocal(7, frame.getlocal(0).__getattr__("f_code")); + frame.setlocal(2, frame.getlocal(7).__getattr__("co_filename")); + frame.setlocal(3, frame.getlocal(7).__getattr__("co_name")); + frame.setlocal(8, frame.getglobal("linecache").__getattr__("getline").__call__(frame.getlocal(2), frame.getlocal(4))); + if (frame.getlocal(8).__nonzero__()) { + frame.setlocal(8, frame.getlocal(8).invoke("strip")); + } + else { + frame.setlocal(8, frame.getglobal("None")); + } + frame.getlocal(6).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(4), frame.getlocal(3), frame.getlocal(8)})); + frame.setlocal(0, frame.getlocal(0).__getattr__("f_back")); + frame.setlocal(5, frame.getlocal(5)._add(i$26)); + } + frame.getlocal(6).invoke("reverse"); + return frame.getlocal(6); + } + + private static PyObject tb_lineno$16(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Calculate correct line number of traceback given in tb. + + Even works with -O on. + */ + frame.setlocal(3, frame.getlocal(0).__getattr__("tb_frame").__getattr__("f_code")); + if (frame.getglobal("hasattr").__call__(frame.getlocal(3), s$48).__not__().__nonzero__()) { + return frame.getlocal(0).__getattr__("tb_lineno"); + } + frame.setlocal(1, frame.getlocal(3).__getattr__("co_lnotab")); + frame.setlocal(6, frame.getlocal(3).__getattr__("co_firstlineno")); + frame.setlocal(5, frame.getlocal(0).__getattr__("tb_lasti")); + frame.setlocal(4, i$24); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(i$24, frame.getglobal("len").__call__(frame.getlocal(1)), i$44); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.setlocal(4, frame.getlocal(4)._add(frame.getglobal("ord").__call__(frame.getlocal(1).__getitem__(frame.getlocal(2))))); + if (frame.getlocal(4)._gt(frame.getlocal(5)).__nonzero__()) { + break; + } + frame.setlocal(6, frame.getlocal(6)._add(frame.getglobal("ord").__call__(frame.getlocal(1).__getitem__(frame.getlocal(2)._add(i$26))))); + } + return frame.getlocal(6); + } + + private static PyObject main$17(PyFrame frame) { + frame.setglobal("__file__", s$49); + + /* Extract, format and print information about Python stack traces. */ + frame.setlocal("linecache", org.python.core.imp.importOne("linecache", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("types", org.python.core.imp.importOne("types", frame)); + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12, s$13})); + frame.setlocal("_print", new PyFunction(frame.f_globals, new PyObject[] {s$14, s$15}, c$0__print)); + frame.setlocal("print_list", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$1_print_list)); + frame.setlocal("format_list", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_format_list)); + frame.setlocal("print_tb", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$3_print_tb)); + frame.setlocal("format_tb", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$4_format_tb)); + frame.setlocal("extract_tb", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$5_extract_tb)); + frame.setlocal("print_exception", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$6_print_exception)); + frame.setlocal("format_exception", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$7_format_exception)); + frame.setlocal("format_exception_only", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_format_exception_only)); + frame.setlocal("_some_str", new PyFunction(frame.f_globals, new PyObject[] {}, c$9__some_str)); + frame.setlocal("print_exc", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$10_print_exc)); + frame.setlocal("print_last", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$11_print_last)); + frame.setlocal("print_stack", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None"), frame.getname("None")}, c$12_print_stack)); + frame.setlocal("format_stack", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$13_format_stack)); + frame.setlocal("extract_stack", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$14_extract_stack)); + frame.setlocal("tb_lineno", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_tb_lineno)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("traceback")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "traceback"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(traceback._PyInner.class, newargs, traceback.jpy$packages, traceback.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/util$_PyInner.class b/server/jpywork/util$_PyInner.class new file mode 100644 index 00000000..1fe437e8 Binary files /dev/null and b/server/jpywork/util$_PyInner.class differ diff --git a/server/jpywork/util.class b/server/jpywork/util.class new file mode 100644 index 00000000..18e5598f Binary files /dev/null and b/server/jpywork/util.class differ diff --git a/server/jpywork/util.java b/server/jpywork/util.java new file mode 100644 index 00000000..bf5099ef --- /dev/null +++ b/server/jpywork/util.java @@ -0,0 +1,192 @@ +import org.python.core.*; + +public class util extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject i$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyFunctionTable funcTable; + private static PyCode c$0_lookup; + private static PyCode c$1_getzip; + private static PyCode c$2_closezips; + private static PyCode c$3_findClass; + private static PyCode c$4_reportPublicPlainClasses; + private static PyCode c$5_openResource; + private static PyCode c$6_listAllClasses; + private static PyCode c$7_main; + private static void initConstants() { + s$0 = Py.newString("."); + i$1 = Py.newInteger(0); + i$2 = Py.newInteger(1); + s$3 = Py.newString("java class"); + s$4 = Py.newString("__name__"); + s$5 = Py.newString(","); + s$6 = Py.newString("/usr/share/jython/Tools/jythonc/util.py"); + funcTable = new _PyInner(); + c$0_lookup = Py.newCode(1, new String[] {"name", "top", "names"}, "/usr/share/jython/Tools/jythonc/util.py", "lookup", false, false, funcTable, 0, null, null, 0, 1); + c$1_getzip = Py.newCode(1, new String[] {"filename", "zipfile"}, "/usr/share/jython/Tools/jythonc/util.py", "getzip", false, false, funcTable, 1, null, null, 0, 1); + c$2_closezips = Py.newCode(0, new String[] {"zf"}, "/usr/share/jython/Tools/jythonc/util.py", "closezips", false, false, funcTable, 2, null, null, 0, 1); + c$3_findClass = Py.newCode(1, new String[] {"c"}, "/usr/share/jython/Tools/jythonc/util.py", "findClass", false, false, funcTable, 3, null, null, 0, 1); + c$4_reportPublicPlainClasses = Py.newCode(1, new String[] {"jpkg", "classes"}, "/usr/share/jython/Tools/jythonc/util.py", "reportPublicPlainClasses", false, false, funcTable, 4, null, null, 0, 1); + c$5_openResource = Py.newCode(1, new String[] {"res"}, "/usr/share/jython/Tools/jythonc/util.py", "openResource", false, false, funcTable, 5, null, null, 0, 1); + c$6_listAllClasses = Py.newCode(1, new String[] {"jpkg", "classes", "classes2", "pkg2"}, "/usr/share/jython/Tools/jythonc/util.py", "listAllClasses", false, false, funcTable, 6, null, null, 0, 1); + c$7_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/util.py", "main", false, false, funcTable, 7, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$7_main == null) _PyInner.initConstants(); + return c$7_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.lookup$1(frame); + case 1: + return _PyInner.getzip$2(frame); + case 2: + return _PyInner.closezips$3(frame); + case 3: + return _PyInner.findClass$4(frame); + case 4: + return _PyInner.reportPublicPlainClasses$5(frame); + case 5: + return _PyInner.openResource$6(frame); + case 6: + return _PyInner.listAllClasses$7(frame); + case 7: + return _PyInner.main$8(frame); + default: + return null; + } + } + + private static PyObject lookup$1(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(2, frame.getlocal(0).invoke("split", s$0)); + frame.setlocal(1, frame.getglobal("__import__").__call__(frame.getlocal(2).__getitem__(i$1))); + t$0$int = 0; + t$1$PyObject = frame.getlocal(2).__getslice__(i$2, null, null); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(0, t$0$PyObject); + frame.setlocal(1, frame.getglobal("getattr").__call__(frame.getlocal(1), frame.getlocal(0))); + } + return frame.getlocal(1); + } + + private static PyObject getzip$2(PyFrame frame) { + if (frame.getglobal("zipfiles").invoke("has_key", frame.getlocal(0)).__nonzero__()) { + return frame.getglobal("zipfiles").__getitem__(frame.getlocal(0)); + } + frame.setlocal(1, frame.getglobal("ZipFile").__call__(frame.getlocal(0))); + frame.getglobal("zipfiles").__setitem__(frame.getlocal(0), frame.getlocal(1)); + return frame.getlocal(1); + } + + private static PyObject closezips$3(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + t$0$int = 0; + t$1$PyObject = frame.getglobal("zipfiles").invoke("values"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(0, t$0$PyObject); + frame.getlocal(0).invoke("close"); + } + frame.getglobal("zipfiles").invoke("clear"); + return Py.None; + } + + private static PyObject findClass$4(PyFrame frame) { + return frame.getglobal("Py").__getattr__("findClassEx").__call__(frame.getlocal(0), s$3); + } + + private static PyObject reportPublicPlainClasses$5(PyFrame frame) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("packageManager").__getattr__("doDir").__call__(frame.getlocal(0), i$1, i$2)); + frame.getlocal(1).invoke("remove", s$4); + return frame.getglobal("string").__getattr__("join").__call__(frame.getlocal(1), s$5); + } + + private static PyObject openResource$6(PyFrame frame) { + // global _path_vfs + if (frame.getglobal("_path_vfs").__not__().__nonzero__()) { + frame.setglobal("_path_vfs", frame.getglobal("PathVFS").__call__(frame.getglobal("sys").__getattr__("registry"))); + } + return frame.getglobal("_path_vfs").invoke("open", frame.getlocal(0)); + } + + private static PyObject listAllClasses$7(PyFrame frame) { + // global _ypm + frame.setlocal(1, frame.getglobal("sys").__getattr__("packageManager").__getattr__("doDir").__call__(frame.getlocal(0), i$1, i$2)); + frame.getlocal(1).invoke("remove", s$4); + if (frame.getglobal("_ypm")._is(frame.getglobal("None")).__nonzero__()) { + frame.setglobal("_ypm", frame.getglobal("YaPM").__call__(frame.getglobal("sys").__getattr__("registry"))); + } + frame.setlocal(3, frame.getglobal("_ypm").invoke("lookupName", frame.getlocal(0).__getattr__("__name__"))); + frame.setlocal(2, frame.getglobal("_ypm").invoke("doDir", new PyObject[] {frame.getlocal(3), i$1, i$2})); + frame.getlocal(2).invoke("remove", s$4); + frame.getlocal(1).invoke("extend", frame.getlocal(2)); + return frame.getlocal(1); + } + + private static PyObject main$8(PyFrame frame) { + frame.setglobal("__file__", s$6); + + PyObject[] imp_accu; + // Code + frame.setlocal("lookup", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_lookup)); + imp_accu = org.python.core.imp.importFrom("java.util.zip", new String[] {"ZipFile"}, frame); + frame.setlocal("ZipFile", imp_accu[0]); + imp_accu = null; + frame.setlocal("zipfiles", new PyDictionary(new PyObject[] {})); + frame.setlocal("getzip", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_getzip)); + frame.setlocal("closezips", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_closezips)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + imp_accu = org.python.core.imp.importFrom("org.python.core", new String[] {"Py"}, frame); + frame.setlocal("Py", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("yapm", new String[] {"YaPM"}, frame); + frame.setlocal("YaPM", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("PathVFS", new String[] {"PathVFS"}, frame); + frame.setlocal("PathVFS", imp_accu[0]); + imp_accu = null; + frame.setlocal("findClass", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_findClass)); + frame.setlocal("reportPublicPlainClasses", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_reportPublicPlainClasses)); + frame.setlocal("_path_vfs", frame.getname("None")); + frame.setlocal("openResource", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_openResource)); + frame.setlocal("_ypm", frame.getname("None")); + frame.setlocal("listAllClasses", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_listAllClasses)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("util")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "util"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(util._PyInner.class, newargs, util.jpy$packages, util.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/yapm$YaPM.class b/server/jpywork/yapm$YaPM.class new file mode 100644 index 00000000..2bf82f58 Binary files /dev/null and b/server/jpywork/yapm$YaPM.class differ diff --git a/server/jpywork/yapm$_PyInner.class b/server/jpywork/yapm$_PyInner.class new file mode 100644 index 00000000..2a144377 Binary files /dev/null and b/server/jpywork/yapm$_PyInner.class differ diff --git a/server/jpywork/yapm.class b/server/jpywork/yapm.class new file mode 100644 index 00000000..f3ea93ea Binary files /dev/null and b/server/jpywork/yapm.class differ diff --git a/server/jpywork/yapm.java b/server/jpywork/yapm.java new file mode 100644 index 00000000..71c71466 --- /dev/null +++ b/server/jpywork/yapm.java @@ -0,0 +1,367 @@ +import org.python.core.*; + +public class yapm extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject i$5; + private static PyObject s$6; + private static PyObject i$7; + private static PyObject s$8; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_findClass; + private static PyCode c$2_findAllPackages; + private static PyCode c$3_filterByName; + private static PyCode c$4_filterByAccess; + private static PyCode c$5_doDir; + private static PyCode c$6_packageExists; + private static PyCode c$7_YaPM; + private static PyCode c$8_main; + private static void initConstants() { + s$0 = Py.newString("python.packages.paths"); + s$1 = Py.newString("java.class.path"); + s$2 = Py.newString(","); + s$3 = Py.newString("sun.boot.class.path"); + s$4 = Py.newString("python.packages.fakepath"); + i$5 = Py.newInteger(0); + s$6 = Py.newString("$"); + i$7 = Py.newInteger(1); + s$8 = Py.newString("/usr/share/jython/Tools/jythonc/yapm.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(2, new String[] {"self", "registry"}, "/usr/share/jython/Tools/jythonc/yapm.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_findClass = Py.newCode(3, new String[] {"self", "pkg", "name"}, "/usr/share/jython/Tools/jythonc/yapm.py", "findClass", false, false, funcTable, 1, null, null, 0, 1); + c$2_findAllPackages = Py.newCode(2, new String[] {"self", "registry", "e", "p", "fakepath", "paths"}, "/usr/share/jython/Tools/jythonc/yapm.py", "findAllPackages", false, false, funcTable, 2, null, null, 0, 1); + c$3_filterByName = Py.newCode(3, new String[] {"self", "name", "pkg"}, "/usr/share/jython/Tools/jythonc/yapm.py", "filterByName", false, false, funcTable, 3, null, null, 0, 1); + c$4_filterByAccess = Py.newCode(3, new String[] {"self", "name", "acc"}, "/usr/share/jython/Tools/jythonc/yapm.py", "filterByAccess", false, false, funcTable, 4, null, null, 0, 1); + c$5_doDir = Py.newCode(4, new String[] {"self", "jpkg", "instantiate", "exclpkgs", "basic", "ret"}, "/usr/share/jython/Tools/jythonc/yapm.py", "doDir", false, false, funcTable, 5, null, null, 0, 1); + c$6_packageExists = Py.newCode(3, new String[] {"self", "pkg", "name"}, "/usr/share/jython/Tools/jythonc/yapm.py", "packageExists", false, false, funcTable, 6, null, null, 0, 1); + c$7_YaPM = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/yapm.py", "YaPM", false, false, funcTable, 7, null, null, 0, 0); + c$8_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/yapm.py", "main", false, false, funcTable, 8, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$8_main == null) _PyInner.initConstants(); + return c$8_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.findClass$2(frame); + case 2: + return _PyInner.findAllPackages$3(frame); + case 3: + return _PyInner.filterByName$4(frame); + case 4: + return _PyInner.filterByAccess$5(frame); + case 5: + return _PyInner.doDir$6(frame); + case 6: + return _PyInner.packageExists$7(frame); + case 7: + return _PyInner.YaPM$8(frame); + case 8: + return _PyInner.main$9(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + frame.getlocal(0).invoke("findAllPackages", frame.getlocal(1)); + return Py.None; + } + + private static PyObject findClass$2(PyFrame frame) { + return frame.getglobal("None"); + } + + private static PyObject findAllPackages$3(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(5, frame.getlocal(1).invoke("getProperty", s$0, s$1)); + frame.setlocal(5, frame.getlocal(5).invoke("split", s$2)); + if (s$3._in(frame.getlocal(5)).__nonzero__()) { + frame.getlocal(5).invoke("remove", s$3); + } + frame.setlocal(4, frame.getlocal(1).invoke("getProperty", s$4, frame.getglobal("None"))); + t$0$int = 0; + t$1$PyObject = frame.getlocal(5); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.setlocal(2, frame.getlocal(1).invoke("getProperty", frame.getlocal(3))); + if (frame.getlocal(2)._ne(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(0).invoke("addClassPath", frame.getlocal(2)); + } + } + if (frame.getlocal(4)._ne(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(0).invoke("addClassPath", frame.getlocal(4)); + } + return Py.None; + } + + private static PyObject filterByName$4(PyFrame frame) { + return i$5; + } + + private static PyObject filterByAccess$5(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + return ((t$0$PyObject = frame.getlocal(1).invoke("find", s$6)._ne(i$7.__neg__())).__nonzero__() ? t$0$PyObject : frame.getlocal(2)._and(i$7)._eq(i$5)).__not__(); + } + + private static PyObject doDir$6(PyFrame frame) { + frame.setlocal(4, frame.getlocal(0).invoke("basicDoDir", new PyObject[] {frame.getlocal(1), i$5, frame.getlocal(3)})); + frame.setlocal(5, new PyList(new PyObject[] {})); + frame.getlocal(0).invoke("super__doDir", new PyObject[] {frame.getlocal(0).__getattr__("searchPath"), frame.getlocal(5), frame.getlocal(1), i$5, frame.getlocal(3)}); + frame.getlocal(0).invoke("super__doDir", new PyObject[] {frame.getglobal("sys").__getattr__("path"), frame.getlocal(5), frame.getlocal(1), i$5, frame.getlocal(3)}); + return frame.getlocal(0).invoke("merge", frame.getlocal(4), frame.getlocal(5)); + } + + private static PyObject packageExists$7(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + return (t$0$PyObject = frame.getlocal(0).invoke("super__packageExists", new PyObject[] {frame.getlocal(0).__getattr__("searchPath"), frame.getlocal(1), frame.getlocal(2)})).__nonzero__() ? t$0$PyObject : frame.getlocal(0).invoke("super__packageExists", new PyObject[] {frame.getglobal("sys").__getattr__("path"), frame.getlocal(1), frame.getlocal(2)}); + } + + private static PyObject YaPM$8(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$0___init__)); + frame.setlocal("findClass", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_findClass)); + frame.setlocal("findAllPackages", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_findAllPackages)); + frame.setlocal("filterByName", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_filterByName)); + frame.setlocal("filterByAccess", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_filterByAccess)); + frame.setlocal("doDir", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_doDir)); + frame.setlocal("packageExists", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_packageExists)); + return frame.getf_locals(); + } + + private static PyObject main$9(PyFrame frame) { + frame.setglobal("__file__", s$8); + + PyObject[] imp_accu; + // Code + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("os", org.python.core.imp.importOne("os", frame)); + imp_accu = org.python.core.imp.importFrom("string", new String[] {"strip"}, frame); + frame.setlocal("strip", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("java", new String[] {"io"}, frame); + frame.setlocal("io", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("org.python.core", new String[] {"PathPackageManager"}, frame); + frame.setlocal("PathPackageManager", imp_accu[0]); + imp_accu = null; + frame.setlocal("YaPM", Py.makeClass("YaPM", new PyObject[] {frame.getname("PathPackageManager")}, c$7_YaPM, null, YaPM.class)); + return Py.None; + } + + } + public static class YaPM extends org.python.core.PathPackageManager implements org.python.core.PyProxy, org.python.core.ClassDictInit { + public void addJar(java.lang.String arg0, boolean arg1) { + PyObject inst = Py.jgetattr(this, "addJar"); + inst._jcall(new Object[] {arg0, Py.newBoolean(arg1)}); + } + + public void addJarDir(java.lang.String arg0, boolean arg1) { + PyObject inst = Py.jgetattr(this, "addJarDir"); + inst._jcall(new Object[] {arg0, Py.newBoolean(arg1)}); + } + + public org.python.core.PyList basicDoDir(org.python.core.PyJavaPackage arg0, boolean arg1, boolean arg2) { + return super.basicDoDir(arg0, arg1, arg2); + } + + public java.lang.Object clone() throws java.lang.CloneNotSupportedException { + return super.clone(); + } + + public void comment(java.lang.String arg0) { + super.comment(arg0); + } + + public void debug(java.lang.String arg0) { + super.debug(arg0); + } + + public void deleteCacheFile(java.lang.String arg0) { + super.deleteCacheFile(arg0); + } + + public void super__doDir(org.python.core.PyList arg0, org.python.core.PyList arg1, org.python.core.PyJavaPackage arg2, boolean arg3, boolean arg4) { + super.doDir(arg0, arg1, arg2, arg3, arg4); + } + + public void doDir(org.python.core.PyList arg0, org.python.core.PyList arg1, org.python.core.PyJavaPackage arg2, boolean arg3, boolean arg4) { + PyObject inst = Py.jfindattr(this, "doDir"); + if (inst != null) inst._jcall(new Object[] {arg0, arg1, arg2, Py.newBoolean(arg3), Py.newBoolean(arg4)}); + else super.doDir(arg0, arg1, arg2, arg3, arg4); + } + + public org.python.core.PyList super__doDir(org.python.core.PyJavaPackage arg0, boolean arg1, boolean arg2) { + return super.doDir(arg0, arg1, arg2); + } + + public org.python.core.PyList doDir(org.python.core.PyJavaPackage arg0, boolean arg1, boolean arg2) { + PyObject inst = Py.jfindattr(this, "doDir"); + if (inst != null) return (org.python.core.PyList)Py.tojava(inst._jcall(new Object[] {arg0, Py.newBoolean(arg1), Py.newBoolean(arg2)}), org.python.core.PyList.class); + else return super.doDir(arg0, arg1, arg2); + } + + public boolean super__filterByAccess(java.lang.String arg0, int arg1) { + return super.filterByAccess(arg0, arg1); + } + + public boolean filterByAccess(java.lang.String arg0, int arg1) { + PyObject inst = Py.jfindattr(this, "filterByAccess"); + if (inst != null) return Py.py2boolean(inst._jcall(new Object[] {arg0, Py.newInteger(arg1)})); + else return super.filterByAccess(arg0, arg1); + } + + public boolean super__filterByName(java.lang.String arg0, boolean arg1) { + return super.filterByName(arg0, arg1); + } + + public boolean filterByName(java.lang.String arg0, boolean arg1) { + PyObject inst = Py.jfindattr(this, "filterByName"); + if (inst != null) return Py.py2boolean(inst._jcall(new Object[] {arg0, Py.newBoolean(arg1)})); + else return super.filterByName(arg0, arg1); + } + + public void finalize() throws java.lang.Throwable { + super.finalize(); + } + + public java.lang.Class super__findClass(java.lang.String arg0, java.lang.String arg1) { + return super.findClass(arg0, arg1); + } + + public java.lang.Class findClass(java.lang.String arg0, java.lang.String arg1) { + PyObject inst = Py.jfindattr(this, "findClass"); + if (inst != null) return (java.lang.Class)Py.tojava(inst._jcall(new Object[] {arg0, arg1}), java.lang.Class.class); + else return super.findClass(arg0, arg1); + } + + public java.lang.Class findClass(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2) { + PyObject inst = Py.jgetattr(this, "findClass"); + return (java.lang.Class)Py.tojava(inst._jcall(new Object[] {arg0, arg1, arg2}), java.lang.Class.class); + } + + public java.io.DataInputStream inOpenCacheFile(java.lang.String arg0) throws java.io.IOException { + return super.inOpenCacheFile(arg0); + } + + public java.io.DataInputStream inOpenIndex() throws java.io.IOException { + return super.inOpenIndex(); + } + + public void initCache() { + super.initCache(); + } + + public org.python.core.PyList merge(org.python.core.PyList arg0, org.python.core.PyList arg1) { + return super.merge(arg0, arg1); + } + + public void message(java.lang.String arg0) { + super.message(arg0); + } + + public java.io.DataOutputStream outCreateCacheFile(org.python.core.CachedJarsPackageManager.JarXEntry arg0, boolean arg1) throws java.io.IOException { + return super.outCreateCacheFile(arg0, arg1); + } + + public java.io.DataOutputStream outOpenIndex() throws java.io.IOException { + return super.outOpenIndex(); + } + + public boolean super__packageExists(java.lang.String arg0, java.lang.String arg1) { + return super.packageExists(arg0, arg1); + } + + public boolean packageExists(java.lang.String arg0, java.lang.String arg1) { + PyObject inst = Py.jfindattr(this, "packageExists"); + if (inst != null) return Py.py2boolean(inst._jcall(new Object[] {arg0, arg1})); + else return super.packageExists(arg0, arg1); + } + + public boolean super__packageExists(org.python.core.PyList arg0, java.lang.String arg1, java.lang.String arg2) { + return super.packageExists(arg0, arg1, arg2); + } + + public boolean packageExists(org.python.core.PyList arg0, java.lang.String arg1, java.lang.String arg2) { + PyObject inst = Py.jfindattr(this, "packageExists"); + if (inst != null) return Py.py2boolean(inst._jcall(new Object[] {arg0, arg1, arg2})); + else return super.packageExists(arg0, arg1, arg2); + } + + public boolean useCacheDir(java.io.File arg0) { + return super.useCacheDir(arg0); + } + + public void warning(java.lang.String arg0) { + super.warning(arg0); + } + + public YaPM() { + super(); + __initProxy__(new Object[] {}); + } + + private PyInstance __proxy; + public void _setPyInstance(PyInstance inst) { + __proxy = inst; + } + + public PyInstance _getPyInstance() { + return __proxy; + } + + private PySystemState __sysstate; + public void _setPySystemState(PySystemState inst) { + __sysstate = inst; + } + + public PySystemState _getPySystemState() { + return __sysstate; + } + + public void __initProxy__(Object[] args) { + Py.initProxy(this, "yapm", "YaPM", args, yapm.jpy$packages, yapm.jpy$proxyProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + + static public void classDictInit(PyObject dict) { + dict.__setitem__("__supernames__", Py.java2py(new String[] {"deleteCacheFile", "finalize", "super__doDir", "comment", "super__filterByAccess", "initCache", "outCreateCacheFile", "merge", "super__filterByName", "useCacheDir", "message", "super__packageExists", "debug", "inOpenIndex", "warning", "super__findClass", "clone", "outOpenIndex", "basicDoDir", "inOpenCacheFile"})); + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("yapm")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "yapm"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(yapm._PyInner.class, newargs, yapm.jpy$packages, yapm.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/keycreator/prog.py b/server/keycreator/prog.py new file mode 100644 index 00000000..6148918c --- /dev/null +++ b/server/keycreator/prog.py @@ -0,0 +1,48 @@ +import sys +from OpenSSL import crypto +from M2Crypto import X509 +sys.path.append('../../util/sec') +sys.path.append('../../util') +from sec import * +from util import * +from db import * + +SUFFIX1 = '_srr' +SUFFIX2 = '_crr' + +#get input from user +hrn = raw_input('Enter the hrn of the object: ') + +#generate certificate and the private key +name = get_leaf(hrn) +create_self_cert(name) + +#extract the public key from the certificate and input to the database +cert = X509.load_cert(name+'.cert') +pubkey_pem = cert.get_pubkey().as_pem(cipher=None) + +cnx = get_plDB_conn() +tablename = obtain_authority(hrn).replace('.','$') +t1 = tablename+SUFFIX1 +t2 = tablename+SUFFIX2 + +querystr = "SELECT * FROM "+t1+" WHERE hrn='"+name+"';" +res = cnx.query(querystr) +if res: + querystr = "UPDATE "+t1+" SET pubkey = '"+pubkey_pem+"' WHERE hrn = '"+name+"';" + cnx.query(querystr) +else: + querystr = "SELECT * FROM "+t2+" WHERE hrn='"+name+"';" + res = cnx.query(querystr) + if res: + querystr = "UPDATE "+t2+" SET pubkey = '"+pubkey_pem+"' WHERE hrn = '"+name+"';" + cnx.query(querystr) + else: + print 'The record with name:'+hrn+"' does not exist in the system.\n" + os.exit(1) + +print "Public key is successfully added to '"+hrn+"' record.\nThe certificate and key are generated.\n" + + + + diff --git a/server/server.py b/server/server.py new file mode 100755 index 00000000..e3be0c01 --- /dev/null +++ b/server/server.py @@ -0,0 +1,725 @@ +#wrapper for the registry + +# Socket address +LISTEN_HOST = '127.0.0.1' +LISTEN_PORT = 8002 +SR_FILE = 'interface_tree_sr' +CR_FILE = 'interface_tree_cr' + +AUTH_HOST = '127.0.0.1' +AUTH_PORT = 8002 + +import SocketServer + +import socket, os, sys +from M2Crypto import SSL +from M2Crypto.SSL import SSLError +from M2Crypto import X509 +from pg import DB +sys.path.append('../') +sys.path.append('../util') +sys.path.append('../util/sec') +sys.path.append("../PLCAPI/trunk") +from util import * +from tree import * +from excep import * +from sec import * +from db import * +from pl_to_geni import * +import time, datetime, calendar + +# Import the API Shell +from PLC.Shell import Shell +shell = Shell(globals = globals()) # Add all the API methods to the global namespace +## ,config = options.config, # Configuartion file (Optional. Defaluts to /etc/planetlab/plc_config) +## url = options.url, # XML-RPC server uirl (Optional) +## xmlrpc = options.xmlrpc, # Use XML-RPC ? (Optional) +## cacert = options.cacert, # Certificate to use (Optional) +## method = options.method, # API authentication method (Optional) +## role = options.role, # Role to assume (Optional) +## user = options.user, # (Optional) +## password = options.password, # (Required if user is specified) +## session = options.session) # Session authentication + +class GENIServer(SSL.SSLServer): + + #NOTE: + # step1: The caller first makes a discovery call. + # step2: If the hrn is not managed by this interface, the appropriate child wrapper URL is returned. + # step3: Else, DOMAIN_NAME is returned. + # step4: Then, the caller does the call with authentication and authorization elements. + # step5: The interface handles the call: + # - Check if HRN is in the same database, or another db (again handled by this interface) + # - Perform the call in appropriate database in appropriate table. + # - For remote databases, ensure security. + + #NOTE: For all calls below, if the parameter dbinfo that points to the db/tabe to act shows a different db than the interface tree's root, then + #the PL calls should also reflect that; the PL calls should be made to that db. Currently PL API db configuration is static, and there is no problem now + #since all nodes in interface tree reside at the same database + + #record is the record to be registered + #dbinfo is the information showing the relevant tables to act (db and table name), in the subtree this interface manages + def register(self, record, dbinfo): + cnx = dbinfo[0] + table = dbinfo[1] + type = record['g_params']["type"] + + try: + #check if record already exists + existing_res = check_exists_geni(record, dbinfo) + if existing_res: + raise ExistingRecord("Record "+record['g_params']['hrn']+" already exists.\n" ) + if type == "SA" or type == 'MA': + #geni parameters + record['g_params']["wrapperurl"] = 'local' + reg_type = '' + if type == "SA": + reg_type = 'slc' + else: + reg_type = 'comp' + rights = '(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)' + rights = rights + '#0:reg:'+reg_type+":"+obtain_authority(record['g_params']["hrn"])+'#1:reg:'+reg_type+":"+record['g_params']["hrn"] + record['g_params']['rights'] = rights + long_hrn = record['g_params']["hrn"] + hrn_suffix = get_leaf(record['g_params']["hrn"]) + pointer = -1 + login_base = '' + #PL specific parameters + site_fields = record['p_params'] + + #check if the authority's site exists already + other_tree = None + if reg_type == 'slc': + other_tree = self.cr_tree + else: + other_tree = self.sr_tree + info = other_tree.tree_lookup(long_hrn) + if info: + login_base = info.login_base + pointer = cnx.query("SELECT site_id FROM sites WHERE login_base = '"+login_base+"';").dictresult()[0]['site_id'] + else: + #check if login_base is specified + if site_fields.has_key('login_base'): + login_base = site_fields['login_base'] + querystr = "SELECT * FROM sites WHERE login_base = '"+login_base+"'" + res = cnx.query(querystr).dictresult() + if res: + return "Site login_base '"+login_base+", already exists in the system. Try another name.\n" + else: + #determine new login_base + login_base = hrn_to_loginbase(long_hrn) + for i in range(1,10): + querystr = "SELECT * FROM sites WHERE login_base = '"+login_base+"'" + res = cnx.query(querystr).dictresult() + if not res: + break + else: + login_base = hrn_to_loginbase(long_hrn, i) + site_fields['login_base'] = login_base + #add into PL table + pointer = shell.AddSite(pl_auth, site_fields) + + #create the folder for the site and keys + curdir = os.getcwd() + if reg_type == 'slc': + dir_type = 'slice' + else: + dir_type = 'component' + dirname = dir_type+'/'+(long_hrn).replace('.','/') + if os.path.exists(dirname): + os.system('rm -rf '+dirname) + os.makedirs(dirname) + os.chdir(dirname) + create_self_cert(hrn_suffix) + os.chdir(curdir) + + #insert into GENI parent table + record['g_params']["hrn"] = get_leaf(record['g_params']["hrn"]) + record['g_params']['pubkey'] = X509.load_cert(dirname+'/'+hrn_suffix+'.cert').get_pubkey().as_pem(cipher=None) + record['g_params']['pointer'] = pointer + querystr = generate_querystr('INSERT', table, record['g_params']) + cnx.query(querystr) + + #create the new table for the site + new_table_name = hrn_to_tablename(long_hrn, reg_type) + cnx.query('DROP TABLE IF EXISTS '+new_table_name) #drop the table if it exists + querystr = "CREATE TABLE "+new_table_name+" ( \ + hrn text, \ + type text, \ + uuid text, \ + userlist text, \ + rights text, \ + description text, \ + pubkey text, \ + wrapperURL text, \ + disabled text, \ + pointer integer);" + cnx.query(querystr) + + #update the interface tree + tree = None + if type == 'SA': + tree = self.sr_tree + else: + tree = self.cr_tree + parent_data = tree.tree_lookup(obtain_authority(long_hrn)).node_data + parent_db_info = parent_data['db_info'] + parent_key_info = parent_data['key_info'] + info = TreeNodeInfo() + info.name = long_hrn + info.login_base = login_base + db_info = DbInfo() + key_info = KeyInfo() + info.node_data = {'db_info':db_info, 'key_info':key_info} + + db_info.table_name = new_table_name + db_info.db_name = parent_db_info.db_name + db_info.address = parent_db_info.address + db_info.port = parent_db_info.port + db_info.user = parent_db_info.user + db_info.password = parent_db_info.password + + key_info.acc_file = '' + key_info.cred_file = '' + key_info.folder = parent_key_info.folder+'/'+hrn_suffix + key_info.id_file = hrn_suffix+'.cert' + key_info.id_key_file = hrn_suffix+'.pkey' + + tree.tree_add(info) + if type == 'SA': + self.save_state('sr') + else: + self.save_state('cr') + return type+' '+long_hrn + ' is successfully added.\n' + + elif type == "slice": + login_base = get_leaf(obtain_authority(record['g_params']["hrn"])) + #geni parameters + #hrn is inside dictionary, passed by the client + long_hrn = record['g_params']["hrn"] + hrn_suffix = get_leaf(record['g_params']["hrn"]) + #PL specific parameters + slice_fields = record['p_params'] + slice_fields['name'] = login_base + "_" + hrn_suffix + + #insert the PL tables first + pointer = shell.AddSlice(pl_auth, slice_fields) + #insert into the GENI tables + record['g_params']["pointer"] = pointer + querystr = "UPDATE "+table+" SET hrn = '"+hrn_suffix+"'" + if record['g_params'].has_key('userlist'): + querystr = querystr+" userlist = '"+record['g_params']['userlist']+"'" + if record['g_params'].has_key('rights'): + querystr = querystr+" rights = '"+record['g_params']['rights']+"'" + querystr = querystr+" WHERE pointer = "+str(record['g_params']["pointer"]) + cnx.query(querystr) + return "Slice "+long_hrn+" is successfully added.\n" + elif type == "user": + #geni parameters + #hrn and pubkey are inside dictinary, passed by the client + long_hrn = record['g_params']["hrn"] + record['g_params']["hrn"] = get_leaf(record['g_params']["hrn"]) + rights = '(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)' + rights = rights + '#0:reg:slc:'+obtain_authority(record['g_params']["hrn"]) + record['g_params']["rights"] = rights + #PL specific parameters + user_fields = record['p_params'] + + #insert the PL tables first + pointer = shell.AddPerson(pl_auth, user_fields) + #insert into the GENI tables + record['g_params']["pointer"] = pointer + querystr = generate_querystr('INSERT', table, record['g_params']) + cnx.query(querystr) + return "User "+long_hrn+" is successfully added.\n" + + elif type == "node": + #geni parameters + #hrn and pubkey are inside dictinary, passed by the client + long_hrn = record['g_params']["hrn"] + login_base = self.cr_tree.tree_lookup(obtain_authority(long_hrn)).login_base + record['g_params']["hrn"] = get_leaf(record['g_params']["hrn"]) + rights = '' + record['g_params']["rights"] = rights + #PL specific parameters + node_fields = record['p_params'] + + #insert the PL tables first + pointer = shell.AddNode(pl_auth, login_base, node_fields) + + #insert into the GENI tables + record['g_params']["pointer"] = pointer + querystr = "UPDATE "+table+" SET hrn = '"+record['g_params']["hrn"]+"'" + if record['g_params'].has_key('rights') and record['g_params']['rights'] != '': + querystr = querystr+" rights = '"+record['g_params']['rights']+"'" + querystr = querystr+" WHERE pointer = "+str(record['g_params']["pointer"]) + cnx.query(querystr) + return "Node "+long_hrn+" is successfully added.\n" + + except Exception, e: + print "Error in 'register():"+str(e) + return "Error in register:."+str(e) + + #record is the record to be updated + #record contains the new values of the fields to be changed in a dictionary. + #precondition: the authorization mechanism should already checked the fields intended to be updated + #dbinfo is the information showing the relevant tables to act (db and table name), in the subtree this interface manages + def update(self, record, dbinfo): + cnx = dbinfo[0] + table = dbinfo[1] + try: + #determine the type and PL pointer of the record + existing_res = check_exists_geni(record, dbinfo) + if not existing_res: + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + type = existing_res['type'] + pointer = existing_res['pointer'] + long_hrn = record['g_params']["hrn"] + + #PL update + if type == "SA" and pointer != -1: + #check if record exists in PL + pl_res = shell.GetSites(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + #PL specific parameters + site_fields = record['p_params'] + #update the PL tables + shell.UpdateSite(pl_auth, pointer, site_fields) + elif type == "MA" and pointer != -1: + #check if record exists in PL + pl_res = shell.GetSites(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + #PL specific parameters + site_fields = record['p_params'] + #update the PL tables + shell.UpdateSite(pl_auth, pointer, site_fields) + elif type == "slice": + #check if record exists in PL + pl_res = shell.GetSlices(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + #PL specific parameters + slice_fields = record['p_params'] + #update the PL tables + shell.UpdateSlice(pl_auth, pointer, slice_fields) + #process the new users added to the slice + for user in record['g_params']['userlist']: + usr_dbinfo = determine_dbinfo(get_authority(user), self.tree) + if usr_dbinfo: + rec = {'g_params':{'hrn':user}, 'p_params':{}} + user_pointer = self.lookup(rec, usr_dbinfo)['geni']['pointer'] + querystr = "INSERT INTO slice_person VALUES("+pointer+", "+user_pointer+");" + cnx.query(querystr) + elif type == "user": + #check if record exists in PL + pl_res = shell.GetPersons(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + #PL specific parameters + user_fields = record['p_params'] + #update the PL tables + shell.UpdatePerson(pl_auth, pointer, user_fields) + elif type == "node": + #check if record exists in PL + pl_res = shell.GetNodes(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + #PL specific parameters + node_fields = record['p_params'] + #update the PL tables + shell.UpdateNode(pl_auth, pointer, node_fields) + + #geni update + #all fields to be updated resides in the dictionary passed by the client, we just change the hrn field + record['g_params']["hrn"] = get_leaf(record['g_params']["hrn"]) + #update the GENI table + querystr = generate_querystr('UPDATE', table, record['g_params']) + cnx.query(querystr) + return "The record '"+long_hrn+"' is successfully updated.\n" + except Exception, e: + print "Error in 'update():'"+str(e) + return "Error in update:"+str(e) + + #record shows the hrn to be deleted + #dbinfo is the information showing the relevant tables to act (db and table name), in the subtree this interface manages + #we enforce that the deletions of SA/MA are only at leaf + def remove(self, record, dbinfo): + cnx = dbinfo[0] + table = dbinfo[1] + try: + #determine the type and PL pointer of the record + long_hrn = record['g_params']["hrn"] + hrn_suffix = get_leaf(record['g_params']["hrn"]) + existing_res = check_exists_geni(record, dbinfo) + if not existing_res: + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + type = existing_res['type'] + pointer = existing_res['pointer'] + + #delete from the PL tables + if type == "SA" or type == "MA": + #do not allow removal if site is not leaf + tree = None + if type == 'SA': + tree = self.sr_tree + else: + tree = self.cr_tree + leaf = tree.is_leaf(long_hrn) + if leaf == None: + return "Error in remove.\n" + elif leaf == False: + return "Site removal should be at the leaves.\n" + + #update the interface tree + tree.tree_remove(long_hrn) + + if type == 'SA': + self.save_state('sr') + else: + self.save_state('cr') + + #if the site still exists in the tree, do not remove from pl, else remove + if not site_to_auth(pointer): + try: + shell.DeleteSite(pl_auth, pointer) + except: + 1==1 #the site may not be deleted because ttl of it expired, so should continue + elif type == 'user': + shell.DeletePerson(pl_auth, pointer) + elif type == "slice": + shell.DeleteSlice(pl_auth, pointer) + elif type == "node": + shell.DeleteNode(pl_auth, pointer) + + #delete from the GENI table + querystr = generate_querystr('DELETE', table, record['g_params']) + cnx.query(querystr) + return "The record '"+long_hrn+"' is successfully removed.\n" + except Exception, e: + print "Error in 'delete()'"+str(e) + return "Error in delete:"+str(e) + + #record shows the hrn to be searched + #dbinfo is the information showing the relevant tables to act (db and table name), in the subtree this interface manages + def lookup(self, record, dbinfo): + cnx = dbinfo[0] + table = dbinfo[1] + try: + #lookup in GENI tables + existing_res = check_exists_geni(record, dbinfo) + if not existing_res: + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + type = existing_res['type'] + pointer = existing_res['pointer'] + #lookup in the PL tables + pl_res = None + if type == "SA" and pointer != -1: + pl_res = shell.GetSites(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + pl_res = pl_res[0] + elif type == "MA" and pointer != -1: + pl_res = shell.GetSites(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + pl_res = pl_res[0] + elif type == "slice": + pl_res = shell.GetSlices(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + pl_res = pl_res[0] + elif type == "user": + pl_res = shell.GetPersons(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + pl_res = pl_res[0] + elif type == "node": + pl_res = shell.GetNodes(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+record['g_params']["hrn"]+" does not exist.\n" ) + pl_res = pl_res[0] + return str({'pl':pl_res, 'geni':existing_res}) + except: + return None + + + def list(self, record, dbinfo): + x=1 + + #grants the credentials existing in database to the caller + #peer parameter shows the caller information + #record keeps the parameter: credential name + #dbinfo is the information showing the relevant tables to act (db and table name), in the subtree this interface manages + #keyinfo is the id, id_key, and accounting data for the authority + #peerinfo is [peer_hrn, peer_certficate] + def getCredential(self, record, dbinfo, keyinfo, peerinfo): + cnx = dbinfo[0] + table = dbinfo[1] + try: + cred_pem = None + if record['g_params']['cred_name'].split(':')[0] == 'registry': + #lookup in GENI tables + geni_res = cnx.query("SELECT * FROM "+table+" WHERE hrn = '"+get_leaf(peerinfo[0])+"' ").dictresult() + if geni_res: + geni_res = geni_res[0] + else: + raise NonexistingRecord("Record "+peerinfo[0]+" does not exist.\n" ) + type = geni_res['type'] + pointer = geni_res['pointer'] + rights = geni_res['rights'] + #lookup in the PL tables + pl_res = None + if type == "SA" and pointer != -1: + pl_res = shell.GetSites(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+peerinfo[0]+" does not exist.\n" ) + elif type == "MA" and pointer != -1: + pl_res = shell.GetSites(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+peerinfo[0]+" does not exist.\n" ) + elif type == "user": + pl_res = shell.GetPersons(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+peerinfo[0]+" does not exist.\n" ) + pl_res = shell.GetPersons(pl_auth, [pointer])[0] + if rights == '' or rights == None: + if 'admin' in pl_res['roles']: + rights = '(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)'+ \ + '(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)' + rights = rights + '#0:reg:slc:'+ROOT_AUTH + '#1:reg:comp:'+ROOT_AUTH + elif 'pi' in pl_res['roles']: + rights = '(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)'+\ + '(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)' + rights = rights + '#0:reg:slc:'+obtain_authority(peerinfo[0]) + '#1:reg:comp:'+obtain_authority(peerinfo[0]) + elif 'user' in pl_res['roles']: + rights = '(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)' + rights = rights + '#0:reg:slc:'+obtain_authority(peerinfo[0]) + elif type == "node": + pl_res = shell.GetNodes(pl_auth, [pointer]) + if not pl_res: + self.remove(record,dbinfo) + raise NonexistingRecord("Record "+peerinfo[0]+" does not exist.\n" ) + #authcert, authkey, pubkey, cname, rights, time + cname = 'Registry credentials' + openssl_cert = peerinfo[1] + cred_pem = create_cred(keyinfo[0], keyinfo[1], openssl_cert.get_pubkey(), cname, rights) + else: + cred_name = record['g_params']['cred_name'].split(':') + if cred_name[0] == 'slice': + slc_rec = {'g_params':{'hrn':cred_name[1]}, 'p_params':{}} + slc_result = self.lookup(slc_rec, dbinfo) + has_slc = False + deleted = slc_result['p_params']['is_deleted'] + expires= time.strptime(slc_result['p_params']['expires'], PL_DATETIME_FORMAT) + expires = datetime.timedelta(seconds=calendar.timegm(expires)) + if slc_result and deleted == 'f': +## if peerinfo[0] in slc_result['geni']['userlist']: +## has_slc = True +## else: + usr_dbinfo = determine_dbinfo(get_authority(peerinfo[0]), self.tree) + if usr_dbinfo: + rec = {'g_params':{'hrn':peerinfo[0]}, 'p_params':{}} + user_pointer = self.lookup(rec, usr_dbinfo)['geni']['pointer'] + querystr = "SELECT * FROM person_slice WHERE person_id = "+user_pointer+" AND slice_id = "+slc_result['geni']['pointer'] + usr_slc_res = cnx.query(querystr).dictresult() + if usr_slc_res: + has_slc = True + if has_slc: + rights = '' + if slc_result['geni']['rights'] != '' or slc_result['geni']['rights'] != None: + rights = slc_result['geni']['rights'] + else: + rights = '(10-0)(11-0)(12-0)(13-0)(14-0)(15-0)(16-0)(17-0)(18-0)(20-0)(21-0)(22-0)(23-0)' + rights = rights + '#0:comp:planetlab.*' + #authcert, authkey, pubkey, cname, rights, time + cname = slc_result['geni']['hrn'] + timenow = datetime.timedelta(seconds=time.time()) + if expires - timenow > CRED_GRANT_TIME: + openssl_cert = crypto.load_certificate(crypto.FILETYPE_PEM, peerinfo[1]) + cred_pem = create_cred(keyinfo[0], keyinfo[1], openssl_cert.get_pubkey(), cname, rights) + else: + raise NonexistingCredType("Credential "+cred_name[0]+" does not exist.\n" ) + if cred_pem == None: + return cred_pem + else: + return crypto.dump_certificate(crypto.FILETYPE_PEM, cred_pem)+keyinfo[3] + except: + return None + + + #returns the existing acconting information in database to the caller + #peer parameter shows the caller certificate, containing the public key + #record keeps the parameter: account_name to ask for + #dbinfo is the information showing the relevant tables to act (db and table name), in the subtree this interface manages + #keyinfo is the id, id_key, and accounting data for the authority + #peer_cert is the ssl certificate of the peer + def getAccounting(self, record, dbinfo, keyinfo, peer_cert): + cnx = dbinfo[0] + table = dbinfo[1] + try: + acc = None + #check if the record exists + rec = {'g_params':{'hrn':record['g_params']['account_name']}, 'p_params':{}} + res = eval(self.lookup(rec, dbinfo)) + if not res: + raise NonexistingRecord("Record "+record['g_params']["account_name"]+" does not exist.\n" ) + if res['geni']['pubkey'] == peer_cert.get_pubkey().as_pem(cipher=None): + openssl_cert = crypto.load_certificate(crypto.FILETYPE_PEM, peer_cert.as_pem()) + uuid = 0 + if not res['pl']: + uuid = res['geni']['uuid'] + else: + uuid = res['pl']['uuid'] + acc = create_acc(keyinfo[0], keyinfo[1], openssl_cert.get_pubkey(), record['g_params']['account_name'], uuid) + if acc == None: + return acc + else: + return crypto.dump_certificate(crypto.FILETYPE_PEM, acc)+keyinfo[2] + except: + return None + + def __init__(self, socket, handler): + #initialize trees + self.sr_tree_file = SR_FILE + self.cr_tree_file = CR_FILE + self.sr_tree = None + self.cr_tree = None + self.construct_hierarchy() + set_tree_globals(self.sr_tree, self.cr_tree) + #initialize security module + self.sec = None + self.sec_init() + #set function list + self.functionList = {"register":self.register, "remove":self.remove, "update":self.update, "lookup":self.lookup, "list":self.list, "getCredential":self.getCredential, "getAccounting":self.getAccounting} + SSL.SSLServer.__init__(self, socket, handler, self.sec.ctx) + + def construct_hierarchy(self): + self.sr_tree = InterfaceTree('slice', self.sr_tree_file, (AUTH_HOST, AUTH_PORT)) #slice registry interface tree + self.cr_tree = InterfaceTree('component', self.cr_tree_file, (AUTH_HOST, AUTH_PORT)) #component registry interface tree + + def sec_init(self): + key_info = self.sr_tree.my_tree.info.node_data['key_info'] + id_file = key_info.folder+'/'+key_info.id_file + id_key_file = key_info.folder+'/'+key_info.id_key_file + acc_file = key_info.folder+'/'+key_info.acc_file + cred_file = key_info.folder+'/'+key_info.cred_file + + self.sec = Sec('server', id_file, id_key_file, acc_file, cred_file) + renew_cert('accounting', key_info.folder, 'slice', self.sr_tree.my_tree.info.name, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + renew_cert('credential', key_info.folder, 'slice', self.sr_tree.my_tree.info.name, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + + #save the state of the interface trees + def save_state(self, type='both'): + if type == 'sr' or type == 'both' : + self.sr_tree.save_tree() + if type == 'cr' or type == 'both' : + self.cr_tree.save_tree() + +class handle_connection(SocketServer.BaseRequestHandler): + def handle(self): +## pid = os.fork() +## if pid: +## # parent process closes connnection and returns +## self.request.socket.close() +## return +## else: + try: + peer = server.sec.auth_protocol(self.request) + if not peer: + return + + operation_request = msg_to_params(self.request.read()) + #determine the database information associated with the hrn of the call + hrn_of_call = operation_request["g_params"]["hrn"] + opname = operation_request["opname"] + target_hrn = '' + if opname == "register" or opname == "remove" or opname == "update" or opname == "lookup": + target_hrn = obtain_authority(hrn_of_call) + elif opname == 'list' or opname == 'getCredential' or opname == 'getAccounting': + target_hrn = hrn_of_call + reg_type = '' + if opname == "register" or opname == "remove" or opname == "update" or opname == "lookup" or opname == 'list': + type = operation_request["g_params"]["type"] + if type == 'slice' or type == 'user' or type == 'SA': + reg_type = 'slice' + else: + reg_type = 'component' + elif opname == 'getCredential': + if operation_request["g_params"]["cred_name"].split(':')[1] == 'slc': + reg_type = 'slice' + else: + reg_type = 'component' + elif opname == 'getAccounting': + reg_type = operation_request["g_params"]["registry"] + tree = None + if reg_type == 'slice': + tree = server.sr_tree + else: + tree = server.cr_tree + dbinfo = determine_dbinfo(target_hrn, tree) + keyinfo = None + if opname == 'getAccounting': + keyinfo = tree.determine_keyinfo(target_hrn, server, 'accounting') + elif opname == 'getCredential': + keyinfo = tree.determine_keyinfo(target_hrn, server, 'credential') + if (dbinfo == None): + self.request.write("WRONG INTERFACE") + return + # check to see if a matching function has been registered + if not server.functionList.has_key(operation_request['opname']): + self.request.write("NO FUNC") + return + #check the authorization of the peer + if not server.sec.check_authorization(peer.acc, peer.cred, operation_request): + self.request.write("AUTHORIZATION FAIL") + return + + #perform the function call + op = server.functionList[operation_request["opname"]] + params = {'g_params':operation_request["g_params"], 'p_params':operation_request["p_params"]} + result = None + if op == server.getAccounting: + result = op(params,dbinfo, keyinfo, peer.cert) + elif op == server.getCredential: + peerinfo = [peer.acc.get_hrn(), crypto.load_certificate(crypto.FILETYPE_PEM, peer.cert.as_pem())] + result = op(params,dbinfo, keyinfo, peerinfo) + elif op == server.register or op == server.update or op == server.remove: + result = str({'message':op(params,dbinfo)}) + else: + result = op(params,dbinfo) + if not result: + self.request.write(str({'message':'Requested record does not exist.\n'})) + self.request.write(result) + return + except Exception, e: + print "There is an error handling the request. "+str(e) + return + +#child process never executes this function, because it exits in "handle_connection". +## def finish(self): +## server.save_state() + +server = GENIServer((LISTEN_HOST, LISTEN_PORT), handle_connection) +def main(): + server.save_state() + server.serve_forever() + + +if __name__=="__main__": + main() + diff --git a/server/server.pyc b/server/server.pyc new file mode 100644 index 00000000..478d6e7f Binary files /dev/null and b/server/server.pyc differ diff --git a/server/serverprj.e3p b/server/serverprj.e3p new file mode 100644 index 00000000..cc32de40 --- /dev/null +++ b/server/serverprj.e3p @@ -0,0 +1,39 @@ + + + + + + + Python + Qt + + 0.1 + + + + + den.py + + + server.py + + + + + + + + + + + + None + + + + + + + + + diff --git a/server/serverprj.e3t b/server/serverprj.e3t new file mode 100644 index 00000000..1040c8da --- /dev/null +++ b/server/serverprj.e3t @@ -0,0 +1,6 @@ + + + + + + diff --git a/server/slice/planetlab/acc_file b/server/slice/planetlab/acc_file new file mode 100644 index 00000000..6fdfaca9 --- /dev/null +++ b/server/slice/planetlab/acc_file @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/buaa/buaa.cert b/server/slice/planetlab/buaa/buaa.cert new file mode 100644 index 00000000..183e8d44 --- /dev/null +++ b/server/slice/planetlab/buaa/buaa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRidWFhMB4XDTA4 +MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owDzENMAsGA1UEAxMEYnVhYTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4VCO0co+HyKXQnjAUk7yRHCJj+iO0xrr +zkb6rMlCsj2eiBVYn80jS0JHprxaWLpHjH2TBGm6UcSq2OM/iLdoo2PxE9/uGJvD +ovwITLDCz9BRzlpeDC/vp/zEct5ipGJ6nin8cYQU6duY1COK+Fs6HP76mt5NquH8 +qIu23uOvh7ECAwEAATANBgkqhkiG9w0BAQQFAAOBgQDOhqPSG26qaWJL0R2RqiQ9 +Qno20ZYpR/6DNDSnuF2zE7pczSq0htD3g1P0m+SVuDF5P4DcBfRHkjYramdIZ3vK +QMp2DFtfIzvjKa//feaS1QZRIzHTyEpIl5Q+oaWBKRzLOvpIHsWBOkVR0WBhL2/G +N4ZRDn0PuFeBkWSzKkidgw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/buaa/buaa.pkey b/server/slice/planetlab/buaa/buaa.pkey new file mode 100644 index 00000000..801200a3 --- /dev/null +++ b/server/slice/planetlab/buaa/buaa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDhUI7Ryj4fIpdCeMBSTvJEcImP6I7TGuvORvqsyUKyPZ6IFVif +zSNLQkemvFpYukeMfZMEabpRxKrY4z+It2ijY/ET3+4Ym8Oi/AhMsMLP0FHOWl4M +L++n/MRy3mKkYnqeKfxxhBTp25jUI4r4Wzoc/vqa3k2q4fyoi7be46+HsQIDAQAB +AoGBANLAXGbFSqgq3dtSQWp758a2kSWnvPifpNO0tsMqGhXI52GYveXzpsC9hXHj +moqF62jxCLRHBP14/OmUXphOHjN9cBhzA/5EuERhmDEYohiTfvLN5odpZQNHva1G +mGkXK+0FULT0LnV5VvKJRjw4SXQYYsSvwJaQ1QX59ftcRyoFAkEA85QgIvLQjAf7 +yZmK//gDEWfogIFN4BZAZo91cfB5tOghfusxl8W5yut3Zi+LeLFhbGg4O53v1E0N +D1xIl/Yf2wJBAOzN//+yhAPUL/cgEC1eepYqRXsCQICqju9kbBO1ggPM8YTi5MnH +jIq33I2LtjCzJu7KEs+iAKFEdAenCsQ8gmMCQD2Eo7kv6kvzmDwKc3jCgsPaonYS +MkDuXcWJZfgo7BQsrIkJjbTvU0VUwwsj5u3MnvZqPAmSkgfkje/bNtpqZxECQH26 +ci1krssJod3n3C76dsO79d/1tiGabQGVo/xi5oD2E1Wm0iqAFJKiRCuy/iylMgqe +p5YuQX9eROy7N/Aw4FkCQEjxNglW5hAp/zJh/7b+6MPYw1UeXuxFPsSMLSGkGhL8 +M9z9jQ7julnpLkbvuHY9HbIYci8d9wdmFsZQjqbEceY= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canarie/canarie.cert b/server/slice/planetlab/canarie/canarie.cert new file mode 100644 index 00000000..52c5e232 --- /dev/null +++ b/server/slice/planetlab/canarie/canarie.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdjYW5hcmllMB4X +DTA4MDMyODAzNDUwMVoXDTEzMDMyNzAzNDUwMVowEjEQMA4GA1UEAxMHY2FuYXJp +ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvz94T+dv3wgMD91Hg0k1J24N +lGNQUhSxN/wPCqWJR/+82Y+tZOT/zW7EGLB7HvI5N+zp9+KBQwc6fc+2nseOXfJy +dhY51H7nyKwMIStMgWIdsSnvV8aQLTyBZyi188BKQSB3FkOKWuYUp44xoczYYixP +VBljvAsEzxnrKDHJJSMCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBgUbzWXTa9X0uw +pSaZifNi1OyDu2EkCU7/ZfFFbjnDy4bkCuZ8RnPKCHItzZ69z2HNV4ratEYACptm +MxNMmr1j4w11V2F0YSbS3teVjg9sAFvCjA4gAGry/K4XS2ZfcAQBgdI8JpyiXRRH +eMNuIv8crZ2dr+MGQTdxu9s9pApRKw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canarie/canarie.pkey b/server/slice/planetlab/canarie/canarie.pkey new file mode 100644 index 00000000..92d173b5 --- /dev/null +++ b/server/slice/planetlab/canarie/canarie.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC/P3hP52/fCAwP3UeDSTUnbg2UY1BSFLE3/A8KpYlH/7zZj61k +5P/NbsQYsHse8jk37On34oFDBzp9z7aex45d8nJ2FjnUfufIrAwhK0yBYh2xKe9X +xpAtPIFnKLXzwEpBIHcWQ4pa5hSnjjGhzNhiLE9UGWO8CwTPGesoMcklIwIDAQAB +AoGAIZmLD66/jtWhGOBtgflIp2bEZ/+SyvjrscRM+DfhCI87pJWDhyhccME3HodS ++jrgJp0u9egLgbUxZ40ornis4DJx1TysLHf2BudaryNi1WvQCzwXBidqnDtcKg8D +f8BFyX7dj94PBGj4CNpooCicBV686k0sHQcisVsC89ZS+GECQQDzKbqTP0o7X2KS +0qrwM+x7r5ZSePY3uu9Bise3vnbMfXvmUih3Di0uw7UsCw4wpie2kll6eafilevJ +7nIexjxbAkEAyVggFgvQB81Cicf4NUV52XUbgXTRvWsETnb4IMHMdyreeGAZV0sT +b5/hedGs4n7YtAftol+ligu22faZrPC02QJAcJIs8eYm832hIN+uiy0+mbQcH2oo +cnx0Lx+UfhgK33hoV6RJX3SMrk2kHhOwKg2B7R+rlOulMVy+n+lno5+aaQJAI5Ud +ZogD5b0Sq0LZzKBQnmuhxskcX/tPsYY456EYP18mHePt1o2AC9QXhu3VPdno9jgI +eQ+qM7FKSU7ZbcTEUQJBAIA4cJ42sdAWeMNIcyEOeCNCi+e3a2mf/cQ/3yZqmdUK +0JPjUWGMe7KrwoPtTZ430gCYBG0gGilykSEmyJqRvO4= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canariecalgary/canariecalgary.cert b/server/slice/planetlab/canariecalgary/canariecalgary.cert new file mode 100644 index 00000000..17669433 --- /dev/null +++ b/server/slice/planetlab/canariecalgary/canariecalgary.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZWNh +bGdhcnkwHhcNMDgwMzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAZMRcwFQYDVQQD +Ew5jYW5hcmllY2FsZ2FyeTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1Cep +VkRrenTVTiAkTPcXEIs0nvdxWuREdxqlk4tNGQBbhMXZd2ETaq7lQ4vrHJ3zhpO0 +ZvSDQhtz6hfLlCvk28MooXJR9uuYMsg/3TAT1eK4cXjDey60R6N5ULrjoetUKb6U +KlTvPGKaawyA16f3HbVCFej5ybest9vRP5opknMCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBRGrPFJbNB27lwyKhxrm4gtNIzA2CV1elhpizdzI2ShTIGbw/BDDcB/VW0 +GAy/gcv1mrjuREF3hKX5zjMLrAygkA/Uflxu8v/CleW7hhL1KbeJSD7zMPHLB+RS +Q4SmWzRiWsP0odRYSdNO7V6myiqUkSKDnWgW5ChNQNnk0r2mYQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canariecalgary/canariecalgary.pkey b/server/slice/planetlab/canariecalgary/canariecalgary.pkey new file mode 100644 index 00000000..f4d89b8f --- /dev/null +++ b/server/slice/planetlab/canariecalgary/canariecalgary.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDUJ6lWRGt6dNVOICRM9xcQizSe93Fa5ER3GqWTi00ZAFuExdl3 +YRNqruVDi+scnfOGk7Rm9INCG3PqF8uUK+TbwyihclH265gyyD/dMBPV4rhxeMN7 +LrRHo3lQuuOh61QpvpQqVO88YpprDIDXp/cdtUIV6PnJt6y329E/mimScwIDAQAB +AoGACybuktdT4wMDN3EfF2ChuL/oizasob+ADda7v27CJb9MEEWqMclLkP8SlCNl +v4JaC8f14reVssLoq/SGQgqwo/gx9qvfrBNAXHsD72m/igiIL1Qv7ADOKOKX7owu +B9L4qFsbI/X4x5JF5IYA5uO1vjjCGvdXTkNI5U6UoLNEC6ECQQDwaqChL26fQB26 +ZHYk1LfhErwB8PKHZ9JBikzUfYhM+RoBO7J83xIB3Ww4TEAu1T7twUjNhql8nxIP +3wjz/urDAkEA4egSqd+VFdeLeivGVWl9kIfFot6043pnzVN5AVSjBMtSCtCMkXzE +a3qTrkaCLMSwmF2sOpDOJdzuI8k/WfFekQJBAL1MF6ISiNWXVFD43RVu8EGl0Kbu +ouf+1UyJqqj9Fp8U3GbwLD+qHLGfOKCzWS4G9f+aWsqJJ1ZaoYwhnxkPNKUCQQDd +74JOc4JjB/RWHSVnihC66jhHDyaFCR9rf+M0ZHMXZax/RW2kDQBnWvA1Wb3Pv5iC +yBxJGTP9zLQEYlUjxtaRAkEAxyfFtWCzw9+NlrTQL7bUEEhwk0fFPWx/twF5BOPl +scLpbNpO9m1N0IeSQ6YT8Eom6qB/VO1bi/tmzWg+DxMLjA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canariehalifax/canariehalifax.cert b/server/slice/planetlab/canariehalifax/canariehalifax.cert new file mode 100644 index 00000000..50fe2e63 --- /dev/null +++ b/server/slice/planetlab/canariehalifax/canariehalifax.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZWhh +bGlmYXgwHhcNMDgwMzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAZMRcwFQYDVQQD +Ew5jYW5hcmllaGFsaWZheDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAw/Pe +dFh/pNc8k7ewRYdXe2i0aE1PjCKVbz/Lf+23aXbLUo1n+s1uIZ5J6zsN6CQD2LOP +NPgLeFegoR7MnVDX+F2J/Z589YG6aDR4t963D3EGnMEJ8zMR9jvGG/Mm+DWymQPt +pt3kmHDB3cC83FuXvqf4Z61aRlLxIy/K0g3z/dsCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBgNlJbh33dZq2esZRuURigaeU0K3dG93tL9NlvR64y+xOFOqw2dzUQ2ZT4 +usVjFY34CxQeOws114KDrMxLTUu/tCexNySfCV4htLe/iaUM6EiaBGiv3YZZjSiX +5En6oDXU8gjaL3Xxp8PC6bWhCm71hGEhHI1drt4RzAf9uoOrZg== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canariehalifax/canariehalifax.pkey b/server/slice/planetlab/canariehalifax/canariehalifax.pkey new file mode 100644 index 00000000..75ec85e2 --- /dev/null +++ b/server/slice/planetlab/canariehalifax/canariehalifax.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDD8950WH+k1zyTt7BFh1d7aLRoTU+MIpVvP8t/7bdpdstSjWf6 +zW4hnknrOw3oJAPYs480+At4V6ChHsydUNf4XYn9nnz1gbpoNHi33rcPcQacwQnz +MxH2O8Yb8yb4NbKZA+2m3eSYcMHdwLzcW5e+p/hnrVpGUvEjL8rSDfP92wIDAQAB +AoGAe5Jh+fsJW/nEIN+ZEO+90nyAMLp4bMYueL7BZYaSwLaCmCfGp9o/FoJM2UQf +jAKSTmlF6UB3c0fHa3QR0y91UfXm1/XXkgWi3SQZy7P1LQnmgYYrpTRMgdaVQiJ2 +8PtnKDUBfTBAqAHu3BnIPhqsanzVsxgCJBVReLEk1rowhIkCQQD6TnRF5ID7U4J/ +r9/IGB+oiirDx3j1VCb8GhJqrxywOWKxZmZSV885mBlNWhB3bSkj7OhiACDu4eh8 +pjQACMNtAkEAyGjo7Ku1JD/YIPRHbjt5+BKgjZbyCY0JHUZpKSuEd0tKc9e1FZhE +t8rthT3eCnF5w6VRdYbnnpXEZ8ZiyCuxZwJARImg6tZjvu2h6QamVurMGGEkzpDa +/Qn61sLo0g964oIEFSE92UQz+Mg9/WEw6xKX1j9zbgos+lwfRapYyL2djQJAPmN6 +b4McxwYhEFE7k3Nsiu+xj6J4AsUnGzf6MNjdSg3kRZ/XPbvDWLwRqTMTVojw8Rkb +/MxceqABHpVB1zLS7QJBAIWbIo6qzu0NF43XJyA3uAQvP3heljxIJsj/I8egXpv5 +kwdoHvNKAAWuw5f9YmBe3AFThen/4JI1U0sV3Xp++J8= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canariemontreal/canariemontreal.cert b/server/slice/planetlab/canariemontreal/canariemontreal.cert new file mode 100644 index 00000000..07590322 --- /dev/null +++ b/server/slice/planetlab/canariemontreal/canariemontreal.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPY2FuYXJpZW1v +bnRyZWFsMB4XDTA4MDMyODAzNDUwMloXDTEzMDMyNzAzNDUwMlowGjEYMBYGA1UE +AxMPY2FuYXJpZW1vbnRyZWFsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCx +lqju+Bh+Z1noC3wW8tjH3lbxtjHJFzq0VGJ2sgcFt9F9u/CZ4I0TjB9WuCoyVRr2 +MoVOcqmYfCHOsy5mJX4FGD9yWjEndKybbg/pqkvBjYtVXWRjp//PO+nYJ8dzLqxr +nYJufiow15RQVFp4f32xBGxTVvgEHDQ01ccxcXiu1wIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAJCprpSaYJ8WHV6BK+KS6N1IOKNgYinS5goZatUiWajej8ttSzdZNNiT +A9qJFMR9BMr4p5PMyrymKJN8dhdZZzt0qPLOXO4T/c6MOqZiJ0JiUwarwI6nF8lp +iE7vyDzxKzQ9AOi7lMWk0WgEOruzy7BnQOh/9aQHKaIrOTFEm72P +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canariemontreal/canariemontreal.pkey b/server/slice/planetlab/canariemontreal/canariemontreal.pkey new file mode 100644 index 00000000..a970d3a0 --- /dev/null +++ b/server/slice/planetlab/canariemontreal/canariemontreal.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCxlqju+Bh+Z1noC3wW8tjH3lbxtjHJFzq0VGJ2sgcFt9F9u/CZ +4I0TjB9WuCoyVRr2MoVOcqmYfCHOsy5mJX4FGD9yWjEndKybbg/pqkvBjYtVXWRj +p//PO+nYJ8dzLqxrnYJufiow15RQVFp4f32xBGxTVvgEHDQ01ccxcXiu1wIDAQAB +AoGBAI7cRUAgYwvktmW+P2/yokN+8HB4Aerj/fytWZxksNN/wU4lj3MqOjM8aMWJ +V6Cv6AWgNK8b/KTHTycJ68yOYqX8f/UPPw53yrWo/r/smJDE84Nw4ln6cUs++ytP +xOe3hj2UzLhYT//lNC2OVBZPLkH40q7Ovu1Uqnbz8fX4uQoxAkEA5j2piUHlPEx9 +qeyyubGLRIBfMC9t5BfkRrMezgJv8UKMieKm/A0YEWCz4b08OhJ8DXmeLF0qENw4 +Qsrv2U5aaQJBAMV0+sLrm8kHAtUvIYn0TcoctR4InjPYHmN9ndaZo4QzbZ8yRFM9 +S1OSUZ986FkSdSXGFIz6k975DID+yBhpFz8CQBJnxYDCcsfSOY127YaoqcBtHq7k +a717J3V7ZjADw90ee8ueAclOZqkk+NxH22OtDJurKDjVrcIxSJIWVPwjJlkCQHPn +T459CEu+/s2uRayZp9O8eB/yBRL/iA70XGLsekwOeAlbUzndH8sldx38DtLB/9u1 +YrjCGWxnmgxaAZA6l7cCQE8thdtJJgO25ob5Yy4xmaOQvr8RpJF3v83UjDAPrxKb +WGLB9/ZopLe6TrLH8UKe0s5/SiCsqyzFFBsHGYjuUMM= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canarieottawa/canarieottawa.cert b/server/slice/planetlab/canarieottawa/canarieottawa.cert new file mode 100644 index 00000000..b11e1cfa --- /dev/null +++ b/server/slice/planetlab/canarieottawa/canarieottawa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnzCCAQgCAQAwDQYJKoZIhvcNAQEEBQAwGDEWMBQGA1UEAxMNY2FuYXJpZW90 +dGF3YTAeFw0wODAzMjgwMzQ1MDJaFw0xMzAzMjcwMzQ1MDJaMBgxFjAUBgNVBAMT +DWNhbmFyaWVvdHRhd2EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKJyrS8w +AY2C/wn7AkQpMeYGxQ99QsIXPwMl6Wgd/t5kdUMheyhV3J+C4nHTIz05aRXrc+45 +LTmAnGODza4UEDuRewfAMJRNqOOdXygkJTcVm+kDBPgOKCzzvVYP2t/eCDovBTwy +AtdKVlofCcxb75QPd6Jp1vLEY65st1Z5v+8XAgMBAAEwDQYJKoZIhvcNAQEEBQAD +gYEAeT/8jTRrBu7SLjPlQ9tRUk04DPRorn3vPH+IwtwKr4oWXmIUO3yATvCBfk5x +/DrO9yuVDVXxANd3zriA2xsG+/G1bZLu54spee2Rg5YoaUwnURnS0xke6jd3atGl +0XstmhMrapDfLL3Xie9/3QbqQXlo9VdQPlm7/e2RJpVvXYc= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canarieottawa/canarieottawa.pkey b/server/slice/planetlab/canarieottawa/canarieottawa.pkey new file mode 100644 index 00000000..3ec0524a --- /dev/null +++ b/server/slice/planetlab/canarieottawa/canarieottawa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCicq0vMAGNgv8J+wJEKTHmBsUPfULCFz8DJeloHf7eZHVDIXso +VdyfguJx0yM9OWkV63PuOS05gJxjg82uFBA7kXsHwDCUTajjnV8oJCU3FZvpAwT4 +Digs871WD9rf3gg6LwU8MgLXSlZaHwnMW++UD3eiadbyxGOubLdWeb/vFwIDAQAB +AoGASqOmLyg/jmXCCTPrtqW255n0sUk8gzFrImco903Q7R37Qvz/OWk6FZBtux7n +8hmOzyOAANUEkoclVBQbTQCq8/hbKKYBFD/HKMDLvW+fDpQkX6l6JZMFliE3UYbz +3Tc+bCHReMG9V2QD/hTZTG1xDdzuKFEs7SXG8Amc66QIngECQQDOMluHFrW6PuR9 +TPt+/YWXv8VVh0O3GDdHv32oE9ukp/ku6aK+hvWOY/QDsiPny0qMGYDlaAellh0o +F4/CbA+pAkEAya86OUpX5z6q/m87GnBYo8kzER1FOzffk+/PtuX+sEyjNXM+94NJ +Gh2jG2prL1WRfN9Pf+Zc82BKHz4zh0ZAvwJBAJ8va0/QLX3afgVqACLa0F8F0u+j +nJhmno7Ke9Tdd80XTJ12C4kxobNK4SBVT7jsTeH48nSoqnagfGPuRLLhP/kCQDBa +++m6gmLmKpdAUfpfz1DNr5m929h75/YPPE0Mzci1RzhMfl9XsdI6It4y4KoDqRM4 +c1YmBEkx3/OntTEMzf8CQQCiSJ+KjC1kwAMTMU5HsC1lT7kgNImJOOk4xmwLnXLy +YL5xVgqbdnEd+hOzvaC2vg/rrJ5pqIYbxL+gIpnk+igw +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canarietoronto/canarietoronto.cert b/server/slice/planetlab/canarietoronto/canarietoronto.cert new file mode 100644 index 00000000..47111659 --- /dev/null +++ b/server/slice/planetlab/canarietoronto/canarietoronto.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZXRv +cm9udG8wHhcNMDgwMzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAZMRcwFQYDVQQD +Ew5jYW5hcmlldG9yb250bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArG6o +uW/kYxKPFe6Np4vVO6x2NX7BkZPni+AzlDRywBps7kpkZhQLmqlDw6uzOZu+VyK7 +rLd5ZRquYmpa9JDWnmCsL2qUaULNusevjqxWDnSy2JfGRaSLa/WRw0pYMiMiNPhf +KhoG1CFiArPO2pVYRaboxeCnKX01nwRZ2OrJfhUCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQCEEdCPjQ54BsxHOWkpmKFMWTvzD/GaXD41G8sNP/++FrIWiWJK3yCdsl2z +1mcT3zFJTgUs0EYVfHgMjQq4Pp2Xf7yPz59K4eqWdp2tH6efAKVi9X5QJ++gUwQe +MPgfPSfZ4Jg4oiFB++o7rBf8ie3QQFRjWn66QJo4sCILRlR3Ww== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canarietoronto/canarietoronto.pkey b/server/slice/planetlab/canarietoronto/canarietoronto.pkey new file mode 100644 index 00000000..c2c9326d --- /dev/null +++ b/server/slice/planetlab/canarietoronto/canarietoronto.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCsbqi5b+RjEo8V7o2ni9U7rHY1fsGRk+eL4DOUNHLAGmzuSmRm +FAuaqUPDq7M5m75XIrust3llGq5ialr0kNaeYKwvapRpQs26x6+OrFYOdLLYl8ZF +pItr9ZHDSlgyIyI0+F8qGgbUIWICs87alVhFpujF4KcpfTWfBFnY6sl+FQIDAQAB +AoGAFiiqWho8+VZbOPBNF+jqYB7LmhhN+81MBjerqTIMRQ+gTAcXW97bluaFpNGd +2JthHIWEJK/3U7zYCCGuypsKWV3gkbEY3J6S8/6wHx67TmnM6QQRFoiejNZ+Fr8y +E86sYOoIUkNjw8swGb8M5RDrz2lixNAem3OtN/NWwk7lLMECQQDiXBThZqgdxmFA +AFl1vS8OuNaGKXaggkDlmJl1aChv9oiA6iDhXjaViyjB1/qpK2ovH/A3jVPSeLip +0xwr84H5AkEAwwLZQQ+rpBly5ETTXwL7kp6M5AO2lfedkKTtXUWLGw96a95xP0jE ++Ng4oD0l5q1dKgZKWz4UlEjq9PrseoUj/QJBAM0J49AYkQgHfmfe6SoBZ/LJ82gr +fsz9r5NJmxgCdT6V7if37Di4gnELUKvl26QJM3HkWE+5sMfhmkQaelZFiOECQQCb +Zmy8RQGRblo4/4O1Bgp1x3Ucyry4ey8LsfIZTq7QbKAwz31NYe7dImjVgITwcxx3 +vbWJSkpZ9FWPzVmfNPP9AkEAkbJY46ht9kI4r/C1ZKW8JYBWUO1mcJr0qhBY0dES +WMZJl7U3VLqZ/C0dZBdga3no0z7SVWhIl591N0NhuW6MHA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canariewinnipeg/canariewinnipeg.cert b/server/slice/planetlab/canariewinnipeg/canariewinnipeg.cert new file mode 100644 index 00000000..16e0335d --- /dev/null +++ b/server/slice/planetlab/canariewinnipeg/canariewinnipeg.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPY2FuYXJpZXdp +bm5pcGVnMB4XDTA4MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owGjEYMBYGA1UE +AxMPY2FuYXJpZXdpbm5pcGVnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDr +Pxqj5/UUVIe0ro/xVJfHzUOb4BlY59sZ+XPhtQ+kZQ7O1XVf5aya1hSCjTEqSCGH +hr+4wQlYxbCe6dNObjkgb0zhKE+12tLZ7zmUrjw3VDOGvhTWkZFtOdC2lKBCn5AT +hDLNdGkm1qF4t/Z18snCuvVnOWhAJm9t1VFgOhJ/iQIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAJg3lMom6NBliLg85zM0hhRnMYZoG6aQBe9HiAVyRdKshNbDUtrALqJd +XfDg+TdKGacWWlh1CM3muqlJP+lKGnJr8m0WvSfENeCdyLFbhP+UGjGwADOcWIdI +t/IcLZv2RIEKl8AEu+GWv9KEMKU3Y4bn+rOuDcJUJWNJvRrVNZDD +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canariewinnipeg/canariewinnipeg.pkey b/server/slice/planetlab/canariewinnipeg/canariewinnipeg.pkey new file mode 100644 index 00000000..b8fb8eac --- /dev/null +++ b/server/slice/planetlab/canariewinnipeg/canariewinnipeg.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDrPxqj5/UUVIe0ro/xVJfHzUOb4BlY59sZ+XPhtQ+kZQ7O1XVf +5aya1hSCjTEqSCGHhr+4wQlYxbCe6dNObjkgb0zhKE+12tLZ7zmUrjw3VDOGvhTW +kZFtOdC2lKBCn5AThDLNdGkm1qF4t/Z18snCuvVnOWhAJm9t1VFgOhJ/iQIDAQAB +AoGAKj+pDyrHbyFHRgHbxCHHKJEKxWHX64moZd/RGgYkiwfDQw4/CDv9Zclw4Ylt +/QP7UZW3tPymKxVGBSRFWN6ez4ZHJM4NIHAjxbpjuyUw0zBTM7Ed3CdtQQeOXdrP +bzL4EW9ABLmvQrKKyXW5+WxN8EPkg+68R+kjddsmx0bKpmkCQQD3k4M0MGKOwOjU +ppl0ueRiu6GFdZziRgMbgn4lWgG1x0V8GaD/M8xqpG7e9ETfzGZdIU/IOemVmkHR +sbj6/isLAkEA80Ax3JcSR6wF795VjhMVzNUdzuz5+N3e2xxLdlZC8u93yP25tc6N +q2xbI4l/G53db5pp72ojHgx7m0u7Tzg8OwJBAIsctzenDGo8WVfL+SROo9caqSrN +qIa4Ylyd2XXxek6DFzchS4a6u10c4jOjO+Qo/UfNRQA0El1+nQdP/qoCEXsCQQDd +rq1CSXNhWgZ3GfqCZiZB7B8kS5dsFFda/ChRij+tQku6InEynTFC/pb4hgAO3QnH +AcR1ahbi9aFYX+YuRiOtAkEA32LWwPtnVx0EJ9jHvzpCw8PEyU7oAZkFGLLbs6iT +4cY3l9NhAvrKVmFyJrlhkBzZA3LAko/NL1UJsGpd00K/dQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canterbury/canterbury.cert b/server/slice/planetlab/canterbury/canterbury.cert new file mode 100644 index 00000000..b89f2301 --- /dev/null +++ b/server/slice/planetlab/canterbury/canterbury.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2FudGVyYnVy +eTAeFw0wODAzMjgwMzQ1MDFaFw0xMzAzMjcwMzQ1MDFaMBUxEzARBgNVBAMTCmNh +bnRlcmJ1cnkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO8qVycIcPftfVfY +8GUAQAOhsi+06ggwRmn37OzcEQ21+NjDiKMR9xPjRC1wxoSlPPTM4+Cia3V1c7MV +jEXc4UcGzMVnP7LrXG+vjTPOppOI8vTSkj07gKK+gGrti/jNpyY3sXn0hTuK/QU8 +G6fEsZyu9OyLTvD5749YDdpgC5dRAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAVL+m +DcbGwGm9IBg8CxTD8H5m4pPhyNLwVIpaBRRFhxdse3rq742LT/2s6JfdZHKirJZ8 +DfxDJ4yFY6fH9E7y4HOl0eMrAkCd9zSfZqtRWHqXwMrBcVDLGmaWji4lnnSNj+/S +ncxfnBE3P/Zh/1AhqD7fKK9VONfpArlesKgBVVg= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canterbury/canterbury.pkey b/server/slice/planetlab/canterbury/canterbury.pkey new file mode 100644 index 00000000..4772f728 --- /dev/null +++ b/server/slice/planetlab/canterbury/canterbury.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDvKlcnCHD37X1X2PBlAEADobIvtOoIMEZp9+zs3BENtfjYw4ij +EfcT40QtcMaEpTz0zOPgomt1dXOzFYxF3OFHBszFZz+y61xvr40zzqaTiPL00pI9 +O4CivoBq7Yv4zacmN7F59IU7iv0FPBunxLGcrvTsi07w+e+PWA3aYAuXUQIDAQAB +AoGALvlZ9Mirp4Z1v/NUBAJwkEYKAWS/MqyIp/eSCVOP5el/3tNI2v6EUNuqYGJu +G095EXvMpipAgOl4uAvbaT1g4Xk5Rd3XdEIBI6W3RfyMbWpUaraIlD305l2aRDQ3 +gHXuGkIf1XzT7RUgmPziNthEIBF47VbDXQBaMLp20aKBViECQQD3vjlk93i29Ifi +cLmh7+eOzFr658snq/z6Svo113KvxK2qNe3TVl2ANfZOm8vLmyxLbXzLiiqaKCj0 +jgo/gkSfAkEA9yLuMb+sacIBcJz14eLdKlK7Wtyq6DaR/NZrLdi08ddUbmpfK1Zy +Tpo6adschTM6+i6FPAQGGfKnsDJoC8suDwJAKCwVXHTwgyJFwocq4sJnFvW2LwdV +Hvq5i9CKoB5uf2fyDS6vgNx5TufxJ7AFrN9doGGBofOmkta+RWGe8ctq2wJAY5NZ +cgYOzBX1SpCTqc4k2ra28qdS3XmPXNZwHOriDUd7p3mImwebyvvtaVV1ql2397Hi +0Qm2A6J32lCVB5t4FQJBALEBq6o6T5+bYeiDQRyOyhj8165bgOtlj4z0zlpX1lef +8Kr+YOdQ5gEo0MYb5GLb7SwpwE79KnZxJXTZLBaLJ5c= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetbuaa/cernetbuaa.cert b/server/slice/planetlab/cernetbuaa/cernetbuaa.cert new file mode 100644 index 00000000..6476b0f4 --- /dev/null +++ b/server/slice/planetlab/cernetbuaa/cernetbuaa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2VybmV0YnVh +YTAeFw0wODAzMjgwMzQ1MDNaFw0xMzAzMjcwMzQ1MDNaMBUxEzARBgNVBAMTCmNl +cm5ldGJ1YWEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANJjdorIoXe6W0KI +4nKK06455u6cFfovDVpfct3xcxqCVs4rZVa2pZ3dVjYcxFfuw2Alf9a6l7i/c9ev +HQ60NoB3KNQ0KTRfKdJYFW/eeQ+GbS6JG0UQz7jdmnWbwir0SrKpjx/+gShj24a7 +CAzmf8wUfsDuKVlFU05pns5dd2MPAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEASx+n +VELi295pDGO88OkW78XhRlLDZyeMaLFvuJRsA6enkjQRGRLGghsD4RLrizL484/o +LoNN+pSOW3tdhcro+mY7jJKJhPBQNue37SDQzhRZkpxmTe4RQU7fsbFFnqGPeglZ +pxaoFBA/V5b2y2xj7M8RwT018I+v4hcroSkpanU= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetbuaa/cernetbuaa.pkey b/server/slice/planetlab/cernetbuaa/cernetbuaa.pkey new file mode 100644 index 00000000..d4f87cf7 --- /dev/null +++ b/server/slice/planetlab/cernetbuaa/cernetbuaa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDSY3aKyKF3ultCiOJyitOuOebunBX6Lw1aX3Ld8XMaglbOK2VW +tqWd3VY2HMRX7sNgJX/Wupe4v3PXrx0OtDaAdyjUNCk0XynSWBVv3nkPhm0uiRtF +EM+43Zp1m8Iq9EqyqY8f/oEoY9uGuwgM5n/MFH7A7ilZRVNOaZ7OXXdjDwIDAQAB +AoGAEOooPK42tR6Jecbxlc3tiONk2qg36B5iT3K/FHL2ExqJihfZFOioVhHWfZFA +g+VRVeiN56Cm1BaoZJ3Skz0P6IzBmGyvjwGoz22WZh36DXB9JsJ8fXtZJMPOT2+G +rONzgebtbnSTwhkmORvCLnNWYyc7+UP7UcoU66xM8KHrSNECQQD5jZnUwThYJ51j +erm+7eBQsNWUU7p4pM3U2CiPOhIepOPHYH391C+DuEkBl23XNEIkWacS31H3h3WO +Ac401oFnAkEA19LZrDi5pfFLbndzyPR/sNL5/O4F6ehZhXnMf4eK3COUjyHiedbF +nymX5qjTQ7oxrPG4o1aTKee/VuUbCJ1AGQJAdP/EbZEhX4NDMQ6q4y8Xif0+RUp0 +FHf/4Jhve6cYM7HO8Pz2VPkURccyw0JBxzHDCNPXluuIvGqP3MJP8UnYZQJAUjeK +oKcDYgnn2G889oLd2filLwtlyVOwNr7Nfo+eAHq1b0lTQ2Lj6dwod8A8qwJVRjLX +SbIDYeVc6LdicwekkQJAfJCapdJmp1lrzm56Jp4zwNNEg15N6NX3O/Izf8SmkD0d +RhRV6PyCehD9b7VdUwvoOrv7ToPcBryzBEosP7L5dQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetpku/cernetpku.cert b/server/slice/planetlab/cernetpku/cernetpku.cert new file mode 100644 index 00000000..3714b252 --- /dev/null +++ b/server/slice/planetlab/cernetpku/cernetpku.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0cGt1 +MB4XDTA4MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owFDESMBAGA1UEAxMJY2Vy +bmV0cGt1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEhdci06ujwMqKSxSW +UxAUOoe0E/dXA17+1q7BrSX3rORAjpki35f3rfkiLrBKtLCWeTHDwEyuyvx37OZI +FtTSES1akZPGgFd4obraTaVn0DBHjBaXJAESeb+8AAdmixrnD8Qe0wifV+unh2sM +zjR85xpeY9KSC7OI0zXEgQiABwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABCLzSj7 +yljbFHVBmTWRM+Bydeekpr6w9iXPBkh5ncS95dxigPhy9aJ69FtLzC087S6MUeC9 +eJYOQIXaUGGpRV9rBAkRxvlmsxk68U2b+TKEOBv5LTjKug+S8EvhbLnGuXq4eXbh +tor9kBs/l7GNxalnjbWyXV/ndSeLi1GuymbP +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetpku/cernetpku.pkey b/server/slice/planetlab/cernetpku/cernetpku.pkey new file mode 100644 index 00000000..16f5a176 --- /dev/null +++ b/server/slice/planetlab/cernetpku/cernetpku.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDEhdci06ujwMqKSxSWUxAUOoe0E/dXA17+1q7BrSX3rORAjpki +35f3rfkiLrBKtLCWeTHDwEyuyvx37OZIFtTSES1akZPGgFd4obraTaVn0DBHjBaX +JAESeb+8AAdmixrnD8Qe0wifV+unh2sMzjR85xpeY9KSC7OI0zXEgQiABwIDAQAB +AoGBAK/aZAySBIDfv13ImX96jGTNiykkxKtkJNk9GdvNKLBcUVNDRtzh34aOcuSX +isEOtwWvJUzZAsVWdlyJ6/aOF5jgZsJMRIaJpglNEFMczWR0bTHSdLvqsCy6bfJU +uv9dRkDnbMq7DHYVVCZFG6iGX5CgaX5guhJFTz3qhuUj99FhAkEA6fcbeT65TQsa +/OaSQgsW7WUYGXX2yUuXzYbpJWOMhctmAxlBOf0paFDZXIKIAfTi4/bBQgnxDub6 +ylwAtREBcwJBANcH/0c9B7DKRCv494JI9VQTSmjWhN9uiVioc0tP3MdH7xDVUnMR +6prAI6uJha3z5NEIjdf5DatV5CnU3BKp0h0CQQCgib9fRYvOcqVVDT0kdgmIYUrV +BZ2N6AHEtCK8Vf9xOuzHiYe5K55DBt7u3F5IwWkCNSnMj5fJuvIw8kpF8+JDAkA3 +1lHJs+VdWQieyoWrBTr/XAsEckAKrO9pYESgF9rivKEto9dHHi3nhWE91/Yol56h +UTFUFc4g4arf2fBTwFlZAkAmEzkMzLCHfT7ARAkYENw8XjWoyVWsYPcQHDjf7ce4 +qympaYbES7zJAhzmkMqDiSyP+bWgKg5+3O0XYlECoOW8 +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetsdu/cernetsdu.cert b/server/slice/planetlab/cernetsdu/cernetsdu.cert new file mode 100644 index 00000000..3d5f0551 --- /dev/null +++ b/server/slice/planetlab/cernetsdu/cernetsdu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0c2R1 +MB4XDTA4MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owFDESMBAGA1UEAxMJY2Vy +bmV0c2R1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC44c5N04HClzJ2lk/R +FU6cD6HwEulR2q9q4KyKLDii6oWCkk5iQVG69HD1VkOjlGj/M16S+8X6mQsaZ4fx +VW0BoNhG04AQqqP8yN6+WZD+odVUQ4UZ49w4C0UHhGx7fiTdwjke/cNkTujISZP/ +zo88XUOhs/5CxSqB16eBL1pS4wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGCsddSo +VY+R+AqPytBtPXS+haM9peokGiou+CZ27otr1h6fCMMhBcoUDql4DGA72P88xHBS +gDiQ477rHKFydLejuK8IXQ8/5xhfyWcHnKlOmANVUF+UHEvEnUJA6PzPVi2eGths +2OfU1Vz53irEhEYV71zN88irx8BYajrHxbpb +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetsdu/cernetsdu.pkey b/server/slice/planetlab/cernetsdu/cernetsdu.pkey new file mode 100644 index 00000000..d537c834 --- /dev/null +++ b/server/slice/planetlab/cernetsdu/cernetsdu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC44c5N04HClzJ2lk/RFU6cD6HwEulR2q9q4KyKLDii6oWCkk5i +QVG69HD1VkOjlGj/M16S+8X6mQsaZ4fxVW0BoNhG04AQqqP8yN6+WZD+odVUQ4UZ +49w4C0UHhGx7fiTdwjke/cNkTujISZP/zo88XUOhs/5CxSqB16eBL1pS4wIDAQAB +AoGAJCPn2yjMRciekbXiVmHO4wzfP/nCaEDSZ5cRw1TPoXEsthB5iBVyr5QW/K5n +PHPHbpORGjRjSBBgrkGsvk1PqFvC6MZTgJ2AB26aXuvsW83chnO5G7u/1OVwqbV4 +PB0+ND1oWNsCoXCumLPu8TyNTmp9RZRa9JwoTtZsPAW9w6kCQQDdDhaFJRfnoGY3 +c6Fwrx7X9gZVQ5XGHIYV3ZgziXwLcNP18PKXK1MEfP5yck6XdqeM4HL+sup3BA7l +JfqhDK+1AkEA1hvT67bvEe7tYXvJwVnGzj3v05uMsRImwLfXvlqQO+yKQV6b4Lgm +pWbx5TTkcPm1XsBXTP5FmV4AWeVKfOwnNwJBAKg9q6gkRiBU9NbpW4qezdPB/Kny +KVDBrs9/evJmhhFTCw9ZFdk18RYuZ54FH4mplfXjccIlu8tfPFLs5+ag+C0CQQCA +VXm2xZWSmDWswrfxrtAc+r7vhULVN94Gkas9K6dcY7GS8RRZo8d2SLgg/I0YsnPl +8T/ipF4vSUrIl0kIi7wNAkEAjZ6fASbCmUab5/R245nh+xaWTdNDeEbPlhxo6BrX +5KcMly0BhpzPXCa4JIti59NvBffPRkqpBv4aDxPcGZYJpQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetxjtu/cernetxjtu.cert b/server/slice/planetlab/cernetxjtu/cernetxjtu.cert new file mode 100644 index 00000000..3270525f --- /dev/null +++ b/server/slice/planetlab/cernetxjtu/cernetxjtu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2VybmV0eGp0 +dTAeFw0wODAzMjgwMzQ1MDNaFw0xMzAzMjcwMzQ1MDNaMBUxEzARBgNVBAMTCmNl +cm5ldHhqdHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOExNZlI90LahaxC +XdPwAxFWHBJhNHcTPM0i5pxk+Z7+6wMT4FKVUmL84WbN3IBPMgv9UkTCBtlKR+4K +N5lpFyHN/TCcQu+Nl8+s1rT0P3cZxdlEMRGmDjQhr91f0rhWv0YQ1OEGjgu/PJLO +MWoAmNlkzlmyDUMWkR9VKmQkB/iNAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAdFkA +Z1i4TrfgAi55OXZGIuhDZIh6epp1T/ev6sgLc9WxpMxi+U5qtTsbabmPMnBlU1i/ +2sZcBVM8CatKbsPerHhCmqhDoEKDo4iX00uBKpzajcY5LJ/7fWBqP+gMAA9Ibz6o +T4mSELr8TcRdFeBiw1ZIb1K8f/E9sHUv41N0WHg= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetxjtu/cernetxjtu.pkey b/server/slice/planetlab/cernetxjtu/cernetxjtu.pkey new file mode 100644 index 00000000..38d8b06c --- /dev/null +++ b/server/slice/planetlab/cernetxjtu/cernetxjtu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDhMTWZSPdC2oWsQl3T8AMRVhwSYTR3EzzNIuacZPme/usDE+BS +lVJi/OFmzdyATzIL/VJEwgbZSkfuCjeZaRchzf0wnELvjZfPrNa09D93GcXZRDER +pg40Ia/dX9K4Vr9GENThBo4LvzySzjFqAJjZZM5Zsg1DFpEfVSpkJAf4jQIDAQAB +AoGAW5iphYThVicOUifYhFlO1iFhX7R8I6cGhyYYCSslQZ/Mtb7C8rRcA3l6sVcw +xlvwLmJGsUL+iCmnolIzlUnipxEEK3bf1gsWETuSUGtRVLAJuoTacCBdXTrj1Xx0 +v5aYGi3bYI8wPWX14HFb4nrP3tsBYwIenEa00x+LDqmdtn0CQQD1aRKQ5Wn7RjDL +pIqwJQEqpnjGkT+qn+8WrBtRit1CPqyq+So+ZEIBpSGS/gKvYQm3254PF7W6F3nM +gm8S/b+3AkEA6ujL1pJ0+jyulbeJ0ImXlMTeTOMVTfBrgxsIg4SKLVSPUIr0TlNn +ZiY0K4jMniEBk5LNu/hmj2RRpNS6C/TB2wJAW/AJLI9FrQUWsrPp4SN71GaZSIqR +t3JDN9MySNIlIfQo68R8tvMIZ2VdtpvClcFcyqxUAoN3aUfyMVOMGSlG8QJBAK77 +biuNuRlV7m6T41K1y3YEF9uKJCqEdnGYx4TAS/VsUb0bZNSbiCAtQRtUsabwyy3U +YvAsHqmdfrubwmJ5lZUCQBfsf/SWv4UoRFszrctfe2dl0HMeWtGLxngo5Y8XmZh4 +7XeGEHo2+wYnOvDNGeQI4zY7fTnE16ezRBw/wJTLQbs= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetxmu/cernetxmu.cert b/server/slice/planetlab/cernetxmu/cernetxmu.cert new file mode 100644 index 00000000..6a34eed5 --- /dev/null +++ b/server/slice/planetlab/cernetxmu/cernetxmu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0eG11 +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJY2Vy +bmV0eG11MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD8psPzBMWvcOOosJo +aOvXTeJDv3MbkAzzlnk639mC+1nulhSotMhR4cKxvo0LxnN7J+bKS5uVEdYPcsgc +c7oSEas0q1VXdAwtwNv/nE4YA2vvsLAxOjJ1RrBbyTz19PqVKJ2oyWTBLa4EiPU/ +T+nrph/FT60hRwuof2p1DL5SSwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFAx1Ppt +Kw0wvgs2KwdZgtYU1tY6XFk5+rspMMUD2ztFMIwGFwMj/doPW7yW3zt9nKYEbL2F +/TM/cEIYQRLpTXNHwM6jmSMjte2VHMaRIwG5Wm2yINsKc8vqatsrcPsyvSR2nL3Z +axhpVU84FBvVvrca1ZrwC3aE+a9I3Cw+DqYb +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetxmu/cernetxmu.pkey b/server/slice/planetlab/cernetxmu/cernetxmu.pkey new file mode 100644 index 00000000..6d2fa06a --- /dev/null +++ b/server/slice/planetlab/cernetxmu/cernetxmu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDD8psPzBMWvcOOosJoaOvXTeJDv3MbkAzzlnk639mC+1nulhSo +tMhR4cKxvo0LxnN7J+bKS5uVEdYPcsgcc7oSEas0q1VXdAwtwNv/nE4YA2vvsLAx +OjJ1RrBbyTz19PqVKJ2oyWTBLa4EiPU/T+nrph/FT60hRwuof2p1DL5SSwIDAQAB +AoGBAKT/25bXz5MsxEmNwIrPHxk0Gj3WLwWcrWtI4Fi1OqHTKg2AD3Fome5pXtrx +jC/IMmIYXX0nYaGLXWewzdU3lgw7xgG2xGS8D65rSuzwtPhV4EoHCq0qayZUULKd +h+O2VyQH99ksnUtABtwVy22xiVwuJgCcssclXXK0CZkj9AWhAkEA5c/kS2QOdDTZ +MnPve///yaUZP1tBYKOVT21uz9wYvzQHgzYNLWCSIKEuulXCbifAjoGSzR6p12fT +Imvc/Hy26QJBANpG0TX4OimGI4c/RI5ndH93z38uHjSbrxWFRCygSkJe62Rsla3H +71gUGV+p7XjEVzNnY+t7JEw+I91JDS2dZxMCQQCJOGT8jzYCNTwrYAZzaBx3btlw +dzDGX2bcEl/ERYuRP6PsuO2NVshqK1QXdvWtiJb1gHEDgXewYxIyz20YZe9hAkB2 +e3ZYq1M28v8aDPezrOiJwIk7adcvi0pwjhRBfQiSGl//9QkSebKrxs03JlAm+7yx +xG9yhTdgw2JIXbzvg79NAkEAhgM4QHRh37xGpSkJkKNqLm+FbmdMAqhFdHivrqY+ +Rkqcn/m5Kbvtk6tQEl+blHSsWUsBqUXS3SMvhw/ANnDSqw== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetzju/cernetzju.cert b/server/slice/planetlab/cernetzju/cernetzju.cert new file mode 100644 index 00000000..346db906 --- /dev/null +++ b/server/slice/planetlab/cernetzju/cernetzju.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0emp1 +MB4XDTA4MDMyODAzNDUwNFoXDTEzMDMyNzAzNDUwNFowFDESMBAGA1UEAxMJY2Vy +bmV0emp1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFUVtL3Es5IfPJRRMc +D5fwwACWSahzbos9IPQCdRigrvoK94RSEllAKJModSetdgGR+4mLoVoNu9m75Aqn +HYz+2znyJ/wIAz6QlL9kw0CbvD7uZlgYpkR1vacMQAYHLlnFg9DU8XkuMbdolvb/ +LbkN5z0sXRxGHiklTncXZ3NsMwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAMNRJVJX +7e6kVq3VXIYLfsK7Fq37Dkz+e7QHII4lNL95My+6/+pFpFDJEM1usEU31Q5Urin9 +P3sAEURmDTC1zoQ0TJUXzBrodeXIs8RsKxwCD+gane1LVJaCrO6N0LRmXUhqv3Cd +xm4eQkW/5Dp5u6xCGejVQ4LxgJi9afWWitdE +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetzju/cernetzju.pkey b/server/slice/planetlab/cernetzju/cernetzju.pkey new file mode 100644 index 00000000..546a58bf --- /dev/null +++ b/server/slice/planetlab/cernetzju/cernetzju.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDFUVtL3Es5IfPJRRMcD5fwwACWSahzbos9IPQCdRigrvoK94RS +EllAKJModSetdgGR+4mLoVoNu9m75AqnHYz+2znyJ/wIAz6QlL9kw0CbvD7uZlgY +pkR1vacMQAYHLlnFg9DU8XkuMbdolvb/LbkN5z0sXRxGHiklTncXZ3NsMwIDAQAB +AoGAGKGYSPb9+OrRGN3jjcwwhmAhcqFNQuOYxA+6BhiB84UEN5xAS1J5C7ZE8Hb3 +dgLWHVgOCn0g1bgObRMBdW0N7YYVWeRUCxipZLNFRp6nslXthV30K1wCi8YiAqOW +KibAqF08i+HfkSuIe2wG0odEiNcD0VmQf/UGYlg2678y5aECQQD6bm3FhAqPrZS6 +Y+VrI4/8VLp6QALprXgILoKZJSvYwTh/rjw9BXuR3JR/Mm0dCK/pi6r9uRg8Othc +oYTzjeeDAkEAybSUsqQRNLd2LxjRTNajnyAUFVn54ZR2kZXtlHQYCyB6zrjzcEir +fJl9/hnK64MVkGasuzv0OenQcj+XNJKZkQJBAJe1yj47rYI4776ywcrT8mg0k/t3 +R8x0UCD0vB02jYd0FlwTG18EMUW90R/1VnCeUKM0/1NRjEMAiw4isz4wmy0CQEas +ikmJqSmyequH45Yrwsr3n3HXw/FhZqYeRU912hLT/5O9RDb8j3GqCnZlLS+WD5E4 +GJ/GIw3DujC9zUozb7ECQQCKvqRHYuSvufmldVB5db8TPL0os+aRhZ++zE9xbvlq +sUfw5aLJe1FN9kuD9z2UYNg8mRJ8L5pkPOeYo7gz0xjw +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cred_file b/server/slice/planetlab/cred_file new file mode 100644 index 00000000..c856f36e --- /dev/null +++ b/server/slice/planetlab/cred_file @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/equinixsi/equinixsi.cert b/server/slice/planetlab/equinixsi/equinixsi.cert new file mode 100644 index 00000000..993ca31a --- /dev/null +++ b/server/slice/planetlab/equinixsi/equinixsi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJZXF1aW5peHNp +MB4XDTA4MDMyODAzNDUwMloXDTEzMDMyNzAzNDUwMlowFDESMBAGA1UEAxMJZXF1 +aW5peHNpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5noA3K38D7wLVSLdi +8iXGec4zu8gyqBJ9JzI/2+YMMO4hUFAfRrRH7h/+C8PgSne+O8SwcsRQRGQ3tZl/ +69+VS/xZBz86oyBh1EohoJOLSYxZPDsbasBFtynNGAWCh8AZTy7HwqpUz0d1NzVR +WGRXz6z/GEryWz5s4SSfzkEKLwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAB/zQzz4 +5dzGskD++FopMQQXPDXhPW99XL6MzBn8lUy0+qRI3RJ408JAXW2wX9ZY/FHq+oEZ +kk8SXAbRO8XUaqc8FYbPlAZK4V84gHhX02D/bSV9Ovl21Ht6DHPQxOB/91AGJD0v +Yi8t9GJO5c+QgOHazsHTor8wJFcXddbcKZu+ +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/equinixsi/equinixsi.pkey b/server/slice/planetlab/equinixsi/equinixsi.pkey new file mode 100644 index 00000000..2e5bb5fd --- /dev/null +++ b/server/slice/planetlab/equinixsi/equinixsi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC5noA3K38D7wLVSLdi8iXGec4zu8gyqBJ9JzI/2+YMMO4hUFAf +RrRH7h/+C8PgSne+O8SwcsRQRGQ3tZl/69+VS/xZBz86oyBh1EohoJOLSYxZPDsb +asBFtynNGAWCh8AZTy7HwqpUz0d1NzVRWGRXz6z/GEryWz5s4SSfzkEKLwIDAQAB +AoGAcwqjWI4iuKNn1ByvXCnL88kGXdXibFLyspKaeC2n1KJ21DrcjaXakkIpneBY +1CgTMtoEO3/F4CGjI0vwCPJ9rRGYMEWKUtFYKT2ylktoDWx565v8dD5dcgcUy+Q7 +p5Pg/Fy0z9Q+5+kBe97XzJQAhmfSIIhD4CWjmQSPk/9THgECQQDoe9pjeZijCsWH +uAyvXdAxbhhtDOHVth1680qyyD7A/eKoslSdw/w19tsC0UAq1QyaMo33x1fX4jpN +u1xY9nKBAkEAzGUXeubrx+v/NqBACiQQznuBmdJ4ScNZ29cx54rqDiBCfRVFvvgX +4lQJvxapc1xUBI3QXqsBRjBAY+K5Yx7ErwJAUosvBiS1SiZX7hEuB9HSSsqhR47M +XFnV68KYIhQxG8rJAEaY/o8IbIyiRETReKO+Xr1WZMRVbyQ2uUStzDRsgQJAH5lx +a9rPkPT3W+aif+7belC11KYpWp4NAmPen0FmthBetx/WzJNmfeMoLpa+U8tuYdXa +5QfjBornKYofxyc2mQJAQbPkxWIwdL/D0t6W0AZ8/axatRZsBctyqbuwIwt77DE2 +gAmx4g3MwZfaKjDeuc38C9gI7qry4Cn6JyKZhPRoDA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/aston/aston.cert b/server/slice/planetlab/eu/aston/aston.cert new file mode 100644 index 00000000..49b5be87 --- /dev/null +++ b/server/slice/planetlab/eu/aston/aston.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVhc3RvbjAeFw0w +ODAzMjgwMzQ0NTlaFw0xMzAzMjcwMzQ0NTlaMBAxDjAMBgNVBAMTBWFzdG9uMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDL1aMOqDQJSqqDNr6Bgy/Nv3rxgk1o +FSIS0TtlTAD2/p1QP0r1+/tZL5pyVWgnWr7trhtq3tBbG2DEcOWfewfmA7dseeMR +ZruBMis+NACyjl5HvWKOdoEk+J3KQNUQHZg2hlqoqEra55jzhEjOoQ6EEdB9TD/c +5ho8GmiaW4isTQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAA1jnFA5DJGUW1w1R32u +71vHaZ4QHnfCNO/iz9/0mbQj4HmxzZ0UasVsTZvQDrr9Hb90VyiPQfdxaXc2eyIK +d5SYw6MaJVr39O2tfnCJDD6kJbTmpw/0SJRT5jyCf3s9nSkaTBiZBPoHuhnztKbb +xtkHKzUBZZfpqItfz5UiD7pX +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/aston/aston.pkey b/server/slice/planetlab/eu/aston/aston.pkey new file mode 100644 index 00000000..c755dd6c --- /dev/null +++ b/server/slice/planetlab/eu/aston/aston.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDL1aMOqDQJSqqDNr6Bgy/Nv3rxgk1oFSIS0TtlTAD2/p1QP0r1 ++/tZL5pyVWgnWr7trhtq3tBbG2DEcOWfewfmA7dseeMRZruBMis+NACyjl5HvWKO +doEk+J3KQNUQHZg2hlqoqEra55jzhEjOoQ6EEdB9TD/c5ho8GmiaW4isTQIDAQAB +AoGBAMVAC/bXFuQW+ULY6ynxhYUZUyP68GVUbhC/oTa5ggWDB0DsvuGj4uu/gTo7 +I/tReYoP/kBBNmez6sSua8cVC+HzrKZ1iqUU0mfPZ1DFYPQKx/7Aw2hiswdlY7Lb +4mLVgUjnaMaxQ1/0+i/TcARDF32oXLE2CsbdSCQneMQKZ8UBAkEA8t9+txw4l9oD +tg7H5K9eB6VMi0iE09FjLLYoH5yet55bNSXYbnA9zty4uEJkGw+C74Z0iI2zVG1X +GcMyPe1wUQJBANbZ/KOPupm6q/69DYRyw3PdD+RpuzRL5lFbnIM1HzrpzCtN2Qy/ +uaAxvUj3SchC+jlSDXfXLqenj3oceL/tGT0CQFdu3+Y5kaIRCS78STfpbfdgqZqm +w7KheYt6FB21O2os5vbOJgkz/PxAd3tV40XeoqtqAv+5y2pEZovOuoKSvNECQHCY +Eo8A3rB7pHE+UBwuLIHGwvJX+pRghlXypaYZK8GrDqVPCcVloHj0OBdKCO+bMhji +CE7ahQe1hzpeO2WRcp0CQE5n0HV8AtxczrgCEkTYjLR4DGBFBYr8kH66Ug2D/jkU +U7p1X2dGe9mEU8Mld79ZtITFYjMb68u+KGsIRxkHYrs= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/bamberg/bamberg.cert b/server/slice/planetlab/eu/bamberg/bamberg.cert new file mode 100644 index 00000000..ed3beec3 --- /dev/null +++ b/server/slice/planetlab/eu/bamberg/bamberg.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdiYW1iZXJnMB4X +DTA4MDMyODAzNDQ1OFoXDTEzMDMyNzAzNDQ1OFowEjEQMA4GA1UEAxMHYmFtYmVy +ZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApTBVBhxkCS1GK9sHrS4ACcd/ +9DAmruOZIyiDRdQ64fXXEeWWKCmgyNVj0YEkxxYj7Gk3Pa9mpIIL/a6QJXQQp1lv +9cbJxwRzimJxdOjojqQaXInWGNVyy0oPVCbllC33RPeuyDndpJFmt8wqADRgsTIu +kZAa3P8zKMtcEjZGuhsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBcfbxWo0sFATos +LYDKyoLQm/XgJM/FuxyMPPUody7N+wax13kp4rt9Xv8VpIbzaUBO3KHYv5+08t2O +SwY+gOe8pFCIKikP8T/799saKAIsMX6fMKEhvG4DKcA6LmDF8s2kHKwIIkNRNmez +AP5vH7OVXnmtp8FivsLZabmwpiS2JA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/bamberg/bamberg.pkey b/server/slice/planetlab/eu/bamberg/bamberg.pkey new file mode 100644 index 00000000..6f04ae9c --- /dev/null +++ b/server/slice/planetlab/eu/bamberg/bamberg.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQClMFUGHGQJLUYr2wetLgAJx3/0MCau45kjKINF1Drh9dcR5ZYo +KaDI1WPRgSTHFiPsaTc9r2akggv9rpAldBCnWW/1xsnHBHOKYnF06OiOpBpcidYY +1XLLSg9UJuWULfdE967IOd2kkWa3zCoANGCxMi6RkBrc/zMoy1wSNka6GwIDAQAB +AoGAHxF2DE4uqmMvfXQWf4XVUAGLmTutKtt3o9ssxWdjI7h/GMibczZRHTS1L2Qg +rKkHXKF1WE6y+WHUK4Q3bDPmJaYaK6dKRbKP9IVTaMetTFspvw/yMP9ACcj0osfa +9UrLRedtq0DI0fD/lWMbBbsaS49f/jFqyxiiW3GdIIPzjLECQQDQdjAsxMmQB4bD +6L70iLyAEDGSND6Dp8mIMCfyGNLSNON9mthSzSthSAGOPjHI4XiIpvJEv77DtLO0 +V/akGBkNAkEAytvpNgne/WwTIMH9YLRPFAD7tAYF/N4NKOC3DuwiZZeU+D0BFwoa +XCkMAQSBErqwtuoTp7dnxFUKy1JSS8YFxwJBAKOiYqaBwobgoZTe+iYRv4X3MDJH ++Fp4NuZEhtavTa3b/kb2aaB1lPvD/hSeFY5ODsOV6M62hRQyoG2MLvsYP3ECQE8o +Mr9QaMAQvQIKUHm8wiK3I4Ci3RFIAHCUBzp+cAmedZXMEDHSUmjl53Y6MLeDO9OU +UWkfixE0cgrWq6A/vB8CQGOesDzuFtvxugDzlgdC4eZK4+Z5CfHcoIvMbidwsn6F +F+1Vl3IO1mBmmtNBWrSWZRhHigAm8oeiNxVLmJyrfTg= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/basel/basel.cert b/server/slice/planetlab/eu/basel/basel.cert new file mode 100644 index 00000000..be7da6eb --- /dev/null +++ b/server/slice/planetlab/eu/basel/basel.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwViYXNlbDAeFw0w +ODAzMjgwMzQ0NThaFw0xMzAzMjcwMzQ0NThaMBAxDjAMBgNVBAMTBWJhc2VsMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCltyyxGv6cYHb6LQIwPZ0oZjUhjava +sIPNa8b1PiS+UcBXeOihLyyjSlevwD9EmQvTXhIXQ7Y5IkvzBNy6lBtGlqraUFUA +fzzIcO/F2p0agcyt3b/7bGiYo5g2TEZFuloS8jH55SRYj1Obh0Kn7lCQbz0AqeJa +QJSDsgv26b8oJwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFVAEyH6H5deeZz+LMpH +fmlB0o3hKzHA/8qN92Gq8NP8ZRmHWMUSPJcOrHoe7K0szUtlXuzzSa4+yay2NfGX +NPROycVS4lz3SCz++w6m8vqseQXlWDXjxfV5ktkqHhwqXeMD0qcGaiuEvKY8++fI +GYAlj9rmziZalMPY3Vq9zd/7 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/basel/basel.pkey b/server/slice/planetlab/eu/basel/basel.pkey new file mode 100644 index 00000000..6f588e91 --- /dev/null +++ b/server/slice/planetlab/eu/basel/basel.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCltyyxGv6cYHb6LQIwPZ0oZjUhjavasIPNa8b1PiS+UcBXeOih +LyyjSlevwD9EmQvTXhIXQ7Y5IkvzBNy6lBtGlqraUFUAfzzIcO/F2p0agcyt3b/7 +bGiYo5g2TEZFuloS8jH55SRYj1Obh0Kn7lCQbz0AqeJaQJSDsgv26b8oJwIDAQAB +AoGASJz8I1rNyF3opHUGaXcGH0ax71Lxw/DmwCOC2cFyPkb6PhoH7WELcT3JMITP +9FIPwX2N9c3A0kY5+3Hc+pCdZlsh1ZjKoNfhTltkBAoMpvLXFxnn6eS0tsv2RSbN +g3guxNqNWmnJ1dXGR2PHRfGDGicFVZnb5kiBTizmdVONlwECQQDZ7UhitoTpyYpL +aYL4PE/XP2ocpetzMDM8Tbq2PoTWKtneGLd8JkxwHFmH6SrShfJSgGfHNM2ec/15 +mkLKkQCBAkEAwqrA9wEN9Of6IYuUVhMDEHsUVnKYSi1WaXu8G/BuNhkx2I5sjpeD +5I6Q1B3qQG4UD1oBXNR4GXPOobzOkj3UpwJADWCie+TGXe+QPLbaYlCZehYbdmy8 ++lIwIviGiJ9n2hnBS//qa4WSVaN3337xsQCl8miNdk4IfTyTh75vcS3bgQJBAJO1 +fTXvVue+Hc3WW3f0dR7MRWJTEbs3K5peiR2qEfZ6p5fqefS4gxuqEbrh+B1raU08 +vkvx7C9j8CZJXXUZ9YECQFy9MWpJY6jWssfPB9wwwfL1PfxIjdmNRKqWlRlQJ4R/ +3tVMxSBY9tfi6SQXm9tSkN7e10MG6QS5/mXkFdrTzkA= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/budapest/budapest.cert b/server/slice/planetlab/eu/budapest/budapest.cert new file mode 100644 index 00000000..dcb72ff6 --- /dev/null +++ b/server/slice/planetlab/eu/budapest/budapest.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhidWRhcGVzdDAe +Fw0wODAzMjgwMzQ0NTlaFw0xMzAzMjcwMzQ0NTlaMBMxETAPBgNVBAMTCGJ1ZGFw +ZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZhnw8g1GWddbLgd1gCDKx +ouM1Poa5eoU/OiEwpLSOu5Qafz9QxutyGSsDINdTUBDfM/RQBigcg2moI+CEIEca +0qkyhnqG5/jnOmNXEQdyGY4cJ14SplGFVU4Qs+iIEri0bwCt5VwHjfVyx7xKaEsp +zmN82bjRfFA1zs38L3+eOwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGAzf/1U4yne +APWE1uFt8mqHOE4tt2pLOAGmu3V3umABOSB/teJtvdi6u3s4tIV5O0tSugFnSDu4 +KuVuj33IiUTS9LkCQ/OM41RDq9wzaYWje0FVEHzeQSStRjR+1EqwAe7GY/r7kdrn +0XIR6C4O/UEyUsIkZPWYmpjtDUPGZiC7 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/budapest/budapest.pkey b/server/slice/planetlab/eu/budapest/budapest.pkey new file mode 100644 index 00000000..99cb4056 --- /dev/null +++ b/server/slice/planetlab/eu/budapest/budapest.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDZhnw8g1GWddbLgd1gCDKxouM1Poa5eoU/OiEwpLSOu5Qafz9Q +xutyGSsDINdTUBDfM/RQBigcg2moI+CEIEca0qkyhnqG5/jnOmNXEQdyGY4cJ14S +plGFVU4Qs+iIEri0bwCt5VwHjfVyx7xKaEspzmN82bjRfFA1zs38L3+eOwIDAQAB +AoGAfml/bZNLKMtWhnHz+skI3N6yd9DcbpHbOcFIZIJzQ7eS/EsSupi/X1FtA6Zk +PFB9XZlN0+ugB+H+1u3ynhY7+zItQHu8NOUzFRmYG26MamSdn0KGCqkTA1pzpWvq +wfMrTJnIY5TTux42IhWC2bdU55jHSwzeSRPYgfqj5hf37JECQQDyZG7hosYLNtNc +VCBvWI/Fl7+uF8r+s2VK6mfWEbi1VW0KY10PZuGUPrLIaMUxSCUBms2dYeCdrNNG +f4eBXnIPAkEA5bysdgrLDmrsRcCrxZBxNZ7tVlqH62Mo/1UMM6VvDspE7PZ9Ow44 +a4Qe5U6ouxL/HZXbUKgm6SPj46QLSTKNFQJBALUEuiX5uKsBS8Fk9kARRHWNCVIL +ZMbn1JqpCdi9rVKGtIMQh5wL+iUK2dt/GtzeAvz6zdleEi/OtI2uidTcYpMCQFPg +5zbSCgFhmJJ/Hjgr3KmvNQhqVWXj9nwDGUliBYJo53F9LYv6TS80NfOTHJfw/6RV +qpVwT4Sfzfy3UEeRZWECQQDk0EkI0n/l/ihH9sINw7x/Hje09mTrQCKLnS2K5v/H +tK+5YDp3jC1V4BgUvlsSSvk+s1J/Smh8/9Gg5878RJoe +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/cesnet/cesnet.cert b/server/slice/planetlab/eu/cesnet/cesnet.cert new file mode 100644 index 00000000..63d65236 --- /dev/null +++ b/server/slice/planetlab/eu/cesnet/cesnet.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZjZXNuZXQwHhcN +MDgwMzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjARMQ8wDQYDVQQDEwZjZXNuZXQw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALHFa7oH+fRbvs0uBoV6+ibpNBD8 +tRm+04HNDXFynczRAnJreziC6DzMX8Hijh3amF6mKWLA0uxc71waCwhdXlKAmdN2 +s8Bmgt17tDJPXQ/ZoBgigLkQ0ZrHjHtZk6VK1sejRXO5ctJ+oldb9ShE7o1QjNRX +b68+uLqMhwKFFXpzAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAYnSsRh8ZUU//dhYK +Xrz5gXGVodC7GJahCp1aUxQi1GEHpTwMdVIHCZ1Q7rvZmtlmL9ZJVU0zYY3cp4/R +yhZJ93uTuGyzTtYJvFYpOD2PMqPZNhsqw77IlZoWiOtClVLGE8pMz2BraDlt6k0m +drXnMyCeW0qkkdL1tC0GXz53QZU= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/cesnet/cesnet.pkey b/server/slice/planetlab/eu/cesnet/cesnet.pkey new file mode 100644 index 00000000..f4ed8029 --- /dev/null +++ b/server/slice/planetlab/eu/cesnet/cesnet.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCxxWu6B/n0W77NLgaFevom6TQQ/LUZvtOBzQ1xcp3M0QJya3s4 +gug8zF/B4o4d2phepiliwNLsXO9cGgsIXV5SgJnTdrPAZoLde7QyT10P2aAYIoC5 +ENGax4x7WZOlStbHo0VzuXLSfqJXW/UoRO6NUIzUV2+vPri6jIcChRV6cwIDAQAB +AoGAU7KnrcbjoHExvFjXKTFlZbyWjwjsG1sFKi/pDGjycuRVSpngQhMgVL/Etfx8 +/QFWi/mfsqcmp7J539tDJoUPSu+6C5mtcC09Ui3v2Dl8iJNvfAjKqh33NC64uGLw +iSbtpAZuE+WpfSCybw2km+L16WeomlDysEvGf5+HVShuuoECQQDfToeHRmkawN6j +Bl8beGMwYFGwUbeW2bs971N7gxg9kB/sx3lAiAjAZhJwbkuk8/SU8kctR0EpllTE +XD+0LuLJAkEAy8w7PqrravlJ9BL+EYn999WERSCUJ7irHseCTaE1tayDTojpHjUJ +Pmet2tY7JLWqV38wfs7h+3VE4JnUih11WwJAUQQrtY99GIC7BYiNPukpi2aWnJK5 +OdiazziiICCKzeMZQg2I1znDexJNRE8v0JPVu6g+3JWKda0d6fPSBOwxyQJBAKr3 +SyA4fMRCG3NBV5jZHZCCs7LWMNPdzNhGYJ7FReyBq6n/myk3LukGS0gRfo4+RIeg +cMuAvP2ZlE2jXzT6n48CQQDW/VZAQCrOnJuSYg+uvSo/OeqQJ03nGDX/VlYLVUqf +sKiNjDhtvr3ogQZbRrx588LyiBcEqWPwTgdR4rG3OT3j +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/enst/enst.cert b/server/slice/planetlab/eu/enst/enst.cert new file mode 100644 index 00000000..1c28ef51 --- /dev/null +++ b/server/slice/planetlab/eu/enst/enst.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRlbnN0MB4XDTA4 +MDMyODAzNDQ1OFoXDTEzMDMyNzAzNDQ1OFowDzENMAsGA1UEAxMEZW5zdDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2kSO7US0A8vJIuGy287MD81Uez/FvlqR +wiVnQG6/1TnCxCbbegodLsl5sPV6bOwB6ynNCThtZFLqFrsouqCOmbC92l2K85Ts +1YeHJ+Xuh/qhhfaxq1Zv8FX/1bPvW+XE6TPqZte/vWp3+EvUhcdoiC3cBiYQVGqu +qQZi3f9KF38CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCFKXXBXHNDSPm7CFy61Z/7 +hCHo2Y+sFQIu+Fzll2of+PYDpEJZ/6h6XRheLaqo0QHORNHjXRrNN01GpQdyNnkJ +/yiCEcZc/aKv3LXGkcRCHsS5x65sLFywEHu/AWwTK3SZ9rYUB4Oa4kR1UwPaDbC2 +QEPbl+StEXXTWrvVYIvgAA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/enst/enst.pkey b/server/slice/planetlab/eu/enst/enst.pkey new file mode 100644 index 00000000..1a1e8298 --- /dev/null +++ b/server/slice/planetlab/eu/enst/enst.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDaRI7tRLQDy8ki4bLbzswPzVR7P8W+WpHCJWdAbr/VOcLEJtt6 +Ch0uyXmw9Xps7AHrKc0JOG1kUuoWuyi6oI6ZsL3aXYrzlOzVh4cn5e6H+qGF9rGr +Vm/wVf/Vs+9b5cTpM+pm17+9anf4S9SFx2iILdwGJhBUaq6pBmLd/0oXfwIDAQAB +AoGAbVNNq7Zv3D7kfh5CcirAt2GHYTxuFYxT2cTWVMWkPG70CT/VSulp+Jdd5q7u +JUSJKXsEggvLbybAraYNHn1xLsiEtjgXgJKgsIdEWnK+cTcFsWtsBcvrwV8lESt1 +AjmXS5XPIzhyzYVatWMJgMO0sVw4QOpZCRF3Zmxfj28xfJECQQD/H1YfYVanQhQG +T8z9wOnyhr/pJx5xTqAoFGQZk3YlCQoWQxAUU6jPO1sGw6g7+yk3IhvolJ8A5KDr +D1CUosrjAkEA2wTEb3fUKGGgVFXtn4DEb8X7lw1bL8Rjs0Yj4Ie+hU/BwL/9iK6m +gNAg8ejEHIi0cirA1wo6ALS1/P1U3sTXtQJABI73x/nCRZzNpMs6O3J9+6JivXTA +e3/PJsgufbJ/0uuVbY5nNCXGh2VlG/rU/7VeKCkI3KADM03ifjC43N8HxwJBANUg +eH74Hm4FQl2PGKLkTUNvZ3oAN0HuXA6yLGtr7MwRZrvImFEPk1s6LTT6iwwxQ1bt +n6Yif3r8XzQG2TXGWxkCQQDTSE06QxWFSLwkhZpZSfpIaHwEF5ZXemvON8M9CGoR +dRbYSVa4GZ0jS0Uh7CZ3ZajxQBK/NwYrEX//1xCQJ2Tk +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/ethzcs/ethzcs.cert b/server/slice/planetlab/eu/ethzcs/ethzcs.cert new file mode 100644 index 00000000..34251bec --- /dev/null +++ b/server/slice/planetlab/eu/ethzcs/ethzcs.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZldGh6Y3MwHhcN +MDgwMzI4MDM0NDU4WhcNMTMwMzI3MDM0NDU4WjARMQ8wDQYDVQQDEwZldGh6Y3Mw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANhxGONDXLa26igiP+c9fFe9V9J5 +96SxoEZFJ/MSVq0Jrxm3TBqw/0ftQnVJtyqQyFZ70dwhXzNQ2M5S51V7wKwhvRSd +UxuaA6bEkWYUJLC4oQI2GnKUhTZcwYJGMXWSE9Lt9g/NVoeGm16bvv8Y17klKEXK +cf+V1fmekZ4SUN9LAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAdtCzm7FDQHnURZSE +Qo9HwUGXUSS9TU6RYO8zgXPH4Yl8qY765OnUdqFbDSp8EJJqsdoKYRMDkmmP34Jw +uzpRfZdgBt7yTtw/IbwpoBoF2iMVHBg5nXdY0nKM3/I/GytrwQKMZNjgk+GcwVM4 +dDN/Gn+4BNY5wpYYDXrZfZRKDd8= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/ethzcs/ethzcs.pkey b/server/slice/planetlab/eu/ethzcs/ethzcs.pkey new file mode 100644 index 00000000..f2a254b3 --- /dev/null +++ b/server/slice/planetlab/eu/ethzcs/ethzcs.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDYcRjjQ1y2tuooIj/nPXxXvVfSefeksaBGRSfzElatCa8Zt0wa +sP9H7UJ1SbcqkMhWe9HcIV8zUNjOUudVe8CsIb0UnVMbmgOmxJFmFCSwuKECNhpy +lIU2XMGCRjF1khPS7fYPzVaHhptem77/GNe5JShFynH/ldX5npGeElDfSwIDAQAB +AoGBALr8ag3cYjqPp5doj2CMo+GA+GAjcqhbtCVBFZRPIYZ4OUe0LRFaHBDdjm6Z +cp5ZWlosuk68nexNSiBlSul08iusWX/uwl/VO5ohY3hzevRKR2XI4quZ7rLwx8kD +M/I8cWPkmvhWNruGknkSKWxc4HCqRN+aHSfHrZmM18wopHbxAkEA8VWgM5CUi1he ++nxMKlZkwGRvij21zJmVNqZvtNMYdQSGFQ95vmVU1D5+0ym+JQ1Ett6AdwJd0CKw +rfwzqhnNNQJBAOWYOQISHOS/fEn2T3Gk8/KvgovZBw7TYY92kjcYsIHBhPD/H/EM +zsPX0PDlDm1oRsBIn3ea2WRx7NffNieACn8CQQCnCb4dkrfODveGZlwNfci0hY/S +Xk4j9DWcIuz0epvV+rCXiSOZzec+FJeRrrXGTX2/GRhPxxqJwkkJ06Mq3Dr1AkBQ +vJTfe4sZjZShVbJeHkmCv+FCWFE5D3AxSNrl8RKwrmKXdL/AvmY/TDc3XvUR2Cd5 +GpCpOJTV05Ib32xlu4r1AkArGG6VGcUrQORv4ehtiyngr4Vp6/VM+fWHMQuW8IYo +p5dg9aiNGFtFyf9otxur29kf+R3XCeWfpNCd2iFN3K4e +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/eu.cert b/server/slice/planetlab/eu/eu.cert new file mode 100644 index 00000000..58607512 --- /dev/null +++ b/server/slice/planetlab/eu/eu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJldTAeFw0wODAz +MjgwMzQ0NTdaFw0xMzAzMjcwMzQ0NTdaMA0xCzAJBgNVBAMTAmV1MIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCkl7+FqFVS9Fl88LfbkkyhQwpzu5iqGLMq9YCy +5N158ZkMiE++uEnp8O5XfoZjLH6PL7X27ncRiyRGmqa06eFXhXY6VXSzYlpU/DKF +xaHJ67gzClzJ8ew4/w+3moZe9UW2TCKcqqVdEuH8Spf2AmhwcCozE3MhuEbHWiuY +GDc7tQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBACG0tupEZ1GIHU8kzzuyhsRsu52E +qAWqIv0jXbclpLbZkl0/4ET+/hB5qxzDAawnj8WrVt4MvlTYuaB9xJVbeqONItFZ +dX433tDuGF7Cqn7/9NbaDgoIc6TebaD6i+SQFet30FjLbatIXsGtD+NmEh94nDOf +92VdZ3HftCD4jVJS +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/eu.pkey b/server/slice/planetlab/eu/eu.pkey new file mode 100644 index 00000000..76abc0f8 --- /dev/null +++ b/server/slice/planetlab/eu/eu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCkl7+FqFVS9Fl88LfbkkyhQwpzu5iqGLMq9YCy5N158ZkMiE++ +uEnp8O5XfoZjLH6PL7X27ncRiyRGmqa06eFXhXY6VXSzYlpU/DKFxaHJ67gzClzJ +8ew4/w+3moZe9UW2TCKcqqVdEuH8Spf2AmhwcCozE3MhuEbHWiuYGDc7tQIDAQAB +AoGAGRJggzycGrHL++MzLog/kgUDT5PQ8oAmsrGI9Dc2oX+y35zYAOZTpAYmWD+W +uv6pHKiY4E985bg7Q2IFaOODhrHOTfY+HRMFJxy4WrWVupFlF0QaVjkZoN+goLyr +vtUAWPzm2Zq0YB8iX3AwYhsty3kn00+6dy7EH7jwqLZvHdUCQQDadNSoIMGV4FUM +kOUjjxBKGL855oYAemswnEACE791p8aP/5p/DaI7L+3tomIN0/23/kK6qfBODBt0 +Vhg1UygvAkEAwOEku8NouvTHI4WjqR0ofETWLZwU0xyq+dO/4IuPtWMPHcQdPFam +n1F3t97TE1Q+1/zYYaoQYUwfStWV3Ed9WwJAXJfccw6/PsmBAvx/Qt0mqGFo3B/L +eHRq7oWr07WPF01vqiVK1MNwmemszWZgbUAHcG9C1V+mTU5wbJT5WdDPXQJACoS8 +shin/3oV2hQRpslWSeCfJYGbiR/JGzK3BhHWVnf+fQsS5RV8pLeWpcpbDHTNsI2z +ZzAVEJlMI5KeR5MGfQJATA+Xx3ti+EQcrKCJvRAJavajhoVjMYguuU7gNdiA977D +V/RXDBN3odnqUu6gGs19JRKu3eh8CvzwWOOjaxSrcg== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/eurecom/eurecom.cert b/server/slice/planetlab/eu/eurecom/eurecom.cert new file mode 100644 index 00000000..6ef28718 --- /dev/null +++ b/server/slice/planetlab/eu/eurecom/eurecom.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdldXJlY29tMB4X +DTA4MDMyODAzNDQ1N1oXDTEzMDMyNzAzNDQ1N1owEjEQMA4GA1UEAxMHZXVyZWNv +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvS+nKJCU1LHS6y/9J5Y7ELnS +bdZCuY/mXmWPqCmjWPVq4VQcUWsCPQsaErgc9Q7hARSel/BEiodTU7FJykabl5rx +i+8ERVy/YAvLltKKmaBCWenKw+YgoHOw7JYf3M1MAfXqd270Xr5J1pw4E9OWCwn+ +nbAq4dcH6SqAqYyd75ECAwEAATANBgkqhkiG9w0BAQQFAAOBgQBAnkqFqpkx49w1 +HqwF70IHkPyuLAmzINEq+UvDVst32eHG3UvUI8E9oM8OqiRgjv9KlKknUmNV5xOD +rLCV7Wkcxqmu8Z6SRF8rg8HeyFOYJLPs145+hpMaDXD3UbyLCKwinZt9YznnRMWJ +APIkOoZnHvHow74qipxzk6e9d+hYXA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/eurecom/eurecom.pkey b/server/slice/planetlab/eu/eurecom/eurecom.pkey new file mode 100644 index 00000000..9b99c478 --- /dev/null +++ b/server/slice/planetlab/eu/eurecom/eurecom.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC9L6cokJTUsdLrL/0nljsQudJt1kK5j+ZeZY+oKaNY9WrhVBxR +awI9CxoSuBz1DuEBFJ6X8ESKh1NTsUnKRpuXmvGL7wRFXL9gC8uW0oqZoEJZ6crD +5iCgc7Dslh/czUwB9ep3bvRevknWnDgT05YLCf6dsCrh1wfpKoCpjJ3vkQIDAQAB +AoGAK68+PQqtozNwjagmH6b7+o+9/GjWPXzx5+gxtNXwhxEcXe2LIG3CNZBDtADZ +huipohM9z73GReqbnh64+EE3mfNv1cUESPRT/riGywgO0U+ULkfS45ixCrnFLKqn +jxg7PztAqlhmdSfsCC53MOMMgJBt6OpPYz4J54auX/HthzECQQDquh3v6tuH1GTK +fJEihmMCGa01nq7FvP8Ub94X0nM1hTX+OztnqCmfJYTsuJ3PAeLteeH0qy/N5wDB +ckxbgnvNAkEAzlTyHkJEhSPFGJTg7h6/1tJIl0I8e1bePc/CHhOYdKKFArLyL6W0 +RyE0ZPTspoP1Ad3g3FzfINfeeGsKNd6m1QJBAK71/+6fLve2F1LfOwdzCEW+gd9f +4oI9+Bxxrigvk/Sm0LIp0IPZUvzvaH9StT5h95ZvrT9EgqOFtoh6+/OR9VkCQAXz +STA6NQOp7msxD/OOC3ZEhjdmf5wG+03JCg4X/pOOhEt5oaZiHvrWKE6pCZIbyBsP +rQZt3zlxQEc0vwyiqSkCQFlm2bZUIMR0IhJqMDWIA9wvFoo4psmzjFx6X5X3c+nW +oMlRPur+ZrASAIevrmKQmhTbHxQuiAnuUVnREC9NZRE= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/fokus/fokus.cert b/server/slice/planetlab/eu/fokus/fokus.cert new file mode 100644 index 00000000..f21f6a37 --- /dev/null +++ b/server/slice/planetlab/eu/fokus/fokus.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVmb2t1czAeFw0w +ODAzMjgwMzQ1MDBaFw0xMzAzMjcwMzQ1MDBaMBAxDjAMBgNVBAMTBWZva3VzMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4zWe1voNh2K26hwAdcWCngahsrHVe ++86lgpJsEpCoUg2tH7KvvLCCT3RCa1OnK9r3X9JpaqhFpC/PYdNXHG3V9WAHr05W +75aII9ibpb5a0NO8/xW7C9ynixYBCm5KHTbHtnCn1nRp6U30GGjcJ/t0+4usAZC6 +ZWa4ieDyNwMJmwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAAZWK4Wi+/9NWt/U2jyi +HVOwUPKU33KRAy5JA+FyBTYTIzuoXDLqc2apE7uHB8PrI+LEzK1uKGSG0hoebxjw +5q5jDSmWzsyS/qclkJNWXQK59IMYPFyUE4yZS17JMHfg6DfzcDzC2XyuHRslAOmv +Izl83ITgwAz2VWOSJ0NT65i9 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/fokus/fokus.pkey b/server/slice/planetlab/eu/fokus/fokus.pkey new file mode 100644 index 00000000..0db33790 --- /dev/null +++ b/server/slice/planetlab/eu/fokus/fokus.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC4zWe1voNh2K26hwAdcWCngahsrHVe+86lgpJsEpCoUg2tH7Kv +vLCCT3RCa1OnK9r3X9JpaqhFpC/PYdNXHG3V9WAHr05W75aII9ibpb5a0NO8/xW7 +C9ynixYBCm5KHTbHtnCn1nRp6U30GGjcJ/t0+4usAZC6ZWa4ieDyNwMJmwIDAQAB +AoGAF8PyjmDNrIuc69vom+C0uVXnPvJ+tZRUYtyDz/ojOEI1GAp3hDoTyO5G2TPM +MjdllWJxQLVCppISw+ykrRMu3JkYf9V61oswQdwvQ3DQHjrAV14BsD7kUx4jwxHA +n0urO3WCo7/rlJTN7ltcuV3L4fqgo+VaQl9x2eg4iC73v6ECQQDec61DE7K2ngIM +Dx3yRkdSmorVXVbU0nzl0p2GvLg4cYZMfcJzkV2G9OIwSNBmZ5DXXAvfzjC5EAFP +JTcPFj7/AkEA1KwsUHIqiitHYrfiiyT/2C05gM20/qWA9QBIvQ0HArRFpM/8wgqk +XmI1OVCfqpOIk2Z3fYxbc5dvHfw8NDLRZQJAdMwzyqZLDUtFM+O0C4MO67Ys8v5B +GxkxbtH418e6yhgBNaRKNre6baOiJ0vz7/CswgaYTXhLaL+YkF+v2wIJLQJAKT+H +jMbH12qTeuMdbk1rzdrfp0q+ixFAlMRMV1Z6gJzEUTYB2QTFYoT7u7UWcrgQqj4a +eOBLMH0zkQZGCv28PQJAYnZaTY4TNIFnwU20zxDriA7GvpI5Ebh4tCvlGEtbesj+ +HEf3t46eNq22jaDD+6M7XQfFk8y6IE/pymE9Mui/sQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/hawh/hawh.cert b/server/slice/planetlab/eu/hawh/hawh.cert new file mode 100644 index 00000000..fb1f2bb3 --- /dev/null +++ b/server/slice/planetlab/eu/hawh/hawh.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRoYXdoMB4XDTA4 +MDMyODAzNDQ1OFoXDTEzMDMyNzAzNDQ1OFowDzENMAsGA1UEAxMEaGF3aDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsCqNvTgOpRBblD2oT5ZruAMBsp7Pf6I0 +Z7VpW1D70RUURwkruMzxc/8ys44LvaTn3llCp5h/YX/OkS9WaKOKX3nB55sXk/lO +I2vHUnV0Ve59eOc6vrpyIr914Pyzk+S6mQsUnG5AAG7Rn82YWRdMw7pLnHl1U9Ti +uLoK6fW6NGECAwEAATANBgkqhkiG9w0BAQQFAAOBgQAfMNCHGI8csV+1T/Olou5o +bfNvssgQDSHapulR3R5/jNFHGMj5LS/GANNhhSJU5bX1ukZqvunYzm/gKPytDiVC +FXyoWFla5I33+uCebxh+2El3ZtMPeC3imOFBSk1xmtrZ9wI8FC7eoc+MirxBhXEg +dSKddBndUlpshaYqmuArJw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/hawh/hawh.pkey b/server/slice/planetlab/eu/hawh/hawh.pkey new file mode 100644 index 00000000..f0c6cf96 --- /dev/null +++ b/server/slice/planetlab/eu/hawh/hawh.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCwKo29OA6lEFuUPahPlmu4AwGyns9/ojRntWlbUPvRFRRHCSu4 +zPFz/zKzjgu9pOfeWUKnmH9hf86RL1Zoo4pfecHnmxeT+U4ja8dSdXRV7n145zq+ +unIiv3Xg/LOT5LqZCxScbkAAbtGfzZhZF0zDukuceXVT1OK4ugrp9bo0YQIDAQAB +AoGAbh77oSeUh/w0svLj7nRB+7HtcsGxRcCYb6fIJyv1bZp2pX0HFqsN2AvTnsgR +cMfPpX84mllKbyEceEcWBa0NRl3o0xLoZeiI8bzevp50fPeJmNNLL3XIVPDvwHV2 +bqGTbNI5iywgSOO6vnEs81tqMTcOmguKAa779NG/UYGfOAECQQDXPsCnGDkCbthi +uI81PgTYSG+Kb/zUTyzzTzzbQz7EZVOWpKVCHP5CFlaNtQ2qMw1ndrDV5cTqQovP +askCyFhBAkEA0YWW34d+5wHSsDhHDVOSVOlkF2XGtfozOQjEzhD0WVqvyFiCw1up +RWX+Tn7TxPNjytf2itvBoGv/g3xrtJHUIQJBAILOFN+2vbZ3zDI6PHU7qlARvQ8h +PUF8mDGIftA0zmkltqV+ixthaTaaQqE9XP+IpOWyYIasan1+UV6MY3m4bMECQGbs +mvrfksVkLd2HJ9AyF5ZCuHqN8pl+eR8xYYxg48fpNqTSZhoVswd2XQCuaNU9Qu5o +PKJl5a4qn3A19KrVYEECQAkyU45/68JCDgpIIcv7YbIFhbOGxM4GS8e9Mirqc0te +38LN/dt3H4HU5e3MehNM93dQF9HhTGNxWM2yDPozo5Q= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/inria/inria.cert b/server/slice/planetlab/eu/inria/inria.cert new file mode 100644 index 00000000..12b598b3 --- /dev/null +++ b/server/slice/planetlab/eu/inria/inria.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVpbnJpYTAeFw0w +ODAzMjgwMzQ0NThaFw0xMzAzMjcwMzQ0NThaMBAxDjAMBgNVBAMTBWlucmlhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChiGOPza8ZLsueB2NCNyOTZcQZ3dT2 +mw9SKp7q65Jdk29IRyqLuyUOBQqKhosT0HpFpeSjziKevp0qqBdIpWxtFM7fHs4g +zeaZ7Ms0IwKW28ybr7LsWry6PUlOQ/AUMledSwuokHuyYN3SNr5CdNgcC2SMdcMG ++B8qLy7B8Z8teQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABBN0recPeVOv7shRlDS +pGb9Fjs0nd/zf9OFkXKuHQbZUBk78xaS6JACZMoNPHRjmBtAKOzY/Ojs25w2cRdv +tPhJNBK40B7aexvP7y+IVac3bGlXCdqaXCunYha4CFOimN367hcb9TIkhBEXTFdT +b63jWjEPtMRIcBjD5QSzihaR +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/inria/inria.pkey b/server/slice/planetlab/eu/inria/inria.pkey new file mode 100644 index 00000000..8a66a71a --- /dev/null +++ b/server/slice/planetlab/eu/inria/inria.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQChiGOPza8ZLsueB2NCNyOTZcQZ3dT2mw9SKp7q65Jdk29IRyqL +uyUOBQqKhosT0HpFpeSjziKevp0qqBdIpWxtFM7fHs4gzeaZ7Ms0IwKW28ybr7Ls +Wry6PUlOQ/AUMledSwuokHuyYN3SNr5CdNgcC2SMdcMG+B8qLy7B8Z8teQIDAQAB +AoGAM92qMjtV1J0s7gHrQhCYULSlYbTTs5cYNUbQHhgjt/4mBiwrohAmFrlRqCcJ +MwSGriRVJK+EeDo2FsNALqhHBsCSkVrxt6yUexC6PmOBs9SQW5MwbDnB93Xw3HOj +o2ztXW7t0Rd8mEASw8TvL53jBGS3SovHvz5atKabStSnvoECQQDXJxawnr1Q0vnI +Mr0M31/XqusEaanKpkE0s+fmtbpgTfu6Pwi8lx657aGfLmjL6GGd6bRyMvE1mrfj +y0sRedbxAkEAwDM/9okv8521g+vSfUnMy5usLGABK7UVs+tkuleSXw0eRXFYiKcV +QYOESFo62Ye4rdbr+gu5Lbutle16NaaPCQJAQSBl7+S9LcAPOBiTvVfIbUIhjd5m +NR+KUWe75MxRtGEmt8Po4x1jgah66fJkaoTXN7PMmVzuQumojF23RXz6IQJASw24 +VJWN3Bwh3bohIDvJdVj9CvcSffbg2rl5RCseRW/h+kwgvnxAmKy642YYxQly3K+o +xqP9VBaN2pY5uumnwQJBAK5dC9mQc+t73dfsS7eYLWqf0TrN0DS/JlI7iAtzAjKI +Ic6rWLZX7lb/SMIwcypZeKbR+K9YvyRq6x+YMeiNlU8= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/irisa/irisa.cert b/server/slice/planetlab/eu/irisa/irisa.cert new file mode 100644 index 00000000..3a3587e7 --- /dev/null +++ b/server/slice/planetlab/eu/irisa/irisa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVpcmlzYTAeFw0w +ODAzMjgwMzQ0NTlaFw0xMzAzMjcwMzQ0NTlaMBAxDjAMBgNVBAMTBWlyaXNhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCuvGoi2iSQx2tFic1NqbO7fX3Ps986 +aXKVEA4kfAZ2ZgqjuuEtJlZNWZ6hwG50MN+Cp/WczmrA4R+/wj5O8p1BhRApOu7A +CHoCkvvf0xMyTp7NKKGvo4QhecPkfD3zavN0ge8EJpJ3jioXNNgJ4caeZdqdIuA+ ++ufksPO0X0OvaQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJ0o4nDgJByUD2YzaOHK +McusOkn/DzwJaUQXuwfUtDZ9R87Avev2hcEfX41LSmrAqGDIzhUun2kw0R5G7Jq0 +EZb29flgcm3nMsVKPa7IIFAG3ZSVpdkHOyKqaI+zWqRgxTiyWfnvFFfKLzE7mFt9 +RZjwsRN4K8wln3kUcVC3yBDz +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/irisa/irisa.pkey b/server/slice/planetlab/eu/irisa/irisa.pkey new file mode 100644 index 00000000..c406364c --- /dev/null +++ b/server/slice/planetlab/eu/irisa/irisa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCuvGoi2iSQx2tFic1NqbO7fX3Ps986aXKVEA4kfAZ2ZgqjuuEt +JlZNWZ6hwG50MN+Cp/WczmrA4R+/wj5O8p1BhRApOu7ACHoCkvvf0xMyTp7NKKGv +o4QhecPkfD3zavN0ge8EJpJ3jioXNNgJ4caeZdqdIuA++ufksPO0X0OvaQIDAQAB +AoGBAIhwPJvMI8Mcw6k/qZxbxyi+G0/kTojIr5yvNavNYCpxERu5n3vmtHqfYNtC +a7y0MMJPrdvr3bWP03+jB44TqS+lnAvGZff10MOr7SMgLhte03kXqYsyjAj7ZMN1 +cL4MUUsMJaa4oigLxqQF9h4syzFi/ZspL4OAAixZFyEjL1AVAkEA5DPYNPiU+nJ5 +ooXtq3OGzEOwWNT1z32+cYXbnKkChnpBqv13v9rDpvmepfynuJiI8NjUsqnHEXo5 +cv9h+h2vqwJBAMQFS9LFWHwebfd0ky7gWe+/11B8AQfC1WU2bm+XfCFvEkkGdIMg +0JVjRMrwHRrZwimG9mIztqmNJMt3dHJNmTsCQQCjv/wODq5AhLJ5h+cC13RL0OqS +48W7bTyiE26CHNjeDI5gl189gUpR398StpjXokTppn4B8kgRZ4Yf2dfBdVnfAkAt +jkmL539kATJvYzFdoJhmRsCEnP0kT5yGlDrgRmV747NtM0nau8KeJV70hw9MkTU1 +r38NXZVjHEFj5BQ1CGHHAkEAgTPnp9wBiwkJeJNxelmL+/im1P4sxe8ugUvDkZQJ +lfhFzJUBxgi2RkTD4j2RkSpVNmoiTSM3Rv0FZ3XTL/T7pA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/konstanz/konstanz.cert b/server/slice/planetlab/eu/konstanz/konstanz.cert new file mode 100644 index 00000000..cab1f63e --- /dev/null +++ b/server/slice/planetlab/eu/konstanz/konstanz.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhrb25zdGFuejAe +Fw0wODAzMjgwMzQ1MDBaFw0xMzAzMjcwMzQ1MDBaMBMxETAPBgNVBAMTCGtvbnN0 +YW56MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDy/tU7QlXCIk/OaSTBnSM7 +LWwz7UPjXtiejzCy9hrOW0l7eVY7ryhBSR9WVT/p2Nmu/gm8lmpZyRhxT9KFIlm5 +zi+SLNgBpy0FkFzD0MbQmsSGHIXdIHZtYkEWK+4II/88bemPBHygeiBeKDm+v0WV +NuqsC3LsUongfzboHalHNQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBANy9Xnj4suOG +Gn1nKfIrL/yq/3xI/7Zks0JBLAWkevk3AfsldewWbp6HF14Ouai7Clbir6XRrkUs +9KlapvsjfGTCZV/uAYegyYCG8AbHTLZRl5zAfWCW9GWJcNHo9YVA9GuGRImIo5de +QYf0q/VuVapgvGg1OEgF4ELP+CIILWfn +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/konstanz/konstanz.pkey b/server/slice/planetlab/eu/konstanz/konstanz.pkey new file mode 100644 index 00000000..a26d440c --- /dev/null +++ b/server/slice/planetlab/eu/konstanz/konstanz.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDy/tU7QlXCIk/OaSTBnSM7LWwz7UPjXtiejzCy9hrOW0l7eVY7 +ryhBSR9WVT/p2Nmu/gm8lmpZyRhxT9KFIlm5zi+SLNgBpy0FkFzD0MbQmsSGHIXd +IHZtYkEWK+4II/88bemPBHygeiBeKDm+v0WVNuqsC3LsUongfzboHalHNQIDAQAB +AoGBAJO5fKRUBZLKDT5tCV1zTFHToW5IFfeKV6K9ZlvF5jIBqUCZWWVbbNuTuqtf +lEV0AZKy+fRedTU0Xdm1L0Skx2pQteU7LXoWW03UMvGN16o9aHEJL4cIxI1AP0os +V7JTuVrEa7Sw+lkvXCtxTiYnbApwPFgSg1tfWPX/vBKPrbLZAkEA/VIregPxrCrI +eRzU9JFtrXbmu7od/fBIFY32oXLk41Dw/pi3h0oaE0lc1ZzuOthCHGsPVBP9TlQr +U/fzaSFHzwJBAPWQtUy8xMqxnJ0cdCSqiI9Y0A8mwRlgfiubAzHMeo01i7c9C2BD +fKmntY7YwQJZs9EJ29Ikg8xLQzrIMznKvbsCQBSQPwdAmrWnI27xcDgKNiUGqeRD +T3v1rWRSidrBQONTBr0kGIHa+hLmuap9erk8JOG5rxzcIovhOUMvtYqrMPECQQCJ +zWgAJRpmCJ+zhukiPlSd5J/1MLFB9WU4QSfcxTusjHTYIjiFD7ogVo3LGJXPJNmE +n/ysg3M2rLGQhhJBByXLAkEA8bU+Z4YCjw/b7XhX3WIEsX160YFEv02dZ4ux7+Ov +v6FlGvTRkeX1ee/qpeUYnciXhEZW8Kv3CRE5bxs4pEFmdA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/lisbon/lisbon.cert b/server/slice/planetlab/eu/lisbon/lisbon.cert new file mode 100644 index 00000000..60c19603 --- /dev/null +++ b/server/slice/planetlab/eu/lisbon/lisbon.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZsaXNib24wHhcN +MDgwMzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjARMQ8wDQYDVQQDEwZsaXNib24w +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMqgtDwJdJC/diRIdz6jRP5WvLle +tm/ccw3pd56nzTEfJI9pcUh78APIlJcQOtSRTHcxmrWeBSy3NUlv1J43AF/S7/jB +h1NQT4uzyS1DyV/4VyxTThPjtb+QX89uWBXytXiJmp8HRHFdH4kOvTlq+oMTMELp +sbD7iLMqxgvLQoFJAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEADnB7CGnaWOWD/eKD +tl0YdqW53ZfICn0SRWITwFMoPr7mVRXlJojepC3i8weCL1ZHRo4FiOy0qdcIKAYq +GCAjjfcvm8wqU9oL3K/YKWvayRMPZIad0z4mp0j9G5j6+jYXtEhGr2TKyzUB9ADP +CXJmzdFaWVS5FL1c7Drv2WvatfU= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/lisbon/lisbon.pkey b/server/slice/planetlab/eu/lisbon/lisbon.pkey new file mode 100644 index 00000000..1c536efa --- /dev/null +++ b/server/slice/planetlab/eu/lisbon/lisbon.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDKoLQ8CXSQv3YkSHc+o0T+Vry5XrZv3HMN6Xeep80xHySPaXFI +e/ADyJSXEDrUkUx3MZq1ngUstzVJb9SeNwBf0u/4wYdTUE+Ls8ktQ8lf+FcsU04T +47W/kF/PblgV8rV4iZqfB0RxXR+JDr05avqDEzBC6bGw+4izKsYLy0KBSQIDAQAB +AoGAXEjEzXMg+6u3it7WMFj72zp1yZcxT9D/NZ7XNBMIiQ69//Lt/S01KwP3aLWj +lZx3TvHwnDbT9IGca03bcBNsv2g947tAXlYTfkCHbUJxxmjCF1MTebjOc84wQ8gW +jWdtjzuUDkhTU8MFDRxTplAPubLZMUutnGvDSTcg5tOjwAECQQDnc39FaRL/Mk6Q +LqShhEdEzTQd03kzq/YA0iZ/J4BQR3vWW2hSuM9khXkAmfVzTvmXmwEml4LY0bU7 +SKGP/EBJAkEA4B6TetkTC3R6ptBqOL/XFZWiH0rgS2EplLuu5pfNTEsS6+Tmu2Sf +7UYCUg81HWy9ZtYy9+BE1cz5dHI/lUY5AQJALOeImsPfDqoI+gpCoJ+UYDHb2amM +y0yiptge5e6ZA3pK+XS0kdAPVLZcmpREPcHlxNcq6vzcQwq0ubLGvbO4GQJAcZON +MahoWlnA/mCINBIkMbAO5MTRPeITbGhgjkNHqu4wvJLXyweHdHsSGfvS8wJ0SXUr +hyqEN8UUdcqgJkncAQJAMavw8xmidrL3YuljFLaMs8FE7AIVtwExaS3I4B8C8RUc +Amo1MxsjIV0zUeh2FcO0HDs0oAEPiqLbLou8AVuTDw== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/moscowstate/moscowstate.cert b/server/slice/planetlab/eu/moscowstate/moscowstate.cert new file mode 100644 index 00000000..e8b6534f --- /dev/null +++ b/server/slice/planetlab/eu/moscowstate/moscowstate.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmzCCAQQCAQAwDQYJKoZIhvcNAQEEBQAwFjEUMBIGA1UEAxMLbW9zY293c3Rh +dGUwHhcNMDgwMzI4MDM0NDU4WhcNMTMwMzI3MDM0NDU4WjAWMRQwEgYDVQQDEwtt +b3Njb3dzdGF0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtzP7wqSuKiJA +jHUxV52cJk2frihdDbj7LTm51yek0CuY75CkieeQtcLEs8VYIPVAYysW0V14Lhnx +WDByrJSdS5WexYbSFtXSfLec1I/QEZk6FpxRm9sKp5Zv/kH2InMp5J2ntMVLLgTU +Z8ittU7VyqBTt+4XzF8oMRkdZ28yFO8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQAq +UBthDf+O4NDOq6VcATWe7pXsQ4BaOxjw/Ygz1ADiSkXaEs6UFoN1PZl16607ghTW ++o6X2uu2heKOpYpMw2sLEy7hDLauTEj4x6+O6EZQTKM6V95Znz4E0nchgONu/IP0 +bs064lzjY+PPYGBkxSkw2jAGl1V/41HqWOSjMqbbHw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/moscowstate/moscowstate.pkey b/server/slice/planetlab/eu/moscowstate/moscowstate.pkey new file mode 100644 index 00000000..47b1c97a --- /dev/null +++ b/server/slice/planetlab/eu/moscowstate/moscowstate.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC3M/vCpK4qIkCMdTFXnZwmTZ+uKF0NuPstObnXJ6TQK5jvkKSJ +55C1wsSzxVgg9UBjKxbRXXguGfFYMHKslJ1LlZ7FhtIW1dJ8t5zUj9ARmToWnFGb +2wqnlm/+QfYicynknae0xUsuBNRnyK21TtXKoFO37hfMXygxGR1nbzIU7wIDAQAB +AoGAKhIr/JTo0hAvlpHLFP3CwCEPTGVEiUQzmj0pajlWZd+9LTagMnMVDkh993KY +PGlVsfBROx8l3CBlBgWKMAuo2zCc+jiz0XIXKaA4SJN+GDpGbc12FRKwYIv61714 +/jbgRd9vccBUD7ZP6QMRJ0T8CCbxnilZKkLvAjUUy4swd1ECQQDxyRbYnsyW5NvU +f9w8g6Y01Y/2lawtl3Z4lpzXVA/ORLQlkuGjAwKHV5hPiYjjrjqloWJBHkeDSSAU ++EXnHOzjAkEAwfk4DvPOajD1b+xXjQ2OMDHnKfAC/Nyh9GOkbjFWCjLGrAqZPGDe +H1xd7pv8agJ+0Q9k990v4Bosd//4eENhhQJBANSaaK9juyx34uEQ6PyBGnXc0DEY +XQTd6TuR3CnvbdKHUQy1AhkPvXp6yKAvpKHngwQ/SyFNWb6UX1RxFy5ondcCQDpe +jUDqmr2Xt/OTEhFu98+G5MHY6H1AwzdwWIWUMQjmmKQimFPz7kNPnzBzHfSkhZbR +ZBe2JnbwSVte2l0OIaUCQQDPhp7VOGkIkKyubA7CVSMwXkGY3ZQPsrqiJoMT9LCg +DXk0b+Eu3WZPsyctdB6xnKe1SmohViIMtwtcYdjdkfqr +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/msuchem/msuchem.cert b/server/slice/planetlab/eu/msuchem/msuchem.cert new file mode 100644 index 00000000..28e231d3 --- /dev/null +++ b/server/slice/planetlab/eu/msuchem/msuchem.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdtc3VjaGVtMB4X +DTA4MDMyODAzNDQ1OFoXDTEzMDMyNzAzNDQ1OFowEjEQMA4GA1UEAxMHbXN1Y2hl +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0gjX8EuAuU5NVl/ST8GBO3gy +TFHFk4rZVuzlymbxWgqna2XCjhzThGUVGK68UMKnJ7eWjFYvlKp9vSipOPIEnsM/ +bTW2G0jcqbjOMlEn6wtbrxcbWEp+qbwnTVV9Y46XL1CGIbznEeHF4Eh1zbgwnTeS +kSjK/qerFEJ95UPu3ucCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBpI1LHBaqPVhhQ +MsSeapeTJa9wkjpWVxAWCh2GyWpY7zGl0KYyVWHFzf1uYn6x1JTHXcmUsx9TtBWV +b2kILPkkn70ZsCv60xpqm2wZamNvY34gqas+akgnNng3eWvrORicpJeyq+EFxNyZ +tYTjSsNijaEegYC9nqub+bgudA1UiQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/msuchem/msuchem.pkey b/server/slice/planetlab/eu/msuchem/msuchem.pkey new file mode 100644 index 00000000..aebd1e58 --- /dev/null +++ b/server/slice/planetlab/eu/msuchem/msuchem.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDSCNfwS4C5Tk1WX9JPwYE7eDJMUcWTitlW7OXKZvFaCqdrZcKO +HNOEZRUYrrxQwqcnt5aMVi+Uqn29KKk48gSewz9tNbYbSNypuM4yUSfrC1uvFxtY +Sn6pvCdNVX1jjpcvUIYhvOcR4cXgSHXNuDCdN5KRKMr+p6sUQn3lQ+7e5wIDAQAB +AoGAZbsQ1HvNknOhs+dfl2/TZ3mVay/kMc177cV6m6l21zT32GYGcQz3SlYnfLgN +0FQn4G3kxn5sN2bI1lkedc2LfHXUTbQJPeOZdJkm+XuXReFfsq6DbR/PoUBPGti9 +v3yQQIwq9ZxExxqm5wfzXA6Y1YdPBu5YD7YJp0xHxEcIHqkCQQDqDSBJklUbPfF7 +qI72Ug+g2ty3ahoWHAZBVLqBlSqYpoOIpaFdl/5tbAbDAEnbWKCzCqTBbDDPlDqk +gOJyTIrtAkEA5bsls2FdigHZqZTQXBhvoAph0fYSFqLn/6Fcbp/8CXNuq62t1vJW +EOd8Waf33d5pustXzrI70pP9B7NoTKzSowJAXvMiRRaLVjjj7XGtRbp2wp/naLUv +jgaidwCDhSxZkoIC3H2tIAYYXpWzjIpibAzhbKEFw747cwrEW5Y5x3rL5QJAeiiO +/pjapYUgWgWQ2jgAO2jp5TzlF3ZeyVbjkMuvuNLR2aaMFw1b6Lc/L2ma6zbWoAZ6 +1aV/HBWnag3je0o24wJALIOKxRuVL9KhCA048lsBgerb19ytew4Jby4enARC5GJg ++xgPNTwOLKNvaojgsg6FNBUGfvHUxWOYlx9fN4a+GQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/tcd/tcd.cert b/server/slice/planetlab/eu/tcd/tcd.cert new file mode 100644 index 00000000..0d5bdabc --- /dev/null +++ b/server/slice/planetlab/eu/tcd/tcd.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0Y2QwHhcNMDgw +MzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjAOMQwwCgYDVQQDEwN0Y2QwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAO6ZhHilEnbdr2oRdnXA649Ddej2EWTdqpJh +LvUs0cwpJ7i+4KNGmQuhdHFIUPyD+K+wd07/F5agKzTjSOL83nV/xkal0vYd7j6f +BVxqT92jA2nzSet3IGJjc9UI5jvlev39FthcPewYnYBDWNdxYj9mVRyVyM2QGBVi +qD6+WROnAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEA0hBff/5C2kXj46OuEMHEnBV1 +kseS+eQPVoKXRddNtxZyBClajLnX3UR+67R6MbB2830Quy9YyU6h4bclaWm7rwQS +8XIs1MKldsHCmBYnJcsWU4q51C3CGc1fWQNwWm0HhBS5W4Z1ilXsNz2r++H3G4Wp +W/pqUIMc+WijLpZeS+M= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/tcd/tcd.pkey b/server/slice/planetlab/eu/tcd/tcd.pkey new file mode 100644 index 00000000..12e4df0b --- /dev/null +++ b/server/slice/planetlab/eu/tcd/tcd.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDumYR4pRJ23a9qEXZ1wOuPQ3Xo9hFk3aqSYS71LNHMKSe4vuCj +RpkLoXRxSFD8g/ivsHdO/xeWoCs040ji/N51f8ZGpdL2He4+nwVcak/dowNp80nr +dyBiY3PVCOY75Xr9/RbYXD3sGJ2AQ1jXcWI/ZlUclcjNkBgVYqg+vlkTpwIDAQAB +AoGAB0gIEuZ2ucnqIIKH6vAIQEb+wi1AOqPJIM52cGT9wg0/eRPaJyFwajpzI0Hh +ttMQM8xe17pRLfeVWffVsZel8kDtTE1WaqvR0PzjtaWmYAYN16US9AkKRk/uofwq +QVowvQ++6kSqQlJEtT7KWZuVIEIZz2Jd09VuvmUWRp2zeoECQQD846Gqi/4zSvz3 +Z+U7vV5W2Kqv1MSRynjAhcO61i6xzhXNbj1VCmbkXL/Xi/9zjtQyuK4MS7ZKDk9c +4gAFb1aVAkEA8YjjG7J8wBROG7/09bzHb0GR1Y6cJQo4M7R6azdIBloPCUL4xyI9 +9/YP2GVeZm+ZYW0jQB4W2zZW8LJQpTBeSwJBAPrCWPc886Y28Fn/Cp5PK3GgTLgn +mXcbNttoiGoGoayrtpDKhESEGPzOP2hjqL0UXrOgzuzgUnRidi2a5/x7p3UCQQDq +jAxGhDACcnVbGy/sRdLBJkJQyHi2u1LSWusaHIezq1a4nrFo5saYePjwIZfnD245 +nrrBc7asTvtkJzSLBQo7AkAfp3LCRZ0//8U4sz/YX5RQCVZfn8EkHu0U9c8MTPlX +fuLorzCqabl7UVYw6XPMVga8wszZKFNrd4RKMzIKxy/e +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/univie/univie.cert b/server/slice/planetlab/eu/univie/univie.cert new file mode 100644 index 00000000..c9b90865 --- /dev/null +++ b/server/slice/planetlab/eu/univie/univie.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1bml2aWUwHhcN +MDgwMzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjARMQ8wDQYDVQQDEwZ1bml2aWUw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOvbZE9P7fc22RA3ONSpj+8dRPf9 +JbQVcQ8oGzEGAOyr/d0zVM7CpXnDBbEb0q2myq+WI718ODl/LFBv5gMqNCVZ1svR +pFw3HBT0P6haQmIAQijoXIRhrfEVryGkXbMCEqeXkZUY/wDzMh+NTldBkVmYqQNP +Wmrw57UEZlsSbFV7AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAS2nrGFt05PM+b/On +WGgeN5fhSdaThYlV27sMAPdMitwQ24K2JlRsGY5XJHmUTJWkUD5Sh0pocz7HKBhS +ZRLhaJmoJFk8uJyay4pOG/kIyo0Lbh37OeDdlqWw9A5Ojs+wDAapeWli9ZMP+0Ui +DMLSo54iVJu2eBBLi68IPKEgqrI= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/univie/univie.pkey b/server/slice/planetlab/eu/univie/univie.pkey new file mode 100644 index 00000000..aad72477 --- /dev/null +++ b/server/slice/planetlab/eu/univie/univie.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDr22RPT+33NtkQNzjUqY/vHUT3/SW0FXEPKBsxBgDsq/3dM1TO +wqV5wwWxG9KtpsqvliO9fDg5fyxQb+YDKjQlWdbL0aRcNxwU9D+oWkJiAEIo6FyE +Ya3xFa8hpF2zAhKnl5GVGP8A8zIfjU5XQZFZmKkDT1pq8Oe1BGZbEmxVewIDAQAB +AoGAToI17qylgo/QSzSGh0t17NsqVP3/6eTlQG1SN8xOzHknxNTMWxKxsEk5gM3J +ICKP/0iT1wQdVw48+v10bANFXbHmLWQARTx3M6JHBhh8EI6P0GcEppJPy6yVQhlX +whgIYBlkYZbR6DHHG4zdB/slYx17XBSgVBzPcf/r9CuwulkCQQD2ygaU5E327UPt +CjHwYooYvxMGRJmSbnBklSeKsrT6LjzyMqGzv72dVDDwbspIel4XWxzCju3LmVBA +N07OJxk3AkEA9Kjp3zzU5JXxY0Y3P+VwxPixzATpSNGdrER2J/aAj+tcuB4sbOqA +KW87RzZbS+ZQa+HcdT/kTo9icEFafyV33QJADooGaz0sDrEZwFxKZuQXSK/xGfxu +o77X5kUXSEeQ+/A/bPFor2NLc3pjS7brOevjoTKf9iJfhhApNy9K+EA7bwJAFtq4 +jhv2nyvKksV6X8OlFyFMKozC5gR+wBrdFrqWI9uOm7xl1f7J3hT/6pUPTjXDiXBd +0a4YO6Z1QZs5QutTGQJBAJ0tkHhzyJQFbp5XuuU23ztSIgcB04IPVx1rjNW0mTU5 +CMHHdspxDDhzHrLn+7L41zOug51+wv0ZbprFpOy1Yo4= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/unizh/unizh.cert b/server/slice/planetlab/eu/unizh/unizh.cert new file mode 100644 index 00000000..8443e6af --- /dev/null +++ b/server/slice/planetlab/eu/unizh/unizh.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwV1bml6aDAeFw0w +ODAzMjgwMzQ0NThaFw0xMzAzMjcwMzQ0NThaMBAxDjAMBgNVBAMTBXVuaXpoMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIZZjIN1u1BTi+4SD4Z6iHn3fPz9mY +yzK5D6jfUAUrrwo6jmbRuCxhZFJ7mhvgt/H+jUJTWrtD+1lxNba29ICnpk5hrBNg +t+45LqXqOhhNmWM6q//eaXcEpZu3nFr4hcOxnWSC9vt1szTj1oAy6sJv1nExhH2/ +3bSdTxxUqTyT9wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAAVVwnB854XwKk9Tg+qW +9L80d5VKxFFBJmS5oj986e4x6tvdRCYj+pXYYx+UKpGwbfc6mh814Y3sPXPgYjwG +r2/W2tQ0OaHkeTSri2iQh46Ls30BleN1eWD3dyoJPxkoAJ0/9XeGtOZ+olNvfkbr +2LmKN7rd3sribMHXYIl2iuWO +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/unizh/unizh.pkey b/server/slice/planetlab/eu/unizh/unizh.pkey new file mode 100644 index 00000000..162d1f57 --- /dev/null +++ b/server/slice/planetlab/eu/unizh/unizh.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDIZZjIN1u1BTi+4SD4Z6iHn3fPz9mYyzK5D6jfUAUrrwo6jmbR +uCxhZFJ7mhvgt/H+jUJTWrtD+1lxNba29ICnpk5hrBNgt+45LqXqOhhNmWM6q//e +aXcEpZu3nFr4hcOxnWSC9vt1szTj1oAy6sJv1nExhH2/3bSdTxxUqTyT9wIDAQAB +AoGAW0fL3Ac7Qq1qN6gceIne/kfpL0Oh/jMwm5NCfNXaRReqNRoAQ678qDAmUh7U +a/vdwvFdMNK3UjP/fc3VuGiO4P/soff0l3wmC7MVBCJIUJbClNc1uEUj0ZZyRpU8 +6s5P4Tg+8AtYV16EIx45Kfm5lu60bIF5GlQnvSdNl68kqkECQQDwiP+eCFB3t3uC +BFWi30Hk3ruui7ryq+JLHM0KYvgbBTyNAL6aPsPsAm6g6ZjEOvuUB9zb14BkocNx +051uFjSJAkEA1Uf05ilkSSdXImK+r5us3dMwhlVOE904+UiSfEJwFBKbAGdDbwRd +D4LZWkFbzEhmgGbVWIE8t8uX6KYhW1tkfwJBAI59KafNVxXEPMcFmFFWnitdgqLg +pYtyJSjH0/MOM9mV3YvN4BtxiRB7VFvAZb4BDt1fVwdofueeKDB64my/fLkCQGcT +TJdDn9T+70yN/mwuR2A5ZbU2WvKcsqE/YpQtI69/wmtyfJOVv0f0zAijl7LltqwN +hsQsSWTmPzdPusVFKQ8CQHEmO/yxBQK7NTPS7M5uIMSwsKFOuFzMS466kK8RYASQ +ISstxVyI3QdAwGkg2jk10+hmAp+SLJIVog53SGCpKD8= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/upb/upb.cert b/server/slice/planetlab/eu/upb/upb.cert new file mode 100644 index 00000000..2b2a3c4b --- /dev/null +++ b/server/slice/planetlab/eu/upb/upb.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1cGIwHhcNMDgw +MzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjAOMQwwCgYDVQQDEwN1cGIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALojSE8A1PqbRYVSIs03YY6iZNSJDxRjvbey +Rd1xitTxHqRFbB4M3HKprI7DpcQU8MHRfxcnNrUQV7uTczU1TnBi2LbYIhoJXwlP +mOTvrjv14QuTdYx5AI9gCZ1kXbLjWTsKVdHwOtXPb1coHt79P8Ca/G5VTVeaXJJS +4F17nGGPAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAlDysbeM8dckd2vSBzRTUioai +2pR3rCiyhJ+Ym1pFY95yjAnpi3a3aGPYYPBBiPdCHc+6lnPIrudVMToXgjVIc9UD +6bnRwlAMyIw7b5YOcD16/xT3rHP28MzITs1a4nXWvbUQuLwf7sg2NiKGihSgofJG +9c8znI9ldw7MPGFWOlQ= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/upb/upb.pkey b/server/slice/planetlab/eu/upb/upb.pkey new file mode 100644 index 00000000..f78f05fb --- /dev/null +++ b/server/slice/planetlab/eu/upb/upb.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC6I0hPANT6m0WFUiLNN2GOomTUiQ8UY723skXdcYrU8R6kRWwe +DNxyqayOw6XEFPDB0X8XJza1EFe7k3M1NU5wYti22CIaCV8JT5jk76479eELk3WM +eQCPYAmdZF2y41k7ClXR8DrVz29XKB7e/T/AmvxuVU1XmlySUuBde5xhjwIDAQAB +AoGAKUbLsSFJGW23Q/JL32AplRyz6WGfY3Ee0A6LaajVFZWGqvzuFdfaRt8TcfE2 +4D2YihJv8W1zt0Exg1oWUTVJ+EbWDtYeHJFjS1JbXXQ8XwqFU1zudmkGLF4My4Ze +GTJWjNpMqccYSQu1oiW2/HcBudHKJDCpkTr9eCqu9TZCz3kCQQDxS6Kb6JnSz2t4 +2OvE+P/kazx8mGCd/PNnOMFC1iQSgPThvDFQncMPEZqW7vVHI+8i3Jg2hieF6Szm +Y9z/ykJ9AkEAxXsnFI5tvmSxl23fa6zqWo5rVKAhCAKmshIhmhyEyP4yKwodseEZ +qBklXulO+wh63UnZRttOXjXdKx1UVh/F+wJBANOEUsnKrzTdwD8SIDLtdxtbaY1q +4Z78gr2kQb1+C+bwhjlvB+e8M6X873+Jfxdah6EOsJtzJCg9y682MR9ExN0CQAW+ +SSqt4b8xyoBu75qAEujDT5fMeGl1Okffgx6qSapWyjq6NpbfxxE+efnCq0tducUJ +ysnmwua2hlIkrjk6/1UCQFqB6e21EZ+wcLD7nWZ3bciSQJXo/IoYrZhETSdZgf5X +GONX5XYvUzXkYdUFb7qrYeXleiLa/pse+uFQaMnEbjI= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/fing/fing.cert b/server/slice/planetlab/fing/fing.cert new file mode 100644 index 00000000..5eb0f636 --- /dev/null +++ b/server/slice/planetlab/fing/fing.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRmaW5nMB4XDTA4 +MDMyODAzNDUwMVoXDTEzMDMyNzAzNDUwMVowDzENMAsGA1UEAxMEZmluZzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu6PNOmV8HdqW1brodQvKu3m6230IE79/ +8/SdotU5ip5hIvuULLzyr6iyxprBUpcqRrh4SAKZqRMW4f2NynUsaZD/z85M92C3 +JtHZ1/3N6d6XqRvcpTPvmGfk3Mv59WurhxvjPdlf1oBC2ynIZMr0BElefbX9paxY +pR1Lp/4TpD8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQBH/GMSgx8MtwXXwfsxET6n +yINs3yw18V4dioTo/YcaxyW47ZkkqFAK3UnawmVDyPmjWcGMFTvIQeP1e4NYXrOF +rZSUuVGhQ6icX+MgyOxvvVn3mTP6QibWWhpfHFEycJgR+UIjWg7SVxa46jDYLn2X +fuGHOf3mrtmIH3/lyTaJ2A== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/fing/fing.pkey b/server/slice/planetlab/fing/fing.pkey new file mode 100644 index 00000000..d50a13c6 --- /dev/null +++ b/server/slice/planetlab/fing/fing.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC7o806ZXwd2pbVuuh1C8q7ebrbfQgTv3/z9J2i1TmKnmEi+5Qs +vPKvqLLGmsFSlypGuHhIApmpExbh/Y3KdSxpkP/Pzkz3YLcm0dnX/c3p3pepG9yl +M++YZ+Tcy/n1a6uHG+M92V/WgELbKchkyvQESV59tf2lrFilHUun/hOkPwIDAQAB +AoGACG6O7V3cGvdUqdwRUBksjgolVHGk6EZFuK+4WbXdNRZy5QCLIwuGmFArYHNZ +1p1GYBEwDoRXZVqfP56GPZ/QVAZIYFkCw3kPFCb//qnVi4h1Rnstq9/fRpKlhHFh +ng5vhIA0kT5AOn+bdf2eTAmTOQcKsgKlL/VrQlt4f5LkLPECQQD0bO8p20NGtW7U +zDrcUERAnZ2eRL9k3R+g5/B470ghvOtBiYDB6w1l2SJLGhl5nKsUUrCPqI9wA6vS +THOHVlypAkEAxIZ6pLH8ybmjSwOPPMSMJa+6QueEqgc4MoJC6ZgRr1NzG7a2Jzxk +SDofAI6uxfmAeafUrspixAGLF883pXDipwJAE7Mb64GygGZrEleLfuoxNgv+Ah2E +V3rC69MFvJl8dMunIlcUu4xYPhcr/mWSHA0WdMLdXBa3yM1i8cYboZLCUQJBAJw6 +l9bDk8S9qb1heAYD7bGr7/Nt3z3XfWpRuWW/uRdazKAUcNviG4p7gdfMlc3WWbbc +n6vQQhG1dGCaH4+KnPMCQQDvUdeGhJQsjO0TW1DqPvQueXaAaksNU95sUf1FukLz +lw6HAl1xCbmHA5Wjlj078+yOLhSpkYGhXNBzb6cjgOQN +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/haifa/haifa.cert b/server/slice/planetlab/haifa/haifa.cert new file mode 100644 index 00000000..11a81a82 --- /dev/null +++ b/server/slice/planetlab/haifa/haifa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVoYWlmYTAeFw0w +ODAzMjgwMzQ1MDFaFw0xMzAzMjcwMzQ1MDFaMBAxDjAMBgNVBAMTBWhhaWZhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/jqO9ZClR4gL/rO0XZ6fFU5ap3a+W +Ev/r8rQ5vi8l505tdfaqsyfE8hjx0oyefrvGeeS/v7yVpQwzDejJxQ/0+5ZV57JF +Q73SpuoD0+lwHSpTRcdX/iFBW4to6VqK7EdRZIyCd7Kft50bYenhjVgAWBPvsMTZ +Zs7auQiO0+3+PQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADfvl0z0Xx41nxTtQCKD +rmcS06V04dZu7zVCkIiRor1X+et9/1RwKkwZ0Qrd6+GSluYFjnwUe9MUNAXkNKPB +nw5JK+PvoTVlRnsPOR+zMCbTG1Oc8fa7A0EQmOsLz7XkJh3+HVzi6UHKfqw5OTG/ +ZkbmNfGKozeGldv9me/AmFzP +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/haifa/haifa.pkey b/server/slice/planetlab/haifa/haifa.pkey new file mode 100644 index 00000000..2962e599 --- /dev/null +++ b/server/slice/planetlab/haifa/haifa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC/jqO9ZClR4gL/rO0XZ6fFU5ap3a+WEv/r8rQ5vi8l505tdfaq +syfE8hjx0oyefrvGeeS/v7yVpQwzDejJxQ/0+5ZV57JFQ73SpuoD0+lwHSpTRcdX +/iFBW4to6VqK7EdRZIyCd7Kft50bYenhjVgAWBPvsMTZZs7auQiO0+3+PQIDAQAB +AoGAZI8Y3f+KwXWIZXf+Lt83b5tl6F58IqhuuQp8GiQA1EENJuFaUFokcns1JR2G +vF2Dbbnnn9GjylsOgG642dMdgHFRS8bCaFJdyaFvElpTZoxdSMOAVc+FXpoq2lAp +kfV8u+NBuK9wYZ2mQ5fYDng/f5t7i89XSiCdwnEVb7ya0gECQQDiuWDTuJDViKJ7 +LvIEJMgfN40e3oJ3BYEXeQDlWG1VnT+mjpIU/xS+rfrGAKHaslOc+C4jp7REbXZY +Y5he7B7dAkEA2ErHPbfQbsHxKpCRdXsh925nvBuw4640K5hXNNJymfpVILyjI67c +sG4Pvza8rK4CfQ6LzkYef2TKzdHPmZF24QJAek56t3xHVYoB7OXkVOvqsTxseoya +YM6tVxZFr3NGd/r+TUF3+K+qZzq/n3TT24B7rqALc9ySWJ+cSg5gMkS6WQJASnOb +F7yRK77oo+01lMn4zDId1Rt3DThmzubWheE2/5ey+9zTDzJe1wBbvUc7NPmE88Ux +DKUIVHO+d5CUNFllIQJBAI4uhZds5oIaiML4iAhJMI0VQenFXv/Ec0MpRKzk6viH +K1WQPtuGcBY86SfabXf5CJW9CwJkV/nbpXLidJCX0Mk= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/icavite/icavite.cert b/server/slice/planetlab/icavite/icavite.cert new file mode 100644 index 00000000..6356558c --- /dev/null +++ b/server/slice/planetlab/icavite/icavite.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdpY2F2aXRlMB4X +DTA4MDMyODAzNDUwMloXDTEzMDMyNzAzNDUwMlowEjEQMA4GA1UEAxMHaWNhdml0 +ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwGXkSiG9iU9wBaw0jtYSUrNy +EGjMYb2N2H7EjZtkgMWzgntjVQB1qg4Sf0hU/N5kfZlAU6U5AyS6yvLibS+Geaoc +frrTXYpJvBibfU0cfrijItUosDKBzhvl1Nby9CmoHBKrMW0OWyqjVCPNJCdoQd4q +LRLzps2QWkWXO7y8k30CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCItGCr8qo1voWt +loYa+DkNsmsdz9VfzjyiLAKSAd/U603+jM1RY30e8gSeAFsFv2Fc5Ll/edHvSYQD +3s1ZOCVKCyBKa2XT90EPQwRPYRnqTHlcqRuaDb8dPRC1hme+yqEpgla0bIGPvjGD +p3RXbbVhvxXa9GfcEumqFkZWnpAg9A== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/icavite/icavite.pkey b/server/slice/planetlab/icavite/icavite.pkey new file mode 100644 index 00000000..6e7ccacc --- /dev/null +++ b/server/slice/planetlab/icavite/icavite.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDAZeRKIb2JT3AFrDSO1hJSs3IQaMxhvY3YfsSNm2SAxbOCe2NV +AHWqDhJ/SFT83mR9mUBTpTkDJLrK8uJtL4Z5qhx+utNdikm8GJt9TRx+uKMi1Siw +MoHOG+XU1vL0KagcEqsxbQ5bKqNUI80kJ2hB3iotEvOmzZBaRZc7vLyTfQIDAQAB +AoGBALVwYXW3k/Klw1LWL0p0fxsWtv7alcOm6tm70shoPsNhrgPjMK28nTodwzvd +jqhZYhNALvWy3q0kOjOiEf49z2XSaItCq0/wujBe7z9kkJbAnHgEudDPW4GFHvTv +qRQTjKFDNNl8SNS16/Sg3Ti0ESnA8Kf5SXJzmVgNGjxKBNdRAkEA4jlshJnrzsnu +RnTv0cxnweoI1pq0Yjfritalm8cOhkL6bl4QsZTbFQewNtLx4lnXz2x0CPJsrJHg +4zD1JnjIjwJBANm4stSGnAxYQBsWNNuGuAmuPx6S7mej/1wv7pHqc9fZF03BViT9 +ZelND9l8L7Z+PoG/7DHQIrrVXoAH9kdC8TMCQQCRvokpTLjc+r9l6QRwV44pIgwb +poO8G2bGhc8f8zhqS1BoNnXu0oXqoI9oYrKvL06YNbjz4qsc6sbF1864wGwFAkEA +maaydjAlcsTZQQRz+zVhLlvNadtR6syfS8T7/fhTFtK7koFONT6rrHFZLShqV8VS +gakbnLABwo8QaRS1ZudEZwJAFiEA027lNDD/iBtmbLJciIG/Kd/9ETOcNx6DR9nL +7Gb7I499XIVHrGAddmibCxCgzp9q9dlfrofG48GfT3G1tA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/ihaifa/ihaifa.cert b/server/slice/planetlab/ihaifa/ihaifa.cert new file mode 100644 index 00000000..26824acb --- /dev/null +++ b/server/slice/planetlab/ihaifa/ihaifa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZpaGFpZmEwHhcN +MDgwMzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjARMQ8wDQYDVQQDEwZpaGFpZmEw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJuzYT/8+aKR7NmtIz62ikp72h95 +xsaFNaQqY15P5XelRfLVU6Eb04kZsqTgGvdDycgg7aTfvIhKWjV6NFDF8KT4xixT +volqyixr49Wx1OJSVBQVTNmNjJ4+78NWahXTNVRswcHy6Wgb+I4MJGyw1tDxVrKr +Rg8MCxf2MQ2ki1LZAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAm6Zr32vuFVtY1TtG +aWGL64GSx9zROdG9+um1SUk2DIUA/zfK+/Xfneto/YGpJEnMVg5lWD84BFgHP8FK +4nfuKWF7dn8Gmwk6xQ9xsd8jEbvv746QqXIhOiS3r2xec5eIUD/u8b4lX10ANkzM +wOHTt01SerhCI2WQGPZUIQFfnlE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/ihaifa/ihaifa.pkey b/server/slice/planetlab/ihaifa/ihaifa.pkey new file mode 100644 index 00000000..12cb468e --- /dev/null +++ b/server/slice/planetlab/ihaifa/ihaifa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCbs2E//PmikezZrSM+topKe9ofecbGhTWkKmNeT+V3pUXy1VOh +G9OJGbKk4Br3Q8nIIO2k37yISlo1ejRQxfCk+MYsU76Jasosa+PVsdTiUlQUFUzZ +jYyePu/DVmoV0zVUbMHB8uloG/iODCRssNbQ8Vayq0YPDAsX9jENpItS2QIDAQAB +AoGAU6pAR7IYMlNXgmCW38wW449J1kAJoANUn7JnUvZ7x573x1T6a0gYk0NLy2zh +EJ1MgE2xZTcUh+fsMXBJTF4QwL6F5pSEIDXO3vlpmeX6xgFITKsDq2f1U02ar7ao +dJqUglMGrvsd5N7KWsi6dA7bI5DyPr7u+RTwjmYwiGSY1QECQQDNh3u0FOY4ZZLA +FLsoujSC4TdLAYpNrKG5t1XoMUABn/aKEKGcwLzLyaLSriER/ZYOHheuWJ7TLxB7 +X6ADBokdAkEAwe9x+Qcd8uTbNc67DCcJfe1aQ/Pp27ne9MbtepueFXFVOUcnEcp1 +IvGrdrhEV3CIYQbxZfkC3I4TpLKdvw1/7QJAScXr3UPzLyMmfdPzKjdMSf5VPpMa +9a6VjngEWgfzlaG5eO1nVUDJg8yoqT7fl/mSNxcOIQKmX99w5xf3854Q8QJAOwYP +IAWkfcpdVTEICJjQ8LyOXmQb5r3ZN5JbsJcwM8J8d6RKJcYChJIc51MJqbscJrug +OLLixhGPtO6PyBfpuQJBAMF/lG+3boZsV+HpMdzgFw9ZVpUQuqC8Lr5yqhwyUlN2 +xS+E/IPRviuJaJ0v4232y2SnROIbVeBCiMH/6SBIPrg= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/iitr/iitr.cert b/server/slice/planetlab/iitr/iitr.cert new file mode 100644 index 00000000..81de0065 --- /dev/null +++ b/server/slice/planetlab/iitr/iitr.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRpaXRyMB4XDTA4 +MDMyODAzNDUwMVoXDTEzMDMyNzAzNDUwMVowDzENMAsGA1UEAxMEaWl0cjCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApXTL9Lwok5Aq4ic8V81gk6CY5MzH6e8K +tFF1e4In0AS/TsMYCLt1DubJk4aEnXuKRg1PIDvGm5FGtDmbh9Ebr0eyKO/S2s8v +VU+dDX99UKRliWhbXfm5aHrSTepRn4tTr6OiM+Qlm0w1XemeircfVLEY4/2PBKlj ++q8IIsCKYRsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAiuVMafQ5+9T9AxP3zNbt3 +kR+S0gykiAa9VkwTzNB73ba2BuIQTL+VNyK3oZNH2h2QCQBT5H7i17+0BFfaMOkM +9l81MMYCy2S8Q5jaMCSqsN3ZzkwSNegKuyAAewfobzDXDj3F5Wbvz/4xebhoYy+R +tmqqmlRrKBBxnXGJrH8cGg== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/iitr/iitr.pkey b/server/slice/planetlab/iitr/iitr.pkey new file mode 100644 index 00000000..6e295393 --- /dev/null +++ b/server/slice/planetlab/iitr/iitr.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCldMv0vCiTkCriJzxXzWCToJjkzMfp7wq0UXV7gifQBL9OwxgI +u3UO5smThoSde4pGDU8gO8abkUa0OZuH0RuvR7Io79Lazy9VT50Nf31QpGWJaFtd ++bloetJN6lGfi1Ovo6Iz5CWbTDVd6Z6Ktx9UsRjj/Y8EqWP6rwgiwIphGwIDAQAB +AoGAGIWL6NSuKtiWEniAL/8nThniLx7OjjQ4YOslv01V+zWI6PJvMHQf8DpyK6Qn +KXPy1VkJnhxd3haU5QcYrvNl58JUn/WcNuQRn1n7+tG0/K4pT+5YhEXhuLAZFV3Q +6/FSVuWIyUr+SaozGksRNaMx9FWYcd7y7ur3dWf4YfPKBfECQQDbwdUuFW66aTsq +cchIaPW9N73apPQz3ITTCfvZFlOfyBkfqaE1+TI4AZ6nkr1RiSPmYzwpHVF1NM+l +RycG+a/zAkEAwL5fxOXrN5PAEbxQosAplhSR0M3hZOyObGhRdrj/KexqbK4ln46E +oohxlMQD5Ck4GrvIypeNJdYgU3p0ngX8OQJBANWBwBXy+s6f2L0HKTi4yTAajRl1 +tFECygWkKI0k9QBDT62EiD1BLHpfkH5swgUKwddfyJ6FfpPqSGfi9lb/leMCQQCE +RKCYEGgAdcZC5YY4icKAGZGPRxm8FpIOVvBAlueUL4dBGaj7++ONXjEDtBgvhRHZ +VrCORr44Dt+UKd7JarYRAkBhJK5sPrgLqyCNSeXzebKqUXK2Q5WEXj7tbFbwjPuQ +eW6AgJROKvkhjR2ZrH174N4Ec8nh3TXXJAEzYGWvCCoa +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/ileixlip/ileixlip.cert b/server/slice/planetlab/ileixlip/ileixlip.cert new file mode 100644 index 00000000..7fb7e5fc --- /dev/null +++ b/server/slice/planetlab/ileixlip/ileixlip.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhpbGVpeGxpcDAe +Fw0wODAzMjgwMzQ1MDJaFw0xMzAzMjcwMzQ1MDJaMBMxETAPBgNVBAMTCGlsZWl4 +bGlwMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDX7vy/EztpCoO8hPVsvYpk +9+JWskkWb5O/CrZf6B/ZfVnpQmHs/M2O3Rfxs5DHTS1xsyZqOnj09eGNKu0egEeP +ZZfAVrl6KhnFn2R320LDFI6psqXg3cXDOi1c1g/0NHrnMmz2uZ9Xo7Qk9fe+nzcu +9DFWoljqEaVH3txfu/kELQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAD/arbc8YGH5 +kjlmsIn5r1Th++GfeuNoc6507sPVGu5NvdkFBz6qa/E5zA6GonzsOf1zTslCtkzW +ctLYqdm3kgdKHJoUSBIq9KMV0nrMZSd52at3onn/8I36DnHCOYsWh92Es/SskEyE +fdYjXjNQXD2tPt1GipPlHgoVvb7Kjquc +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/ileixlip/ileixlip.pkey b/server/slice/planetlab/ileixlip/ileixlip.pkey new file mode 100644 index 00000000..e4e2c8ca --- /dev/null +++ b/server/slice/planetlab/ileixlip/ileixlip.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDX7vy/EztpCoO8hPVsvYpk9+JWskkWb5O/CrZf6B/ZfVnpQmHs +/M2O3Rfxs5DHTS1xsyZqOnj09eGNKu0egEePZZfAVrl6KhnFn2R320LDFI6psqXg +3cXDOi1c1g/0NHrnMmz2uZ9Xo7Qk9fe+nzcu9DFWoljqEaVH3txfu/kELQIDAQAB +AoGBAKcTDxR4uPspW4y+A3dDoJVHByW1hL+LTXH/w+SpIhuR1cOZzVMkt5fWkfQ9 +z8Olf4f96bc/zt8acI5drGJxNuvcRgHps0qYscz+VPrj9xEKKqXPLk6DVFqs/m3L +8LD5rC0rCGQTu0QI4LMltxb6mZGebgzdxqNgL43vweijZ/SBAkEA+qvTh7zAFL4m +LFzMP90lWT/Wr6uEYTwBpPuXlVaQwIqnsttGQE8h9lbzMVRAqFRSKKp7brieNgaY +/n8XrFf9aQJBANyGHaOlCvXvF2vpZK5EvDLB3rHbngxdqZXgHKQGpXSPBQAJKW+F +w/a5rturM+JTbEtBfkT+2/f1H4W2zLq1xCUCQDyycIT0mlordNjXG4n3RXzn7Vca +I/LbcdZ+KUU68c/9gv/XApq9zo50nWx7ZzCbQk2ggkTcJUsVq+Qr6BKON8kCQCD3 +N5UQBgxvunuaPz/B7LRVwPmrj/vfQIu0HfPzPmanPqMbu4L9ZycJ6PbTqATsXaL+ +XmboBnARx62QfxhmNbUCQDxUykVvfZBDLdSPUPoo7ky9JCwR1B+drWSKUGdPb4Zs +mipEqn62I2FBYiVBenD652u8GEqV74x7XEaRLWnTY/Y= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/acc_file b/server/slice/planetlab/jp/acc_file new file mode 100644 index 00000000..5a4ef59b --- /dev/null +++ b/server/slice/planetlab/jp/acc_file @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/cred_file b/server/slice/planetlab/jp/cred_file new file mode 100644 index 00000000..6bd14043 --- /dev/null +++ b/server/slice/planetlab/jp/cred_file @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIICTjCCAbcCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MjY0NVoXDTA4MDUwODIwMjY0NVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOAP +5nv145+K6sfR0G7BMWBN9Zp9tVBdyxjohCzej6VX2fu40AjLb6m5ffRNk9WNroCx +hstcmwrbExRha6pzISsD0MIPUuf48sQmeyTHkpCdWbkbD/FtU7ENI5ZA5dQozFFt +EK2UW1kCv+IzjSVKmBRMfMcEY6UfuU15jdRm8sRlAgMBAAGjgakwgaYwgaMGA1Ud +EQEB/wSBmDCBlYaBkmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDItMCkoNC0wKSg2 +LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEpKDMtMSkoNC0xKSg1LTEp +KDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBsYW5ldGxhYiMxOnJlZzpz +bGM6cGxhbmV0bGFiLmpwMA0GCSqGSIb3DQEBBAUAA4GBAGR3d1rIelq++rJjlerk ++Xlbg+siLcDfNrOE4BgPWqZz9G6QDg+oxpmyP7SkqtO/u/D0PLyndcdKqpXsEisw +28KZtudxBTS5cRpTBCZnoUAGBKLJ3pwRqozwKxxCG8rmsUeGl0xdAjLVw9tzLppO +7LyVz7tZQkIyNF23gv+z9IQU +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/jaist/jaist.cert b/server/slice/planetlab/jp/jaist/jaist.cert new file mode 100644 index 00000000..0a236714 --- /dev/null +++ b/server/slice/planetlab/jp/jaist/jaist.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVqYWlzdDAeFw0w +ODAzMjgwMzQ0NTJaFw0xMzAzMjcwMzQ0NTJaMBAxDjAMBgNVBAMTBWphaXN0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJIO5ADHk+/l1Mw9wdIvEyAJuyGHrL +wtK3CxKTCnJKD+5nB1RQzAKCvayEM69MUxIwjLI3wZrd6sEWsx5aBl16eojLajJY +AODLWJ9KtaRdZQo45MUquAuJVsFeVtVn9ofnsG2edvXpJ6iHnylvbfcUDQNvUu/r +SBHpGqHM41HxOwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBACLg8PuRj+tR7EefmcuN +St0uAC13wj5fbbX2oFWZVCgmOUZolvsXqomi/PGIg4pra9gc3JNUaTkBF9Yn10f4 +bYWAZnItREGnPs9Gtj7mzlPoplixZt6FOpZCvyau/gkOfBX0wM5UYT3Ky2HGAgI2 +U52fVa1c66pTspuFdy/mRmdC +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/jaist/jaist.pkey b/server/slice/planetlab/jp/jaist/jaist.pkey new file mode 100644 index 00000000..e6bb6219 --- /dev/null +++ b/server/slice/planetlab/jp/jaist/jaist.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDJIO5ADHk+/l1Mw9wdIvEyAJuyGHrLwtK3CxKTCnJKD+5nB1RQ +zAKCvayEM69MUxIwjLI3wZrd6sEWsx5aBl16eojLajJYAODLWJ9KtaRdZQo45MUq +uAuJVsFeVtVn9ofnsG2edvXpJ6iHnylvbfcUDQNvUu/rSBHpGqHM41HxOwIDAQAB +AoGAQy0FhkzkPh71CIuuO+kMyBed6Pj2IpI6kLpZBNWLYKM7jBvNlILfH828Dhe5 +J/Pi8mY7rBW05QPgY/WFYKoZlBQNwHx6ici0L8omYSSpiXLcDdau8tvNPvTDRokO +lXHE37dmY/OGTfMm6fg4pd7xf++Pmqdt11EZJZTTSJcpJGECQQDur3tXH0GS21EI +icH5L3irT6XY+TaBdsi8BcahSjPKqt/Zz6bt0YOF5a9TKxujZQIaIrh4SLGv8Wo1 +iFgdx01rAkEA17f/gJz2FtgtA6EmaaU6qJDZTaHnGwmIkmEsFZ6usxrevNPX6ZRH +9JPf96mg21xdyuKPQ8/thzu/6Ono2s6PcQJAWmbQemD2Px8eA/PZKf4W4Bucnx9U +y5gn0z8EylYGY75wZljFytFN1Ur3KrLrFunM8AUyhSxTUGZJadkoNq8j3QJBAL7V +prGnqcjR2xif4nSJWFgxNBwKg4GWsHwWfMJvi8sklTFlE1gu9mz2uKbHKGeG0e6e ++PCbrFz7Ta4F6BpRq/ECQQDIP89td2HTH+zlHT1xqbAiTxg49f4PWBzHFPxq85Xa +XiX/cmdz74eIU3vEb4kpZ1dKXgh5kEnFFEx5f6YaThYx +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/jp.cert b/server/slice/planetlab/jp/jp.cert new file mode 100644 index 00000000..eb8b77d2 --- /dev/null +++ b/server/slice/planetlab/jp/jp.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJqcDAeFw0wODAz +MjgwMzQ0NDlaFw0xMzAzMjcwMzQ0NDlaMA0xCzAJBgNVBAMTAmpwMIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOfiurH0dBuwTFgTfWafbVQXcsY6IQs +3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK2xMUYWuqcyErA9DCD1Ln+PLEJnsk +x5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZAr/iM40lSpgUTHzHBGOlH7lNeY3U +ZvLEZQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALJUkagbTvwjkNswagnzmFOwvrgr +27VE+lze9XYu97FwLeG/ziU2zZHvjO1UVIzbisNGm6NUpKLwvXT4OYXmOQy/pwRj +W+XxBXA51DNI275W3zEhm/ChH70rG9KlaJodGld4CK7lw6ZYYl8mvxV76T1V3oZ5 +SYElO96gZAMA3T9K +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/jp.pkey b/server/slice/planetlab/jp/jp.pkey new file mode 100644 index 00000000..dd128a1d --- /dev/null +++ b/server/slice/planetlab/jp/jp.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDgD+Z79eOfiurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAI +y2+puX30TZPVja6AsYbLXJsK2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/x +bVOxDSOWQOXUKMxRbRCtlFtZAr/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQAB +AoGACPpaH+lwX3ovgiY0FdwD4Hn/N1uGIlw/wRXABhQ86UEl6OI048VTChf2pg1d +uRbeQSXb4tYpGDxC/XQR3liSoZVgJe4It5otzn8D6EjVlbvf482G3VbYkLCx5yda +wCV8NRjeazXcvvXJeMpvBLzh/cckVB2hiIHzt9nw1QrbkJkCQQD/N4vA03NpSJQa +CBuK3aXBJE6yKVuEjxZGBQ45X/IXImro/WOAet3NF8NPaFSHzSxXRez8r5fAcMuV +JNMZCG5/AkEA4L/ic0jl8sTVTk+eg7CSlweg3TwYLf4qvYH7hqepgPV+S5SMiUFN +iKxaj+8VZrGwq4EDkDgJIgoilWEcPaxjGwJAQzP0J9VGGZ4T6XrjDcDpiZ8u3bkI +MTKgUdW49iCularpbepzDfzMdNniAwHc6Fl9aImwKqVuFy1cXixxLbFLrwJAAWfx +6Lq6BYzJsNW6riQ6pos7rGal2BPQ/KKFilAeNVpT0fE599navFIntuLOBXhzHH+Q +ICTZmcbqdHjJDnG3pQJBAI5UOdMLQi7APvItfyodK5wynS1FximUrn9pF4CTJVCx +QKlRhnCTy4O1Sprl70xbKA4XKpTTHJ3pICoLvFM8ueo= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/keio/acc_file b/server/slice/planetlab/jp/keio/acc_file new file mode 100644 index 00000000..603f9db8 --- /dev/null +++ b/server/slice/planetlab/jp/keio/acc_file @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQyNjQ0WhcNMDgwNzIxMjIxMzI0WjAaMRgwFgYDVQQDEw9HRU5JIEFjY291 +bnRpbmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOVoqTRxh/259AB1p3+G +HcUxSKpdVkKgJJGXvsCtav2Rxu9jlEq1AHt6Ff08YlqjVLPbSLTxVDDYUva+fmWl +SzWRRZdVkPrT5PipoQ38HM/RlgsMaSsB1otJd+sbVP2Opwbqcc3DZ4+NbRAV051Z +mzR4C10QIOkYBaa+D48ocjC9AgMBAAGjWzBZMFcGA1UdEQEB/wRNMEuGSWh0dHA6 +Ly8jaHJuOnBsYW5ldGxhYi5qcC5rZWlvI3V1aWQ6NjU5MTQzMzc2OTc1MDYxNDM3 +ODc5MDUwMjkzMDIyOTMxMDY2MzAwDQYJKoZIhvcNAQEEBQADgYEA0NDOfUAk1Puw +ghgHzdXzTBZLJkhj9B80D678aSGX/dSOIIJGUo/AXRNfwtVRVUfQ+PQs/LgygGJ6 +u1NUTuhVDJrJROd+bguDp5DSqR/om9uupSvGxGjcGGLpcrGES7hWuTU1VIRgdC8Z +1BK3qYToeIsiaDzIjrkZplq5brgBHoE= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/keio/cred_file b/server/slice/planetlab/jp/keio/cred_file new file mode 100644 index 00000000..f26e76fe --- /dev/null +++ b/server/slice/planetlab/jp/keio/cred_file @@ -0,0 +1,44 @@ +-----BEGIN CERTIFICATE----- +MIICTzCCAbgCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQyNjQ2WhcNMDgwNTA4MjAyNjQ2WjAfMR0wGwYDVQQDExRSZWdpc3RyeSBj +cmVkZW50aWFsczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5WipNHGH/bn0 +AHWnf4YdxTFIql1WQqAkkZe+wK1q/ZHG72OUSrUAe3oV/TxiWqNUs9tItPFUMNhS +9r5+ZaVLNZFFl1WQ+tPk+KmhDfwcz9GWCwxpKwHWi0l36xtU/Y6nBupxzcNnj41t +EBXTnVmbNHgLXRAg6RgFpr4PjyhyML0CAwEAAaOBsTCBrjCBqwYDVR0RAQH/BIGg +MIGdhoGaaHR0cDovLyNjcmVkZW50aWFsX3NldDooMi0wKSg0LTApKDYtMCkoNy0w +KSg4LTApKDktMCkoMC0xKSgxLTEpKDItMSkoMy0xKSg0LTEpKDUtMSkoNi0xKSg3 +LTEpKDgtMSkoOS0xKSMwOnJlZzpzbGM6cGxhbmV0bGFiLmpwIzE6cmVnOnNsYzpw +bGFuZXRsYWIuanAua2VpbzANBgkqhkiG9w0BAQQFAAOBgQCQ9r5c/zYcsPuBV4iY +s1KD1E6B1xTu+TtvQw8GMK4JwTLaiBCdX6tiUkOHw40mej3huXD0KSDiBTt34Bg9 +9/E5XwqE0L604WATE4zVzz3s/lP1MroMzjoSphFzXdyHHQRYAOMLWr8e6JLH8qvA +CKI2ZD423aSCNB3FVxqlMyChwg== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICTjCCAbcCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MjY0NVoXDTA4MDUwODIwMjY0NVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOAP +5nv145+K6sfR0G7BMWBN9Zp9tVBdyxjohCzej6VX2fu40AjLb6m5ffRNk9WNroCx +hstcmwrbExRha6pzISsD0MIPUuf48sQmeyTHkpCdWbkbD/FtU7ENI5ZA5dQozFFt +EK2UW1kCv+IzjSVKmBRMfMcEY6UfuU15jdRm8sRlAgMBAAGjgakwgaYwgaMGA1Ud +EQEB/wSBmDCBlYaBkmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDItMCkoNC0wKSg2 +LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEpKDMtMSkoNC0xKSg1LTEp +KDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBsYW5ldGxhYiMxOnJlZzpz +bGM6cGxhbmV0bGFiLmpwMA0GCSqGSIb3DQEBBAUAA4GBAGR3d1rIelq++rJjlerk ++Xlbg+siLcDfNrOE4BgPWqZz9G6QDg+oxpmyP7SkqtO/u/D0PLyndcdKqpXsEisw +28KZtudxBTS5cRpTBCZnoUAGBKLJ3pwRqozwKxxCG8rmsUeGl0xdAjLVw9tzLppO +7LyVz7tZQkIyNF23gv+z9IQU +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/keio/keio.cert b/server/slice/planetlab/jp/keio/keio.cert new file mode 100644 index 00000000..f6afda52 --- /dev/null +++ b/server/slice/planetlab/jp/keio/keio.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRrZWlvMB4XDTA4 +MDMyODAzNDQ1MloXDTEzMDMyNzAzNDQ1MlowDzENMAsGA1UEAxMEa2VpbzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5WipNHGH/bn0AHWnf4YdxTFIql1WQqAk +kZe+wK1q/ZHG72OUSrUAe3oV/TxiWqNUs9tItPFUMNhS9r5+ZaVLNZFFl1WQ+tPk ++KmhDfwcz9GWCwxpKwHWi0l36xtU/Y6nBupxzcNnj41tEBXTnVmbNHgLXRAg6RgF +pr4PjyhyML0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCNEVlU0eBkj63NJBzt/pdo +GBbu29BdYVxFzJ/t6cn80GdaIPBhxVC3yhhIqc5IytJNCKU7361rvUzkIZ7QmHhJ +I/+2zNDKFKTTVzgizyY6OLRXf4uFTjkQtKFttdZ0xa3P4Iu0pGN+qxFUzn86XpHF +rBp3xJGBIQK1aGfReoNaKw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/keio/keio.pkey b/server/slice/planetlab/jp/keio/keio.pkey new file mode 100644 index 00000000..74098d13 --- /dev/null +++ b/server/slice/planetlab/jp/keio/keio.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDlaKk0cYf9ufQAdad/hh3FMUiqXVZCoCSRl77ArWr9kcbvY5RK +tQB7ehX9PGJao1Sz20i08VQw2FL2vn5lpUs1kUWXVZD60+T4qaEN/BzP0ZYLDGkr +AdaLSXfrG1T9jqcG6nHNw2ePjW0QFdOdWZs0eAtdECDpGAWmvg+PKHIwvQIDAQAB +AoGATq33olnxxy6YpfO0L8OCwFfn0S5T4GPmRtzhelm/4Rm3PfFMMdckRDUaB5FH +NkjgSxNBO3WtZ1c6FRA+b4QiZ6WLbGRFLqYksOpiqryRXg6Hvlu4KIYrIUgOo0E9 +alL/bfNy3yoqs4zU5tqo+ETuoZsaAF3d05xbKgbvdlFpks0CQQD6MQOTJvL/aGBd +iTleoJk+zc3NpFwYqUoUKti6eE52Elh0/IQEEIbbPr7/c7SeRDIETbyMhCeK6gUu +8spkvuDfAkEA6rwgryjWpZTJDfIeZ5EGou9FpTMIQ6WaAmcU6ICd6oNtVeOCBajn +gzeaSs1Z0YcRGhldC3C7AvfdK41IJJGV4wJBAJFRutPUAbycMazisbHm8lvqSimx +19RzMBX6tRvKGTi3ey2oJj3+I3ZhQas616Q91Bdv155+fEFRoGUenLRbsl0CQGMQ +JhMF/yA+HGOgTKiUkeJtbEz9rn0uBEMDUdWVgg+Yi6n1q8fLsni0HI94/nDouZT0 +I0pStvnXtSVOKKYWMtUCQGy/CrH6cfKZ3LIccJKSR4Ub6LIsjFqNIg3RdgcQtDpf +9HXhuYNn/QQP26bg6CviPh1DcV70sjixyvgQ/leyLVI= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/naist/naist.cert b/server/slice/planetlab/jp/naist/naist.cert new file mode 100644 index 00000000..45a8a3b6 --- /dev/null +++ b/server/slice/planetlab/jp/naist/naist.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVuYWlzdDAeFw0w +ODAzMjgwMzQ0NDlaFw0xMzAzMjcwMzQ0NDlaMBAxDjAMBgNVBAMTBW5haXN0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDO79i5Hcn2bpOv6himzZJrnnZf18A8 +LSPu2VTtNeg0jFg7P8U4yPW9z52owGUsWVCJuvdD+wmSG+BU66LpOHhIJVpEo5OV +2tKCqMJ93MmWYuL9L+jH/v3jtJiNzXcP926FXQ7rdkx8CU0r9eRBW/hradI0+3rt +9S+WHH83uD6kRwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJv1n/CkDDvUdrg/ysfi +4tPEshjvXNeR+HJY6Kd7Y6QQXmrZIm4aSCpEbfnTk1xbY7JWzPRRoik0Vp5lkCyT +Y438xLOEmOsGedaNs3y2Ko9ztQmXQ5TGKi2vOA7aREWIRtVz0uX9LlTBkBBc22WB +bKoRLfruXogBrRcj8gp85uPo +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/naist/naist.pkey b/server/slice/planetlab/jp/naist/naist.pkey new file mode 100644 index 00000000..763d8a18 --- /dev/null +++ b/server/slice/planetlab/jp/naist/naist.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDO79i5Hcn2bpOv6himzZJrnnZf18A8LSPu2VTtNeg0jFg7P8U4 +yPW9z52owGUsWVCJuvdD+wmSG+BU66LpOHhIJVpEo5OV2tKCqMJ93MmWYuL9L+jH +/v3jtJiNzXcP926FXQ7rdkx8CU0r9eRBW/hradI0+3rt9S+WHH83uD6kRwIDAQAB +AoGBAJPkyqkSZyLeSGKzFccwqHKNn+BDm7nmMQYlARM/MaNMokpF+zfoN+jeFrli +N2yIsIyeuNU29tIbZiqK9bVkjGEJCD6dzV7TgAs5nHprd94y9lH/wv9MwrEorK4H +ru24pWiLuP7xuxgDsmYiRMiTghDaQzNcxkkz/GIRusRHYZwxAkEA/Qr5ebzHHB1I +LXccIX24QVjuq5kRp1cxfTeLKixYtCC2UbdcJ3MXKknKYcof5LKDbJ6g6+gp1rk3 +DvUo9SsfqwJBANFa7/agRJcqKBNAhBEulabov8+iLBLh5oaqHW2ww0SOC6QnMjPC +4H/xBHvlKfrT5A1QXM2jPVtDtyL7XxWY4dUCQEWqTtLYSU0RNrzlrQX/ccnz7Qmr +Q7P5inN55kN/IBC/bNKEk8d8pSUMWb6ggjVZfFtcNNud+F7YcTMaBeOxsq8CQALw +W94CcfQNS3K5vSDgnokxS0AG7sd1FF9fk/ouOQ+FTvSG+FVxruUc5Qs4NFapEtJ9 +BlB8sifN04xSKwuKkeECQA3FzuEJpvi4l4QwhM5EFonrOByFBkBc4VSXx/qc5L4n +S7RUj+DFn0KnkPmhz/NT/Hyt0ytTeq+/i4F+VWnzWio= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/nict/nict.cert b/server/slice/planetlab/jp/nict/nict.cert new file mode 100644 index 00000000..217428e7 --- /dev/null +++ b/server/slice/planetlab/jp/nict/nict.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRuaWN0MB4XDTA4 +MDMyODAzNDQ1MFoXDTEzMDMyNzAzNDQ1MFowDzENMAsGA1UEAxMEbmljdDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA30SL5+u3hbtXEUfWoAKocJvggCB5gQDd +4YcvFVi7JpgncVxm0WteQmc5Yzs7OISzcEZ74CX5fylid/FF7dueRPMNXLQfB2PF +k3StYMgek/suPEDQtiV6iS0VPwuhMhIc0aOZYo/0ROWLNECjnBWb6x08or+dHwE0 +t9ekxSDCzqECAwEAATANBgkqhkiG9w0BAQQFAAOBgQA/Pq5O3G2PUXGjLth+UQDH +3zL8kaf/nG809S0grsgDKJpHAIH1xPmuUlKaR1JTH4FssrqE7z+f2ujtA1lOqBIK +TclcIvOU391NWhCW7BBwOn529wAXScEu/9wRlZwuPn81q4F1u1vGuqNeV9BYRZv6 +sRHMZaScPE/VtkbZtcIjnw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/nict/nict.pkey b/server/slice/planetlab/jp/nict/nict.pkey new file mode 100644 index 00000000..f6699f28 --- /dev/null +++ b/server/slice/planetlab/jp/nict/nict.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDfRIvn67eFu1cRR9agAqhwm+CAIHmBAN3hhy8VWLsmmCdxXGbR +a15CZzljOzs4hLNwRnvgJfl/KWJ38UXt255E8w1ctB8HY8WTdK1gyB6T+y48QNC2 +JXqJLRU/C6EyEhzRo5lij/RE5Ys0QKOcFZvrHTyiv50fATS316TFIMLOoQIDAQAB +AoGAPk1yfRVZ8QeGFFxnl98mAcZ9r0NgpI8JW5XNnbdVAkATQZ73UhkUBJOpf/dX +Xz4olHwWtUXjiYiS4cWCLg3K7Az9eU1ZUXOM/lzT4jugXqTmPl1T1IwaP+RBahpm +T8WKqvtoxvllca2FocPe2bUMi18scSSfLI31yFH2mURLxMECQQD9pExDLZL1Rqva +YBPs8ksx97t2PDCd8XS25+nCnqCWfnE0GC16aXexwlgGq67Xxg8W7cDK6ZRPJ93B +/x0Gp1FLAkEA4Vf0Sw4j2HTMlq/cbdaVT4cWWsmTo/8rU+QeBdAIPwAFavj/v5ZL +CHSoIcVXzDGunkaXW7lZPOFQO7zK45yYQwJAI4BcoEZ/vE8A/NbX0yFyvvKyzXDN +ST4jnPpG8NOtHINkKut7ahfbBglysrRTC6aQNCBhDMW22YF1+5JOqMDAkwJBALXU +lOkjRcVZqeRFj2aJ6f08Ecu8MAf61Gli/t7N2HmNeNGyjht4GJ+AElL9vDSmOjK4 +31VCIEHBxU4OruAu8aUCQAFJuuUR5zm+JaQQTCnAv39NxTugHP1HXodajvnnt3xI +D6BHb0aT0ZanWVw5Q4Rzm/ZMi/apyfkYw1BApfaEh5k= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/osaka/acc_file b/server/slice/planetlab/jp/osaka/acc_file new file mode 100644 index 00000000..e969bdbc --- /dev/null +++ b/server/slice/planetlab/jp/osaka/acc_file @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQwMDIzWhcNMDgwNzIxMjE0NzAzWjAaMRgwFgYDVQQDEw9HRU5JIEFjY291 +bnRpbmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANAGdic1KHHvvlTE7id6 +fmQU4HZ5iZwp9RqFiflTlvc/fJelxS8cV51rE878eZymgbVYwLIcO/Tyvfkg+axM +nBzzWgzSX4wk/zuuNPV0ZwzG0Vf9EN/hzqzu1KWRMxT0/vz6Kri33eTgbyURWp4D +OGYRqR7E573fDd8SWGfWW7AXAgMBAAGjXTBbMFkGA1UdEQEB/wRPME2GS2h0dHA6 +Ly8jaHJuOnBsYW5ldGxhYi5qcC5vc2FrYSN1dWlkOjE1MTI4NTYzNzgzNjk1MTc5 +NTEyOTg5MzAyMTMzNDQ0OTQyMjMyOTANBgkqhkiG9w0BAQQFAAOBgQBlo8xLJmkz +rulFxopVFoKm0bSWtX83yg8YvTauCoxlcN+s1tgu9zT3L4nUsrzmTtrERAKD0XVK +kM8s3PZ8bEq4cez4IMLGGMDBjC8t0QoCjftTTfHNLAT/4Bjv5q6NlCo31wKfD+02 +1H7ebavHehNV3+TJfX971Fvf87UDL1wFJw== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/osaka.cert b/server/slice/planetlab/jp/osaka/osaka.cert new file mode 100644 index 00000000..ce4da44a --- /dev/null +++ b/server/slice/planetlab/jp/osaka/osaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvc2FrYTAeFw0w +ODAzMjgwMzQ0NTBaFw0xMzAzMjcwMzQ0NTBaMBAxDjAMBgNVBAMTBW9zYWthMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQBnYnNShx775UxO4nen5kFOB2eYmc +KfUahYn5U5b3P3yXpcUvHFedaxPO/HmcpoG1WMCyHDv08r35IPmsTJwc81oM0l+M +JP87rjT1dGcMxtFX/RDf4c6s7tSlkTMU9P78+iq4t93k4G8lEVqeAzhmEakexOe9 +3w3fElhn1luwFwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABOBGbnYsv2xjOXidUtp +e1woERQGJRe7HJrbo9NyI5ozjSLt9yphY11ZmNex2IhKIrmbRSPfDnKNYaMHFOpz +qbJMCmC4uUIUd9HY8bg4mQ4wjwdWkLA9uWlmpAFRoIY3eNEvv5tpUnD3sV1dEDsQ +uQQcjxVTSgQQgjpE1KJ/KQ6q +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/osaka.pkey b/server/slice/planetlab/jp/osaka/osaka.pkey new file mode 100644 index 00000000..25155f25 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/osaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDQBnYnNShx775UxO4nen5kFOB2eYmcKfUahYn5U5b3P3yXpcUv +HFedaxPO/HmcpoG1WMCyHDv08r35IPmsTJwc81oM0l+MJP87rjT1dGcMxtFX/RDf +4c6s7tSlkTMU9P78+iq4t93k4G8lEVqeAzhmEakexOe93w3fElhn1luwFwIDAQAB +AoGAflTuPDFUNp1aATD3UJJbX3wuNMTqhSQV7d1bRUc2T0EG8TGC5nFX5Am7JeC+ +GhwkeXVE0OXEo6UnKbyU48ZCp1lL70bjiPvhS/wceTbjuxJq2wS2hjIwf9NKyZ1j +ppO0gpvxOVNbIgyS3Yj2T98sYkJCVBnBN2huUsfzmHSeKIECQQD3SOiKRGfla+Du +dfBY7tKNxxXYTZwV2eYKhMZFW6rMcGboqoAXFMVUTEdHB2Ozk2wHsKcDb3WFpqQI +0QFqdNefAkEA11tW5cDIjiLeppSi57knZr9aYfysJcHslez9wgFGgK72s8XB8CfS +QqzPTmQm4F3NVM+5Y5PbMp55ntEiwPg0iQJAMnGsBjCoJRPZoatraSjmyMc4/JPw +aEC3/aNSMundMLEpPQMy+AJjsquQyruGKibDndn6Z+f/yFDTG31PVaEaLwJAV8AQ +GG4FSmVK8/V8q472TxeJbIPYYUozbKO0gmiioaypOXdLHuAa/LANiJOmg6W1FOnP +UJPerTGFvQDaeGaqgQJBAItAXexGSQEA1AKVzP31zorlb6zBh6dTxxrMhfeROwZx +drr47bhcwuiJ011xXzea9iy1dWJOtC8JrQ/YVw14Sjc= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.cert b/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.cert new file mode 100644 index 00000000..3adcfe94 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmzCCAQQCAQAwDQYJKoZIhvcNAQEEBQAwFjEUMBIGA1UEAxMLdG9reW9icmFu +Y2gwHhcNMDgwNDA1MDYwNTIyWhcNMTMwNDA0MDYwNTIyWjAWMRQwEgYDVQQDEwt0 +b2t5b2JyYW5jaDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxU+FKE6oEaHQ +lb7fZqVY1yJ1bJYULM3Q5N2Tlx3nPyjOViQ0QohRplSKsA8DEVVgFkaq5xHBXdQv +itTRDY9XIJk4GCqrBSL6c45Mt4TgGcPHhBmHjW+vG3OMhZp9D7Hd7lgo7ZXAWUBw +eAG0U8koajPvgl+RTrkbMQjeh3TKq1UCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCm +qF+VWD1nVwOZpsN42juCb/OYQuDKC//ZMR6QVjOZvyrO1ZolqVM4JHfUkbWLBE4O +8qLXIeXi86P0Ox8ur7oIHmLa7AzRfFwduwWzqJxM5/gihScA/Ym8jqHJZ8AdK5dK +QVJ5vhIhNVjQkoHsCw89+dn1jXlXGXORdZMrZCKe7A== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.pkey b/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.pkey new file mode 100644 index 00000000..569e9608 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDFT4UoTqgRodCVvt9mpVjXInVslhQszdDk3ZOXHec/KM5WJDRC +iFGmVIqwDwMRVWAWRqrnEcFd1C+K1NENj1cgmTgYKqsFIvpzjky3hOAZw8eEGYeN +b68bc4yFmn0Psd3uWCjtlcBZQHB4AbRTyShqM++CX5FOuRsxCN6HdMqrVQIDAQAB +AoGAf5bjaWQrpHM52Yt7FPo5D6z1t8j4tNxGh6iMxvyMS7hMbUGuFZPnEKK8qAqd +FjlaEC2UWCWQH+eU8raZlKYrVQNyCdo02JIACxppy8zGbdScrvJ4zcNVsqenKJYn +YlqtLouaZlo9LcUGrsjBm/Ob8nDXaaMm8DFaArgYlKqxV2UCQQDimOTTmFQeZCC6 +339YGp7KhhN4SlzHbGK9yDbfc3u1IH/+FebuDQV/lDWFDm4KgRxTpGRvEz0AiDjl +faOggGz/AkEA3unImuNW7WxgSCiEVsb5jQI7gbneiGGEaEPyWQ6WvEUkBaGeHc47 +hdPh4xDyarfeGYxfPginTLvaPfMn0OUjqwJBAJ3OTuYRWtvDbYvXJG9uMpHmZ97J +Iu37TJTQv25Ela2hkaGZDTdRuDeONuuQDhCgs+KIRS2Z30zkkYM5SV/4sG8CQB12 +XNNL9PNQfbFL2aH2jok6oE7XGDiCWxPE10U6DmY35TjxUYqy9V8M0DBIzyGXx70s +tnHmhuY3dfL2Lm8Huh0CQEq+/+sgUHe6fIYsTtOSQ1nxxfU+jM6HazzRoz+T0e+c +6ZfMyw/RQ/0+sLiTAImI8YRWFaRKPxU/uqHTOaRPeHg= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.cert b/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.cert new file mode 100644 index 00000000..f545b685 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnTCCAQYCAQAwDQYJKoZIhvcNAQEEBQAwFzEVMBMGA1UEAxMMdG9reW9icmFu +Y2gyMB4XDTA4MDMyODIyMzQzNloXDTEzMDMyNzIyMzQzNlowFzEVMBMGA1UEAxMM +dG9reW9icmFuY2gyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2+WE/yzWe +vPV7Wj2dRL5V+fEAvBT11W2B406gzUjkYdWqN1XxgJSBSMwPOP+BGuVqfWm0C5/I +d+lURsqYucKGQ6kZBONKXL79qZzes8BV48m56PaqIG5aldGmO+6ci1kyAgAJXRfb +XI73lXlKSyb2SwzDYyid7y6+ifVxBx2F2QIDAQABMA0GCSqGSIb3DQEBBAUAA4GB +AAaOJT47A7aMrZdJqOA5bBgEIB/BhrpyIEaS+dn+57e2pPI5qjKFd7j4w+UlbfNf +c0h399UUOR7DkLyo7jKuQDBffyeR53da6XRzprolwLfT9Z8KTzFg4z0kn5FX5giY +Ca5zhgoA1NoMQupayYBhkOvcnOIqSRytPEgnWUcBDV8s +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.pkey b/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.pkey new file mode 100644 index 00000000..5fc9fe03 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQD2+WE/yzWevPV7Wj2dRL5V+fEAvBT11W2B406gzUjkYdWqN1Xx +gJSBSMwPOP+BGuVqfWm0C5/Id+lURsqYucKGQ6kZBONKXL79qZzes8BV48m56Paq +IG5aldGmO+6ci1kyAgAJXRfbXI73lXlKSyb2SwzDYyid7y6+ifVxBx2F2QIDAQAB +AoGBAKuY49/uMihDxBBbx9mgrNqR2ciX5bxU+Uw5AiWp3I6KB2nIHte4bfZR/S5K +fQRYCrRtxObK+M7RufXLZfKthqBjr7+Sj6oFVkd3r7joSHnrFXB43Y3PmS9npzV7 +Xai36AZZ7EK6MXpuzqbZ90zbZn+SDY7Lp871qDXjxe9ud3wBAkEA/VtUxgYrxvXa +c3GWRDqkqLNBhdxx9K6nZ/aQal8NH9JdkD/d0dU0XxMzLSSoZjOVdXM1eSUXu/BN +lSKmkDwQWQJBAPmNAH7NTpd+PHAb3Swq/Zvbq/e7fV3AWLACJu87sKYWXt13NviX +WE7YZHPa3Y00k8uO4QG9tMa3BRYP2z5ycYECQBi157bIs0xcfkn0MivFbHnnweRE +c/jhcAJ70eoOC0GnSuje0cu9d7YuMTed867EKTejXPvL2lzCO07oakZ3FUECQCxI +12OpL1826abDaxZhcqvr6bKGtRKkBZkGaL5fi1ON+Lu4YirvQJ6NTBY7KsHaKLgg +3NEgRypUZDSsD64fRQECQQD1TYyFfJ4CyA0bOTOaHvDIC5Hz542jiDISLiaool4k +eAWBdX2gYkM4GLFG3CnxmK3YDLWpQCytTR1x/5jLO5/R +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.cert b/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.cert new file mode 100644 index 00000000..fb48fb28 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnzCCAQgCAQAwDQYJKoZIhvcNAQEEBQAwGDEWMBQGA1UEAxMNdG9reW9icmFu +Y2h0eTAeFw0wODAzMjgyMjM1NTNaFw0xMzAzMjcyMjM1NTNaMBgxFjAUBgNVBAMT +DXRva3lvYnJhbmNodHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKK+rNrP +EemVhmGvtOMFFdCSkegZ48XQ9Z4//McGuxAyDgrKk96T6lDzFzza38vZx8jqAzXm +LEbI/Dq/+iH0znZM4OX70Qxea9QcZdlNO9Ceo+XGfgEozwHC1Tv0GyE2jCDNFC3x +eRCnur7Q/Q8j4PIOcTBmcOP66Ive1By4zyxxAgMBAAEwDQYJKoZIhvcNAQEEBQAD +gYEAPC4+9kfbGbALxxIazogV/sFz0sCP2Qu+HBKPX9AB5tQRMzBJ2q1drGgHNgwu +mWdGCtSH4f5pIubj/gA4Ss0dONuCe06QNaqAK7Mc9S5m6a9jmd7VNJ3SrwBn+Pje +K2Cnmzt4+Lh53GmRY/QqmQ83IoLyUCELusLx9wMslHdB+ew= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.pkey b/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.pkey new file mode 100644 index 00000000..5c9b9ca7 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCivqzazxHplYZhr7TjBRXQkpHoGePF0PWeP/zHBrsQMg4KypPe +k+pQ8xc82t/L2cfI6gM15ixGyPw6v/oh9M52TODl+9EMXmvUHGXZTTvQnqPlxn4B +KM8BwtU79BshNowgzRQt8XkQp7q+0P0PI+DyDnEwZnDj+uiL3tQcuM8scQIDAQAB +AoGAYHlr+qH52mBbMxl3v4RKNERO3ipKzf9bOx5veIRS6/zgOiFwmudQZgBU7CxL +soo9VqrykEcMREHs097uJqb6pFAi1Sl1eL5Wp0A6irPsGKotlEbcjtgOw4SshBZP +98heo9S3tlflIoHF22gp012cyfzSbT1P2cKPgB4wLMwxVOkCQQDU+AuwUoI9ypFl +Q90kCYaJpKgQomeh40XoYYXzKQuJymt5L6h6/CMfHAEkjZdHI7aHJev850GIdeZ+ +PaV5YTvDAkEAw6DBcAWik1fN3ZBTY5LcRg95deiHt+IM1AHd3Uh/f8Y6M5gdxh5J +ny4RGIikm7oIXt8iTpfBWU6wg/idn04XuwJBAIRjfcCqSdRnrGKrATl5wmymMuPE +UW/NfJOsrDwwc7/AWXcILU/mlV6tZfh3HGdYyArThBO/HnnZ8OLhJ5CA5UkCQQCi +WSKvSL3m8ZNTMJdDp3lOW0E9bMBVBjAHMZViMuw8qdFbR/5NkI0goSZm6d9RrU2N +Djh2aNJ4vykWHJkSv8hJAkEAw+0Q+agSCgG4a5Fm3K/a8Wg1zE83Mwozq8omYWUg +g1ByDA1aKANmpd7+3xQEe7vRSO1DpPCuIWEf60eMuLPpgQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert b/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert new file mode 100644 index 00000000..17d80881 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvamdu +ZnVrdW9rYTAeFw0wODAzMjgwMzQ0NTFaFw0xMzAzMjcwMzQ0NTFaMBsxGTAXBgNV +BAMTEHBsY29sb2pnbmZ1a3Vva2EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AJ0qH3RG7sJScOAgSHRWzYhlIyV76N3SPg0H7RJ4P/0JBd0UvoiTKBRThiruzaLe +QTcxkw77OHvfsdoYa7ob+qtAYIzK3AtPT9T9b8iRZK5eDamoL7gaZnH8XFD+QgsE +YD9ZlJNhU05H/KjnywjB1zOZSAgLCmseLrbnrY19G1bfAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEAQxwyaY8MTRQoH9GK6JelQG3mymTVuJFHIfcvB7/SeTmfT6lkX+jf +OffVNSSQsl59wjmgwaojypUguIXaK9z5TfC6Owr+2I1sKQyNWZHpdJJoy6vKiun5 +h2/apDEHl9Sj8wwAh4ePKmj5IZVd2uzw+mhSkMQgduIsYCqpo4JgYv4= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey b/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey new file mode 100644 index 00000000..ab2b474b --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCdKh90Ru7CUnDgIEh0Vs2IZSMle+jd0j4NB+0SeD/9CQXdFL6I +kygUU4Yq7s2i3kE3MZMO+zh737HaGGu6G/qrQGCMytwLT0/U/W/IkWSuXg2pqC+4 +GmZx/FxQ/kILBGA/WZSTYVNOR/yo58sIwdczmUgICwprHi62562NfRtW3wIDAQAB +AoGAeRIYBQUXrM7BcYatCiJMVwRCXP/lVew+LN+sO4wzDwRCZhsy5Bcoyu/E7ZHl +C9BXQOOJvAK/cn3SjoY9hrNDGDB7iAXcfZprzQVEqvww0GdwTEvMAAzLcYFyd4In +D5d+F3sqmBdstEiYWKWH/pO9UpHxZkb8T+qPQFl2p6zGXRECQQDL/1fPVTGRYUKV +/Zcxyycz505PDqAPbmn/tGx9cfMhInTqKg1ZQx1SFd8aEDQ1Lo4IJVzaf3M2FRBw +ghXR+s9rAkEAxTqDzgUDOdKVmnWCAOkGCvDsSfdiDQpQjfEo19VjcD/Vmsz9jFBE +KW1JqD5sw3F5z3b7wEtoUeZXFb8E+Mo3XQJAaP9wbuLmtHFfGFyCKbrq3qg7gi2A +7PBj1p1DCf5QqclWbABhBoSo3ssrHfshJA5mRIMWm8/luPx2jbInEQELKQJBAL7T +2QeTDgX6XMmv/HNJA5G+fcErXHFlk39i4LPEQYwwF0rKIGCMoQa8OVJR5AZOWx+C +7h6mV282wPfHdNYLQfkCQQCKm35zZTQNvVWZUy2ah/NCzwDHSd09WxsiQwmX/TCU +6nBSAr280D/oD5v3QghqCpSrWBWMpw9OmHlEykB4KNwu +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert b/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert new file mode 100644 index 00000000..c9d6f259 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBqTCCARICAQAwDQYJKoZIhvcNAQEEBQAwHTEbMBkGA1UEAxMScGxjb2xvamdu +aGlyb3NoaW1hMB4XDTA4MDMyODAzNDQ1MVoXDTEzMDMyNzAzNDQ1MVowHTEbMBkG +A1UEAxMScGxjb2xvamduaGlyb3NoaW1hMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQCbhgXoF+JSqsc+t0M0aBbX6f83PTFj+HH15QBdhE9lFYHy6aGGpu+YkBeu +mZOCZjkc2k8JiAaKA5mheQxhSP06BxU2z1rz7C52437PV7DylvZqr3R38SI78sdu +uzqlz4uqfBvTFniyWSvU3RigXFobQ4xgIzUGBnkDu6vqarVMKQIDAQABMA0GCSqG +SIb3DQEBBAUAA4GBAAi72cMggGITIUQzH5tn46OOq3m0yPvJ4WX7PpZdvktqhQw9 +r4zfzvvAu31TTK9wwCaIesvkr/qEi8+kmw1BzJWmtlvtViyBZFjFm0Ko959fXj0W +Cj19r+JOfCsnymzaUGTIm51KP99Def1sbORe7WjcqhmcVs912Jz5uwaun5Nw +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey b/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey new file mode 100644 index 00000000..1011b5f7 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQCbhgXoF+JSqsc+t0M0aBbX6f83PTFj+HH15QBdhE9lFYHy6aGG +pu+YkBeumZOCZjkc2k8JiAaKA5mheQxhSP06BxU2z1rz7C52437PV7DylvZqr3R3 +8SI78sduuzqlz4uqfBvTFniyWSvU3RigXFobQ4xgIzUGBnkDu6vqarVMKQIDAQAB +AoGBAJeDVyfIdPYCaH/B/FgG/BI3ZisDk6WIOkXLZrK0nsCk1me3kmRjJ9Kitl+k +QJ/uRL/GMu/fNDeq0DYOfrAcco1b5l9umueOh0jLiFNISxRXQs2HrJbJbVpHdQLU +yylttBYCzROWCIbiI5VCwf8Y4WbBkzgYQjV1rwFA1MJrpGdNAkEAx4tKjcx05it+ +s27cnBhgAL3QbXJNjYRImjn3ztNPc4E7+f9V3XEiSm27a0YrG861v5POYnL21p2D +Ffk4G7Ug5wJBAMeGYY58uJZdhlD14Otz9FvzAEKBUt+0gGyG9bgnn8eTZXBjeSol +QAHvIIMcQ1ZYvaucHh5dVvR3MOOlZU2KuG8CQQCGqQ6IANlG10Vqy77fLGflODNn +GMMTZJkmU0ZTcjDk7urNvC1zAj004zaenzzKSEZI4fNeZt0DWkqzUns135czAkEA +pyD5NtFiDRHqIIbVEGTgmuTBovOQ57HaoQ2rZcZLIHFm1u174MGzC+ux4CEchodu +2QC8edLVs5DjcsxoPrukIQJBALB4rBr9rZdN/nCl3Z/r6fGgyDlMGQbm5fcq7S/W +GTnQzZ0TWcaltoga9VRPpziuGP81KheLd0+VUsjhiJxjLjA= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert b/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert new file mode 100644 index 00000000..dbe69078 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvamdu +a29jaGkwHhcNMDgwMzI4MDM0NDUxWhcNMTMwMzI3MDM0NDUxWjAZMRcwFQYDVQQD +Ew5wbGNvbG9qZ25rb2NoaTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzxZe +Qb9euARCd19rdgnqIeYeZPUuoYkIjbl1HsY0Ti3TGuUfC0A/a0pCNEtfuxLG3nn8 +hDoNsMjr0yTKsCXpGR3/iqS1/eHFvfOJNptyby0imjG7sIijGE+ebe8QGI0HfIaQ +WsEn291G9C8T4CvzJiogFEZEy2D8jQoz14/DQRkCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBLVp1/VW3H9iayq3sCWCLxNTlWIv/uUm2H2Ydc8vYziHy8h3JAHiupdeFg +IUt5cg53Jv5Bpz/oojEmNw+P3EgOFBKBZQalkIjX+ztKQdDivksNB6YKK+gYumlU +SmL+gyQwxU+bSQd1ZbcPE6kYe9jTnUo8M8wtz8h+qO0yfaSEBQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey b/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey new file mode 100644 index 00000000..c7a5d94f --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDPFl5Bv164BEJ3X2t2Ceoh5h5k9S6hiQiNuXUexjROLdMa5R8L +QD9rSkI0S1+7EsbeefyEOg2wyOvTJMqwJekZHf+KpLX94cW984k2m3JvLSKaMbuw +iKMYT55t7xAYjQd8hpBawSfb3Ub0LxPgK/MmKiAURkTLYPyNCjPXj8NBGQIDAQAB +AoGAa0/TDk0F32PNsaBPxn5CxshBzd1ECc9CEHcfWxAowK58a755hNIJSybTAdhh +RkbnqRgbo8WVnJuxoNu68ObkUAGJ8jK5Vg/p8wTFN1HV4zmfzmScd2F9yoV9D5XV +gf1cgQak+pU1iiIY4UyXIZ8sZhKmGqIljx9b92zxErrAyNUCQQD2q04Qt+LFkXE0 +B0p54YonyHqw/Vnp3RU1kX2pCbEDAfgoaweUXb/PpEa4JUTSHzDmDkosHGd7+eFc +phqOBdVPAkEA1uvC2TXneumRaCWtsWfZdCN+n105wd6QP/KP9eb8tfUJM8oXDroO ++E16vra3088EzxuOgSBOsM0ZaP+xkLm5FwJBALW5eqfCcWUQQ5ALFwk36eppPkqK +O+WZJPj0GNmh9DC9EK/mOg1KC/fTlO4xNsR+ii3StT5OJsclTqxNCx86mO0CQFRq ++nfzEl9XCwRLeHQshF936a6TIbKixyo3DpDaD/0wqFKtWG0ya9rgJAxxHLeXox3u +hwT1ObN8fDSf6pEcQjUCQD+6xj33DI/Pk3zWwlTtgjNm/N0IjgO/odjy0W/mKMX9 +2hRp6VCKOLqe0O7o0fbje+pFch3HDlVhPP5ZeGqp5ng= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert b/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert new file mode 100644 index 00000000..1fff5f45 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPcGxjb2xvamdu +bmFnb3lhMB4XDTA4MDMyODAzNDQ1MVoXDTEzMDMyNzAzNDQ1MVowGjEYMBYGA1UE +AxMPcGxjb2xvamdubmFnb3lhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQ +ZKU5Ee3fDeXV6vsH+AWcOWrxFo6hpCmJPfQveh/ELirAGdkBA1QqTtCEOWWtbsmR +n16lOIPEt+iDvuyf30L1DuO+Cfy0y2rPj3HcfSIRTZaaNghuo3PdyFKf0Z+H2y5/ +Sj8IUtXRlVDGPxpVi5510NTcXhuafY4wXPpt1CNeqQIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAAFsNbW2k0Rfm0x8XmJkl4cpS1izZVnlSIyEs7ogxB4ZJOH38yromxSr +WDzlHOLhoUCqFDWE/g+Peqr/eQTx7JhQe3fWpa6fEHKZ4UFkuxngP8klvt1uRheI +nfyAZVufbJ4qkaOV435xQu4g0YBxrd4zi3lA9v3iUYoe5FwAOzO6 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey b/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey new file mode 100644 index 00000000..f560b43f --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDQZKU5Ee3fDeXV6vsH+AWcOWrxFo6hpCmJPfQveh/ELirAGdkB +A1QqTtCEOWWtbsmRn16lOIPEt+iDvuyf30L1DuO+Cfy0y2rPj3HcfSIRTZaaNghu +o3PdyFKf0Z+H2y5/Sj8IUtXRlVDGPxpVi5510NTcXhuafY4wXPpt1CNeqQIDAQAB +AoGAOWoBO1/9MV8a230J/IAQy6HmHNYiJdacuvses5Xp+prdnF+CsgzAu4dLW6KU +qNvFHSHTaaHQa/pfTSzk9IcGYw4cC0ihZiHyI1MgmN+9lPlZj44xOaZ/31g8qC1g +B/c0iJIlHZ1iGm6tVZpYi75Si6LPRKgJS5YWu28pXM/h3AECQQD8JeXmjUi4qHTe +M1waXqjRg/VBK1e9qlUicCOSpHPFmJ2x+EwNv4OnkrDLWeABNl9U4XpG7J9SXa/t +HxXxPPbZAkEA05OhZr5FHwFYAkmPd220m6AvkLLIwHLoYIZ96yglVfJwal89Fcr+ +Lg7IGdUEIb1bB8MvZkUMMPD2ULXbVADkUQJBAKKDyqnOZhCegrS0ZaiZWjWv12Mp +jGOyZSzNGiBp3jR9KSaL4nj59uEKquhmBPrDEK6kpSsRV56+w6URZBMYOAECQQDQ +aN/YARy9SemTdzpm/h2mHsg71KCDUa0tR83JUiZU3xd08JOPYAG5BL5/E6GaSpfc +sZuDNgioPPOk1T5TJP3BAkAuz6jfl5o70NZ9JG/xm1x+Gf4AIOkgYLwPWNW+c6Bp +tL85SeQaDSskvwGjtNX4OIBdJiOgMEki54uRCnYFpC8u +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert b/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert new file mode 100644 index 00000000..141b4542 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvamdu +b2theWFtYTAeFw0wODAzMjgwMzQ0NTFaFw0xMzAzMjcwMzQ0NTFaMBsxGTAXBgNV +BAMTEHBsY29sb2pnbm9rYXlhbWEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AMpkSA0hJMOgrUx+v0yuSBdsUB4xBDayrSfQnUIw9keCDvrUH0nqghA1l+bf26yv +rXSIcnxLqzxyCnk696vlVZHHNFWXCmQxTjwrDr5h9i6LcszIcdTOMH0tj5i0roCS +oV6JoYe0tA5srrio/OKqhgovRCyUBhhGqJ3IEqwsWpEZAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEATT+5d5N5qrgI12LsnhwHkAw9IGpdztPkmhDd8ffL5nw2mKbUAnop +C4miPqcQj3JmNSQLSJGZGTTd8XQ6MVIoCFNjBJrCSyx2KinuaKV9LqF357zz0M3N +plvAGXc0TzUNluDBDcL//Go6QQGqW4PPDrjseTjp4WJB4fcf9MVBNrw= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey b/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey new file mode 100644 index 00000000..af834711 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDKZEgNISTDoK1Mfr9MrkgXbFAeMQQ2sq0n0J1CMPZHgg761B9J +6oIQNZfm39usr610iHJ8S6s8cgp5Over5VWRxzRVlwpkMU48Kw6+YfYui3LMyHHU +zjB9LY+YtK6AkqFeiaGHtLQObK64qPziqoYKL0QslAYYRqidyBKsLFqRGQIDAQAB +AoGAYHgoN8nigjSmJd4MRPqVdkS0c4+dmIzWKDIxowk/epotlbViLJNQ53UEMJHn +XYpnPTKEj2Zp+mfJQjuvLgokHH083MoFkg+rbcg7sICcowy/1yazgy7Gyo4mTSWz +Sy3dUmrWJpUj5EnFAyM7fRe2S8zydNF2OY2Jiz+6uLwZPFkCQQDlVDohCQ+Zzalf +KuwnvoNFKi1bNKY66b3SelHM1RQyKgfL3AWtKg6GRHOFBgweayoiqYM90zb58Nxe +khdUzoIzAkEA4e4OIN79+a8s7vxiXHa93b01Li4ak6dO5O9SpB75/vCXh+RXw8Ll +HwAJgrYcMjnCLQnWuNwZ/uM/uL/ksFNLgwJAVANUPE/+eCEA4I1v8Gt52bfG3/fc +wg5pbRdEql6RRINjUcqsBbE3mvauv1fkzqwBxqsFGnwrUstrX/XzOC1jQwJAIRdc +DGZ87phAzZQ71+0wbAztgCESlXPY82E2SoGa/kNA/o9sZ2jhZEP+IJ4JzTV2gmBB +ifv69sFUMPwyQ70/fwJAfr3BzU3QEcrObEXrTmFj6nndShMVQAv2xaS0oVprbMx8 +3HLdTpb2DxMiqT5bLg5pBLcoUGhTZi8mXt2EOhQ57A== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert b/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert new file mode 100644 index 00000000..d21ec330 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvamdu +b3Nha2EwHhcNMDgwMzI4MDM0NDUxWhcNMTMwMzI3MDM0NDUxWjAZMRcwFQYDVQQD +Ew5wbGNvbG9qZ25vc2FrYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvsQh +G/Yg2RA8m9eVAK4sdLQBEMsEgi4Ngd5n59Rgj//O1K+cv/9PwsS4kQwwaD+gdaO2 +iFJLdGUR19ykJFgIOAuF4rc/ieH5Fncwhsi6+WjDCpK5qCZTFhL8eCc1jebAFF/u +7Y3/tT4HqGcskuTIQAUzXBSdS8I+ck2fc2U6B0UCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBrcjxgxY8UGDofGEQ9MCQH5WRT0JAobaAmi2JhSrH5gE+q9k1erflRpqtU +kmvJregmzfsdCKiKHKwzwSfEQxJLYtg4Aq8UNGUR3qOFs6G2cMq9UOF8+wGCIQz+ +pOgxaS7dtB+hZsdTQZbUe6pjQ61jCWikc6s+JyGT4bRklnvtOw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey b/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey new file mode 100644 index 00000000..aaaf18e6 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC+xCEb9iDZEDyb15UArix0tAEQywSCLg2B3mfn1GCP/87Ur5y/ +/0/CxLiRDDBoP6B1o7aIUkt0ZRHX3KQkWAg4C4Xitz+J4fkWdzCGyLr5aMMKkrmo +JlMWEvx4JzWN5sAUX+7tjf+1PgeoZyyS5MhABTNcFJ1Lwj5yTZ9zZToHRQIDAQAB +AoGAL/8WuXtGrnZoWWl3QtGPu9kiP4Bk5QADQ/6aM/j6RqC9AEQi8yeggMeQDGZ9 +s2z2yUJkhY33EBTx1VbdMYu4nTmlafWTczSS/LTxFfNLEJzPvZ5TYpZKOfWXiStg +KbebJszaW3H7MKfLfKxMIvC6d31erBM5iJoBOJvNfQE3uE0CQQDwrChGwcdBGm1B +dZbT1qBsOkPbpPtyv65Jy6hx65dFRx0r/tPi2lua3s+D5laH9AbVJljV0C2XNJCl +eBHxg0SnAkEAyupQzdb5I1fVSbMBZsF6ke5Cf7t3aE+h+nIFrRoQ12UGSylehNWp +06i1Pp0k0/scg78NXpqB5UUOHxvVKwsWMwJBAKFMkHXTm4pLftv3Rk3Vs5C1gBMu +QIPIabP1tYAcSDbbEXcSA8ovVGO4XtXkwyu85fNnDvTF4DhNt3/euA/oTVMCQQCX +5KKsEvnYDQ2p54drBfXcez/oIcqWmNWlhejd1R86PXNinAsW4GIKAMX7ouJIlDaa +IE+/u2T03KZffxQo7lmlAkBExI+VF9b8FTJIo53k/+NsnXkUXGrd+Li9ejQKlPaT +AifkfZv5Lc58flFfd6aRbKYXROjq7LUA+MM2kE/2D1AF +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert b/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert new file mode 100644 index 00000000..07dd5888 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPcGxjb2xvamdu +c2VuZGFpMB4XDTA4MDMyODAzNDQ1MVoXDTEzMDMyNzAzNDQ1MVowGjEYMBYGA1UE +AxMPcGxjb2xvamduc2VuZGFpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+ +mqfgH+XFeueopeeRKg6VGo7j/ikyexu0FN23ep57Nva9+i1M9vC2oMBiwl//hmGx +5jXfuWYgm92nYxD4syYLwHWwd1PhTP4lka1TAB0MaL6TR9zLMicHjs8CPVsxNGt+ +F7QmKixhg5xTd1OYjI4uJYvGfJpgWmRR1I0EHM3qnwIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAFonC4Ej5gxizDbXM/G/8a2mWJx+MBtL6X2QY65vMEGN8LCoFM42Egq0 +0uHXwOV/8NrWanXTTU+iInvdnnSUJwLFAlaRhAUuCQgHnBFhuWsJtj6YQK7sQ3Fi +yiJk1ZKK4JwyIjj95sVPjHgM5lPFawhl/MFUHeSjoUjBGILrHaVh +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey b/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey new file mode 100644 index 00000000..92f5693a --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC+mqfgH+XFeueopeeRKg6VGo7j/ikyexu0FN23ep57Nva9+i1M +9vC2oMBiwl//hmGx5jXfuWYgm92nYxD4syYLwHWwd1PhTP4lka1TAB0MaL6TR9zL +MicHjs8CPVsxNGt+F7QmKixhg5xTd1OYjI4uJYvGfJpgWmRR1I0EHM3qnwIDAQAB +AoGARfaO2H3c4XgTwJvlPCur3p85BAcvKBB4QsnF+KtRsPij6WgDaNTb1q168MVY +Z3r0MVDHRa/QBPgxjFeYyzE3LUb0rKcxJVZBc1FsNJnRdgs6+y2LnGcIcmS8QD7A +/+ZLo8WVl/wlRl0l6ygFoonn2mwG+ndNK+NCd4Vb+gm5RUECQQDePslNfTDdQeQ1 +kRUG0D1nGqnXoKAtkMKvUbR4Q9M9Hg+eZC/Iicy2LNr8rHK+yBk3R7iH6WJiZh2Y +nZO0pfaLAkEA242d6A2NiaEUoi5llR38axx6wfoq/WJSWrGbznFeZjH/BQD7ufLr +9GGs8amsqXsd/7QbmH6O8tE5LH0cEBdyvQJAaaFz8jWXfQItYlxjnwpotNGSeh8p +Ip8UOVnfKe4qv3jDOagqoekE+G1XZBLestjOS1z2UvrVPSmF1ZzHsGvVQwJAYUCb +37yRI5PMtgJjUOhVdYTKA76y6EZzQGVIJOwm6pHe6vKCjt3CEyBpISsNpo04vpmj +V6tH2ts+viw1EBOy6QJAOVYn6aZi9R2A+oFABeZKGiejo8J/cQr2H2TFbcyrQ0wR +NbcnLkpApr/jYeg41wi8VljgNU0suJq+L0tblCZudQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert b/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert new file mode 100644 index 00000000..bdc4e2af --- /dev/null +++ b/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvdHBn +ZGFuc2swHhcNMDgwMzI4MDM0NDUyWhcNMTMwMzI3MDM0NDUyWjAZMRcwFQYDVQQD +Ew5wbGNvbG90cGdkYW5zazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAx3oY ++bW9XfqQnNQLmnrAsj+bPAKtzRQUHl8RzOIH/ECagTPQ3/RpC2Io2avzAoaP8WpR +RE0GQYZIgc5HRAMqB9MyvBJ/WU/2G7uLS4w3sLKJPy5UHM8YNeoPiJ+6+UyOOjt8 +pf+PMwV70oFlf51xR6/8Zxn8u5zJKul2EypPQVsCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBxf6a0UIk2eaxbC0r/Ch4yg2/2DBlIWQtnulSPRA72+VFxM4VZa4ScoHFj +o4jwEdVynH0Ov+tffMa6EZD3x6M+u6yXVXiv/+CUJqgm5HcsTNiSgCtvbHG/f90t +WsZcG5wMNNaVwBpOoKfsV8IklKS6rysgX5vUOLv0Tys1qU3XaQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey b/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey new file mode 100644 index 00000000..825ece36 --- /dev/null +++ b/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDHehj5tb1d+pCc1AuaesCyP5s8Aq3NFBQeXxHM4gf8QJqBM9Df +9GkLYijZq/MCho/xalFETQZBhkiBzkdEAyoH0zK8En9ZT/Ybu4tLjDewsok/LlQc +zxg16g+In7r5TI46O3yl/48zBXvSgWV/nXFHr/xnGfy7nMkq6XYTKk9BWwIDAQAB +AoGAc4AcFAKKWm8p6tTQvyrShqNTxCSc9ADrQUa07Nf33bSega86A2Lmq+OzWY45 +kD3P/O4djhm3RJt3Qknpc9UNMSE8fnhmle5febWMlGCr+NgYbliBWX156Twkr5kN +pHUygZDcDR37CImPwiAAnpZEIV4zMVZTkuvA9/P0YyU8KbECQQD96utkFkLJVzFg +yeka0QKQc4xa+2SdpG5wCs2kqgBsP3QKaqfNJaBSEQhqM4rFdHAUttufe4O/VfzM +/nS3n9wJAkEAyRziTZ8kuhy2VYE/mM24DnHPEpMRX3/dGtDfqyl9yQGjnxWATFSa +KjkvtEpCWibYyqkI8Rq9sekNd3Of3gQTQwJAIOPSE8fSZNQXgEsHF8MlCuL8tjhE +AytuZrLvijm/DkZ12HeSPr918ctlBKSigAsiDXzWG+Va3mjb8w2uvq5FSQJBAJn6 +TGYDv7ni+9MxdwDGGPKuPk3JXhbRLfc3DtjclprMb3sAmk9WwwYq7JRL+stNTNS1 +YMxAnhZWCeJ4G2F/m0MCQEXwcw9Q4p3SSQBvu4suYtGLyGVKTj+8bUWPTXOURu/l +nxwL8K54Y9ngFMPvnX7hMbz1LguFkGzkHqXFoCZbx5E= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert b/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert new file mode 100644 index 00000000..0ec933d1 --- /dev/null +++ b/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvdHBw +aW90cmtvdzAeFw0wODAzMjgwMzQ0NTJaFw0xMzAzMjcwMzQ0NTJaMBsxGTAXBgNV +BAMTEHBsY29sb3RwcGlvdHJrb3cwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AL1cxMtqidWckqjyaQzwYWI1M7uKsVexHllVOiso0idC78y+n0gTrRwjuCalrHZq +noG48L7qZpfN43qMKyo4sMEFB41XfTugIMGE0OsgjUl7J3Ywoe4OYE67QGl1/VMD +KCLJR3jYTLCNUWLRSplktrrB7G3X4ZEBwg9frPICxTvhAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEAjeCwqfRhzeTO+UQbeXld78LiH+ykZFG+H4Qzi98S3N/TaGbGtt9O +WFhmfCM5yqugAkWtcJZJwAnPqEmZZr7zbTr/rZSuo5hJnB+RHBn7om7ICSXU6ikk +HZo0mVLVCCZQdHzS1GMkWBj30PtpIL0NmKsLJSSHX6uHE4Yiao8zU/4= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey b/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey new file mode 100644 index 00000000..eba8e5ad --- /dev/null +++ b/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC9XMTLaonVnJKo8mkM8GFiNTO7irFXsR5ZVTorKNInQu/Mvp9I +E60cI7gmpax2ap6BuPC+6maXzeN6jCsqOLDBBQeNV307oCDBhNDrII1Jeyd2MKHu +DmBOu0Bpdf1TAygiyUd42EywjVFi0UqZZLa6wext1+GRAcIPX6zyAsU74QIDAQAB +AoGALg0bhuS39I0JVbDuP0lORZXuqNNH4a2fVdZWORzKTuYGb2KEVgEC/m7pX+y2 +jm3LcnzJf4R9wrk9cxYXgUMcKMmzMxDnOqr8Nz1ZCv4PGdIm7tYCHjeSQGGpFXmV +ulXviX9UTjyq6QtwVI740wz/NkEAMGRAsRqwINhD7IE9lwkCQQDhjYZO+pcnusF7 +7nvQNpPHTneFmERK+2SBO6S+MHGivUgh5xrUbmbwQ+1kmf4KhMKNVOJyVT9YUWBC +8YpxZ7D3AkEA1uyaazEmSCpXY1/oV1chG0743t8P/QSbRB1C3C2Ti16wI6MYxW6Y +aMOSimH/dIA8oI4kTVdKs2k9GJuWxamb5wJBAN+3Cu9NOB3M69ormhzT9VGrL3uP +orUokfBooyeNTzjWOzR9UCxB8NIA3fZ5kvMF6R5bglta2ICV/j+H6gQ/j9MCQQCu +xi00qf1FhhkWWLGqBNKJUIkVRDPOP2a710e9oNpw5Yk7EbBdLPiHiTKrkdGYvYeP +0Mc4lZnLl/L1BeFvz+NVAkEAq1dj+z+4g8TPxPsbi21qBAcNcfTWZ7sar03G3W6o +9umHwhP7ee/cDP0BxhnIYPM8km/abL/JWYE06/zInWH/EQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.cert b/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.cert new file mode 100644 index 00000000..48b2da78 --- /dev/null +++ b/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvdHBw +b3puYW4wHhcNMDgwMzI4MDM0NDUyWhcNMTMwMzI3MDM0NDUyWjAZMRcwFQYDVQQD +Ew5wbGNvbG90cHBvem5hbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA7SMf +JoTdggcJ46fszrXh5biNTcaygwLeN1OOKtHmHrNX674Na9/ZJKKVuzvMX2xgKk9b +pQhJ8fEvnnjp/Bkp6oIk5kFRmruqC0thbz8ppsgIBTg/0WDE2B/zExJAQPtJjXuB +xr6mjSw6M4PB0WIOD+0lXTRQJDtoCi3wVjfTEeUCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQCcNgVPr5GW3w3c4HYb7WyWMMbIkMf92zX0yiTW7Gxmn+kHjjfu4AvRnc/7 +yfZMfV9KfhjP5sbdYu+YbyuoV2XgjT7lSKDF4FT+7yN4GVpvgmSWIdifWrG5BnnJ +wB9mIN8qHA8NmjFX0HD+Yng498eoP5NTaNuR68jxeB5lvIj8+w== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey b/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey new file mode 100644 index 00000000..21cbe02d --- /dev/null +++ b/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDtIx8mhN2CBwnjp+zOteHluI1NxrKDAt43U44q0eYes1frvg1r +39kkopW7O8xfbGAqT1ulCEnx8S+eeOn8GSnqgiTmQVGau6oLS2FvPymmyAgFOD/R +YMTYH/MTEkBA+0mNe4HGvqaNLDozg8HRYg4P7SVdNFAkO2gKLfBWN9MR5QIDAQAB +AoGAA2XMbXXb4qANMTjXuMJ8YRk61RFyv1PMMUi+MbjeLjRtnxATCyei6dZ2hL8/ +l2JrIlAOxReQT6of/4pF9/m4Uv/IU1Rr/XnEb8paAbHNu2Vqp08xGGX+uD99tOII +w9lT2hA4MWety0GE7WvFceZzSZSxvDqOkvfxYfBC69yEw4UCQQD8jXHvthxd3vf0 +Uvb3Avn/yvMBih1iqmFo/40cg4lWS3TTbcmptek4RiIXGrMi+aJOXO+pzYcbVvta +3KJwXdBrAkEA8F/OoNsLYegYTh1zsufqWyw+Jj3bf9fgKklMxzadcl1pECcs07oh +0qR57I2UmLlccxNsGSZSSJfFCen00V/67wJAfTriAVxLCp0SVJuDDI70SktnXh8P +XSphLQBzB22N/zVhU6m/8qBaaeYU52H8693fBn589LUORpdGAhMflRpfywJAeN0j +r5wUYBlsxzJl76pPG6LmaSInUWQBsiGDOpQKnOu9HUMldhycTycmqzwRYK2rf61f +aFHtg9TUXYTG9dRV/wJBALLNSeW8yvdVBK+OYxHv7iU3uovifiOnTffRa7OBNCR4 +WdrZPruOnx/n9a/UwASpKvefu8PCWIaJjjYE/TdROwk= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/utokyo/utokyo.cert b/server/slice/planetlab/jp/utokyo/utokyo.cert new file mode 100644 index 00000000..e65d0f82 --- /dev/null +++ b/server/slice/planetlab/jp/utokyo/utokyo.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1dG9reW8wHhcN +MDgwMzI4MDM0NDUyWhcNMTMwMzI3MDM0NDUyWjARMQ8wDQYDVQQDEwZ1dG9reW8w +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMtqtRmi6Mg2OmAjNVYUEa3mnICc +uBZiBWaPK+zXeSwh1swYfb6WkboBhdUUxtD5ZhLFD2FO8KrGXfo1/Qy4k1SBTczW +GLWdklzs8pAGGi5dRFuGXmSKy4tgwXmw0d28AbL8FaozLeKsDAHLjROTMXy7djW+ +pSwWz4+VLPGPydlFAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEArf0G5erePEbKXa/5 +JNJ8bYu0VYein+YJqg8AXF7qObESE1GFXrdmwbbaUZnRhDsA9Luc4+uMG3FQlBRs +iGA9hYnvUcPfFehGSL5jgJFBX7Js7+IyXkA2U5X8RHO04gyai8HhlWmCozWQSLCb +in7UJQr0S/UDdVOsnr8AE1+aBgU= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/utokyo/utokyo.pkey b/server/slice/planetlab/jp/utokyo/utokyo.pkey new file mode 100644 index 00000000..53bc125a --- /dev/null +++ b/server/slice/planetlab/jp/utokyo/utokyo.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDLarUZoujINjpgIzVWFBGt5pyAnLgWYgVmjyvs13ksIdbMGH2+ +lpG6AYXVFMbQ+WYSxQ9hTvCqxl36Nf0MuJNUgU3M1hi1nZJc7PKQBhouXURbhl5k +isuLYMF5sNHdvAGy/BWqMy3irAwBy40TkzF8u3Y1vqUsFs+PlSzxj8nZRQIDAQAB +AoGAJdxYlMrzlMAzIU2sUbcuizWPD4kb4l6gLrSbMlvwm7w4pIgyb1TLDtnVtRFG +6AJjcz7mW/A7by24tCd0T/fSw+RX3OosWdxODQmHczbO3eZ3xYTG7rEfNXXqSfkH +Esj2Za7++fUnj+8AVWLlHP69tAkDGXHUiTq9gtVQFzi/YgECQQD9xBmVgxThicl8 +hoPXrGDhQlVo5OXE2ERFfGSAM8Gnp+656Lkxsl/cBX34QJJsFsmAAZAoy66+hSto +y1/MDPuFAkEAzTUjUoXYS2B7xkpz5Ni84Gq1IrY+LIl9pjWYwEXiUogM7ar4OPt3 +l/wDZp4P/l/w602krzPLrwkWrAFFBLNywQJASvi+nj9l0eRFVLbhCLzyulpApYbK +o0dJlEXV41JnKkMg8mfhHt+WFojA2LErESgCTAEqOANFEyCA3KsJGF3ViQJAFBe8 +4qqqWA8Vb4AAwwqZy9uG6uQvSEsaG3kqAMGW/H/HzEmuTl4JAr+xUY3ugPjB7ThI +BMOskPHx31usd15ewQJBAO5aLhZNfJGos+0zFMN7fZy7j2pfDAHcLUVlMFTPatix +dXZCuDMGOXFzx9wTaqPS3sPKE90NaeNH32Z0LlKYKoo= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/waseda/waseda.cert b/server/slice/planetlab/jp/waseda/waseda.cert new file mode 100644 index 00000000..fc1f3f8f --- /dev/null +++ b/server/slice/planetlab/jp/waseda/waseda.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ3YXNlZGEwHhcN +MDgwMzI4MDM0NDUyWhcNMTMwMzI3MDM0NDUyWjARMQ8wDQYDVQQDEwZ3YXNlZGEw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOOiMWExTF/RJdYQvlUcW9XDJkGt +/08ok4V4wEseTm4y7vIdMIABItI04iBu5HH72NOq5tZmMjzcm+JDA8aCI77+cYJe +DQftIWvZXmLo7M5PVUBhTHGA0FUR5VAtcDd5D6o99dIZBuaeQ8fOx9KNP4xXg6SB +OYVy4aNGlhQ6WPbTAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAfeAwdyD3mMzfSRwi +Zx+fn+t+DfocVuEUUOmf9fQAnWP94hMQ1rPgmQeSzXUdO2WYAKTAB9rVgZdyReeS +5kuN5T2ehG1ukFiPsAGqXmQwIMash0z3Zdzjd0OdtliLBeuyWc6jDm4s5u+zsFEe +juSCyOaiN5igPDVGyIRVijdpUv4= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/waseda/waseda.pkey b/server/slice/planetlab/jp/waseda/waseda.pkey new file mode 100644 index 00000000..d2b1edf8 --- /dev/null +++ b/server/slice/planetlab/jp/waseda/waseda.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDjojFhMUxf0SXWEL5VHFvVwyZBrf9PKJOFeMBLHk5uMu7yHTCA +ASLSNOIgbuRx+9jTqubWZjI83JviQwPGgiO+/nGCXg0H7SFr2V5i6OzOT1VAYUxx +gNBVEeVQLXA3eQ+qPfXSGQbmnkPHzsfSjT+MV4OkgTmFcuGjRpYUOlj20wIDAQAB +AoGALJrZpjvsxVHMYjgBs9fMvwRweKpJvw8qaRsSQyX7JGjinZrOqCaQ1jP6o3RX +W2aIRGHWvehkq7xm511OXhWePy4skIXRsa0v5OpgFGrhzkCws58RzOnfth0b5yXF +/HGZCsVkkB9j2x1s/pw2HfUXzNeF1QGCtcUqFHP7V3qzG1ECQQDzgRLmARE0Dm+4 +pZZMb2euJWA8UMcKtEPpGrTEJDNnEk3zURvPnSn5OgS5/rRuULxnov2tAw6cfIJS +MvKO/GSvAkEA71CgOKaBuq1vn5sKgkqVvsA8U5oGzgxwRVZiIDGyqmt4yhQdv4u8 +OG6rkv83fk4FakMyn5dSHtcfUZr/vWkhHQJAd9RN84gU6jQsgIZkN0sfj5BvEl+C +A9+AB+ePi3JxJUjZuWJxuDKUZERL7SfNrPfoL2wDQC/f8dxH2aGewgSsmwJBALrr +Cnm089bO6ESNYGPrxZI7q+LQh0ggxwAhPHtQ1e/uCWYs2B9oERcyuagS11E7t1cM +LVohYu7br4aZve4/UrECQQCAx/gadct+1c8DthO1Hzi3jSyodRdNp1xbkmjY8Ndf +QTaX+D/XdfQkL3SgemTmaLYBoLzeutR4hRlCwfr3ZHoQ +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/wide/wide.cert b/server/slice/planetlab/jp/wide/wide.cert new file mode 100644 index 00000000..addc5743 --- /dev/null +++ b/server/slice/planetlab/jp/wide/wide.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR3aWRlMB4XDTA4 +MDMyODAzNDQ1MFoXDTEzMDMyNzAzNDQ1MFowDzENMAsGA1UEAxMEd2lkZTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyOYm22T4B+dj1AP8jXDhJxkre/hrJsV5 +bVJbX9EXRgC57cSHaIPIohsnSagcLR0i1DjIxQK8wj4+9Yq7WKECI3UxwDCa7G3k +voMd7RBDhhPGxuByjBlG8i9ZglfiMvx5csTJMBZ704zda89IGCY+86jTIAFPX2VB +Mk8pmuishbsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCicD1Hn0RKQIBdbRPsHAvQ +juJ0zx6PQDH+FnHRJ5zNqG3ng0hb7TKWNT4c9/yfZ2uavIchmX/v4NV8bIBEmm1V +N/xv8NOQaZCIgH+32cvylR/uHSWjCkntmmlTMNx0hOmGOeVSmg6N/T3FDGOJA3qZ +R861Ht0Kvt1MlXhuQyjNSQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/wide/wide.pkey b/server/slice/planetlab/jp/wide/wide.pkey new file mode 100644 index 00000000..6160783b --- /dev/null +++ b/server/slice/planetlab/jp/wide/wide.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDI5ibbZPgH52PUA/yNcOEnGSt7+GsmxXltUltf0RdGALntxIdo +g8iiGydJqBwtHSLUOMjFArzCPj71irtYoQIjdTHAMJrsbeS+gx3tEEOGE8bG4HKM +GUbyL1mCV+Iy/HlyxMkwFnvTjN1rz0gYJj7zqNMgAU9fZUEyTyma6KyFuwIDAQAB +AoGBAJqeyHlDFMLAjEy5ZL9XiXKWJKmdYJrOkc5Z/ImaW9c859zfzXfbNafOTkaa +ZFU0f4Hm0l8O5Eh7r+k7hUWJZiKWw0EF6a01bDrYB8R8ymRwJm6o49aIF9+Gwe/U +kcSLhy6rXePj/HcWl16GXQ6i0+aMDZ7bFYfpZIPsWpYe35fBAkEA7IFKR3ykF4M6 +LxJyDWUq6QuRIncFpatP7L/hYZ+Jm924WuiTqOQyY+VOZIjVM7HopHoDmiq7V+T4 +aJ1cIqWDPwJBANl1ga3yS0Pwo9rfhoTsuSY1tty0wfSHk/mWyzJDWKHg523VU8fE +4syQtugcLPtjs9fd8r2vkWvHl+QzUBAZKoUCQFyTGzUyR7TgbAUC7lvp7sr7+RqJ +hk9b6FQeo6Un4qB9QG1tPmdMs6DAoFff67xpdkvzareM5Ho6KTYh6m+xY9cCQQC7 +aQLvB68ICX8dpaCINH/Ix2gmQ/4YITRNWUEbu2DKekrZpI2E0FDqHhoUZhv6N84J +z3VhNsssSSLFf9eTWC0FAkBKjDOAZurdqAwytyRmZMBMnDaaP7irBhyZ8jZjmU6X ++rAXKv2GM28jktMZiuquUA9utLwBAm7aIwfmST+3GIXm +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/ntu/ntu.cert b/server/slice/planetlab/ntu/ntu.cert new file mode 100644 index 00000000..cccdbf4d --- /dev/null +++ b/server/slice/planetlab/ntu/ntu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNudHUwHhcNMDgw +MzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAOMQwwCgYDVQQDEwNudHUwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANqAs+Z926Fk2gRdSW/zw+l/I1eaozavqEsy +dFz8uiWsSaWgh79ABkb6hzIAI09kAKmD7UyuHh59mzoynINdZ8uB8+S5z+kVhWpr +8V+Rt6gpQkDgc6NdsTCJAmhLXTqAJv//SM8Y8nXY04lND0w1opt3FqG1Hn0NC87y +30Wdt7v7AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEA1xeD547F7TimLmtDU5VBuy1u +vMvkuHmyhdtzaiaia7vXFDBpS4G2lI12FeFpyey8m9cmYufmLvhBCy36jLr6AUpn +uHccguZDxBIRiVn1iCnO2KhcM2yS6/FPpneilS+hyNdMnwCngSRlv85xEkt8nzad +ZYKZ6CKgKFtdBO+/diA= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/ntu/ntu.pkey b/server/slice/planetlab/ntu/ntu.pkey new file mode 100644 index 00000000..526e97aa --- /dev/null +++ b/server/slice/planetlab/ntu/ntu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDagLPmfduhZNoEXUlv88PpfyNXmqM2r6hLMnRc/LolrEmloIe/ +QAZG+ocyACNPZACpg+1Mrh4efZs6MpyDXWfLgfPkuc/pFYVqa/FfkbeoKUJA4HOj +XbEwiQJoS106gCb//0jPGPJ12NOJTQ9MNaKbdxahtR59DQvO8t9Fnbe7+wIDAQAB +AoGAJM0Uf7em7DHuPlnv6nkmAAe3ziNvZeCD+dZPnvG58GpqJQk6k82WwRGk/5ji +WZbAPczIhOe2jvAc2tp3XfC3cFF1ADWBxclGw4s5QjqyFRlrpwsL0GhPNnpaDcvu +AgTGpEktGVWH0uZ/hNUUOrdku+/pnMH8NmcSmXuonM0cH/ECQQD5YO0+aH2i9tlq +1mKUDf4txh0qZMrapAsi4zhx5nmXDRHGgtiAHcsCUr60YfagT/I3wwmr7m4KYpJm +Q2Y26AQHAkEA4E3oKcQ038gEyDfx/6Zr+hNv88beWoT8uqtzzd9CuX6nlNDaGhRY +ICcw0MdQlRqM7/jNb0JTTlaob24sLPKTbQJBAL4+Hz7Y39+OiVZjrlhcRGgPFvjc +Y5RgSM6YoNrjhCajpcfW0esKz3A6R5m8kjTCSHoZpCsxfWkWwbCaAkQow8kCQQDP +Gj/VaIslYEpCD53K3X9vHElO/XzKeWXceXfoS08RdIcI2bm3QLeJoIXrD00xDp24 +6LHOG6BNgaftkv0I10UVAkA34bml71517zxX9Fu/ZvtmeH5F2yZZfDfbpTWtEJ91 +c1IT8aug8SBUXAiTICdEmb7IxP60pWaHoaqX4IPJs/9N +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/planetlab.cert b/server/slice/planetlab/planetlab.cert new file mode 100644 index 00000000..9f5b851d --- /dev/null +++ b/server/slice/planetlab/planetlab.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTEzMDMyNzAzNDQ0OFowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz8uZVHahZ +QqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vGO7aT7bJC +apb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9 +OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABRIUVzW +JbwQKnqM3rVHJoSgtYWpgDvJosLCrLZhsXrukOsC8Gs8V6vPTPO7kofdUbHQKRnL +xp1nI5hlWIlq/XOnh+NEPZaB2SAKwfl3FZwUqjaEVd/VYOfsRryZtiUz4sL3CtXN +C8i/I4HwCnrl/pmzbprqpGq+RJTa5yLmBw6r +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/planetlab.pkey b/server/slice/planetlab/planetlab.pkey new file mode 100644 index 00000000..93360c8f --- /dev/null +++ b/server/slice/planetlab/planetlab.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC1NiZzJyIz8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO +0yH3VUEPolblSM1Juke6M3vGO7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8ol +tKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQAB +AoGAHN02PKtkGFA9fhtOQIGMbGeWTe3ULD4id2+HycEAyhIZYQbyILtisqnixiG+ +o6D4CiFg4Xjn40iJqYB4H3oo+D7s9yitW8dz7/e3/7uUJvqypO9qxY4lpOesy9Is +oXTzI3feD7muC6FXUhaEjXGNeovjLfrkpN6XfU7HSdz1WL0CQQDZs4kSDVdgHWuB +1nsfwG+9moPX9RfgPevrM0ydLBIN7wBNg8psFFd7swW64DS2XDFTFTsk/4PqRy7A +XBLJ1seHAkEA1Rc/0g/DFqLMmIVORVZywt5utK6aGw6axMnzJ9WW2uqhaECsuifW +EWxuRZ6iXhHKvADrpoL1oyHwO6I/4IS1ZwJADBg+YENffFaGF4OL+ZqeWqFP+9qB +BhNKnRmPgxfktON3V9cfktuadKPgiJ5WL1912hDO5WJQuN5ViZhT7uTA1wJAHFEj +nQGVNjvaHmaQmSw8weKXKZGOTwwoyv/fPSroCh1l55m4mmBS1Svol33WK9QHceZZ +al460DvhVbtg67AW/wJBAMNV87DOw5Kcr2C4DJ822uzt4tfdfrFO6nL7UQlxZeoz +osbIYKGeVxm66r6dUmK/0qjqpujWnFCFKPxrMq8qXrI= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/qub/qub.cert b/server/slice/planetlab/qub/qub.cert new file mode 100644 index 00000000..e6edef6c --- /dev/null +++ b/server/slice/planetlab/qub/qub.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNxdWIwHhcNMDgw +MzI4MDM0NTAxWhcNMTMwMzI3MDM0NTAxWjAOMQwwCgYDVQQDEwNxdWIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALmCUYQmYfmm7+u2PFKJmK08mBJV7fwVnk02 +Q417ydokFsINqmLlJWGss4uwELwuU+9z7kKnALW6zTDRCO2OiozYIh+iE7Co1qXX +t61LEn7PLnVqfx+QQJa9f7TFziGWyGkC+gZSsowtDMjbtzhZihfevW7j5/SOtH0d +0Wtzc4BxAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEArH3c4h00MS5B6pjuX0Y4DnZc +uU9xwMTlJMIjUTkpUX/62p7jwWQIKNr09jbyPJPonV4nBlf/TnKNDwmmAzop8yBB +84A+Drbs4PcP8jtAjyAjqz5unLahsnr5tnOM2xvOqbPCq+d3fnqLDs18ncS86AEJ +501I0AMdgWt4WJOxxmM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/qub/qub.pkey b/server/slice/planetlab/qub/qub.pkey new file mode 100644 index 00000000..1ecd1675 --- /dev/null +++ b/server/slice/planetlab/qub/qub.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC5glGEJmH5pu/rtjxSiZitPJgSVe38FZ5NNkONe8naJBbCDapi +5SVhrLOLsBC8LlPvc+5CpwC1us0w0QjtjoqM2CIfohOwqNal17etSxJ+zy51an8f +kECWvX+0xc4hlshpAvoGUrKMLQzI27c4WYoX3r1u4+f0jrR9HdFrc3OAcQIDAQAB +AoGBAJPtW1tp0A7oE8F+nDOlDV53Rzy30QKHqqgfcVbNM3UD+jHb+9bIqzpsIPBv +AalNuBjl9USpL2O7Bgy7Y8crN0cinK4VK3XNnhuCd871cWqfSY9UC3GCbWob8zi+ +IiQSBn5F76Dm21taRSBBN0ZjMRgIDU/w5Kol0e93uFP56tgRAkEA9jj9d8UW8TkF +u0XhDFyc7oFOTrkpzj42XTFIYTx4yx8SUBG6Zz57FF+zSPaAPTerqlb5YYu4ci2D +v4RcJfAPbwJBAMDgIuGVu6E4Rytq/doIbtX6G0QBqASYmoaHQ2ARWEgXsUgH1FzO +K5l8p4AZ7yOYEJNyHiCU4wD6KbMRLlRHfh8CQQDimJYj2F0ByIGO1IOFVeIS2StQ +5bUkmjp7z3QWEIn2HPVEfNw4UdcBbAVaG4jvTcGNNReyftxTL7H02gHX5DK/AkAB +p2plKNWNEmB53NcEcaIRr61gLet07qIUmUBYqI1rQNjCV17Y1OPG0yzUimRkl788 +pHPhr6Uqsvp8kJ8nFd3dAkEAnXdfpZHTwovZnvMWZp95tNGOTUczTl1fcrR800vy +EUXTDpAZSIAaVTE+DUIlXKbrH5sgg4vZ2KpLaI31gaUeRQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/snummlab/snummlab.cert b/server/slice/planetlab/snummlab/snummlab.cert new file mode 100644 index 00000000..7f14c3fd --- /dev/null +++ b/server/slice/planetlab/snummlab/snummlab.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhzbnVtbWxhYjAe +Fw0wODAzMjgwMzQ1MDBaFw0xMzAzMjcwMzQ1MDBaMBMxETAPBgNVBAMTCHNudW1t +bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC43rIuNr6Wa8Vk5nBiCcDh +/1aHa8XryNn+/4ZVZrcd1V8lSriHqPqHn6ZX1GqsEEaSVEgZfeEmMvWqpqmO4Vwc +icISLZ7qw1L2TT+aFSo6RRiAv+xQMYv1T8VpeJgcy/minU+GDfl6yL9N6PdeY+rE +bPitgUQe034C3/Xj9tKSCwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJ0Hu8NhJwPJ +xFixK3yZfUYC7nWYE9c3NdCnpfUvCpq0fzKt97+6w8kjSCIJKRmLkj2W2UljZEaE +L0c9l3fJul5EqmuSITacgbma2WCmYfVzDJfhGB6iZdpupI1j8hycOpr1kt02udMG +PDZcIzTeRmtQZE0vleGkFAzNMAcjOTDE +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/snummlab/snummlab.pkey b/server/slice/planetlab/snummlab/snummlab.pkey new file mode 100644 index 00000000..039ec42c --- /dev/null +++ b/server/slice/planetlab/snummlab/snummlab.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC43rIuNr6Wa8Vk5nBiCcDh/1aHa8XryNn+/4ZVZrcd1V8lSriH +qPqHn6ZX1GqsEEaSVEgZfeEmMvWqpqmO4VwcicISLZ7qw1L2TT+aFSo6RRiAv+xQ +MYv1T8VpeJgcy/minU+GDfl6yL9N6PdeY+rEbPitgUQe034C3/Xj9tKSCwIDAQAB +AoGAUFOTIDlxPnK9ZkYqdq6+PHRx6I2Phg/TiNUGTX0/+5qGqPF6lJd7pApegLMv +VmwL/fDZExp7BdoGnIumCQsqtg6IYRtNwF7LOS5VRyek2JSGFBpqvhbCfPA7mlVk +0hj88fEjpeElCzKBYlvnlZJppPuEB2xZjKUrS9YzzrftB8ECQQDhjO1NzLDF9Ll1 +u6NFZuxejK+RJr4+W/W05Ql9TgdZigPsiQw967UxmnUVxmC0cJ0MVQoYWmN703Ii +Ci2IyaQzAkEA0dPW1/3+LuOKwN/dYSZM6tZkivKo19ERBWvgh69shrCubBz3/VZW +FQj4WbNeeNxdxlNG6sGXZNQEsyLLk6bCyQJBAMsNjDWWKS6Nesk6+2nnlrQoA4ax +UmPhdfo8l6ZvML6zOYUgfBzirmTRoMbRqQ3ItBn+FPCHrzgyy3VJpGSY43ECQHlx +PVi3xeUHh2hIaU3wJ/aHbZvKBJUciNh1bne5vXtbSSiDv7hdvubf0TXBjf0vtgqy +ako3D9OorquriN4FV5kCQQC5dO+YcuzPzFDWST9G5Rd9vuniehMMpPkoSyzHaKpa +/9rYvcGiKH9oRAj87cTJPkVdrlf9+H+xo0cId3s+3cw1 +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/sydney/sydney.cert b/server/slice/planetlab/sydney/sydney.cert new file mode 100644 index 00000000..fe31e7c2 --- /dev/null +++ b/server/slice/planetlab/sydney/sydney.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZzeWRuZXkwHhcN +MDgwMzI4MDM0NTAxWhcNMTMwMzI3MDM0NTAxWjARMQ8wDQYDVQQDEwZzeWRuZXkw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALRNsTAX5KRMoT2eEa16ahL7dZbg +5QqFGBMwpdCyjF1C5WGRPKRR4teOiDua/8VkA8XzCAiYJA/xIWi6bQLNZXNOizCZ +yNhxOH3zU6Xn+1HEK54ljqfj85GJxgyAB19v4Ao68pBx94OoYFX5SugM6RpMkPyR +Rdrk2DBzQpAw29wJAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAiNF5iXzOsAn3qQei +MD0Bzban1KIPgvrqWnHT2IXzmNwir7vSPDKGRZhbZZZDikCwJ4i6sjHnCBTDipwx +sXvCtxGpYgBjxBH80uYMjyVhro0E6me9lC/RyhlwsF03bm4hkmUmu6lYr7ls7d0P +IbFQWJwJlrZSW9KrFLTh9x6BXKE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/sydney/sydney.pkey b/server/slice/planetlab/sydney/sydney.pkey new file mode 100644 index 00000000..b57dbf32 --- /dev/null +++ b/server/slice/planetlab/sydney/sydney.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC0TbEwF+SkTKE9nhGtemoS+3WW4OUKhRgTMKXQsoxdQuVhkTyk +UeLXjog7mv/FZAPF8wgImCQP8SFoum0CzWVzToswmcjYcTh981Ol5/tRxCueJY6n +4/ORicYMgAdfb+AKOvKQcfeDqGBV+UroDOkaTJD8kUXa5Ngwc0KQMNvcCQIDAQAB +AoGBAIFIdBSYDUoB6FvWS7aoYAbcZ6SX/aNda7XW3A6Y+CynGvKqwWDRlmYZvXV/ +3oYbANmfOdNvw+vqapo9koy/2k1vUobGxpFhf6M1CHbUfWiTTo7bgfpyTRhnWiif +smHXVNLKBanSz0jtFbcLCGNBebgv3A8gbaAKEMOMZvABhYABAkEA4C1FJnfGafoS +pXFFLjYz2ettDX94Uy8T4tHSNLGFEOnatf8jAr6PTUn/VHyRtFlil0fqKHEr0tAt +6SRS6shfCQJBAM3mCUwFMYmiocGS/oI5PCgvcc1ErAMV1+36gO4vOygvvuj4BrWZ +52NgDnfVJTgQ13iCWBKObWTrbuZHv7Y51QECQBOcQjFURvocUyc/2mJpgW2tx5Nn +tDnqo12zJyVO5ioNmwFSuVhTHSwQrhJQ91oEe7hqJRS2mbPOXEXJ1KsPLikCQQCR +95vtrdzho08jiU8vCN5x6ri1+hIsGcc76hSPRyKcKcUhKfyvr80PcWCwaYX6Sk5H +G7jOZvR80D+Nt53c1QEBAkBFg7ZtmMxOhibXXOokIXj3v1Tuk3LXiSoyrm0JNovN +ww+uNNbS1b0wi9G+RT7mDwg6eisfphVMz0EHY6UTQrij +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/tau/tau.cert b/server/slice/planetlab/tau/tau.cert new file mode 100644 index 00000000..4252c740 --- /dev/null +++ b/server/slice/planetlab/tau/tau.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0YXUwHhcNMDgw +MzI4MDM0NTAxWhcNMTMwMzI3MDM0NTAxWjAOMQwwCgYDVQQDEwN0YXUwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAJpF8y1XoUb/Wr1/yDkAXfGRlp3Lp0Z48wSS +T4z/Fo5NLYW8fU/fq6Bvfa0W28sptq+uivXkTP6+SJZdaLtmVJ88MsM/1wvIwfVo +4B0Vi1rnh1YckDc0Gwj1lwiL8HV0DJNBFSZDhXWN3T6Sd7SklD/oIDipVmnHu/0J +y/LN3J5zAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEADKcOxoRdxnYssCOskOIpExk0 +3Ju7n9FASc4SCiiu7WcOov97YQTRW4K+sWWqmpvOPcAA+ndb5s0G23MizavfbYdi +HLpckuaBa7cE9iB1mJMFhKFLgzSudQ3xJUyU4uDmH5B/xntJ0z/mZzG0oYz70jZt +3aJK6i2h8/+l7ArcV+g= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/tau/tau.pkey b/server/slice/planetlab/tau/tau.pkey new file mode 100644 index 00000000..fb10b3de --- /dev/null +++ b/server/slice/planetlab/tau/tau.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCaRfMtV6FG/1q9f8g5AF3xkZady6dGePMEkk+M/xaOTS2FvH1P +36ugb32tFtvLKbavror15Ez+vkiWXWi7ZlSfPDLDP9cLyMH1aOAdFYta54dWHJA3 +NBsI9ZcIi/B1dAyTQRUmQ4V1jd0+kne0pJQ/6CA4qVZpx7v9CcvyzdyecwIDAQAB +AoGAD49SkZYvDAwhSM+kkCs7TmwStuOdgXwddq6TG3N3AO9D0iNKuE2k78+O63BM +xtb0OA/wsBBQu7jRdWkCcTRHAIhkW8Y+tvA6IXIFubDgtNzIQCnY2OEXLI/0czsC +eqy32WGQR32S7NzHTeSpsCIUspcdNlRoYFrFwBwrlH8fziECQQDM8XOvP/TCNB6m +iuRWByVmrdp0Th0W4zwQgUDLptpjfwLO3pEf4RSMy+iqY9imK6eHB+G2AIZOvanD +IMj/Hm/7AkEAwLTzIjFrL7h0Jg3Q7jVdzS4vlt5Otfa/rucG5pAuu0BBxWqr1xjc +BQL60RaxybRmqIT1NnbvDAFjs0b72PSp6QJBAJQ9Idxlenjuki0M0dSYHqmCnzz5 +M3lWrB+UHnYwHk9Rk4pm2rogaGjfJU/6IL8xXGADh3PKNVvHPH/zuu8t6PkCQDx7 +Tmfn7MVAdivPYEizNSqFmWgXg8q2k/i4B8FrdU9N3pawYRiUc9Ga2s+u+MPeu+2e +NTwP3fz9nqYQ3FB+kakCQQC5YPA/4aK/ZNVTHNFDdCWrRwIS+BSg2/VN/JpEiOoY +TuzQqXHpZ0uGMCyE4nxkMOur9EUj/KAQ6udq1b90RTfR +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/ula/ula.cert b/server/slice/planetlab/ula/ula.cert new file mode 100644 index 00000000..02fcc430 --- /dev/null +++ b/server/slice/planetlab/ula/ula.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1bGEwHhcNMDgw +MzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAOMQwwCgYDVQQDEwN1bGEwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAJ+mTuFd/vkl67wlVFoioHJnhhjRWcUoMUi2 +UR3l4bCzNQuOvRoxj/FwmYMJiWvjbVq1old0pfcAL+x9Kd2NS+ZePJ9OaA6Lv7KS +0XO9UJWt6P8EhlCmMZPtnnFK3Vf17FQJA9+IuYm+TFjBPqEZvPm3aOIhF59llSpl +w+dTHhmpAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEACe+BOrpATA9RELoAFS/Cv6KJ +JdaRgZ72jkfbDeOyaR88EIy7KssQ2UwavgPgoFNuqtHr1AsAMvso0CFM3pMmGZaX +G1lCWhsbXt+mvtuG6K4DY9fAvwj6ougBIy+SUe1iIWQk+AfBnFtpAy9LrsNxrj/N +pNDZDkHM0MYlAoPTox0= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/ula/ula.pkey b/server/slice/planetlab/ula/ula.pkey new file mode 100644 index 00000000..d3c62d30 --- /dev/null +++ b/server/slice/planetlab/ula/ula.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCfpk7hXf75Jeu8JVRaIqByZ4YY0VnFKDFItlEd5eGwszULjr0a +MY/xcJmDCYlr421ataJXdKX3AC/sfSndjUvmXjyfTmgOi7+yktFzvVCVrej/BIZQ +pjGT7Z5xSt1X9exUCQPfiLmJvkxYwT6hGbz5t2jiIRefZZUqZcPnUx4ZqQIDAQAB +AoGALh8IiLjz8RxQZvFN1iBMw+A+cCsCyR9cZYouEvoXYknTWDxrSwboc7K41o9J +wP5Z2CvC84sCa0IFlkducc/hDf5oFdkehX4LYUQFjgeggKsK8KNbvEw2j5vMemM0 +1lvb4ZOq2JguO10QYKxv6cmEVfkX/xmvR4TbbyaeukNaMZECQQDRZicY21P4Ee2q +gyhB2ykWsolHtGJ4QwCpHw98E7Ysa3rGUUX/SHb2gK79eTNWdtlmDKgR44T1Etaa +mNbVxOxVAkEAwy3XV72BcQMA79b0YAsuzd8TXZj4Mw72Gpf9CYxmTBbjrZeDTrGX +B2dPpbgDNWf2rgJSE+B1FbovGI15d+uMBQJBALHq3eVc1ee9M/bhId9y22KRp9rp +BZGxPGp2Ha4LAYqUd+jxPUw+wfWIOSbdSCV7LhRrRJKOgnXI39bTbhaMD1ECQAZs +gtLrdNAwZh5+t6pVk+PIvM1u1HRxwJ3ddMGUsmU8t5+mBfdYFv1yZAezR7/BPTg6 +8VKgJ5pgd15aga31vbUCQQCNFJFqbAIbIF6DiAea0UBFn/tR2umn50svdstMuBLe +lc7a4l+ooptrvHwUHt4pDk5N7+NgnoFDztgIJDBuUHDw +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/unioslo/unioslo.cert b/server/slice/planetlab/unioslo/unioslo.cert new file mode 100644 index 00000000..26fe655b --- /dev/null +++ b/server/slice/planetlab/unioslo/unioslo.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwd1bmlvc2xvMB4X +DTA4MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owEjEQMA4GA1UEAxMHdW5pb3Ns +bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jHiJeG/dqPZRUNSQ5S7aEF/ +aT+sQOVS1wxZbpSsqhMnxtyunoJ8ZxUMr7I3owAu35vR7cW0k17aJbLyIrRi50UD +i74aF9I0mFn4MFhz0TeoZvP7H1s5jbNjUouK6peFJFI0V+z7tHx/hYCaNXLYzs8I +n+cul98aKoVeKXsJcRUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCBGU4uF81f38bj +2tQml38Ri4eQH/Pxv1tfB1kko447ImJ+B4QUK23D4VRzFDqDqUc5jIjxuy/dLVO1 +2FXdUaIeV2BOtRh7b2uvWESqqpVu2RrpPBcNNv6uc3oOGwdIfY6LyKcOEei/fzvh +nHYySDrIReffb0uZKjUtjlBdATEu/Q== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/unioslo/unioslo.pkey b/server/slice/planetlab/unioslo/unioslo.pkey new file mode 100644 index 00000000..5583b278 --- /dev/null +++ b/server/slice/planetlab/unioslo/unioslo.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDSMeIl4b92o9lFQ1JDlLtoQX9pP6xA5VLXDFlulKyqEyfG3K6e +gnxnFQyvsjejAC7fm9HtxbSTXtolsvIitGLnRQOLvhoX0jSYWfgwWHPRN6hm8/sf +WzmNs2NSi4rql4UkUjRX7Pu0fH+FgJo1ctjOzwif5y6X3xoqhV4pewlxFQIDAQAB +AoGAGo5i3BZhckPRN4cB5bfs1Ycw6cM5qBlRFgphYi82gWZaKC3Jgg1KWlu2dpw1 +m0pyoZ22MCxCXDwno4uwO+I+fG7Tg7risu0IxqihveyL4tNORPN2B9XfP8cP+S7z +n6qihdaElhSjJWUZw2yDqv3lUFqwY6qbzWbETV4BEg63byECQQD71fGnfvgDWL2p +H0YK5LICk04pbyS+fzU4pBV1mLk6A+lpcNJnRDkXbwSBVMRUmLEWGguo2bxYibst +uCcoJqprAkEA1auq9QQQunZUVwynksJXYRNbhTLVY94JInQJ60EjUg8wvGoWrMJN +YaCwSvx9ry8agcBgdMNrZltgLuKbMDYyfwJAH2MCw0Vn08LzoGhtal4mcXu6eh+I +DNX95BlPM2DddQWXybRuBMDT/L+xaA0Qixqct4x3d4vrlX1U/tW8y5xGEQJANSca +RQ841hm/i1QTj5eWwwhcuPrXSJugbBivqv0uOyiaOBSwBVPkige+MzkyTtUJ5AMm +O4Wtfu32NFOcxVaGIwJAVIun2AZznhn8Ezkg9Row7nQSFhUvjY61aqRbStnjXruI +X8dWmeCfg4PDdaGgLmkTJK+tbzBtTozNGymUVxet7g== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/att/att.cert b/server/slice/planetlab/us/att/att.cert new file mode 100644 index 00000000..bbfcf609 --- /dev/null +++ b/server/slice/planetlab/us/att/att.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNhdHQwHhcNMDgw +MzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjAOMQwwCgYDVQQDEwNhdHQwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAN0mIxSymiZpB88JCyPYdfJ7TuEzMoSemFGc +I9Pv6vcgPIrPkrTNUcJ0mphguzY75YJaXBxzW+jUfBCxjAT3hbon3rcW+XMM5REm +V53dh1hGKUDfF2JiqVqnEM+2FFmquSHd7auY8sVh8k7phQkWrytBnBfK//Gb/U/F +4CQjCO7xAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAHPYkaMYAn7yZ9O+a3eqKdaDK +bzMvAN3ZZsFDtQ5cNk4IHVkAleJWFlHTQ494FzUHWj1cvnEk5Hs+F7ZXZh8Zw06t +67aqq3f6AGbdVn3aJqFEIK5OC1TXit4lOLKSUeWaPJPOjW1YrtJgELuuecm8+bzu +S5OYVxz62lwZOXDogkQ= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/att/att.pkey b/server/slice/planetlab/us/att/att.pkey new file mode 100644 index 00000000..ea0010af --- /dev/null +++ b/server/slice/planetlab/us/att/att.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDdJiMUspomaQfPCQsj2HXye07hMzKEnphRnCPT7+r3IDyKz5K0 +zVHCdJqYYLs2O+WCWlwcc1vo1HwQsYwE94W6J963FvlzDOURJled3YdYRilA3xdi +YqlapxDPthRZqrkh3e2rmPLFYfJO6YUJFq8rQZwXyv/xm/1PxeAkIwju8QIDAQAB +AoGALJRSgAqczl9fxplhGIG7DP1UYksqxNcfh1v9UOzNJbHm4miDf1TgRV2yCEN/ +magrVMKYTNfoUB/9PnQ78Ihg+Uy+VLf5CaXyOAta0ci6/oFYJOxVh7V8/y7AVDlI +U51cDM3jc6cDzJhDcL3uY4RlJDPJIBaUPKTXQhEBZoK6L9ECQQDxG4qzAZxMXIww +hNO3xGjRM173iL+VTNOBkeMDjEBfuRPfVcssM8cdsjE9JJ+uErpwzpbXlQzbwm5z +Mldzu/mVAkEA6s8BGDmdTBg+oItcQ8gupCvsAq1jPiBiuJohqhd1K039LP+EmpDX +x/XrEhuD2BkgDOgD1YzR2yXMhoZbEf9g7QJASpGXEwfjfCZ/YR4jkMlZFaKKs4oC +nr1VCNTC3j0JR9Go2MDjBne5FHEhE2T5UdAPA4aRVnmNsYXvvQcLzwqLBQJAaFQn +mVroEAppsS2ahidoydsWFy5w/QaotnsNYCTiE6aoShkSExcuOROEKdx93UN0oSdp +pLXX/HY0BMWnqzx8FQJABPrwEb5H0l0VzQ1RF8StfiCAnlZE7+TZDKSe4IhWzH/o +r9d1m8bTTAfTb6kbAJrMv0KE/jL33rKdeF+rYGkWfA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/aub/aub.cert b/server/slice/planetlab/us/aub/aub.cert new file mode 100644 index 00000000..9f55b841 --- /dev/null +++ b/server/slice/planetlab/us/aub/aub.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNhdWIwHhcNMDgw +MzI4MDM0NDU2WhcNMTMwMzI3MDM0NDU2WjAOMQwwCgYDVQQDEwNhdWIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALzIi+myvkm0ndYKqwHVcjNBGnGQN4cfL+p/ +W9Zf0tEjb/2Wo/JnJN80uvFUJcNbsJ61gGKgol8jSKf1bjZq3MdNYPkIWcmay3xk +a02UbEFOVdotRX3GIEY1fGkDHMvdF1Q0JYB/vsrYCn8JYI0wVsWAIRJ6Mfei0r41 +xctymawfAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEACZvYezSxSKx2k8OmnyfCEz/R +DW6vvpicdppWDwhz1nEvlyupuY+Iy+f1mCO+p/PYFwWIqB1Yalx3LEAmc9TH9La1 +A6UIVYKxT1/BvqkMYHoRVXF6A1mqd6qtyp96juQx63zgpzdauPJQfNUFLLXxHhRX +iz2ewh74GuvnaUzS5sE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/aub/aub.pkey b/server/slice/planetlab/us/aub/aub.pkey new file mode 100644 index 00000000..399e464e --- /dev/null +++ b/server/slice/planetlab/us/aub/aub.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC8yIvpsr5JtJ3WCqsB1XIzQRpxkDeHHy/qf1vWX9LRI2/9lqPy +ZyTfNLrxVCXDW7CetYBioKJfI0in9W42atzHTWD5CFnJmst8ZGtNlGxBTlXaLUV9 +xiBGNXxpAxzL3RdUNCWAf77K2Ap/CWCNMFbFgCESejH3otK+NcXLcpmsHwIDAQAB +AoGADvP3mRguWFo1EkogB3InrIWgmZQpwcsnmXRjCtTmNuiOq1BuRfoDgqaDlC/t +Gc8+ayPHOoiss8pwq9UV2LuYJxIF/fxq4v0igw4aBiPETUhLsHceP9UjR6705yY2 +WZ6rVxE+vlmtFVxwSB/9eW8xfRBsRdPJy1rrirRDmOOMGGECQQD7pYsPHPx9PDdX +jJRXMHjA4cvoMGEOPTVfL+3E6o6yaLnZ2m4d9uox7OZYYV3qdYZzsBzE9lxlJ7Uy +t6SdbBJPAkEAwAyafGAXbw30F531qWlMvVc3tHPNM52Wkh1tuYLhCxKHx+6sYCHH +bC/QzLtz41mdPyvBxmnbnM3SVHYaP/9lMQJAMfCibjdkbD4dBYTik4MNE8o7uzKO +sFK5WtCaMTATbZiW+YL9w3iS9aF7/SIljzgPnLngm74AjBqbPRtw0cT2xQJBALR0 +41DNRhe/J8ZtUeHPJSGg66HvUjkW8d34MxsmxOmPjvCp72UhOG8K+wr1dO6DTUOH +jTwwSgCsUd+1XfMWu3ECQQDt1R9o+TwuCzQBF5m0XQ98qEHuD6ySfWCoejkChpjl +o20dvRlUBa01Ne65P7y5a0OHWqdWZuLBJ6tU+srFupwe +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/brown/brown.cert b/server/slice/planetlab/us/brown/brown.cert new file mode 100644 index 00000000..87dedaf3 --- /dev/null +++ b/server/slice/planetlab/us/brown/brown.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVicm93bjAeFw0w +ODAzMjgwMzQ0NTVaFw0xMzAzMjcwMzQ0NTVaMBAxDjAMBgNVBAMTBWJyb3duMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0oZ502M9kE+18RU9R8kffP3aV/4XM +DfzE3VEC6L6g1ytzQg/GjClN88Pe7oVa4Lcrj/0ItjjAoLhawWlH8wSHMtDUuqEH +dj9vnwHURvf+1MddbYV04i6EvmQXBvj1CjoOY5rvSSV7o7tuqNOYrY4/VPRVw0r8 +PfoleRFU3zkxrQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAK1Qfrnxie8bmHauvhlO +wFr845uiJnAuXMuSN/oRAvNOSaf16rR19Kwo2mCKsrIL78Hhb9uNgMHETMYViLbo +K5qTueKcmjaGDRaYLzyKGo+28jmogBdqMiZ6rAUCCEAWRCKgv+4RF5ygKeY5LMkJ +C95qLAqN+BWm1Nlpb5F+gge4 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/brown/brown.pkey b/server/slice/planetlab/us/brown/brown.pkey new file mode 100644 index 00000000..8aaca926 --- /dev/null +++ b/server/slice/planetlab/us/brown/brown.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC0oZ502M9kE+18RU9R8kffP3aV/4XMDfzE3VEC6L6g1ytzQg/G +jClN88Pe7oVa4Lcrj/0ItjjAoLhawWlH8wSHMtDUuqEHdj9vnwHURvf+1MddbYV0 +4i6EvmQXBvj1CjoOY5rvSSV7o7tuqNOYrY4/VPRVw0r8PfoleRFU3zkxrQIDAQAB +AoGBAK9Jf6nIlEl8BSRpZjYRtalxvrSFSOPiVv77/peiIQuYgvPQkdqNPbAF9Hgs +Y4DzPQ2rJ1QC8UQNM5nuwyotLKAbxF0SftBkmk8ero4Sfz3JjVHBLNZBFsx3Kf2b +smJvOfIgoQrqZOAAz6cU6JEXhWA9JDq7Njt7TpvXxb6KqC8BAkEA6oL4OWbXmWoY +9mIsDKbIgY6AlGWAikKej3kVanaN2mM45N9PtimdxS0vjA8q0JwJarjL8fPoyqOa +91JqD19SYQJBAMUuwjVLd8v7DnkquDhU3bOEwAh98nfMKFW+eboisHkGfvUKEeT8 +3xQFVslt4rNa4pLLIPgqBa+Yn582Zwnies0CQCzM6G7O3tFIG4y2JIQmOJfHiXjQ +C0Zeg7wU/aphC6h03CGdJ7U9Lg7FGxg+rYc8x+/DbfLDDe3oY2psLCbTpwECQQCQ +eEbgp2+Za1NaYXtiAoQBMKVGU4kgTtvKnukvAJWNxr2kKYGc5c1ILPU+Vh2ATXmu +FdgNGzTZSBjDnSd3bZGNAkA1xdRqY/qKQlaPYUL3YMuNBNY+5pvTFLoyQsuEYYDR +bzjL2N6z4BCB6e043398T81MtegDp+stu0esW4nDM++X +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/bu/bu.cert b/server/slice/planetlab/us/bu/bu.cert new file mode 100644 index 00000000..15c732fa --- /dev/null +++ b/server/slice/planetlab/us/bu/bu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJidTAeFw0wODAz +MjgwMzQ0NTZaFw0xMzAzMjcwMzQ0NTZaMA0xCzAJBgNVBAMTAmJ1MIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCkufr83FOXkeY4LT1a/HzAeeDYGzVyZ4Csbs9Y +pdbfWydSyDgy08Z5V3boF/fObHpRPw+QpDc3/ZvXb3gbTBn6E39/DnJR5mNBsf0K +dKbyGjfkPWPHGo0YeSZRRhiF1GWiRlyD5YnOyV5od7rHBeMggsC6weR7LDXa4+si +SIjCgQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGcPcDOXXHmGS5C9OLnU8N/OpVHt +kG+fdv5I9XsYNKlRLAs+i6lWSzxH5n1zJdJc/FQs9DgFEeAe+nN8V4OvpKCs2gRu +kiZx0G3VRGOygcREBAor+dtup0AQQkM/OgltnpzawaN5Z2YaeBpa+W1zQW1Kh1NE +aagGgB0yQaCoP+il +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/bu/bu.pkey b/server/slice/planetlab/us/bu/bu.pkey new file mode 100644 index 00000000..a3906f8a --- /dev/null +++ b/server/slice/planetlab/us/bu/bu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCkufr83FOXkeY4LT1a/HzAeeDYGzVyZ4Csbs9YpdbfWydSyDgy +08Z5V3boF/fObHpRPw+QpDc3/ZvXb3gbTBn6E39/DnJR5mNBsf0KdKbyGjfkPWPH +Go0YeSZRRhiF1GWiRlyD5YnOyV5od7rHBeMggsC6weR7LDXa4+siSIjCgQIDAQAB +AoGBAKHag3y02AXTu4tzGBgwgjt1BbIRegCBJnNHJcCKoogwPoEebemzIA7WG+WM +t1ZCTCVMevS6Be+j5t5VjoPz0IjNI0qODJHHZDe/U9ZvHHvi0RPaUjpR5aaeXAle +RvH6kYuBOWCsgPwIfokSJD/IIonW6pDoIkSm5DRErOCEZtvhAkEA2dOpaw7y98OL +4WBX7I0z2LdMdD2+TOGOZ0V6H3iRROH9YSjh5QGBHIhV9PlPHYTyUc2aH/+RaBVe +KDoxgPF7TQJBAMGYFdh5DdTg3VNSMm2xBBOrKwqmJapLxFG29JOTq4AVSIJNkc5n +BKeeOdFtF5ZNxwtdDVUZKAi9tvSJYRtlwgUCQB6D3V8HGBiHh2gKVCbqXRIGE6rR +H4CrtIRZIlOYU1mAAzwCOysWu9ygaNJJvsCW6E93axkCd39KRweBp3+11J0CQQCu +N1AJc77XwNhL4B+TiQYzMQlV1vj0TKTKKIvmtrBSXlTXNjktdpXAxeogJj1gvHOQ +LVgPKclWPGwFmg+yWRuFAkBqUa39GWIFMT43HDoOYOedIWQ7UJNpgzJisv38QIOd +yNdcyJe8cv7h6RqaXIAV9uF9NUFiJrB/frIb4hhTlDz6 +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/ccny/ccny.cert b/server/slice/planetlab/us/ccny/ccny.cert new file mode 100644 index 00000000..1d9759a6 --- /dev/null +++ b/server/slice/planetlab/us/ccny/ccny.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRjY255MB4XDTA4 +MDMyODAzNDQ1NFoXDTEzMDMyNzAzNDQ1NFowDzENMAsGA1UEAxMEY2NueTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5647f58g/6eXx1ARYB8ENVWL+OM1kqR/ +VjqoFxS3qNnacoTW9RWlR0fSM/WZC+yRhzHakYIXgyaj4zblDubtrrRRiutWnRaa ++if5idUCbq8YIK205KZpvuTQFbQ0FhJVBWpdWB5/T0b2ZheORF1WX5A+YvEEmUqq +cUyU09J8PJcCAwEAATANBgkqhkiG9w0BAQQFAAOBgQDTHPJjsT9KV028qx4rfhyR +sBYDfUsCOmloHf1mVPLeBNJZ2SXgKk0rED8Px1DkYmyeda1j0m1uSF9CQIHoSD3S +Oynkw/wiH2I5v4abdNtn3nF3HBbVJ7PmbEeGnM35c8KUzH3/gbR7Sv4MzuO4GsaR +EZfIhQ9KM0FCFNzPxffxqw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/ccny/ccny.pkey b/server/slice/planetlab/us/ccny/ccny.pkey new file mode 100644 index 00000000..b7e7e2e5 --- /dev/null +++ b/server/slice/planetlab/us/ccny/ccny.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDnrjt/nyD/p5fHUBFgHwQ1VYv44zWSpH9WOqgXFLeo2dpyhNb1 +FaVHR9Iz9ZkL7JGHMdqRgheDJqPjNuUO5u2utFGK61adFpr6J/mJ1QJurxggrbTk +pmm+5NAVtDQWElUFal1YHn9PRvZmF45EXVZfkD5i8QSZSqpxTJTT0nw8lwIDAQAB +AoGAR6Vm+vmP79+5HUcSiIIu//tblPVWvOmoA1eSYcjjXxE379BK1XIDMb7xL2ZV +FQ3slz2AlR0A/mr1pa91OJ2LhLPJppG5mC+IsL+O9aoHutR5rNj2hmxkAyUznHKr +TmDKIe6yqRhsdB2wpkwXjPXvw3kkPddz1UnSPbEB2+zTwuECQQD6S94muSSBDmOm +LqDg3GAPSCCHC/lbBPuSWrWdBsV4Ts/42roGS2CLFsgkWp+94aaQbx+7ce3cYLAT +gxxKQo6HAkEA7PXEeO0GSAG6Sd1WGfy93ovP94cJclffSQaj+wmUgbcNLT4oe5eZ +kkTLYCyrfPnNNe0PZjUzZjXAuielVZPVcQJAdAavWGwCzACLmQGMejAuJ2dcDL40 +PUk2BUYfYkc9SuPd7JIYIcrXWiKZbKDF5BOyTsn0f8P0a3A2rxTcDGCGCQJBANzR +1wrdzzmxKnoFImTLS+ElJ2PDWoFM9A5oes3JSrRq8oOT5kPurbVKGMCCQDkRzTOQ +vAYCU+jO9NBFe+S5BHECQQC+RXO5aC5o/C+vYvydi9qMjOXdHsgARxvb8jPjsrzq +yWGnzoG7+j/m75UTzLS0TEwHULpnofJ5JiuoNQ0eXoVR +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/cernetneu/cernetneu.cert b/server/slice/planetlab/us/cernetneu/cernetneu.cert new file mode 100644 index 00000000..a6cb533f --- /dev/null +++ b/server/slice/planetlab/us/cernetneu/cernetneu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0bmV1 +MB4XDTA4MDMyODAzNDQ1M1oXDTEzMDMyNzAzNDQ1M1owFDESMBAGA1UEAxMJY2Vy +bmV0bmV1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZl6ra3CMGqYfSFIW5 +TTPdYoPXrYVosGRFmJJ1Y2feEGS4WJcI9yN/qknqs3PeZN05bh5aHbU1bwjzL8h2 +uI29aRlAXc9rwr2Im3TLLtU4VLuM5fSZkoQJokirsa4oOUjrD1pq616j51vHU1tO +7GZV1UH2bZvsHqCCQhXn3W7BCQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAMx3GxB+ +7PTb2+evwhqFWVRWpTbosAbTr+G66kXBsJz1VAMOd0hHBjftZdHCOSpU1LZlB0fq +wzoam+6Cxi8jaShTiYID/FFa+NrUj2Iga7RxnUX8/mRNItdZO1BF04hNo1bnZSeu +XJMHSvQArZfbHSpNmSoXhuxHbK1ez5CKvCI3 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/cernetneu/cernetneu.pkey b/server/slice/planetlab/us/cernetneu/cernetneu.pkey new file mode 100644 index 00000000..8be5f6b7 --- /dev/null +++ b/server/slice/planetlab/us/cernetneu/cernetneu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDZl6ra3CMGqYfSFIW5TTPdYoPXrYVosGRFmJJ1Y2feEGS4WJcI +9yN/qknqs3PeZN05bh5aHbU1bwjzL8h2uI29aRlAXc9rwr2Im3TLLtU4VLuM5fSZ +koQJokirsa4oOUjrD1pq616j51vHU1tO7GZV1UH2bZvsHqCCQhXn3W7BCQIDAQAB +AoGBAKu+mozE1KCdjyayLBpmZVmIOKgzvekz0PFdy7v8Ci+soNMgmZXp+4r4zf8C +RaJz2mlKEYrvh+f1DAtm28NZSAWUI46GJTfBWCcbnsu31pvcGbhP0fvljnZwAPTZ +8hUroyzd6urkZHHP/29IH8VtVbbjYWAShl2VwddBd73NGc0BAkEA7vP/rqRP5Enn +CDBO+aZrxO6VIGftUKatG0fhYsV/4eqI0tPPizEw52iXv7wgo6ILqy2u70Z+qLYT +swXnE2vHFQJBAOkdjwcfZm1g0qZ62Q6b5UDoBtk3GMfKsag5OVk/XihfIivwHWX2 +Eb2Wi3if/BiltDmjMDG7QcVCqDAgZc2dzyUCQQCbTRXmCYCrHKT9G3iYpOLyESX2 +89S3UDy9uE/yA+6DhAz9CRCgpI3mOII36StFbnIrBPvnI2f6eqv+9F0ksC2pAkAU +R0r63qNlXmfUrZkWKT+PHuABo0ZXku1Tae7wMY/6SRRK6C9WgEpYyLDHRHuElV2R +Kf32RYjaJQtGbHsOoOy1AkEA4e7rSt/fOBVnjAjH9wm7Uut8aYYk8kl7zh99rWac +htse4vU2Kf5vOI7Ppv/bllG+h6cBLZUJVEQ8av7OYanNTQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/colorado/colorado.cert b/server/slice/planetlab/us/colorado/colorado.cert new file mode 100644 index 00000000..f303f2ea --- /dev/null +++ b/server/slice/planetlab/us/colorado/colorado.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhjb2xvcmFkbzAe +Fw0wODAzMjgwMzQ0NTZaFw0xMzAzMjcwMzQ0NTZaMBMxETAPBgNVBAMTCGNvbG9y +YWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXNdc4YX49Sz5cu4Uh3dk6 +sAU1mdZS6Ygzpe21oDbdjHt9Rajk1JWnXOZj/T+H/CpIBOB+WtSxGiVO3Sb26uy1 +rxfdD0Rmg6MWxlzqdc0RUWzfDfcp03IFEArP1QAytzlsLMG9Rtc/NUWvLdjcLUGk +TtLAhNeKelBl99ySv9uD6wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAF7z9Nu2iryC +D8Raa/Ff6LGNv4AAKlDReXwHxMnVd6Fj8AP/EYT5JZsWalcKRb99rpq2tWiQI3Bt +D6CUg1t4ZGXiJ10y+hxi+pLC32GEcS0w+dFcAAgIrqpv/RD3NLxT9muskse8EN7N +76ZmzakprDHn1atjr9vbtyAXyx7UO8P/ +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/colorado/colorado.pkey b/server/slice/planetlab/us/colorado/colorado.pkey new file mode 100644 index 00000000..dc8f4e33 --- /dev/null +++ b/server/slice/planetlab/us/colorado/colorado.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDXNdc4YX49Sz5cu4Uh3dk6sAU1mdZS6Ygzpe21oDbdjHt9Rajk +1JWnXOZj/T+H/CpIBOB+WtSxGiVO3Sb26uy1rxfdD0Rmg6MWxlzqdc0RUWzfDfcp +03IFEArP1QAytzlsLMG9Rtc/NUWvLdjcLUGkTtLAhNeKelBl99ySv9uD6wIDAQAB +AoGATAomBTHNXPLdEf7fx1uPiYDwFkRIyfrhuP4Dw4zcVeNxLo4SYugKCJx2exXc +ALxEZDX07DBDvl+ylu7k+ZGAGPvTiLQmNKysHWKByrpfAiyH5LfVUzwemuQtO89T +vXwcZmiMRKPF3KqJC3/rLTEYEmigPIoJ1ifZMlo5Na+t5GECQQDyiDZn126+QGll +lTp3wU2sIgVWKJkjqmKp2ICBwKlC0xVPq4gYp7zjOnEjjEbB4kpBkNB3VnASTbGw +Dqx7JX1PAkEA4yk6OcSEle0+4gyo6kJ16KneioufqW+ONAww2aSpyE/YxtuZyNiF +GiDuyLucwds491aqM42SUTMDqj8yXUJApQJBAMdEbx8GfDDIj1AtOeqm4gBpu2S8 +2oXZOlM+VOdGukrzT3E0CA/p0WII5GhGmuQ13rjcGMvUMyR2vWVfyQstFDUCQFpl +raYPbjO7laqfHxkaGZHdB5Javc7PdeeAcnAp9uaf38RC34/tmgor0NpQzrDWbHUB +J/ob/H4TrwGw5Hn4Q4ECQH283+PKpErNiMgkPadO7dWrW0gwWXWc9+11LZvfoWiB +QMw8NyvbeqOtP3nqY8NLrFkMO9PRsx51DYK4s/fBWGI= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/columbia/columbia.cert b/server/slice/planetlab/us/columbia/columbia.cert new file mode 100644 index 00000000..9dbc097f --- /dev/null +++ b/server/slice/planetlab/us/columbia/columbia.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhjb2x1bWJpYTAe +Fw0wODAzMjgwMzQ0NTRaFw0xMzAzMjcwMzQ0NTRaMBMxETAPBgNVBAMTCGNvbHVt +YmlhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqi6dUknFKC1w8HR+e/w6Q ++XaWA29YQm7icXVMjK0r+EN0CEgkWnyQsq13opXPzF8rejaoT7p/e4cdrCRmrowO +EdQwh5Yaj5HMyY04el+kr6xFxF+1rR0WrpEeWSwKTI23DWPxLvr/b8zjBSWcxjut +kiHYGbGCcl6Fo+Q8HV0wQQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABp1qk6HHNCi +iEGf/56sOzpA4OOO0HWXur0zKFpr9Vg35JrKmK98Tc2eMxeOrLvR4DcwhCFZcEiV +XRCnqSPPMrKEdDgeQpg8T5bgTp++XSNjNHUJfJzwSF/NZU6UceRWhrrs2xOOpoOu +SG0sducdgvjylTLEntv+vlVS5/K11UDV +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/columbia/columbia.pkey b/server/slice/planetlab/us/columbia/columbia.pkey new file mode 100644 index 00000000..99d20240 --- /dev/null +++ b/server/slice/planetlab/us/columbia/columbia.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDqi6dUknFKC1w8HR+e/w6Q+XaWA29YQm7icXVMjK0r+EN0CEgk +WnyQsq13opXPzF8rejaoT7p/e4cdrCRmrowOEdQwh5Yaj5HMyY04el+kr6xFxF+1 +rR0WrpEeWSwKTI23DWPxLvr/b8zjBSWcxjutkiHYGbGCcl6Fo+Q8HV0wQQIDAQAB +AoGAeUH+HnEfdOJuqv17jZ3bkAQI1QGtnPmrjhKOTCcmmGbfqKtncLP/Vmep2wIJ +ZccJJNcoTtf5WVMpxaNrplJzQQ1pGu1QBbYNJEPZ4jZNOv9WjlbKOErh9QyZZGYg +CLg0JW8PXNMgjMifvxx1w7jgAA8Rr1KphxqJWlauovDAPYECQQD8PDA7FyFa8Fxi +bpnmdLg0bqV7wJQHAAwos4HnfIx4GmFGRovfnpTXDwO7GAzglRyIYodNtHXhmnKZ +h1OR/lzpAkEA7gvfL9Z9fTQfLBgHy9GG6g4Wp7pLFzwI6rrkmqI/Z0e6CC2M8XL+ +SQp1SDumbFMKHdjlYiCrCXDpE4NS9mzBmQJBALGzSZtnqUUjD0L9folAc8Hkrcso +mmDwJKDMDlnigiffFebnroVFeMCmQE+gGvphsq9XEtGosF/XaqNFFphFJnkCQBqb +LxXstlfxJG7MPMrWH2s3qeaTVuNA7Yo222hBLC8CAFP7q14tSSimx5cMO7ytx1qw +rGq8VgGXIiXxLqumWjkCQDxbkoi14s3PIFlo5TSQH2OL00KsE6EYx+ceeY4l12eI +nogNVh8T7gKeZaaObvZZFYfLqWi2UhmeECsHZQvwky8= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/irp/irp.cert b/server/slice/planetlab/us/irp/irp.cert new file mode 100644 index 00000000..db016c97 --- /dev/null +++ b/server/slice/planetlab/us/irp/irp.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNpcnAwHhcNMDgw +MzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjAOMQwwCgYDVQQDEwNpcnAwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANfWdYVtEE6fPiRbnX2Vlgr3yVy5kEryMRKk +8X8/ZEHPMNtsQW8aMk05D9AONXv5vVng2m7V4lijBw3PdkBUOkYXKiQc+wt9tkk8 +t7xzAzYEi1KYpkwYuGYtP03WXXSGSxqKl2hIN5NqfsY9KYwdUu+2CCT+AY+SxGuO +sza204qpAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAhN0H0VVo1rFF3DUDPQrIQbRQ +DTf+QUkCNMg/OaRdHAnXAh1cVuorTmYPINq4DBUbC+TDzk98U5hTVs7M5JiRoILp +IV12aMKEGFK8YUCPLhiunBX4r2DH0S5mu07sq1U7UHFKPJis5Wn68KwMczGKvl71 +6gL3+IRw7vCjz9BMzxE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/irp/irp.pkey b/server/slice/planetlab/us/irp/irp.pkey new file mode 100644 index 00000000..8667a379 --- /dev/null +++ b/server/slice/planetlab/us/irp/irp.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDX1nWFbRBOnz4kW519lZYK98lcuZBK8jESpPF/P2RBzzDbbEFv +GjJNOQ/QDjV7+b1Z4Npu1eJYowcNz3ZAVDpGFyokHPsLfbZJPLe8cwM2BItSmKZM +GLhmLT9N1l10hksaipdoSDeTan7GPSmMHVLvtggk/gGPksRrjrM2ttOKqQIDAQAB +AoGAaqz1Qq/H2oP8C644JaS0FtGm9SxFs7UGKgfZ0CF9pMUJibl0kbvp1p74QMV1 +C8RAINbwPs15ZIOW7e12rY6ziZ5x0Mjzx2T2ri/EQmeB9UUp3neRVhBaYaGl0Rip +SM5Y954mDTxxd056fy+Sfh6Q4qq8J5ISWcy7GrVVKEBmk/ECQQDuXySH2YcDqsGf +l+YNbLW/O+aBwTQcBedVGi0JQe82J3o5sIoA3zhwzGDMA0EWt4vpDYb0yipTeyCB +YNepuUINAkEA58y0JWlXU5QVgieCp2egqHUp/VY142MO6GYasCV1pr8qf6lABj83 +byCo355NGpxMAaggduqnejD6j1+vF7vwDQJBAOIjxOZUifACqRoc4xVNUscPrsje +X+9N8n8cDCnCMYxwu1XLk8DsBAGPAy3I0JEapFL+kE/fE3SLVPUoyLCtnmkCQQDP +bwjnUdWsHaEB0InDdaD4H6Fr7HJdApCcuIK5j0wx5HELvVJmRLw+3mNBelBVt/js +oqAqyuMFHj+bfm0aOD0hAkBjB85gGzjDwY0K514D6emnDKLiDuj9wEGiaRQDp4d/ +OWWIn1ea65MXFyPYFQbuPVwa5m9Vxl9A6+Qry1uFWvqc +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/jhuis/jhuis.cert b/server/slice/planetlab/us/jhuis/jhuis.cert new file mode 100644 index 00000000..7e3ecd8c --- /dev/null +++ b/server/slice/planetlab/us/jhuis/jhuis.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVqaHVpczAeFw0w +ODAzMjgwMzQ0NTZaFw0xMzAzMjcwMzQ0NTZaMBAxDjAMBgNVBAMTBWpodWlzMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4ipJ/Rah4jVV6N+vAEcjrW0YBLyWN +gK4VuDv2zkH9hgGmLwXZ8zo01FPR6H/6u5MeQ1PNg7YVdws0SvYygBOR9uYgKPRa +BoKmX9U+vGayhPT32haYc3qqnkAq1NUPMSkKZtb6PcBSJOGMc+RsW8/VMJk7pyVt +zEVs4cOaaLLULwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAIBauOrbC0d4jIEuX1Z+ +UWHND/xpAY96tGMIC89NPMPhxpFsluTBQqBDsjPdYNT8LGGdF50STBNO0u81MUoc +DI283D7Hy3WdhsExk83XdHujLqSB1bIR0koJJzgIXTa6kMk6DuraKixr+yeNVEiH +ttbyJ3G4SMJzFYRw26yxr78Q +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/jhuis/jhuis.pkey b/server/slice/planetlab/us/jhuis/jhuis.pkey new file mode 100644 index 00000000..2f2a449c --- /dev/null +++ b/server/slice/planetlab/us/jhuis/jhuis.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC4ipJ/Rah4jVV6N+vAEcjrW0YBLyWNgK4VuDv2zkH9hgGmLwXZ +8zo01FPR6H/6u5MeQ1PNg7YVdws0SvYygBOR9uYgKPRaBoKmX9U+vGayhPT32haY +c3qqnkAq1NUPMSkKZtb6PcBSJOGMc+RsW8/VMJk7pyVtzEVs4cOaaLLULwIDAQAB +AoGAdFeAdlaPGLlZyzyYFzXfKmoXn0V+8k/O8Ih+3WE5f0DNp1x73uUVrBq0YWCn +1oYNAQZHPgiscankWWps/nd6XfhvuY1PaCot2x1jb2qtShg60YW3k6WDmmmKHbdh +IgJE4aCUt9oVE3mAJHbefA+CM76A9S2gczYerMLqTnZvs7kCQQDZsrgiqpP5Ato3 +0lekzlWNiZPaiYOsbhDdriJk+l3tU2zUkwQLBa9YDWMdE0GoN0UfUv4Xf6xUEovK +eEh9IOs7AkEA2QJyFi5g0aO564KdpOWN5jUiQWIJCrB6ndBWm9cwdcmIsbVAuY+C +Iy9K3AGrZHcaUhFY41bQRKrXN5TFbXSjnQJADSd3aODVwB4kAWt8UEEHel3tyS61 +/h1Id5ymB2P5ePWphc68V84oIjHs4zzeosN0MchaAiF80DeuqrVJ7AWpMQJAGTp6 +ju+XW+ff3mxR7XCufXvh3p4KFQ8NQjmNSBLNVHQ4iwhaXPg9FeASoN8k0Moz6iSQ +I+Xc0o7V9GU8SoxL1QJBAMkJPnO5OTrAdDAJOrBW+cD0FBs0TCyKo6cByT1J9saa +hVz5teUHQMelehOGiOChv0xASHgn2xVFHvSTfsCU5Rs= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/michigan/michigan.cert b/server/slice/planetlab/us/michigan/michigan.cert new file mode 100644 index 00000000..b6bea7da --- /dev/null +++ b/server/slice/planetlab/us/michigan/michigan.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhtaWNoaWdhbjAe +Fw0wODAzMjgwMzQ0NTRaFw0xMzAzMjcwMzQ0NTRaMBMxETAPBgNVBAMTCG1pY2hp +Z2FuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+IB5wVi7z9TmbSpW9zxKe +t+X8t4j3+eHgKj2wbWzcH6AopKz+64SUDjGnGLCj+WuJ/VEzGjT3mut5Nq550EJQ +GUcXsTxB2WLt9wQXHxCG2a9B3VLm1cjB3DgLbvEF0kswvDusvJz6c5uRgfese5P1 +UvBhlOACnrFZvbd2rq6w7wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAA/K1ATWBswm +BfRzU/yGJhemoFfPk8vLwzgPHemDj7VAgfi+50UScx0p0aSoeIHADMDwZj2CNOA6 +nHFdPm0GnyT0r4espnSXLiyF1vDR9WzH8P7iHswniO64b+uwMegjZcHl4Xxw0UCm +Wwz551w5jY035GqWytd4tlQwXqlbl9bO +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/michigan/michigan.pkey b/server/slice/planetlab/us/michigan/michigan.pkey new file mode 100644 index 00000000..5ea3d7b9 --- /dev/null +++ b/server/slice/planetlab/us/michigan/michigan.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC+IB5wVi7z9TmbSpW9zxKet+X8t4j3+eHgKj2wbWzcH6AopKz+ +64SUDjGnGLCj+WuJ/VEzGjT3mut5Nq550EJQGUcXsTxB2WLt9wQXHxCG2a9B3VLm +1cjB3DgLbvEF0kswvDusvJz6c5uRgfese5P1UvBhlOACnrFZvbd2rq6w7wIDAQAB +AoGATijqGohzmPsRCZQp5vP/1ZwIQlI5Tqg9gWgcIDF79SpTLyIztECiKjODmgv+ +YgqheQLYpMd7Suc3MoeWRqGlAI9cloGDPV04QoQXRz+QIsu7geQdl9tBt6gJv10Y +++rm8JOjBv3SFpiG2gLyRPW5WagH3cGHv17FoZR9cnx7e3ECQQDe9G5wvGkDTg26 +QOUOCqvKdHmKS5I1TLJEPYxNnoOy7IKEnuF6sQWN7dDMrH3PStiisl9Bl1BCFv6J +o2TtRFYDAkEA2k4LYvSnq0nhR3uJ3/+7qp7l5dZ42+nbKh+PRn2KzvALomYE40+D +dS56sz0VGA2ZHLOMrbpK9Qq0C4O58JBrpQJBAMPOnjPqdLvPUCUUm1ZCru9mbdu0 +VRr0Wdeuykrc/UMljdcVhmdvkrY8d1VZ5EAqtqnkx93eG0F/2lpdIuVyT6sCQQDI +pNCsW+c7dMT82VvoqHiJIlB1BcHBhlgsiCM8i6in+FMJKTE2518Qte6KjQq1N9JR +Yelbx4ybWgIPTzv4EhUNAkEAmaAQj5RXRTKca+6jXptK021RxIKis1qRwLj999cM +gAA57Yk3oeiZWSWGoD0BxFs3hR0EcUTRTo856qX5LbYOXA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/northwestern/northwestern.cert b/server/slice/planetlab/us/northwestern/northwestern.cert new file mode 100644 index 00000000..69ab82db --- /dev/null +++ b/server/slice/planetlab/us/northwestern/northwestern.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnTCCAQYCAQAwDQYJKoZIhvcNAQEEBQAwFzEVMBMGA1UEAxMMbm9ydGh3ZXN0 +ZXJuMB4XDTA4MDMyODAzNDQ1NFoXDTEzMDMyNzAzNDQ1NFowFzEVMBMGA1UEAxMM +bm9ydGh3ZXN0ZXJuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDaRVqvAQ9o +0PmOLe10t9nEFXaQhHKP4LAX+YhfKuwn54si3SMC6/1YKOgIP4h86bwJUXKWl/f/ +eXpYadyAM1m9XUBNI+8K9Qybf+NGwvUe9BHQbadZElP/hWwfGkB4ubw4DFSdjkAp +qmBsezOyDaT8w/FrDyqCYCCWjscjWlVw3wIDAQABMA0GCSqGSIb3DQEBBAUAA4GB +ACdQjSPsRDBjpCfK+HTtosMymSpd6H+c+WQ2EpbDhrbMwalQXukvWpx0zBgVdM0T +fFfdpKMw88YeEtLafDtZCKyYEn5k/s3ikZqidLdYz87h0GRYHc+9ahu3x9od46sI +DDI8XBAcGRlm7vwYCwpD91hcp6vs87Nq62x57ErMRZ17 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/northwestern/northwestern.pkey b/server/slice/planetlab/us/northwestern/northwestern.pkey new file mode 100644 index 00000000..fe12573b --- /dev/null +++ b/server/slice/planetlab/us/northwestern/northwestern.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDaRVqvAQ9o0PmOLe10t9nEFXaQhHKP4LAX+YhfKuwn54si3SMC +6/1YKOgIP4h86bwJUXKWl/f/eXpYadyAM1m9XUBNI+8K9Qybf+NGwvUe9BHQbadZ +ElP/hWwfGkB4ubw4DFSdjkApqmBsezOyDaT8w/FrDyqCYCCWjscjWlVw3wIDAQAB +AoGAQvdiUi0GGEd9OVT39IZvpoxbOw2XxHLQNBrX7zLRD5EnjAPCuSPEL6clQVqU +upZPnaBCgtePO+9+TN/1ydN3ZWPFgEWJMSlUhwVgiNEKj4Dbffrx6OeDZj3r6xI/ +cSSMxvNzi/9snlBEyYKesi25rja33m5bv6BP0aaXUYgrVZkCQQDvw9nERXUHytMB +3HfLTdg/wPjp0fVKPuvQwVwz3xnRDWw0HHucqi8zftNSUH6t/RlxsPTYKa5LTSn1 +HwwQ2ZbTAkEA6QzrN+uatRM7HmCq6oWk9ANyYUsZFAYvDLs/zC8wfRLtGO3ZXA4E +lnE6v2NzloGuLF+W3obu/uvesrngNybORQJALjp41lr+AY6duJIlltFfjItMcujE +fpg7J3jgqi+t7pzD7BhBzScTCr69R/W1Nx7BtSYFT1hZ/rLWECj4TpdleQJAM8PP +13r4wTHFVukH7dHDowPE+0FwD5eUCdLpx9PPhGiYy4nBVwYyFKyP7QUNHqgtZOPS +ohj8qxj/PVm2KOnwtQJAY8yca3rwxNCFU01RKPZQak+PbpxMyY819NkT4zhCcsw7 +wCR6ytm6SbYjIX8HiJZD7u6K7lNmblVASqQipdDaWA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/orbit/orbit.cert b/server/slice/planetlab/us/orbit/orbit.cert new file mode 100644 index 00000000..bae41f81 --- /dev/null +++ b/server/slice/planetlab/us/orbit/orbit.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvcmJpdDAeFw0w +ODAzMjgwMzQ0NTZaFw0xMzAzMjcwMzQ0NTZaMBAxDjAMBgNVBAMTBW9yYml0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+kK4ZvtSRC8JkC7Gfk0biDjxJhhgN +06EmZjpNrS2D4yUi98Muv2OKq4T4ALmlVJ6/n2IUkjKJNPkeZYeGeo/IbO59guxi +nfIJRNqDT0vUv5H+sx/KMliU5OfnRJYcHw9jeIBT/5rMH2cS6YmsF4+Fq12ygOOp +x9wTNlkU3ZWZAQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALN6eKbNLKdzVhtCHZ1Z +ZagKhl7yLQlEhKaztcWI3zMfhsL3vC5FXJrKGKACMnPOkmNVtDa3e3+LlIU2Lnpb +NySYbgHt9uDlOy5mQjw5vkDmUXjX0w+K/Ris1wqLu4EIXbcxdJDbk+6TIbUGb2nl +hNbf4VRpL7Wc2G9Sc1We7tnm +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/orbit/orbit.pkey b/server/slice/planetlab/us/orbit/orbit.pkey new file mode 100644 index 00000000..37090adb --- /dev/null +++ b/server/slice/planetlab/us/orbit/orbit.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC+kK4ZvtSRC8JkC7Gfk0biDjxJhhgN06EmZjpNrS2D4yUi98Mu +v2OKq4T4ALmlVJ6/n2IUkjKJNPkeZYeGeo/IbO59guxinfIJRNqDT0vUv5H+sx/K +MliU5OfnRJYcHw9jeIBT/5rMH2cS6YmsF4+Fq12ygOOpx9wTNlkU3ZWZAQIDAQAB +AoGBALMDPkk5Fn3ayhUpVwZMV33rWX7H1LjIYM2ton9teyA1tKEQle3IJD4Tuakv +JTXGNApWMtCYNZjmhk6jmZgecgl6HyagvehrxXJNOgp5cSELHamhNss66k880XaP +g6cnfIqyYummvoAK5Z8Poa+1/wSgJhXUkTJ91oeCVUwbVldBAkEA4RTsntVczJkF +zIW3dtsM9USiacf6uKbXlwiJyAVdC7XWW+5JubuhVD+mp8eoGGlBtJNlyGCMETke +bD1W2g1nJQJBANi99/M5THfal+jJQzCqBW51qM2slmZtQIa8+HP9e4P5SVHOawmT +fdp7mEeLB4Hw2IBEpP+KH102eDQ5Y490wa0CQC99vr90vXPeBb81p5RIe990b+Bp +9Zjoeyy+/HNbzloeL/CNwriRwmSIWZ2lHu6nptl3EE7LMEKiDq0/9AdmNJECQQCG +aB/X6+N4u8zSZeTNy9G8cyhwCyPldsC6DXvBaiLrb27BVVFZSeaU02pWi2fnc7S+ +rlLnyP60LjASqrgL4SqtAkB4RAlTGWrl0IQgapxo4w4pr/sk7reBKtSGpxzo/ewU +dinaGu8FSzqTRUcWGnhHH7wZ2rtSRWltNO5qZZAKfaJl +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/rice/rice.cert b/server/slice/planetlab/us/rice/rice.cert new file mode 100644 index 00000000..61cd5737 --- /dev/null +++ b/server/slice/planetlab/us/rice/rice.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRyaWNlMB4XDTA4 +MDMyODAzNDQ1NFoXDTEzMDMyNzAzNDQ1NFowDzENMAsGA1UEAxMEcmljZTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwn8WNNIDcwNTK6D1vdvJj1Yj8idOB6gr +Ntm4rEutcIfqaMAPc/Wka2l818HUH4lIj7l4IL7yiJZCk2SBGfPzR6G1hs0mjhZ4 +MFTiMnvhXyaGGyBNWalZwChWqcPtOPPP9lIgj2uAy3MWwUGR84jVj7Ql2Ed7f3HT +LpFg0ySy+p0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCJnHY+9YAjtDyZ8IwVmWip +IRMjlktgsnSXkqDeZ2/QPej1XrcoY28k/FtbM4OTH+K2xImZi+AXhPKwUlmnGGnt +ipJAwroZ+dvUVtWokjrlrKlF86pz3/+MHrO3mZ4Cn8hN0hbCgs/RvpIkUcUaSZvI +Z8MMeTA3srLHGUIczW+Xtw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/rice/rice.pkey b/server/slice/planetlab/us/rice/rice.pkey new file mode 100644 index 00000000..b90927ca --- /dev/null +++ b/server/slice/planetlab/us/rice/rice.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDCfxY00gNzA1MroPW928mPViPyJ04HqCs22bisS61wh+powA9z +9aRraXzXwdQfiUiPuXggvvKIlkKTZIEZ8/NHobWGzSaOFngwVOIye+FfJoYbIE1Z +qVnAKFapw+0488/2UiCPa4DLcxbBQZHziNWPtCXYR3t/cdMukWDTJLL6nQIDAQAB +AoGANi9Vrm17zIT2nMcA713V73reFM5ibLurHmLVkhqbPSiAY6JuK64ZmlsPDsTP +JeIHNxNCpkzMIMVL0uhDF0nhUm0d/h8hiElTU0RhCN5QC49OdWtnAyrPgbBAtzRq +isVDNsbnU2XnhEAj5WcThJyCtfH2zfwNgGu7dGgpSj2gRgECQQDjhOx3zHAFPQ7i +g18+nqGGLgA3w+ZDO5x7xVavw79A2Mlw74qBkroVcl+5Vz3EU0481K9xwVObkzTr +4aT52lxdAkEA2tfqRE6Zo3pi38KOCiBcxtF2f0JiEjSCoR7kA7uPaB7MfvUINJ9S +g2nOfd5mA6uHJGmyiiHA6+2yT82cDZczQQJACOFhUXO7U5kEgbba+ti6OUCGZabR +0AH9o58aORYM2v0bL7tJzrDpbnjeX5+WG5mczicHCguftczTHfnatJ3fSQJAPpnC +9rUxN9VbkTx7GyR0xZ7HcdHQcfq5X1OR0AuIEzW0M6DuLvdgSB0tJ05GCki3yM+/ +dcoAAL0m47MiL7UPwQJBAMP5wBoh3DSrZCnn2PJYftpGCdWr+0eKgm54yl8knvYK +5Pn2zkSXK8kL32MUnKAIEGypkw/4vJdPe9TxnOotRi4= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/rpi/rpi.cert b/server/slice/planetlab/us/rpi/rpi.cert new file mode 100644 index 00000000..d99ce0b6 --- /dev/null +++ b/server/slice/planetlab/us/rpi/rpi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNycGkwHhcNMDgw +MzI4MDM0NDU0WhcNMTMwMzI3MDM0NDU0WjAOMQwwCgYDVQQDEwNycGkwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAMktbvEQKoMOn0qI5wM246CHJUtSU46DSYff +Qt5g4FJAAG7WjWTV3P4GO5rzfiIVYZmS5Jq/ijWmJHl1G27eRu7b0U+OIRSQqFaR +FOU9UeUnPc4RiVL98l1W7QqqdBs6qhErmjNt1GuJ3lJwAiGEnAYIFGVjeFAp6gps +WJvkG/rNAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAaAtzTqBZ6M0/RLBKxYBxQ2WY +krURmp+h70dB6WyEC6jkI6S0C+fj/kLai7JM6okVYg99B5YlgY59SMSNFOdXvXyJ +VRzWqhOj2+mmb+hoW7lYQT5jLa23JcaUqmyeuGXa/fHlR1/zLgHTBWIL8wLxXQgw +YbrHq7cFnuBZMDI1uS4= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/rpi/rpi.pkey b/server/slice/planetlab/us/rpi/rpi.pkey new file mode 100644 index 00000000..23dceab5 --- /dev/null +++ b/server/slice/planetlab/us/rpi/rpi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDJLW7xECqDDp9KiOcDNuOghyVLUlOOg0mH30LeYOBSQABu1o1k +1dz+Bjua834iFWGZkuSav4o1piR5dRtu3kbu29FPjiEUkKhWkRTlPVHlJz3OEYlS +/fJdVu0KqnQbOqoRK5ozbdRrid5ScAIhhJwGCBRlY3hQKeoKbFib5Bv6zQIDAQAB +AoGBALPT7vWA899OtMjVc1qGOBcIdyfLIXGknZfc1FMf2aTsHPb2xlE6cl6Hh8RM +n5Ur86Bpk/tX991Y9AW1zp3eBxxqPVpWArWEXeDNPwfOllrxtyEaI4pWisSkATYX +4JPW9d7LS62mT97XyvUoP+rbeYQXnyUDbnShy+7/5Gbr0OqpAkEA7PHSJAXc6u2R +3c78L3WKPN5iJOZvsZmV35INRAwCxtE8ECXXx7fVO48nH49hUSmO3ZFtzHi6GP7t +zF1igSKZ1wJBANlbPoHvd7KCiiEgHU/EfRIYXxjvmsG+rlpo2dLtRm9h1wieNY0/ +sLFt3kaPCXYax7U3h8llF0jBS/X+QNu3Y/sCQEmVvB5F19r51sAc5QLULQ9EPRSa +n/t26C2bjRUh6cbW+iFFr2Kt+8HYbl0FyUJMdrrmzEOhBqJ2oWFDazERjtcCQGUw +E0OOZh0WpJOTTdIK2WcJLYyAT32O9cBlO7L0f2vvEpqSfL/LPMj9KxOSF4eCJCL7 +PR3HEDXwtxpISY2ALO0CQQCrr3VuHI9HGwTN70jzV5ZtlufUek1xMuO18cswCgGE +4tV+neTrKUlkJNgo1Qa95dMlb9cCLRahwOBF4TI5rI4u +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/stevens/stevens.cert b/server/slice/planetlab/us/stevens/stevens.cert new file mode 100644 index 00000000..e64478e0 --- /dev/null +++ b/server/slice/planetlab/us/stevens/stevens.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdzdGV2ZW5zMB4X +DTA4MDMyODAzNDQ1NloXDTEzMDMyNzAzNDQ1NlowEjEQMA4GA1UEAxMHc3RldmVu +czCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1MnzZ36Guii0B5AKJKpu95r8 +WP8o06UhBOou3ansEGXAhn3ZPzLWWapm2giBXkceNRJkZUC3tXaNd7fT2xBqgn1D +9QGJvZ/+f18EKdjg+GRJJSV5ge10LF3lqb4SAFmgvcX9Nu3oihM2cg8kt/lF753x +q/ERin9fALiAFUrf+zMCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBoE7fcJaySaOiH +qi73Wej1a/jn+Ul8Vyc9O7ELYvB5mnqpPOH76Skppuz5vzerIvcb2OLdFNAewDiX +xKq4kYs7/S5YWipUvBoL/vYRg3QCPPIc+sybYbgtr912vTjKmRbrzB0RM0cS4LRY +uck1s1KfdlK8cFZIuDSKt0qJBSiv2g== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/stevens/stevens.pkey b/server/slice/planetlab/us/stevens/stevens.pkey new file mode 100644 index 00000000..c53b25bb --- /dev/null +++ b/server/slice/planetlab/us/stevens/stevens.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDUyfNnfoa6KLQHkAokqm73mvxY/yjTpSEE6i7dqewQZcCGfdk/ +MtZZqmbaCIFeRx41EmRlQLe1do13t9PbEGqCfUP1AYm9n/5/XwQp2OD4ZEklJXmB +7XQsXeWpvhIAWaC9xf027eiKEzZyDyS3+UXvnfGr8RGKf18AuIAVSt/7MwIDAQAB +AoGANnJKHqQoUv/RONIpVkJpzF9SzG7VgnoRHdHSFhPBfFycy4zuBpa6dAz+7jEY +8QefehLvr1zE5OClyAk4YygrKCrCw9juiXtSkPo0vwqdCfLNWLgeudEPpTA1QbkR +JrWgGkQSAiuqRWr+Lm9y/k4ULGjX3KpOeCwEnI29P16jkeECQQD3XZljIi5Mz5W/ +lnBoxDtLv9L2Xk3brUktKbAcCjaUvZ18uDAeZ0tMIgY6T8sa8afjrqZ8WsCi1rbu +9JJ+cC1jAkEA3DdhxpRYQvwptspLk48uZ4zTBi+VtznDJhJWYsTZWBZgaspIO0M/ +ZkhR6jaWWnuBzNoakQvQdtzDVPmMawYL8QJAKuZ6wayd5whhajbHDARsXDjKd5vn +WN/2vvRp7JMA4E76TzUKc1tqvatw9Q/9o5Chk2UozoxWuGcQluSnu3HtDQJAIqgs +oR3zjgc1YWkQ39YmzXEiPNT8UOusRK+aHM0yD2TmI6hWGc2JisVS7vNMUk0hrmWc +zLr5QduYeiUT7jvzYQJAYPN0sadE6qDkoqCREMsNWMVynpVOZoB8WalH8TfYh1Zo +4IZWPsx1sv600J7GINtsgGB+gwQSbUe+hWbanxfLlQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/tky/tky.cert b/server/slice/planetlab/us/tky/tky.cert new file mode 100644 index 00000000..bc59b4ab --- /dev/null +++ b/server/slice/planetlab/us/tky/tky.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0a3kwHhcNMDgw +MzI4MDM0NDU3WhcNMTMwMzI3MDM0NDU3WjAOMQwwCgYDVQQDEwN0a3kwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANUk7u6wn8t38ziGyCjmlZ5dBlCluZ81NzC3 +k+YvWMSLH27baxXLJqJjLZV9hXeSY6kNzWlGSOxP9675cW1NEAlk8bbZYd5i09Xh +TA+WZWFCxNcFfCpcUHbwGC0sOblj1OF2zScL4Bt9Y4CpP2j8+XNqNAKGxPBY2m6Y +ftLL+7KrAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAYILsZMR/+d1UcZg2TGVwBaEt +azdip7aLJavRqebC9RcFhMA5SnCq2cyHcADI3YfKuSXvXpLr5xXZWYUEMHyGmpv+ +YtK316I4mmGwRXPA4eQea1xVDRbfYp2nKRXeKEQAPIb+DQYy/kXsnwOpgXVrcSvh +Qq2GuvO7KB8tuKWwZxk= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/tky/tky.pkey b/server/slice/planetlab/us/tky/tky.pkey new file mode 100644 index 00000000..19c2e94c --- /dev/null +++ b/server/slice/planetlab/us/tky/tky.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDVJO7usJ/Ld/M4hsgo5pWeXQZQpbmfNTcwt5PmL1jEix9u22sV +yyaiYy2VfYV3kmOpDc1pRkjsT/eu+XFtTRAJZPG22WHeYtPV4UwPlmVhQsTXBXwq +XFB28BgtLDm5Y9Thds0nC+AbfWOAqT9o/PlzajQChsTwWNpumH7Sy/uyqwIDAQAB +AoGASFwehYgO57uUJceUIlaNytKX9z8b8lHVp8NbAZVnVGpKxI7XHvH17sEu04Zm +jj5zeQwHhUroLNnFI3Dpsgqse3VPvqWqL5NL0aseHR2nFPgABfUm56O8QF7ibvRk +Mi7dbfd0HGlh5ZhKva+WVpvS0V7CD438cJ5kPae6uNrRUdECQQDwOvzcshjJdzNt +Hb6W0R50Gks02GvrrIyZeaQOWeHcHDfX41ERQg6Ag1gO7PlZ1Ra0psYufs7axDjv +/C9YBadzAkEA4yLFBEhXKFsGLaC4HniJGOpWLtGk717AM4oRa56eWA5N/63bHdWI +mJWTesKqJ9ZfD7KDEo7vSBzzn/fp7u/J6QJBAJM3cvJEahA8blV2HvAJoyH/Yws1 +fZ1llpwPAUySJGlhGY/BjFKJKp3y36n16zDz9wAqG9UufNFv4nyfDNxiSqUCQECo +RS1S6nyybK/QcJk79ssA6keppin97vi89PiNzsWCTPHbq+RyRNAqxDDN+WIdxDHT +vzwpNDRzCWcgS5eY6wECQCnjhw4iZ0VCTKjKSrXHnHO+1LR7HOtFyBpZk7SDB7/3 +BCtAsGYjrtHQKOv/laZw2+qRsceYkrJDrCJ9194O0ck= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/ucd/ucd.cert b/server/slice/planetlab/us/ucd/ucd.cert new file mode 100644 index 00000000..0d563518 --- /dev/null +++ b/server/slice/planetlab/us/ucd/ucd.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1Y2QwHhcNMDgw +MzI4MDM0NDU3WhcNMTMwMzI3MDM0NDU3WjAOMQwwCgYDVQQDEwN1Y2QwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAKC/zUm0FA02ANkYAbBrg2PJ3NYduJNFd7l6 +BQMOHnFKZpkOxuLrwbV3tHdjiY/UArD7BULwS30Mhu4EuHAFKVf5UUc26sWiUd/H +Xg2U1R+yj8wj+/PLS+UXdHnXGDAj6fSEjWYuVa0XHxDNxFn+AQHy1s9B7U1rAuBl +CLNuqjvBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAPI+KZDyVFwqW8WBtklpHgqcf +VZBbEA5o99wz8OB4Y9N70yUjpkblcHBlZIuwWoyy1boe+yVl8XHhBZwGCgrq/xCq +v/WaRUl1hG0sBUX6Z9Ot/6YiAkTDjt/isuvfS/a7dj5Mx53ZUpSGtMcxnUsAh3SZ +k4iYkCgy6JBUuJAQ7Zo= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/ucd/ucd.pkey b/server/slice/planetlab/us/ucd/ucd.pkey new file mode 100644 index 00000000..7f0f21ff --- /dev/null +++ b/server/slice/planetlab/us/ucd/ucd.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCgv81JtBQNNgDZGAGwa4NjydzWHbiTRXe5egUDDh5xSmaZDsbi +68G1d7R3Y4mP1AKw+wVC8Et9DIbuBLhwBSlX+VFHNurFolHfx14NlNUfso/MI/vz +y0vlF3R51xgwI+n0hI1mLlWtFx8QzcRZ/gEB8tbPQe1NawLgZQizbqo7wQIDAQAB +AoGBAIlBnLE9IQ3yuaCk3fRcqPDQ0U7GS+78FvF5XcQxDw9fHuG7+1iRQ3KGhsKW +bEQyHCYwAFsawOpCgwfDYhTMY3KPTJ6QTA8mljBhds2VWBY8b4Rx5z/N1qJmVTkh +QttwT+MeENaZq+2AZcvtjl/AsoprOhHGdMuGBK+wFOFix+UNAkEAzUcL80gSvG5R +haHGQB4ttDCThgNIgdaaq9QOMdFBVx0HWK6fjdmFyQlbt5aCs4vDij6S6PrYhUX9 +K70Iwr3zYwJBAMh4F0GqYLkPIEMs+TdF2qfCQan/9m6Nk72TjK2I3H7bx17E922k +nwjcyoNmh7wx3IE7cOCRf7aJ9Tsv2r6xJ4sCQBqPttwj10jKfYHtDNn/DarjHjOY ++SjTu++/4JZRnULIXsr6zWptWwJIU7XNo9vXmdWpgxjiXGHiTH/8VcXdDkECQGRh +PcPzvFrt6Am7C09R+xrlelvVf1/8JG5Y46hBT6d2BW6+0eZk9/1IEV+ah30EupU7 +XloUgQ62JcVtQOsbaeECQFy+XESBh7QsFyItVJb6iq9cvc3yFisSm/sLHewUuYWe +uza8M6sLgjhcAybA2uoN/c7grjp9IsoCddSGnCxuDNY= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/uci/uci.cert b/server/slice/planetlab/us/uci/uci.cert new file mode 100644 index 00000000..6f48dce7 --- /dev/null +++ b/server/slice/planetlab/us/uci/uci.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1Y2kwHhcNMDgw +MzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjAOMQwwCgYDVQQDEwN1Y2kwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALAUn8PKeVF7TuuxcmRpX8JIoNpIK5qW3QMS +kvgqxd40Xq2XKexw7qe6Gt3tRxgnADTAIUf/wW9/V7KPojRNZrfL6mdraO5epFpR +EQOmntswu0B8MaPa4wSOHOsa1+vw00ys4VZVzhSs4vIgBxAIXQIc9YbMNEEQklCc +L3k7+yITAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAHPqygZiW2Qim98dUhZUilF9D +76O2ZEnwRu7gku8PCsph88zgvhyivCC3EhYKxCS9/pO4TbV8ixvTX5Z7Sr1EajFY +lli9vVxqP88tuAW+PEuU5BMKJ1+mRBOfUsTBPfF2t4VzRxXfMjyd9E/9x0VVTGig +DvhAmtTpZ2/LuMR+LpE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/uci/uci.pkey b/server/slice/planetlab/us/uci/uci.pkey new file mode 100644 index 00000000..4bf782b8 --- /dev/null +++ b/server/slice/planetlab/us/uci/uci.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCwFJ/DynlRe07rsXJkaV/CSKDaSCualt0DEpL4KsXeNF6tlyns +cO6nuhrd7UcYJwA0wCFH/8Fvf1eyj6I0TWa3y+pna2juXqRaUREDpp7bMLtAfDGj +2uMEjhzrGtfr8NNMrOFWVc4UrOLyIAcQCF0CHPWGzDRBEJJQnC95O/siEwIDAQAB +AoGAKGczGbwWBmpi+5YmB4BeZrg/oJa62qgPYqsaajN2X7xolTCAgC6RtI7xp0bQ +72vTkkcb2+eFvU3dE639rD6ueNCt0xdUkv2eHy4CqNiprBehwvZOPGCcV1e+LseN +7nUFfDHDaJnenumQIhEv24nGWydK4LAbGVzX1a3XjY4Ue8ECQQDZLYPys5lVmEdT +PsOtSQoaXN5V3XlT0YWFBJPxNujHM1k4iv+L9sCC5SjRYGAlnVLlB0sbBVM/tW+Z +gimAcbgRAkEAz45rD7Z7+2AWvALSDCeIrlt6sk9alnIFP2iDMKFrtHhD9FxtX7rI +tD0exugc+pVh1d/dmnGIuyeJCc5QNyk74wJBAIoMDoVleCAabawSh1tMxClBwuod +n5OR6SdGY6u+VXTZxOrWH94d+Py7IZkFg9glCp4eZrVES0iB0fBn9m1426ECQQCY +Y+KreLpzCEvo4tFB50ztZ3Egti62wySjN6MK85nWuW57XdlYLhXqb+3G8OlF+qQI +mgNkv/M6Jn7xWi9/MKEtAkEAyZ0dIgoO9+woS4OK8KwAOvo7PDfV7by4p2RC6/F7 +9QHwfpGnvR1MYwWe4HCY0qfnau6UnapcJH/q45gnSu4WTg== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/ucla/ucla.cert b/server/slice/planetlab/us/ucla/ucla.cert new file mode 100644 index 00000000..e17fce1a --- /dev/null +++ b/server/slice/planetlab/us/ucla/ucla.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1Y2xhMB4XDTA4 +MDMyODAzNDQ1M1oXDTEzMDMyNzAzNDQ1M1owDzENMAsGA1UEAxMEdWNsYTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApn5VAuYIzXVVDfk7EzHHJy7kOCA7y3zK +LxOBqiBxr1rpeJdpZAdpIan/yC4UdbpgeOgBwkSF+nxDXc6h+BxCQBnJSGr5NmYG +mR1qA96Sdv4YahkhEc/W9Vrz/JEcJHvk5enScqKiwM77vq1EO7bDDGsFdYq7v5B+ +euyOoZz2eKUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBuGbgzK0LFWHfw84W0hTTH +JyDhbT8oqZVmb6N6IiVdAspLOM+bzlSQs1Pr3GX6tXBYu0Mcr/N9lOjQJwz1uy6e +BW1/5MsHHvMQRyaLXoesIw7v8mceeOUaMyPKOjrtcosNU2O0vKtuof1RW0RaVdzo +XZB+n1w+oEbmKQyNb8YHAw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/ucla/ucla.pkey b/server/slice/planetlab/us/ucla/ucla.pkey new file mode 100644 index 00000000..8dd9763d --- /dev/null +++ b/server/slice/planetlab/us/ucla/ucla.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCmflUC5gjNdVUN+TsTMccnLuQ4IDvLfMovE4GqIHGvWul4l2lk +B2khqf/ILhR1umB46AHCRIX6fENdzqH4HEJAGclIavk2ZgaZHWoD3pJ2/hhqGSER +z9b1WvP8kRwke+Tl6dJyoqLAzvu+rUQ7tsMMawV1iru/kH567I6hnPZ4pQIDAQAB +AoGBAJP9JPk/mUFu8pxKFV15WIkWoBrXY+76zAhOMWoUDpkMmQvsoewcvjEDF21K +sDr44Dl4F+Ai4mgEviiKu+N60tMR1yIQHUbXj1tF8HAxNgN4i2iHmJHK40XwF1TN +XcByQ9lAv7haT185zxbx458fjL/iVNdyajhJQCWI5zRzyEFhAkEA2WCnUzabti8V +swKab5K7Xa8lfNXumYCurdSoCSfvZ/4pODcXh8OwyaYauCoaf6bZ9tbdjBlRZdUh +LrUrR3TgfQJBAMQTO74v/bLOrk5NNeUd4sV+WmPn2R3ssi4qOHWkvFyb67WP6E3Y +hWIC6Io+iyWcfwegkbsv8WNWSwl26UejWUkCQD8547FKcuP8sf0NRsopDaJkLS0w +NGQlj6kz72QqX3IJ9QdKzudIPgWI8MCcTnTOnRs0x9/WBVzvLuWdAGeaUSkCQHqx +1mayvTyQ3L4ezqTqyKbw5Ds0L8bsAKumu+HSDhSddSgOPz3HSeAFFeK8NHJ6tXre +XZMW8yRIMXhgsqWjcBECQQDOil5v2Alo5+1+v9V00bF3+T/B4PXMNl4nexJ2nyit +an+te6SnyWZRWe8xG+bC+JmSZ2JK9Bq9oqiTMDCJepOv +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/uclaee/uclaee.cert b/server/slice/planetlab/us/uclaee/uclaee.cert new file mode 100644 index 00000000..86d7e23c --- /dev/null +++ b/server/slice/planetlab/us/uclaee/uclaee.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1Y2xhZWUwHhcN +MDgwMzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjARMQ8wDQYDVQQDEwZ1Y2xhZWUw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANNEGYUpWj9uzmNwI053jzSyrymH +qIyvlJMEwwRqiFONmfCJOox8NsKtlxadv6X+3vmWl79KmsO7ouYGrV4YZ8HJWOwi +CxEUpoMUPjyKhH82dTROR96sdGb0oRjJ8uOitDfnAqIj4PXngVP1MVgkPkRATeG2 +EZo9Pydjeqb+GOL9AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAzFsDWC+Q9W4jjgoB +jAs4jpzqyXVMj7QUHZn9zGkSc3fJsdi981Csnlg0qrHPgHu+1O46O8nvTHva6abj +XQTlqRFg0UgeWqWDvM88VTMs6IlxeG0I788FO6mXBBbxPCe55tvMM/OI6sw41zgK +4iFCp5ljmddk4I4tnu/uyrN2pLE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/uclaee/uclaee.pkey b/server/slice/planetlab/us/uclaee/uclaee.pkey new file mode 100644 index 00000000..e87299e1 --- /dev/null +++ b/server/slice/planetlab/us/uclaee/uclaee.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDTRBmFKVo/bs5jcCNOd480sq8ph6iMr5STBMMEaohTjZnwiTqM +fDbCrZcWnb+l/t75lpe/SprDu6LmBq1eGGfByVjsIgsRFKaDFD48ioR/NnU0Tkfe +rHRm9KEYyfLjorQ35wKiI+D154FT9TFYJD5EQE3hthGaPT8nY3qm/hji/QIDAQAB +AoGAN39sNM7oJkG1dem/XJ2LwQwvd3lrjYmSPgzCLibOKSTJi6aA+uame/2d8xL9 +hV2utWIZ+uZeQYzI/iRC5rUCjCtd3pVlXFPrYUiac5lM9w86l8yTITH9fiMrDFv8 +ulvadfLJ0HplxIEkKjzHgItbcu/oPIwFasLKNvGoaPlhGwECQQDu4tH92XnjfFHx +r6giDNBxXbGAtpCu/os5XdLTCYSbYWtzZAMx7gl6JtgnBV87uOL9+6wHeHrt6pAf +9G4E1FfbAkEA4ma6NjeDTo1TkuryzknCVfWfPyFHQJKlAB9ay/OB3/7JZky6eyKG +BQQwIiGLL3rv11RnV/d5mMXu4QkoSvY0BwJBANI4pwVWgc4wVEh1BWfZkQGCqzcS +8iYdeNWl/GadJKY8R/vG0oz45jwpvOQx9QmwfYl3FX+JhdyjI+wLBVqYpysCQB18 +89QL9vZMQg5ou6dSxBUeINfAJd+rOgKCEvlthgT+0oyYgdF39azBluNbKx3MDWEm +hS9X9GaJoUt+PdlFqBECQQCWahQ7yOXDweinIuYobmWMZiwEg7XlvijApB7SxXjf +Nqs8d6+3shUakmg2eo8UsGQwccVs6bIQjtKuaPtufhDz +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/us.cert b/server/slice/planetlab/us/us.cert new file mode 100644 index 00000000..dcca3e2e --- /dev/null +++ b/server/slice/planetlab/us/us.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJ1czAeFw0wODAz +MjgwMzQ0NTJaFw0xMzAzMjcwMzQ0NTJaMA0xCzAJBgNVBAMTAnVzMIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCgMlKVmVUDNLOYgxbb0N/vS2rxY0TxHf6FqHKC +BeHkEefaCgAZ+i/4H4qhMPyMwIH+3RBo3OR+1c4DVORK9vtE19UsBy/VhMgxZNsc +g8ZtFaoMc77ZhfQWYyvlmKPYQPdTXV1SfjfcCNf2FP/NNoMO0rUHp76csnfQUS72 +ypAnFQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAD2n9MD1bJU6r1+oNC4PwwGQj0Zw +S+16X5KoP+wKY4WJoXB5dJhHZ3nKjnHR6d7Gf8NtY7NBdu0Gmmnj09QJ7Ve4tNh2 +JaMPyVrwk0b2K5+rgLpxbht5lOOllHTn8E/XyIbCV1CoPAW9j5jW53g0xUlevBqT +lJcGvGF1RTBXl8CA +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/us.pkey b/server/slice/planetlab/us/us.pkey new file mode 100644 index 00000000..51edd5d3 --- /dev/null +++ b/server/slice/planetlab/us/us.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCgMlKVmVUDNLOYgxbb0N/vS2rxY0TxHf6FqHKCBeHkEefaCgAZ ++i/4H4qhMPyMwIH+3RBo3OR+1c4DVORK9vtE19UsBy/VhMgxZNscg8ZtFaoMc77Z +hfQWYyvlmKPYQPdTXV1SfjfcCNf2FP/NNoMO0rUHp76csnfQUS72ypAnFQIDAQAB +AoGBAIQ4hMlNAUngGcvrhtZvlCUiDmamFKUeqJEQ81I2ILfpv3/LeUH3qdgV0Ioy +sIBL8/+z3nNuvnmhZqSBUNw+9iwRuPYaqNAKKBpeOGpdbocuWLHIEmV38YdTeZhr +yIXQl1/PT8DF/3xrPKw7rZpn03xGOU3htha6QKUdbBOom8mRAkEA0H3fNYyM4cm8 +1FBJiPEHb35/GEgpZ2Xj86+CaWW15cTf0Vx7GqpCEER0h9pHr8ZVyUIzA3yrqrrB +xDGpjPnH5wJBAMSzNaFtKr/+wXgW7XSEFjYyEFD5pLFstkh7+LFZWVg8/m3F5Aa8 +EJ2lll+cCXKa2vPhBpq8TrxSTz8CGuGzSaMCQEa9/uevifnutqifmWPizLATDtLR +YWMZGnCL48cZYM/Wrk7ef1K75HCamaOi9+H3fRIt6RtMyP7EIY0NgMc51Y8CQDWJ +BQa7fJAm2SdDLjuxG46Cj7hKSc3UZcRSoXw7cjq21xSvcIF4vBj8EXJSOKwNg5wu +2apRqChPSqw+eWyGbHsCQB0LSeYGtQMH0l0zVgWg3j5CmyzRQ9yrrtCPXX+8WgLO +5rWDmCglKeDTGHZ3TnYmRcfRe2nBrCjHQAIvNyFk2P0= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/utah/utah.cert b/server/slice/planetlab/us/utah/utah.cert new file mode 100644 index 00000000..5d64f2a5 --- /dev/null +++ b/server/slice/planetlab/us/utah/utah.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1dGFoMB4XDTA4 +MDMyODAzNDQ1N1oXDTEzMDMyNzAzNDQ1N1owDzENMAsGA1UEAxMEdXRhaDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwe1it1/G1NSMFj9URIqWdNMWc0G/Cv/r +gngSveqqvDLRbQ1zyotNXECh9jl+pTBkpNvDVXtH5GvCgn0MGc0+wP2+zB3lwatl +F9iuCwo+vMjURCT3u9ZpJEjzRSxzdc4DY94wiZFNXy8TziOTt5R5boHp/qucX7DK +/MDloQHfVBMCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCx8D3dYaWTUJVLRhRnu1cV +q1HF8ThmOmwqgQ7RKi7+5ezoP68KqFmCAiMCeRu7WeHSZwkTfpO1mbqZqk4DlhQW +DVAt9q1qrUn4oOLpFU5RPb60wysH9DnSiZ4go5e0Cea3zet7Nz090Ey4RK6cgcjZ +4IsU/pItFWT4om6FA0Lk4w== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/utah/utah.pkey b/server/slice/planetlab/us/utah/utah.pkey new file mode 100644 index 00000000..9c172bf0 --- /dev/null +++ b/server/slice/planetlab/us/utah/utah.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDB7WK3X8bU1IwWP1REipZ00xZzQb8K/+uCeBK96qq8MtFtDXPK +i01cQKH2OX6lMGSk28NVe0fka8KCfQwZzT7A/b7MHeXBq2UX2K4LCj68yNREJPe7 +1mkkSPNFLHN1zgNj3jCJkU1fLxPOI5O3lHlugen+q5xfsMr8wOWhAd9UEwIDAQAB +AoGACA00GQr39WQxwMa2V/YtEwKknvpu1SUVASC9Hnd8yT2O5mk1koZAGwFv+Aoh +EPi2ZQXe0VDCBmDW/ZX1h6i23zfM+X/9YnQKxPgN95d7YPOzkmzmYCggeyb2RQTy +fUYGSZCVmi1teK+ZQ4w7O0FJaz0oB01onXmOyr/muHPynekCQQD4jf0w9qImX2kS +J7TXtsewh9ZVGnH6ehMeBEDXLZo2G0+Ee1+LuMidviYTJiF5edUeav2rw51RSgLx +dnHHZC3NAkEAx7x+TLizkPMltolhcfIi5+P8HYBsVx9mRWzm3Vz7QEMwxovKPhAz +3jSGhiWRKhUYQKkEECF/FmBM0gY/oU6pXwJBAIp5kLXWsj/up/sVZAtKKbaP9zky +oo2JtVzjwbwgC+pZDNQiZ/jP2fUIGu5QMBYdaj6oHOu079B6C2m7M2iCx4ECQQCw +SMroB/RkMFXOv33DxcPNCskPeLMmSc5H5A/2vAP8+dBozCQZls9QhOdeKnXuwGOB +Xir52baDF0d17pHmWrjdAkAc4mG6A7/iux3KO9JykXge8/ShmXA6ovhYL7mDCa71 +8/LSNuJEQj2/CSueDIl9rVOlCljWplFivl0E9/KItnmQ +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/utxsa/utxsa.cert b/server/slice/planetlab/us/utxsa/utxsa.cert new file mode 100644 index 00000000..b14009c4 --- /dev/null +++ b/server/slice/planetlab/us/utxsa/utxsa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwV1dHhzYTAeFw0w +ODAzMjgwMzQ0NTNaFw0xMzAzMjcwMzQ0NTNaMBAxDjAMBgNVBAMTBXV0eHNhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJNKDEqpoW+rvTrXP3/O9+xfVq/+Be +EtqWBu6Rr5zY/LATVRdqUd+xsrel/UH5dqWicg+5Js+GRbLxWqOMOn/Xwm4mgi2P +xwHNR1rAN507wNaaBT+ntemF92ffCPqi9d+iN3wMHQWsgL1+5VP9c/Lj2TMBGpbV +Fmmy9O1d+gqYkQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJum3WhwYv3LTH/002T+ +SarCRHyGwhhuhmTj1/ZYC82aZ+TgsGkPwlq7AadBHyE7tccfz2Og4RrnXcixoKpV +dAXHEh92Xan8NwU79uGsxe5gC4hOVoRs6RDu1FYDI8V9+XHe16i5rRCiSPyO8R1I +CCbNzVpCFunSHxS4K5+4ZY0i +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/utxsa/utxsa.pkey b/server/slice/planetlab/us/utxsa/utxsa.pkey new file mode 100644 index 00000000..346f0acf --- /dev/null +++ b/server/slice/planetlab/us/utxsa/utxsa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDJNKDEqpoW+rvTrXP3/O9+xfVq/+BeEtqWBu6Rr5zY/LATVRdq +Ud+xsrel/UH5dqWicg+5Js+GRbLxWqOMOn/Xwm4mgi2PxwHNR1rAN507wNaaBT+n +temF92ffCPqi9d+iN3wMHQWsgL1+5VP9c/Lj2TMBGpbVFmmy9O1d+gqYkQIDAQAB +AoGACoiVzhX8YS2ZPbi79ISqaSGl+ocQ0Pv9s5MDVF80P+vir/BpfGhy5JOtp6P9 +mzjJ7Ro5loDgpm/psVcEbuf1H1fLYQg7djyU+NC02MJAwZO/3C7Oa/pNezW98LTE +n9WPd+GKHqHtePfzUpCVt5SaLr5Z7dRGQvFGreUZn64n4u0CQQDmRD6klh5UOeKx +E35gdXimqb2v1pILfynthV2WPQS06bKwG0oK2cjfQtXdbuv4EcyobSO25qCWbVzV +q9+hdfbzAkEA37D4PCo/h0i+qdo2MXlm/bb51LstClWnO5D+crdOQQNCM0nDomRh +LJy4aH+n4auREdUlrM2WNDTOaoCiGjxbawJADqT4du81LpYf3LMormnKKo9RCQXU +c/a6a+i3cv6edgMG4jxaESaYp9pQT6zmRPic03lddBxmyipaZRxxNIuUEQJAOlXJ +ds9BwAMNjfgVN/PEExhbsMmbZl2N/i/C26HIK5Yw9nUfKsNowByizsWzv1thurfO +WnFG4Zh/2DBxlcv1vwJBAIDOK58oF6bCuF1h96J1Iut45ePM5BEuaBBhUSJvbBvI +AVVAAOMU9Qeopjh2leXN6ZZ2QxVX+gFA5bQMDdDvks0= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/uvic/uvic.cert b/server/slice/planetlab/us/uvic/uvic.cert new file mode 100644 index 00000000..f93e8620 --- /dev/null +++ b/server/slice/planetlab/us/uvic/uvic.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1dmljMB4XDTA4 +MDMyODAzNDQ1NVoXDTEzMDMyNzAzNDQ1NVowDzENMAsGA1UEAxMEdXZpYzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4MT5TfugtASY8ZCRJW2Ng+OyG8ct9Aux +aaEmnPwHGAu0ci4Qc5ol8/m5o5VjbwM7O6fsOHDQObcrs+MEETit1NrWa/HjYN8k +aWbR7iNoQCpBY5skb3aF2Wx7HEtdleLYeXfH3cFjuGwAK0sJIk1mzbfyNhKfwBIR +MfFtTUfM56cCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAatIOy9CWFZu7MdHk7Di7j +Tfp+t8N9cJiszAaL7TenSbgb17Hc5YoN7hbZ3j5ZUE5K7RzeHa4YD845J6GTScO7 +oAROOwHkVRYn3y6rrIkdwctxPKedAgfEUvwFXL//8lJ/Nl/KAenzIjTR3N+6LC5j +CQUo6wmMR1dFU/qKbniEqw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/uvic/uvic.pkey b/server/slice/planetlab/us/uvic/uvic.pkey new file mode 100644 index 00000000..7b1be641 --- /dev/null +++ b/server/slice/planetlab/us/uvic/uvic.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDgxPlN+6C0BJjxkJElbY2D47Ibxy30C7FpoSac/AcYC7RyLhBz +miXz+bmjlWNvAzs7p+w4cNA5tyuz4wQROK3U2tZr8eNg3yRpZtHuI2hAKkFjmyRv +doXZbHscS12V4th5d8fdwWO4bAArSwkiTWbNt/I2Ep/AEhEx8W1NR8znpwIDAQAB +AoGAMVNImpJzy82OesSM9be67IyVU388WGgQgOu6e4zbSa2X5c6yEYxsc8QDtyBb +d8svvoG1VxV6vI+z6YASLm1PyBL+X+lMB283R0Fm5gFZ8XD8Zk7waFDrYYR72ZdM +Yz47fCvrUt0qOlQEPu47wKBaXJW5kP9yTx1jfHbCgLvLnvECQQD4HDbpkY3Psz5n +hYkrplgXq7DLRHPSXPwkz40RGVe2crmUKJC21Rs6UjYU+RuCTP3C7kK3Cj6aijuf +J1yQ8f4LAkEA5+q/4OlTRQHozf1WVOx4V9RnGjsPqRPse8zF44uTY5CInOTZeYnj +ZJzslmJaqkur22qSnUdITHDAGR4vHalqVQJATxEGutZEv/zaFTlr5jojdp+jPpO4 +6T/ypnRx+xH9bsoOs9VdkLZG8AYE8BgWmSaZ88XkAtrD6pHEwEpV6GcF0wJBAMMd +Q/tUMgNPvO544gYmwIScJXXzFJTaN05clGyBBCpy8gyVmMXhFVeTkpRfAQpfCaJb +AiiiTRhKj8NSGq+o1dUCQEJJZhs3JcGVjM+3ZntSJQVqBoym2iYsVW/YHMp5UB44 +BsJlYLtav913XwHhU3lhhsa8NyjpFB0cE+zdbMsDids= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert b/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert new file mode 100644 index 00000000..b8405381 --- /dev/null +++ b/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOdXdhY2NyZXRp +dmVkc2wwHhcNMDgwMzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjAZMRcwFQYDVQQD +Ew51d2FjY3JldGl2ZWRzbDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6YIS +13t7BOCpBgrw3j7G4pgJDZmupyGmB2z7IflKrQtfnJRxG1n9jxL+WA+yjPGsN7XD +sb/BgUl1YTCY95nS4FNnyjgGmu+fNYBCu89pQfXfAPWnXha68Je2Y2pjVv78CAAb +8zkWo8d6SfoLTinExxvlRCi25KrB/i+UQ+tjq+kCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQAIEgjRZkHH/y/++BzH2rMyO8Vv36hbFI15ByaP+bggAtSZNh9GW3vyl/mr +7g8E4J3yDXkCv58KzG6+3Ji7e5nPrhNIYVtSSk0N0myNdUTw9OhFs/qKU82ZcCHh +pKkup8G6NCdIeVifh7P1P4LB5YrCiOq4CLk+G9FkMC3jTLpI6g== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey b/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey new file mode 100644 index 00000000..f28ff819 --- /dev/null +++ b/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDpghLXe3sE4KkGCvDePsbimAkNma6nIaYHbPsh+UqtC1+clHEb +Wf2PEv5YD7KM8aw3tcOxv8GBSXVhMJj3mdLgU2fKOAaa7581gEK7z2lB9d8A9ade +Frrwl7ZjamNW/vwIABvzORajx3pJ+gtOKcTHG+VEKLbkqsH+L5RD62Or6QIDAQAB +AoGAOU+Qeky3O9I8Cdyjk5iKzdCM4Eao5CJREp9/363E00XoWJDiVdk3b2c0/74S +j589Kos1Fao/vxCde5Ym5RZe9/HPXcuEbIhhIoCjJ/kL1GCNEcI+D1GKeh+jSZsn +3vcWbW5AXVv/W+l8bGq1A1RVMoTbs/KJg4JkKTvqPtVd4pECQQD7sF0jKwdTcRdK +2F6w3SNrIkso+WV5NZGMUKPrMtq/rl5seIoZXcA4vtmDkqFJ00wWU6W7miHqFMQo +vQNM7x5lAkEA7YH9AblPUeyIRdh9K3lM7e5Yc1E0/S0T49M5/bGW7BdVsQWA9aFe +B4ZtLp9JHHouQrp2A1jLB7p9fbi7B+ZNNQJBANJva//6ev6WIL5wWAOScYmiu6q/ +ksscMdxalCMTevgnB0W0Jur8ironP+AVWgtKwmQsffZz8YUw5a2WE0tg5k0CQQCa +AMKMXptXNLc8Ct9G1DWUxgqmY46nZ5ZREMK2hHOnDI5s5XO0UfkFih27sF8YzwS2 +Ee+5xdaIYV1DqwfjXGrNAkAGWrSEGIz7wx9obSrO2H3YoYW0VfIeldHdrZKchKN7 +P1XA0TSJwkVVixxYErZV8PUI+pDyWXvWbjmWgQus1Dxi +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/vanderbilt/vanderbilt.cert b/server/slice/planetlab/us/vanderbilt/vanderbilt.cert new file mode 100644 index 00000000..d91ca8e2 --- /dev/null +++ b/server/slice/planetlab/us/vanderbilt/vanderbilt.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKdmFuZGVyYmls +dDAeFw0wODAzMjgwMzQ0NTNaFw0xMzAzMjcwMzQ0NTNaMBUxEzARBgNVBAMTCnZh +bmRlcmJpbHQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALswqzfxhgzB2Yfj +Z4Kv6RqSL8c7PsRogJtzRccmyNUlXMBuPmSpn2+V2xRh5z4Id66JIYGJxgMRDC5t +Brr+233w47ylqTfoGmrjGa3wYZfApFpxznglQtLByrSpTNWvWyIp+RJyXpFAjbxB +u+FhaIkfLzFrhKKGwpgCan5C6DaLAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAlLIT +7/OzFKmbz00h9Et+gw1xA3v5CMYKGwEK9BIcU/MTLGK+Fs9qUuHpVBvRKHFI8Zqr +pwWOgUc0QC0kR/teCu3Vy6a1G24514drUtLBug3PmmewWPatPNvoaHZLKnMz3G5j +Qq/6TwIViScp+YLfefom346HlJ9LW4lDocFuXB0= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/vanderbilt/vanderbilt.pkey b/server/slice/planetlab/us/vanderbilt/vanderbilt.pkey new file mode 100644 index 00000000..9e806ace --- /dev/null +++ b/server/slice/planetlab/us/vanderbilt/vanderbilt.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC7MKs38YYMwdmH42eCr+kaki/HOz7EaICbc0XHJsjVJVzAbj5k +qZ9vldsUYec+CHeuiSGBicYDEQwubQa6/tt98OO8pak36Bpq4xmt8GGXwKRacc54 +JULSwcq0qUzVr1siKfkScl6RQI28QbvhYWiJHy8xa4SihsKYAmp+Qug2iwIDAQAB +AoGAPe0m55YGY9gJj/QCPXDWrAyqs7180VtFGKg08GJ7VFBM8/hEueaHsVGhLYgK +CTKh7WK+a+1ZTZBpOD6nWFuR3vIj9KH7e6DB9+N21xaGw4m5HW3cLfTlx5j4ohN3 +XADS8q58Dz+OlhOV8f6aWIGKMd0omiw2qjh/KajaYLg8feECQQDolnLFRwvXCbVr +2jzX6Tbn4RZcBSr4QQUdKMxu4LJDkdy2wnUACy4S4+3mbEt0quUQNCrT86OK3Idj +7IsSgxX7AkEAzghe1e6y2+yU9FcoG9BC5aAT3P8cWb/B9+WQYPIE1ladIMOcxzBP +urFVHCv5A+kop0Tm3gYrVNEm4E6VQKbMsQJAYr/lsK6ubzlXBpic9oq03hRp+t3S +1Z49fpjg2z6ZUSjvzcSYClG02R5e1lMqYjlgkdWkTWMHD6D79sfqcAyp2wJACVl7 +5D1mxHAh+kySN2DmCEGRZS/2e2QmSzeRq7SP36Iik0ANN0TL+W7eq96a+EB2ZdDM +oTqqcLjlCLzILRzkoQJBALq8SMNS/I5J7Mwe8gk9MoaVEnVbP0xI81Za7ikx3yrm +mMamdtJV/jSWLg258wNzRaUPlaZPnJEY7NcVT4hussg= +-----END RSA PRIVATE KEY----- diff --git a/server/trusted_certs/geni_mng.cert b/server/trusted_certs/geni_mng.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/server/trusted_certs/geni_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/server/trusted_certs/geni_slc.cert b/server/trusted_certs/geni_slc.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/server/trusted_certs/geni_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/server/trusted_certs/planetlab_mng.cert b/server/trusted_certs/planetlab_mng.cert new file mode 100644 index 00000000..c1b42112 --- /dev/null +++ b/server/trusted_certs/planetlab_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52QbJtucIQUE +YZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba +6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5amLZcMPm +u/G64ieWI8QMUxYgCE1ut3bI1QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJH5KqIU +2lrA9calI3oklbWpduiZspbwCUkhr8PNVDnkXSI1K+egDqFTaANVp1DxXU8qaDS6 +X5+s9Qf9FQ5+9mfSaocma6YW4Qfb3Zm/mYmpt+nknTlnVuEaTENyBIPfr0pDqzld +GGcYPul25KknFmdPOrqAUzma9n568u2KYlfz +-----END CERTIFICATE----- diff --git a/server/trusted_certs/planetlab_slc.cert b/server/trusted_certs/planetlab_slc.cert new file mode 100644 index 00000000..9f5b851d --- /dev/null +++ b/server/trusted_certs/planetlab_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTEzMDMyNzAzNDQ0OFowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz8uZVHahZ +QqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vGO7aT7bJC +apb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9 +OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABRIUVzW +JbwQKnqM3rVHJoSgtYWpgDvJosLCrLZhsXrukOsC8Gs8V6vPTPO7kofdUbHQKRnL +xp1nI5hlWIlq/XOnh+NEPZaB2SAKwfl3FZwUqjaEVd/VYOfsRryZtiUz4sL3CtXN +C8i/I4HwCnrl/pmzbprqpGq+RJTa5yLmBw6r +-----END CERTIFICATE----- diff --git a/util/db.py b/util/db.py new file mode 100644 index 00000000..590a0020 --- /dev/null +++ b/util/db.py @@ -0,0 +1,81 @@ +import os +from pg import DB +from excep import * +from tree import * +from util import * + +#planetlab authentication structure +pl_auth = {'Username': 'ssevinc@princeton.edu', # User account +'AuthMethod': 'password', # Type of auth this is. Can be password, session ... +'AuthString': 'Ss3928Ee' # the password for this account +} + +def get_plDB_conn(): + dbname = 'plDB' + address = 'localhost' + port = 5433 + user = 'postgres' + password = '111' + cnx = DB(dbname, address, port=port, user=user, passwd=password) + return cnx + +#copy the pl db info to requester +def get_plDB_info(dst): + dst.db_name = 'plDB' + dst.address = 'localhost' + dst.port = 5433 + dst.user = 'postgres' + dst.password = '111' + + +#determines the database info of a given hrn +#if the hrn does not exist in the tree hierarchy None is returned +def determine_dbinfo(hrn, tree): + info = tree.tree_lookup(hrn) + if info == None: + return None + else: + db_info = info.node_data['db_info'] + cnx = DB(db_info.db_name, db_info.address, port = db_info.port, user = db_info.user, passwd = db_info.password) + tablename = db_info.table_name + return [cnx, tablename] + +#convert the parameter list to query string suitable for supplying to database queries +#input: query type, table name and field-value pairs +def generate_querystr(type, table, dict): + querystr = "" + if type == 'INSERT': + keys = dict.keys() + str1 = keys[0] + for i in range(1, len(keys)): + str1 = str1 + ','+ keys[i] + str2 = "" + for i in range(len(keys)-1): + if isinstance(dict[keys[i]],str): + str2 = str2 + "'" + dict[keys[i]] + "', " + else: + str2 = str2 + str(dict[keys[i]]) + ", " + if isinstance(dict[keys[len(keys)-1]],str): + str2 = str2 + "'" + dict[keys[len(keys)-1]] + "'" + else: + str2 = str2 + str(dict[keys[len(keys)-1]]) + querystr = "INSERT INTO "+table+ "(" + str1 + ") VALUES(" + str2 + ")" + elif type == 'UPDATE': + str1 = "" + keys = dict.keys() + for i in range(len(keys)-1): + if keys[i] != 'hrn': + if isinstance(dict[keys[i]],str): + str1 = str1 + keys[i] + " = '" + dict[keys[i]] + "', " + else: + str1 = str1 + keys[i] + " = " + dict[keys[i]] + ", " + if keys[len(keys)-1] != 'hrn': + if isinstance(dict[keys[len(keys)-1]],str): + str1 = str1 + keys[len(keys)-1] + " = '" + dict[keys[len(keys)-1]] + "'" + else: + str1 = str1 + keys[len(keys)-1] + " = '" + dict[keys[len(keys)-1]] + querystr = "UPDATE "+table+ " SET " + str1 + " WHERE hrn = '"+get_leaf(dict["hrn"])+"'" + elif type == 'DELETE': + querystr = "DELETE FROM "+table+" WHERE hrn = '"+get_leaf(dict["hrn"])+"'" + return querystr + diff --git a/util/db.pyc b/util/db.pyc new file mode 100644 index 00000000..533d7915 Binary files /dev/null and b/util/db.pyc differ diff --git a/util/excep.py b/util/excep.py new file mode 100644 index 00000000..4f2a4fa5 --- /dev/null +++ b/util/excep.py @@ -0,0 +1,42 @@ + +class MalformedHrnException(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class TreeException(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class NonexistingRecord(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class ExistingRecord(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class NonexistingCredType(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class NonexistingFile(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class InvalidRPCParams(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) diff --git a/util/excep.pyc b/util/excep.pyc new file mode 100644 index 00000000..3aa377e5 Binary files /dev/null and b/util/excep.pyc differ diff --git a/util/pl_to_geni.py b/util/pl_to_geni.py new file mode 100644 index 00000000..db07211e --- /dev/null +++ b/util/pl_to_geni.py @@ -0,0 +1,174 @@ +import sys +from pg import DB +from db import * +from util import * + +PL_DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S" + +#given a login_base or site_id (which are ids of a site in Planetlab), determines the hierarchical name of it in GENI +def site_to_auth(id_or_loginbase): + cnx = get_plDB_conn() + site_id = None + hrn = None + loginbase = None + if isinstance(id_or_loginbase, int): + site_id = id_or_loginbase + querystr = "SELECT login_base FROM sites WHERE site_id = "+str(id_or_loginbase) + res = cnx.query(querystr).dictresult() + if res: + loginbase = res[0]['login_base'] + else: + return None + else: + loginbase = id_or_loginbase + #get site_id + querystr = "SELECT site_id FROM sites WHERE login_base = '"+loginbase+"'" + res = cnx.query(querystr).dictresult() + if res: + site_id = res[0]['site_id'] + else: + return None + #search login_base in trees + (sr_tree, cr_tree) = get_tree_globals() + hrn = site_to_auth_rec(loginbase, sr_tree.my_tree) + if not hrn: + hrn = site_to_auth_rec(loginbase, cr_tree.my_tree) + if not hrn: + return None + else: + return (site_id, hrn) + +def site_to_auth_rec(loginbase, treenode): + if treenode.info.login_base and treenode.info.login_base == loginbase: + return treenode.info.name + else: + for child in treenode.children: + name = site_to_auth_rec(loginbase, child) + if name: + return name + return None + +def hrn_to_loginbase(hrn, algorithm=0): + hrn_arr = hrn.split('.') + j = len(hrn_arr)-2 + alg_count = algorithm-1 + login_base = hrn_arr[len(hrn_arr)-1] + while j>=0 and alg_count>=0: + if alg_count == 0: + login_base = login_base+hrn_arr[j] + j = j-1 + alg_count = alg_count-1 + if len(login_base) > 20: + return login_base[0:20] + else: + return login_base + + +#given an email or person_id (which are ids of a person in Planetlab), determined the last portion of hierarchical name of it in GENI +def person_to_user(email, algorithm = 0): + hrn_suffix = '' + if algorithm == 0: + hrn_suffix = email.split('@')[0].replace('.','-') + elif algorithm == 1: + hrn_suffix = email.split('@')[0].replace('.','-')+'-'+email.split('@')[1].split('.')[0] + elif algorithm == 2: + hrn_suffix = email.replace('@','-') + hrn_suffix = hrn_suffix.replace('.','-') + return hrn_suffix + +def plslice_to_slice(slice_name): + i = 0 + while slice_name[i]!='_': + i = i+1 + return slice_name[i+1:len(slice_name)] + +def plnode_to_node(hostname, algorithm = 0): + hrn_suffix = '' + if algorithm == 0: + hrn_suffix = hostname.split('.')[0] + elif algorithm == 1: + hrn_suffix = hostname.split('.')[0]+'-'+hostname.split('.')[1] + elif algorithm == 2: + hrn_suffix = hrn_suffix.replace('.','-') + return hrn_suffix + +def check_exists_pl(cnx, pointer, type): + exists = True + if type == 'SA' or type == 'MA': + res = cnx.query("SELECT deleted FROM sites WHERE site_id = "+str(pointer)).dictresult() + if len(res)==0 or res[0]['deleted'] == 't': + exists = False + elif type == 'slice': + res = cnx.query("SELECT is_deleted FROM slices WHERE slice_id = "+str(pointer)).dictresult() + if len(res)==0 or res[0]['is_deleted'] == 't': + exists = False + elif type == 'user': + res = cnx.query("SELECT deleted FROM persons WHERE person_id = "+str(pointer)).dictresult() + if len(res)==0 or res[0]['deleted'] == 't': + exists = False + elif type == 'node': + res = cnx.query("SELECT deleted FROM nodes WHERE node_id = "+str(pointer)).dictresult() + if len(res)==0 or res[0]['deleted'] == 't': + exists = False + return exists + +def check_exists_geni(record, dbinfo): + cnx = dbinfo[0] + table = dbinfo[1] + try: + #lookup in GENI tables + geni_res = cnx.query("SELECT * FROM "+table+" WHERE hrn = '"+get_leaf(record['g_params']["hrn"])+"' ").dictresult() + if geni_res: + return geni_res[0] + else: + return None + except: + return None + +#fill the geni table with the records in PL database +#login_base: indicates the site in PL +#tablename: the GENI table name +#type: 'slice' or 'component' indicating the registry type of the GENI table +def populate_pl_data(login_base, tablename, type): + cnx = get_plDB_conn() + site_id = cnx.query("SELECT site_id FROM sites WHERE login_base='"+login_base+"';").dictresult()[0]['site_id'] + + if type == 'slice': #slice registry + #populate user records + querystr = "SELECT p.person_id, p.email FROM persons as p, person_site as ps WHERE p.person_id = ps.person_id AND ps.site_id = "+str(site_id) + users = cnx.query(querystr).dictresult() + for user in users: + new_hrn = person_to_user(user['email']) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = person_to_user(user['email'], 1) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = person_to_user(user['email'], 2) + cnx.query("INSERT INTO "+tablename+"(hrn,type,wrapperurl,pointer) VALUES('"+new_hrn+"','user','local',"+str(user['person_id'])+")") + #populate slice records + querystr = "SELECT slice_id, name FROM slices WHERE site_id = "+str(site_id) + slices = cnx.query(querystr).dictresult() + for slice in slices: + slcname = slice['name'].split('_') + if slcname[len(slcname)-1] != 'deleted': + new_hrn = plslice_to_slice(slice['name']) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = new_hrn+'-'+str(slice['slice_id']) + cnx.query("INSERT INTO "+tablename+"(hrn,type,wrapperurl,pointer) VALUES('"+new_hrn+"','slice','local',"+str(slice['slice_id'])+")") + + if type == 'component': #component registry + #populate node records + querystr = "SELECT node_id, hostname FROM nodes WHERE site_id = "+str(site_id) + nodes = cnx.query(querystr).dictresult() + for node in nodes: + new_hrn = plnode_to_node(node['hostname'], 0) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = plnode_to_node(node['hostname'], 1) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = plnode_to_node(node['hostname'], 2) + cnx.query("INSERT INTO "+tablename+"(hrn,type,wrapperurl,pointer) VALUES('"+new_hrn+"','node','local',"+str(node['node_id'])+")") + diff --git a/util/pl_to_geni.pyc b/util/pl_to_geni.pyc new file mode 100644 index 00000000..002a7a7a Binary files /dev/null and b/util/pl_to_geni.pyc differ diff --git a/util/sec/certgen.py b/util/sec/certgen.py new file mode 100755 index 00000000..d969f27f --- /dev/null +++ b/util/sec/certgen.py @@ -0,0 +1,111 @@ +# +# certgen.py +# +# Copyright (C) Martin Sjogren and AB Strakt 2001, All rights reserved +# +# $Id: certgen.py,v 1.2 2004/07/22 12:01:25 martin Exp $ +# +""" +Certificate generation and validation module. +""" + +from OpenSSL import crypto +import time, calendar, datetime + +TYPE_RSA = crypto.TYPE_RSA +TYPE_DSA = crypto.TYPE_DSA + +def createKeyPair(type, bits): + """ + Create a public/private key pair. + + Arguments: type - Key type, must be one of TYPE_RSA and TYPE_DSA + bits - Number of bits to use in the key + Returns: The public/private key pair in a PKey object + """ + pkey = crypto.PKey() + pkey.generate_key(type, bits) + return pkey + +def createCertRequest(pkey, name, digest="md5"): + """ + Create a certificate request. + + Arguments: pkey - The key to associate with the request + digest - Digestion method to use for signing, default is md5 + **name - The name of the subject of the request, possible + arguments are: + C - Country name + ST - State or province name + L - Locality name + O - Organization name + OU - Organizational unit name + CN - Common name + emailAddress - E-mail address + Returns: The certificate request in an X509Req object + """ + req = crypto.X509Req() + subj = req.get_subject() + for (key,value) in name.items(): + setattr(subj, key, value) + req.set_pubkey(pkey) + req.sign(pkey, digest) + return req + +def createCertificate(req, (issuerCert, issuerKey), serial, (notBefore, notAfter), extensions=[], digest="md5"): + """ + Generate a certificate given a certificate request. + + Arguments: req - Certificate reqeust to use + issuerCert - The certificate of the issuer + issuerKey - The private key of the issuer + serial - Serial number for the certificate + notBefore - Timestamp (relative to now) when the certificate + starts being valid + notAfter - Timestamp (relative to now) when the certificate + stops being valid + digest - Digest method to use for signing, default is md5 + Returns: The signed certificate in an X509 object + """ + cert = crypto.X509() + cert.set_serial_number(serial) + cert.gmtime_adj_notBefore(notBefore) + cert.gmtime_adj_notAfter(notAfter) + cert.set_issuer(issuerCert.get_subject()) + cert.set_subject(req.get_subject()) + cert.set_pubkey(req.get_pubkey()) + if extensions: + extList = [] + for name, critical, value in extensions: + ext = crypto.X509Extension (name, critical, value) + extList.append(ext) + cert.add_extensions(extList) + cert.sign(issuerKey, digest) + return cert + + +#checks if a certificate is valid in terms of validity periods +def check_valid(usercert): + """ + Method that ensures the issuer cert has + valid, not_before and not_after fields + """ + valid = True + before_time = usercert.get_not_before() + after_time = usercert.get_not_after() + before_tuple = time.strptime(str(before_time), "%b %d %H:%M:%S %Y %Z") + after_tuple = time.strptime(str(after_time), "%b %d %H:%M:%S %Y %Z") + starts = datetime.timedelta(seconds=calendar.timegm(before_tuple)) + expires = datetime.timedelta(seconds=calendar.timegm(after_tuple)) + now = datetime.timedelta(seconds=time.time()) + time_delta = expires - now + + #cert has expired + if time_delta.days < 0: + valid = False + #cert is not yet valid + time_delta = now - starts + if time_delta.days < 0: + valid = False + + return valid diff --git a/util/sec/certgen.pyc b/util/sec/certgen.pyc new file mode 100644 index 00000000..4bfb1aea Binary files /dev/null and b/util/sec/certgen.pyc differ diff --git a/util/sec/certgen2.py b/util/sec/certgen2.py new file mode 100755 index 00000000..4fb5a4dd --- /dev/null +++ b/util/sec/certgen2.py @@ -0,0 +1,368 @@ +#!/usr/bin/env python + +""" +Certificate generation module. +""" + +from OpenSSL import crypto +from os import chmod, remove +from os.path import join + +from myap.tools import execute_cmd +from myap.config import config + +TYPE_RSA = crypto.TYPE_RSA +TYPE_DSA = crypto.TYPE_DSA + +YEAR = 60*60*24*365 + +X509Attr = ( 'C', 'ST', 'L', 'O', 'OU', 'CN', 'emailAddress' ) +X509WinAttr = { 'C' : 'C', + 'ST' : 'S', + 'L' : 'L', + 'O' : 'O', + 'OU' : 'OU', + 'CN' : 'CN', + 'emailAddress' : 'E' } + +def createKeyPair(type, bits): + """ + Create a public/private key pair. + + Arguments: type - Key type, must be one of TYPE_RSA and TYPE_DSA + bits - Number of bits to use in the key + + Returns: The public/private key pair in a PKey object + """ + + pkey = crypto.PKey() + pkey.generate_key(type, bits) + + return pkey + +def createCertRequest(pkey, subject, digest='md5'): + """ + Create a certificate request. + + Arguments: pkey - The key to associate with the request + subject - A dictionary with the subject of the request, possible + key,value pairs are: + C - Country name + ST - State or province name + L - Locality name + O - Organization name + OU - Organizational unit name + CN - Common name + emailAddress - E-mail address + digest - Digestion method to use for signing, default is md5 + + Returns: The certificate request in an X509Req object + """ + + req = crypto.X509Req() + subj = req.get_subject() + + # Storing attributes in the correct order + for attr in X509Attr: + if subject.has_key(attr): + setattr(subj, attr, subject[attr]) + + req.set_pubkey(pkey) + req.sign(pkey, digest) + + return req + +def createCertificate(req, (issuerKey, issuerCert), serial, (notBefore, notAfter), extensions=[], digest='md5'): + """ + Generate a certificate given a certificate request. + + Arguments: req - Certificate reqeust to use + issuerCert - The certificate of the issuer + issuerKey - The private key of the issuer + serial - Serial number for the certificate + notBefore - Timestamp (relative to now) when the certificate + starts being valid + notAfter - Timestamp (relative to now) when the certificate + stops being valid + digest - Digest method to use for signing, default is md5 + isca - The certificate is a CA + + Returns: The signed certificate in an X509 object + """ + + cert = crypto.X509() + cert.set_version(2) + + if extensions: + X509Extensions = [] + for name, critical, value in extensions: + X509Extensions.append(crypto.X509Extension(name, critical, value)) + + cert.add_extensions(X509Extensions) + + cert.set_serial_number(serial) + cert.gmtime_adj_notBefore(notBefore) + cert.gmtime_adj_notAfter(notAfter) + cert.set_issuer(issuerCert.get_subject()) + cert.set_subject(req.get_subject()) + cert.set_pubkey(req.get_pubkey()) + cert.sign(issuerKey, digest) + + return cert + +def createSignedCertificate(subject, serial, extensions=[], type=TYPE_RSA, bits=2048, cipher='DES-EDE3-CBC', passphrase='', years=5, capkey='', cacert='', capassphrase=''): + """ + Generate a Signed Certificate. + + Arguments: subject - The subject of the request, see createCertRequest() + type - (optional) Key type, see createKeyPair() + bits - (optional) Number of bits to use in the key + cipher - (optional) if encrypted PEM format, the cipher to use, see dump_privatekey() + passphrase - (optional) if encrypted PEM format, the passphrase to use, see dump_privatekey() + years - (optional) Number of years to use for validity, see X509() + capkey - (optional) CA's private key (PEM formated string) + cacert - (optional) CA's certificate (PEM formated string) + capassphrase - (optional) if CA private key is in encrypted PEM format, + the passphrase to use, see load_privatekey() + + Returns: Two PEM formated strings containing private key and signed certificate + """ + + pkey = createKeyPair(type, bits) + req = createCertRequest(pkey, subject) + + if capkey and cacert: + # Certificate will be signed by an Autority + capkey = crypto.load_privatekey(crypto.FILETYPE_PEM, capkey, capassphrase) + cacert = crypto.load_certificate(crypto.FILETYPE_PEM, cacert) + else: + # Self signed certificate + capkey = pkey + cacert = req + + cert = createCertificate(req, (capkey, cacert), serial, (0, years*YEAR), extensions=extensions) + + if passphrase: + pkey = crypto.dump_privatekey(crypto.FILETYPE_PEM, pkey, cipher, passphrase) + else: + pkey = crypto.dump_privatekey(crypto.FILETYPE_PEM, pkey) + + cert = crypto.dump_certificate(crypto.FILETYPE_PEM, cert) + + return (pkey, cert) + +def getSubject(cert, for_win=False): + + cert = crypto.load_certificate(crypto.FILETYPE_PEM, cert) + subj = cert.get_subject() + + subject = '' + for attr in X509Attr: + value = getattr(subj, attr) + if value: + if for_win: + # Converting Attr to Windows Attr + attr = X509WinAttr[attr] + subject += '%s=%s, ' % (attr, value) + + subject = subject[:-2] + + return subject + +def convertPemToDer(pkey, cert, cipher='DES-EDE3-CBC', passphrase=''): + """ + Convert two PEM formated strings (pkey, cert) onto two DER formated strings. + + Arguments: pkey - private key (PEM formated string) + cert - certificate (PEM formated string) + cipher - (optional) if encrypted PEM format, the cipher to use, see dump_privatekey() + passphrase - (optional) if encrypted PEM format, the passphrase to use, see dump_privatekey() + + Returns: Two DER formated strings containing private key and signed certificate + """ + + pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, pkey, passphrase) + cert = crypto.load_certificate(crypto.FILETYPE_PEM, cert) + + if passphrase: + pkey = crypto.dump_privatekey(crypto.FILETYPE_ASN1, pkey, cipher, passphrase) + else: + pkey = crypto.dump_privatekey(crypto.FILETYPE_ASN1, pkey) + + cert = crypto.dump_certificate(crypto.FILETYPE_ASN1, cert) + + return (pkey, cert) + +def convertDerToPem(pkey, cert, cipher='DES-EDE3-CBC', passphrase=''): + """ + Convert two DER formated strings (pkey, cert) onto two PEM formated strings. + + Arguments: pkey - private key (DER formated string) + cert - certificate (DER formated string) + cipher - (optional) if encrypted DER format, the cipher to use, see dump_privatekey() + passphrase - (optional) if encrypted DER format, the passphrase to use, see dump_privatekey() + + Returns: Two PEM formated strings containing private key and signed certificate + """ + + pkey = crypto.load_privatekey(crypto.FILETYPE_ASN1, pkey, passphrase) + cert = crypto.load_certificate(crypto.FILETYPE_ASN1, cert) + + if passphrase: + pkey = crypto.dump_privatekey(crypto.FILETYPE_PEM, pkey, cipher, passphrase) + else: + pkey = crypto.dump_privatekey(crypto.FILETYPE_PEM, pkey) + + cert = crypto.dump_certificate(crypto.FILETYPE_PEM, cert) + + return (pkey, cert) + +def dump_pkcs12(pkey, cert, cacert='', passphrase=''): + """ + + """ + + # Storing all the params to a temp file + temp_file = '/tmp/pkcs12' + + pkcs12 = pkey + cert + cacert + + f = open(temp_file, 'w') + f.write(pkcs12) + f.close() + chmod(temp_file, 0600) + + # Create pkcs12 file with openssl + cmd = 'openssl pkcs12 -export -in %s -passout pass:"%s"' % (temp_file, passphrase) + + exitcode, pkcs12 = execute_cmd(cmd) + remove(temp_file) + + if exitcode: + return pkcs12 + + return None + +def newCertificate(db, ip): + + serial = db.get_last_serial_cert() + ca = db.get_certificate(serial=0) + + # Creating the certificate for the ip + serial += 1 + subject = config['SSL_DEFAULT'] + subject['CN'] = ip + extensions = (('nsCertType', False, 'client'), + ('keyUsage', False, 'dataEncipherment'), + ('extendedKeyUsage', False, 'clientAuth,1.3.6.1.4.1.311.10.3.4.1')) + pkey, cert = createSignedCertificate(subject, serial, extensions=extensions, bits=1024, capkey=ca['private_key'], cacert=ca['certificate'], capassphrase=config['SSL_CA_PASS']) + + # Adding it to the database + db_cert = {} + db_cert['serial'] = serial + db_cert['private_key'] = pkey + db_cert['certificate'] = cert + + return db.set_certificate(db_cert) + +def getPKCS12(db, reservation_id): + + ca = db.get_certificate(serial=0) + reservation = db.get_reservation(reservation_id=reservation_id) + certificate = db.get_certificate(certificate_id=reservation['certificate_id']) + + pkcs12 = dump_pkcs12(certificate['private_key'], certificate['certificate'], ca['certificate']) + + return pkcs12 + +def revokeCertificate(db, certificate_id): + + return True + +def init(db): + + db.delete_certificates() + + # Creating the CA + serial = 0 + subject = config['SSL_DEFAULT'] + extensions = (('basicConstraints', True, 'CA:true'), + ('nsCertType', False, 'objCA,sslCA,objsign,client,server'), + ('keyUsage', False, 'keyCertSign,cRLSign,nonRepudiation,keyEncipherment,dataEncipherment'), + ('extendedKeyUsage', False, 'clientAuth,serverAuth,1.3.6.1.4.1.311.10.3.4.1')) # 1.3.6.1.4.1.311.10.3.4.1 is for VPN + + capkey, cacert = createSignedCertificate(subject, serial, extensions=extensions, passphrase=config['SSL_CA_PASS']) + + # Adding it to the database + db_cert = {} + db_cert['serial'] = serial + db_cert['private_key'] = capkey + db_cert['certificate'] = cacert + if not db.set_certificate(db_cert): + return False + + # Creating the certificate for the WebServer + serial += 1 + subject['CN'] = config['SERVER_NAME'] + extensions = (('nsCertType', False, 'server'), + ('keyUsage', False, 'keyEncipherment'), + ('extendedKeyUsage', False, 'serverAuth')) + + pkey, cert = createSignedCertificate(subject, serial, extensions=extensions, bits=1024, capkey=capkey, cacert=cacert, capassphrase=config['SSL_CA_PASS']) + + # Adding it to the database + db_cert = {} + db_cert['serial'] = serial + db_cert['private_key'] = pkey + db_cert['certificate'] = cert + if not db.set_certificate(db_cert): + return False + + try: + f = open(config['MYAP_HTTPD_PKEY'], 'w') + f.write(pkey) + f.close() + chmod(config['MYAP_HTTPD_PKEY'], 0600) + + f = open(config['MYAP_HTTPD_CERT'], 'w') + f.write(cert) + f.close() + + except: + return False + + # Creating the certificate for Racoon + serial += 1 + subject['CN'] = 'Racoon Server' + extensions = (('nsCertType', False, 'client,server'), + ('keyUsage', False, 'keyEncipherment'), + ('extendedKeyUsage', False, 'clientAuth,serverAuth,1.3.6.1.4.1.311.10.3.4.1')) + + pkey, cert = createSignedCertificate(subject, serial, extensions=extensions, bits=1024, capkey=capkey, cacert=cacert, capassphrase=config['SSL_CA_PASS']) + + # Adding it to the database + db_cert = {} + db_cert['serial'] = serial + db_cert['private_key'] = pkey + db_cert['certificate'] = cert + if not db.set_certificate(db_cert): + return False + + try: + pkey_file = join(config['SSL_TOP_DIR'], config['RACOON_PKEY']) + cert_file = join(config['SSL_TOP_DIR'], config['RACOON_CERT']) + + f = open(pkey_file, 'w') + f.write(pkey) + f.close() + chmod(pkey_file, 0600) + + f = open(cert_file, 'w') + f.write(cert) + f.close() + + except: + return False + + return True + diff --git a/util/sec/certgen_m2crypto.py b/util/sec/certgen_m2crypto.py new file mode 100755 index 00000000..220b255e --- /dev/null +++ b/util/sec/certgen_m2crypto.py @@ -0,0 +1,20 @@ +#certificate generation functions + +from M2Crypto import X509 +from M2Crypto import EVP + +def createKeyPair(type, bits): + """ + Create a public/private key pair. + + Arguments: type - Key type, must be one of TYPE_RSA and TYPE_DSA + bits - Number of bits to use in the key + Returns: The public/private key pair in a PKey object + """ + + + + + + + diff --git a/util/sec/certs/den.py b/util/sec/certs/den.py new file mode 100644 index 00000000..33cae57a --- /dev/null +++ b/util/sec/certs/den.py @@ -0,0 +1,43 @@ +import sys +from OpenSSL import crypto +from M2Crypto import X509 +sys.path.append('../') +sys.path.append('../..') +from sec import * + + + +##osaka2 = X509.load_cert_string(crypto.dump_certificate(crypto.FILETYPE_PEM, osaka_acc)) +##usersoner2 = X509.load_cert_string(crypto.dump_certificate(crypto.FILETYPE_PEM, usersoner_acc)) +## +##t1 = osaka2.as_text() +##t2 = usersoner2.as_text() +## +##res = usersoner2.verify(osaka2.get_pubkey()) +## +##print res + +#pl_pem = X509.load_cert('usersoner.cert') +#pkey = pl_pem.get_pubkey().as_pem(cipher=None) + +#from pg import DB + +#dbname = 'plDB' +#address = 'localhost' +#port = 5433 +#user = 'postgres' +#password = '111' +#cnx = DB(dbname, address, port=port, user=user, passwd=password) +#cnx.query("UPDATE planetlab$jp$osaka_sr SET pubkey = '"+pkey+"' WHERE hrn = 'usersoner'") + +#print pkey + + +planetlab_cert = crypto.load_certificate(crypto.FILETYPE_PEM, open('planetlab.cert').read()) +planetlab_pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, open('planetlab.pkey').read()) +planetlab_acc = create_acc(planetlab_cert, planetlab_pkey, planetlab_cert.get_pubkey(), 'planetlab', '28698598650165084658569185050284587399', 3) +ac1 = crypto.dump_certificate(crypto.FILETYPE_PEM, planetlab_acc) +open('planetlab_acc_file', 'w').write(ac1) + +## +##res = c1_pem2.verify(c3_pem2.get_pubkey()) diff --git a/util/sec/certs/gen.py b/util/sec/certs/gen.py new file mode 100644 index 00000000..4db23073 --- /dev/null +++ b/util/sec/certs/gen.py @@ -0,0 +1,57 @@ +import sys +from OpenSSL import crypto +sys.path.append('../') +sys.path.append('../..') +from sec import * + +#id certificates + +create_self_cert('planetlab') +create_self_cert('jp') +create_self_cert('osaka') +create_self_cert('usersoner') + +planetlab_cert = crypto.load_certificate(crypto.FILETYPE_PEM, open('planetlab.cert').read()) +jp_cert = crypto.load_certificate(crypto.FILETYPE_PEM, open('jp.cert').read()) +osaka_cert = crypto.load_certificate(crypto.FILETYPE_PEM, open('osaka.cert').read()) +usersoner_cert = crypto.load_certificate(crypto.FILETYPE_PEM, open('usersoner.cert').read()) + +planetlab_pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, open('planetlab.pkey').read()) +jp_pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, open('jp.pkey').read()) +osaka_pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, open('osaka.pkey').read()) +usersoner_pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, open('usersoner.pkey').read()) + +#accounting certificates + +planetlab_acc = create_acc(planetlab_cert, planetlab_pkey, planetlab_cert.get_pubkey(), 'planetlab', '77059b82-e826-11dc-9dc2-001ec2091968') +jp_acc = create_acc(planetlab_cert, planetlab_pkey, jp_cert.get_pubkey(), 'planetlab.jp', '3fd66a4c-d574-4aa0-9ddd-3904af595bd2') +osaka_acc = create_acc(jp_cert, jp_pkey, osaka_cert.get_pubkey(), 'planetlab.jp.osaka', '05b3c29b-0dae-4a95-b92b-0e01548f61e0') +usersoner_acc = create_acc(osaka_cert, osaka_pkey, usersoner_cert.get_pubkey(), 'planetlab.jp.osaka.usersoner', '220828220198687580431599291716859620971') + +#credential certificates + +planetlab_cred = create_cred(planetlab_cert, planetlab_pkey, planetlab_cert.get_pubkey(), 'Registry credentials', '(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)#0:reg:planetlab') +jp_cred = create_cred(planetlab_cert, planetlab_pkey, jp_cert.get_pubkey(), 'Registry credentials', '(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)#0:reg:planetlab#1:reg:planetlab.jp') +osaka_cred = create_cred(jp_cert, jp_pkey, osaka_cert.get_pubkey(), 'Registry credentials', '(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)#0:reg:planetlab.jp#1:reg:planetlab.jp.osaka') +usersoner_cred = create_cred(osaka_cert, osaka_pkey, usersoner_cert.get_pubkey(), 'Registry credentials', '(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)#0:reg:planetlab.jp.osaka') + +#acc and cred files + +ac1 = crypto.dump_certificate(crypto.FILETYPE_PEM, planetlab_acc) +ac2 = crypto.dump_certificate(crypto.FILETYPE_PEM, jp_acc) +ac3 = crypto.dump_certificate(crypto.FILETYPE_PEM, osaka_acc) +ac4 = crypto.dump_certificate(crypto.FILETYPE_PEM, usersoner_acc) +#open('planetlab_acc_file', 'w').write(ac1) +#open('jp_acc_file', 'w').write(ac2+ac1) +open('osaka_acc_file', 'w').write(ac3+ac2+ac1) +open('usersoner_acc_file', 'w').write(ac4+ac3+ac2+ac1) + +cred1 = crypto.dump_certificate(crypto.FILETYPE_PEM, planetlab_cred) +cred2 = crypto.dump_certificate(crypto.FILETYPE_PEM, jp_cred) +cred3 = crypto.dump_certificate(crypto.FILETYPE_PEM, osaka_cred) +cred4 = crypto.dump_certificate(crypto.FILETYPE_PEM, usersoner_cred) +#open('planetlab_cred_file', 'w').write(cred1) +#open('jp_cred_file', 'w').write(cred2+cred1) +open('osaka_cred_file', 'w').write(cred3+cred2+cred1) +open('usersoner_cred_file', 'w').write(cred4+cred3+cred2+cred1) + diff --git a/util/sec/certs/jp.cert b/util/sec/certs/jp.cert new file mode 100644 index 00000000..5e8418d1 --- /dev/null +++ b/util/sec/certs/jp.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJqcDAeFw0wODAz +MDMwMzQ0NTBaFw0xMzAzMDIwMzQ0NTBaMA0xCzAJBgNVBAMTAmpwMIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQC5fCqy5k2JzHNLBOBf2Ptw25iyMBNu787yf0S/ +NrI9iesdV7cD2C0Jwrrn2nuur8J8CKR4gb1EKm3U6gSMnPSHM5dZ+XQN4RuGWciu +nrVQ3RdEPccvVufrzd1sB8OFeT92DPlHT85GZ4WoijH3lupaXBq9IpiQ2sC74WID +kA28ZwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFiJpvDxCK7MdCMaedh8mN6i4FVE +GKk/nES7cc5MxH3F3nvYuluew0A7l83tYwq98E9yZz593mjQHxyIAGsNFaVALkWx +ZEmK7afYTnXInTLRRZv00PuhRp+12zQ7gY2fkjYVMpgGdPB/n0NrP9pirBzEmht+ +FIudlteVKYY+VVm2 +-----END CERTIFICATE----- diff --git a/util/sec/certs/jp.pkey b/util/sec/certs/jp.pkey new file mode 100644 index 00000000..d3273ff1 --- /dev/null +++ b/util/sec/certs/jp.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC5fCqy5k2JzHNLBOBf2Ptw25iyMBNu787yf0S/NrI9iesdV7cD +2C0Jwrrn2nuur8J8CKR4gb1EKm3U6gSMnPSHM5dZ+XQN4RuGWciunrVQ3RdEPccv +Vufrzd1sB8OFeT92DPlHT85GZ4WoijH3lupaXBq9IpiQ2sC74WIDkA28ZwIDAQAB +AoGBALdJMwhE+ynHlcXzs6QCzbPfyyuIxitBXMXTbSNl8QtOVb5RBtANtbOHcRna +k40ysIPQJnXN/jB1nMJf3M716cpgOeBwECVLkGVpq7zTYsWdeh7lTEOh/aUbDgKZ +nOnGqogKGaiQ92Fhs7ImyCHyb6e8SdFFHi1BAGGXQ5P0QXHBAkEA6fWvv/5fn7Jy +2UyKMqO6LxGL08nzIzJNLU36WCTFfuFlXeQpoSZ7QqDCkZUY3zHNo4p5nBSzju4+ +lmczfIWhiwJBAMr1b317SeV8viOpn8rpfB0/IhLZ8EdPwsVsEMpIDcqpJZHCiLBl +HrEQtu+PJGBN93gznR8rJgEKK3tYQBc99BUCQQDgwpbE66sR0G1lNJLPc1s6PLEI +Fcru1TQvgeovI6RX8FFhkgAsQLvJlodVNNdgFIhpxG5v87NMbLTT6PEdf4NhAkAE +QIIWcefJbASbwKj9WkjkX/c5x+EVzWD6O9paMoo/ba3A0P+GGog7E2uRt0D+14NQ +vFwVVBUWvnzMt7uYAQ9FAkA7XNbDWBeW/7zIt9yrTx+dM+xN2fftV7RxMB1pSSEP +Ugsm2nyCj6ZuEhHn8PjB9+bNfK/PrGC/qjTDyPH+zvYp +-----END RSA PRIVATE KEY----- diff --git a/util/sec/certs/planetlab.cert b/util/sec/certs/planetlab.cert new file mode 100644 index 00000000..4fd627f8 --- /dev/null +++ b/util/sec/certs/planetlab.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyMTIyMDE0MVoXDTEzMDMyMDIyMDE0MVowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4nsgYgX1n8mUs0dPb +krTFtThw5ULBPr45s7Al0tsaG80I/UpjZG07Q4QnaEfFu/2xWBsAC0S5HopbSS3w +Ykr+OkQO4DNV0+RwRhGqHamhnjSl7Ar9svHzzgIFujl9vQdqoWzWXzW2eDkbtqb8 +elDnit1bwCC2yrRNoivuAFFSsQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAKWSfdwa +bMWqViR5/aRR8tD6mQ7jwhKA6glr7vSCWvdKsHhKSZd2NrpCnyP5ew1c4E0XKwU0 +TPLwLDsIMUcy0lSojjAETy7mrIHlqPxCL8WP9Wp7U9No8jVbe1E/i89a/qahhL7v +fvA5Nb91VeJXaE2hr7bG6so6aG8WIMm90d4A +-----END CERTIFICATE----- diff --git a/util/sec/certs/planetlab.pkey b/util/sec/certs/planetlab.pkey new file mode 100644 index 00000000..c292395e --- /dev/null +++ b/util/sec/certs/planetlab.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC4nsgYgX1n8mUs0dPbkrTFtThw5ULBPr45s7Al0tsaG80I/Upj +ZG07Q4QnaEfFu/2xWBsAC0S5HopbSS3wYkr+OkQO4DNV0+RwRhGqHamhnjSl7Ar9 +svHzzgIFujl9vQdqoWzWXzW2eDkbtqb8elDnit1bwCC2yrRNoivuAFFSsQIDAQAB +AoGAR6gxZ/mSkC7wACZtAXN+wKInBwKlF1ZgBQtuWi/uJMMXoN6W6d8H2pHJEHaU +LPZbcGMPD8RP5z4oW2ga8YtlKYD2tKqulXm07yMIpbLs4+3FgFHzN4H5lCb511Zq +EdVKtXAxp2X+H0wGB4g26UqvSp8/Kp4x2u63X48+5aRjODECQQDZ5WGrJFDLmHWt +6NcvYYiJJ0jGwve8iRsVBOqT8wiAQ+7QFfnlnrwLxOsm2qCZokFrFmx0YnYmZ27y +uaAI9TydAkEA2Oe7op+wcN5Xpa19yGy4/mnsGfGbxkWucBWmMTiJbq0NtSYdbAnL +4DUnG+0SdtpA5OoXBnUQs2nXcWq/YCDQJQJAZCEIdMDHcAerbDNnTxqex4gJ5WyK +s1S94TbVJQ+1hFuzTmQK5f2/pBjlhoFI89CgBznStNjaOmOllFzAsd0f8QJBAJ80 +X/W6bkA6Am0ZzVQZ8SLTzjcwrpy2MpYUXdqM29r/bCtFIZ1WB222tdD6jm3sPmuH +IoVb0XlOu5KEvpkpHH0CQHnzGFbx4gj5fGanVgyMjd6FY0vJO15vpsrmAeYDbVfT +4FeaALZcN5oA6xaD5xxL2+tvw7j/oy9UtMQRrcKYmcM= +-----END RSA PRIVATE KEY----- diff --git a/util/sec/certs/usersoner.cert b/util/sec/certs/usersoner.cert new file mode 100644 index 00000000..71975046 --- /dev/null +++ b/util/sec/certs/usersoner.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJdXNlcnNvbmVy +MB4XDTA4MDMwMzAzNDQ1MVoXDTEzMDMwMjAzNDQ1MVowFDESMBAGA1UEAxMJdXNl +cnNvbmVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9ax+M8gWEr1PsgPJM +KP8nHWRJBnevXxMLmpFfz8kzC2CY1PQ3VzGClyp6v3ryv/Tp9W+otE7M9SCMx+aG +ibTRMJFnYag1VJyIywX72fDuMTlvS3SMz1NPsda7PzqhmyRiE8c5wlgQWSNktker +/wmEN2qfIC+ufBVsslsehkpkQQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGT7dqbw +wHNi33eT33qneUdbfYWH+fDM2sTIdiQXYhcBEyXXWwHNlW46sq/aCol8uSNhEjbK +rDzAfGsIqNAeBHBeuG5FgEqt0mOtglyjqQ82v6keayIOYIUJ3f7Vw7YorPyGs8x7 +SxYqbGOvuPHnItV507Orj/fQOXW1ZerYFhrk +-----END CERTIFICATE----- diff --git a/util/sec/sec.py b/util/sec/sec.py new file mode 100644 index 00000000..b7261de9 --- /dev/null +++ b/util/sec/sec.py @@ -0,0 +1,658 @@ +import os, sys +from OpenSSL import crypto +from M2Crypto import X509 +from M2Crypto import SSL +sys.path.append('../') +from certgen import * +from util import * +from db import * +from tree import * + +CRED_GRANT_TIME = 3600000 #in seconds +ACC_GRANT_TIME = 10000000 +TOP_LEVEL_CERTS_DIR = "trusted_certs" +MAX_CERT_SIZE = 1024 +MAX_CERT_CHAIN = 9 + +creds= ["","","","","","","","","","","","","","","","","","","","","","","","",""] +creds[0] = "register" +creds[1] = "remove" +creds[2] = "remove_self" +creds[3] = "update" +creds[4] = "update_self" +creds[5] = "lookup" +creds[6] = "lookup_self" +creds[7] = "list" +creds[8] = "getCredential" +creds[9] = "getAccounting" +creds[10] = "getTicket" # = embed privilege in the docs +creds[11] = "splitTicket" +creds[12] = "redeemTicket" +creds[13] = "stop" +creds[14] = "start" +creds[15] = "delete" +creds[16] = "listSlices" +creds[17] = "getStatus" +creds[18] = "getSlice" +creds[19] = "refresh" +creds[20] = "delegate" +creds[21] = "instantiate" +creds[22] = "bind" +creds[23] = "control" + +class PeerInfo : + def __init__(self): + self.cert = None + self.acc = Accounting() #accounting information + self.cred = Credential() #credential information + +#info_certs looks like: [{'hrn':None, 'uuid':0}] +class Accounting: + def __init__(self): + self.info_certs = [] + self.cert_chain = [] + def get_hrn(self): + return self.info_certs[0]['hrn'] + def get_uuid(self): + return self.info_certs[0]['uuid'] + +#info_certs looks like: [{'operation_set':None, 'on_interfaces':None}] +#operation_set looks like: [0:['register','update','update_self',..], 1:['getTicket', 'splitTicket',..],..] +#on_interfaces looks like: [{'lbl':0, 'name':'planetlab.jp.jaist', 'type':'registry'},..{}] +class Credential: + def __init__(self): + self.info_certs = [] #list of operations and list of sites on which operations can be performed + self.cert_chain = [] + def get_cred(self): + return self.info_certs[0] + +#type: 'accounting' or 'credential' +#folder: directory of that the certificate should reside +#reg_type: 'slice' or 'component' +#hrn: name of the object to get certificates for +#server: the server instance to do operations calls with in the internal tree +#internal_tree: tree for internal cert renewals +#auth_addr: authority to ask for certificates +#sec: security module to perform auth. protocol with the remote peer +#return 0: no renewal done, 1: renewal done, None: error +def renew_cert(type, folder, reg_type, hrn, server, internal_tree, auth_addr, sec): + #check if necessary to renew + if type == 'accounting': + fname = folder+'/acc_file' + else: + fname = folder+'/cred_file' + if os.path.exists(fname) and is_valid_chain(fname): + return 0 + else: + parent_hrn = obtain_authority(hrn) + hrn_suffix = get_leaf(hrn) + id_file = folder+'/'+hrn_suffix+'.cert' + #check the id file + if not os.path.exists(folder) or not os.path.exists(id_file): + print 'Id file for '+hrn+' does not exist.\n' + return None + #decide if remote call + remote = True + if internal_tree: + dbinfo = determine_dbinfo(parent_hrn, internal_tree) + if dbinfo: + remote = False + if not remote: + if type == 'accounting': + #obtain the accounting from parent, write to file + g = {"hrn":""} + g["hrn"] = parent_hrn + g['registry'] = reg_type + g["account_name"] = hrn + p = {} + record = {'g_params':g, 'p_params':p} + dbinfo = determine_dbinfo(parent_hrn, internal_tree) + parentkeyinfo = internal_tree.determine_keyinfo(parent_hrn, server, type) + open(fname, 'w').write(server.getAccounting(record, dbinfo, parentkeyinfo, X509.load_cert(id_file))) + else: + #obtain the credential from parent, write to file + g = {"hrn":""} + g["hrn"] = parent_hrn + if reg_type == 'slice': + g['cred_name'] = 'registry:slc' + else: + g['cred_name'] = 'registry:comp' + p = {} + record = {'g_params':g, 'p_params':p} + dbinfo = determine_dbinfo(parent_hrn, internal_tree) + id = crypto.load_certificate(crypto.FILETYPE_PEM, open(id_file).read()) + peerinfo = [hrn, id] + parentkeyinfo = internal_tree.determine_keyinfo(parent_hrn, server, type) + open(fname, 'w').write(server.getCredential(record, dbinfo, parentkeyinfo, peerinfo)) + else: #if not local call + if obtain_authority(hrn) == '': #we are at the root + id_key_file = folder+'/'+hrn_suffix+'.pkey' + id_cert = crypto.load_certificate(crypto.FILETYPE_PEM, open(id_file).read()) + id_pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, open(id_key_file).read()) + peer_cred_str = open(fname).read() + c_pem = X509.load_cert_string("-----BEGIN CERTIFICATE-----"+peer_cred_str.split("-----BEGIN CERTIFICATE-----")[1]) + if type == 'accounting': + cert_uuid = c_pem.get_ext("subjectAltName").get_value().split('http://')[1].split('#')[2].split('uuid:')[1] + acc = create_acc(id_cert, id_pkey, id_cert.get_pubkey(), hrn, cert_uuid) + open(fname, 'w').write(crypto.dump_certificate(crypto.FILETYPE_PEM, acc)) + else: + rights = c_pem.get_ext("subjectAltName").get_value().split('http://')[1].split('credential_set:')[1] + cred = create_cred(id_cert, id_pkey, id_cert.get_pubkey(), 'Registry credentials', rights) + open(fname, 'w').write(crypto.dump_certificate(crypto.FILETYPE_PEM, cred)) + else: + operation = '' + g = {"hrn":obtain_authority(hrn)} + if type == 'accounting': + operation = "getAccounting"; + #geni parameters + g['registry'] = reg_type + g["account_name"] = hrn + else: + operation = "getCredential" + #geni parameters + if reg_type == 'slice': + g['cred_name'] = 'registry:slc' + else: + g['cred_name'] = 'registry:comp' + p = {} + message = {'opname':operation, 'g_params':g, 'p_params':p} + #connect to authority + server = SSL.Connection(sec.ctx) + server.connect(auth_addr) + peer = sec.auth_protocol(server) + #do the query and get the result + server.write(str(message)) + result = server.read(MAX_CERT_SIZE*MAX_CERT_CHAIN) + open(fname, 'w').write(result) + return 1 + +#obtains a data structure for credentials out of a given credential string +#return info_cert: {'operation_set':{'register','remove',..}, 'on_interfaces':{{'lbl':'0', 'type':'registry:slc','name':'planetlab.jp'}, ..}} +def get_cred_info(credstr): + info_cert = {'operation_set':{}, 'on_interfaces':{}} + set = credstr.split('#')[1].split('credential_set:')[1] + set_arr = set.split(')') + for item in set_arr[0:len(set_arr)-1]: + item = item.split('(')[1].split('-') + if info_cert['operation_set'].has_key(item[1]): + info_cert['operation_set'][item[1]].append(creds[int(item[0])]) + else: + info_cert['operation_set'][item[1]] = [creds[int(item[0])]] + interface_list = [] + arr = credstr.split('#') + intlist = arr[2:len(arr)] + for interface in intlist: + iarr = interface.split(':') + newint = {'lbl':iarr[0]} + if iarr[1] == 'reg': + if iarr[2] == 'slc': + newint['type'] ='registry:slc' + else: + newint['type'] ='registry:comp' + newint['name'] = iarr[3] + elif iarr[1] == 'comp': + newint['type'] ='component' + newint['name'] = iarr[2] + interface_list.append(newint) + info_cert['on_interfaces'] = interface_list + return info_cert + +#given two credential statements, check if the first one can delegate the second one +#example: "'register' right on 'planetlab.jp' registry interface" is able to delegate a right called "'register' right on 'planetlab.jp.jaist' registry interface" +def check_delegation(info_cert1, info_cert2): + passed = False + for interface in info_cert1['on_interfaces']: + is_reg = interface['type'] == 'registry:slc' or interface['type'] == 'registry:comp' + if is_reg and 'register' in info_cert1['operation_set'][interface['lbl']]: + found = True + for child_int in info_cert2['on_interfaces']: + if child_int['type'] == interface['type'] and not check_authority(child_int['name'],interface['name']): + found = False + if found: + passed = True + break + return passed + + """ +Create a credential certificate given the parameters: + 'authcert': the authority certificate + 'authkey': the authority key + 'pubkey': the public key belonging to the object to which the credential will be granted + 'cname': the name of the credential being generated. It should be 'registry credentials' or a silce name like 'planetlab.jp.slice1' + 'rights': - the sequence representing the set of operations/rights on specific interfaces + ex: (2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-0)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)#0:reg:planetlab.jp#1:reg:planetlab.jp.jaist + 'time': time in seconds how long the life of credential is +""" +def create_cred(authcert, authkey, pubkey, cname, rights, time=CRED_GRANT_TIME): + #calculate the credset + if rights == "slice": + rights = "(10-1)(11-1)(12-1)(13-1)(14-1)(15-1)(16-1)(17-1)(18-1)(23-1)" + elif rights == "SA": + rights = "(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)(16-1)(17-1)(18-1)(19-1)" + elif rights == "MA": + rights = "(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)(16-1)(17-1)(18-1)" + else: + # check if the rights is in correct format ###################### + rights = rights + #create the CSR for the credential certificate + key = createKeyPair(TYPE_RSA, 1024) + certReq = createCertRequest(key, {"CN" : cname}) + certReq.set_pubkey(pubkey) + #create the credential certificate, return + content = "#credential_set:"+rights + ext = ("subjectAltName", 1, "URI:http://"+content) + exts = [ext] + cert = createCertificate(certReq, (authcert, authkey), 0, (0, int(time)), exts) + return cert + +""" +Create an accountability certificate given the parameters: + 'authc': the name of the authority certificate file + 'authk': the name of the authority key file + 'pubkey': the name of the GID file belonging to the object to which the accountability will be assigned + 'name': the name of the object, which is the accountability information itself + 'uuid': the uuid of the object + 'time': the date and time when the life of accounting information +""" +def create_acc(authcert, authkey, pubkey, name, uuid, time=ACC_GRANT_TIME): + #create the CSR for the credential certificate + key = createKeyPair(TYPE_RSA, 1024) + certReq = createCertRequest(key, {"CN" : "GENI Accounting"}) + certReq.set_pubkey(pubkey) + #create the accountability certificate, write into file + content = "#hrn:"+name+"#uuid:"+uuid + ext = ("subjectAltName", 1, "URI:http://"+content) + exts = [ext] + cert = createCertificate(certReq, (authcert, authkey), 0, (0, int(time)), exts) + return cert + +""" +Create self signed certificate and private key. +""" +def create_self_cert(name): + key = createKeyPair(TYPE_RSA, 1024) + certReq = createCertRequest(key, {"CN":name}) + cert = createCertificate(certReq, (certReq, key), 0, (0, 60*60*24*365*5)) # five years + open(name+'.pkey', 'w').write(crypto.dump_privatekey(crypto.FILETYPE_PEM, key)) + open(name+'.cert', 'w').write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert)) + +def verify_callback(preverify_ok, ctx): + return 1 + +class Sec: + def __init__(self, mode, id_file, id_key_file, acc_file, cred_file): + self.top_level_certs = [] + self.mode = mode + file_list = os.listdir(TOP_LEVEL_CERTS_DIR) + for auth_file in file_list: + self.top_level_certs.append(X509.load_cert(TOP_LEVEL_CERTS_DIR+"/"+auth_file)) + + self.id_file = id_file + self.id_key_file = id_key_file + self.my_cert = crypto.load_certificate(crypto.FILETYPE_PEM, open(id_file).read()) + self.my_key = crypto.load_privatekey(crypto.FILETYPE_PEM, open(id_key_file).read()) + self.acc_file = acc_file + self.cred_file = cred_file + #ssl parameters + self.ctx = SSL.Context() + self.ctx.load_cert(self.id_file,self.id_key_file) + self.ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, depth=9, callback=verify_callback) + + # - exchange the accounting chains, store peer's accounting in peer.acc + # - check TTLs in certificates + # - check validity of the chain, but do not check top level's trustedness + #return 1: means there is a structural error in the chain + #return 2: one of the TTLs in the chain not valid + #return 3: public keys do not form a valid chain + def exchange_accounting(self, conn, peer): + peer_acc_str=None + if self.mode == 'server': + #receive acc chain + peer_acc_str = conn.read(MAX_CERT_SIZE*MAX_CERT_CHAIN) + #send the acc chain + acc_str = open(self.acc_file).read() #read the certificate chain from file + conn.write(acc_str) + elif self.mode == 'client': + #send the acc chain + acc_str = open(self.acc_file).read() #read the certificate chain from file + conn.write(acc_str) + #receive acc chain + peer_acc_str = conn.read(MAX_CERT_SIZE*MAX_CERT_CHAIN) + + #construct peer_acc data structure + peer_acc = peer.acc + if peer_acc_str[0:27] != "-----BEGIN CERTIFICATE-----": + peer_acc.info_certs = "anonymous" + else: + try: + #divide the received chain into certificates + arr = peer_acc_str.split("-----BEGIN CERTIFICATE-----") + arr = arr[1:len(arr)] + for i in range(len(arr)): + arr[i] = "-----BEGIN CERTIFICATE-----"+arr[i] + for c_str in arr: + c_pem = X509.load_cert_string(c_str) + hrn = c_pem.get_ext("subjectAltName").get_value().split('http://')[1].split('#')[1].split('hrn:')[1] + uuid = c_pem.get_ext("subjectAltName").get_value().split('http://')[1].split('#')[2].split('uuid:')[1] + peer_acc.info_certs.append({'hrn':hrn, 'uuid':uuid}) + peer_acc.cert_chain.append(c_pem) + except: + print "No valid chain received.\n" + return 1 + #if structure is ok, go on with other checks + ttl_ok = True + chain_ok = True + #check ttl for the first certificate in the chain: + if not (check_valid(peer_acc.cert_chain[0])): + ttl_ok = False + prevCert = None + curCert = None + for i in range(1, len(peer_acc.cert_chain)): + prevCert = peer_acc.cert_chain[i-1] + curCert = peer_acc.cert_chain[i] + #check ttl + if not check_valid(curCert): + ttl_ok = False + #chain validity checks + if not prevCert.verify(curCert.get_pubkey()) : + chain_ok = False + if ttl_ok == False: + return 2 + elif chain_ok == False: + return 3 + return 0 + + # - check the pubkey of first certificate if it matches the peer public key + # - check the name hierarchy + # - check the top level authority's trustedness + # return 0: accounting verified + # return 1: pubkey does not match peer pubkey + # return 2: name hierarch does not imply hrn + # return 3: top level authority is unknown + # return 4: unidentified error + def verify_accounting(self, peer): + pubkey_ok = True + hierarchy_ok = True + trusted_auth = True + + if peer.acc.info_certs == 'anonymous': + return 0 + try: + #check the pubkey of the peer + if peer.acc.cert_chain[0].get_pubkey().as_pem(cipher=None) != peer.cert.get_pubkey().as_pem(cipher=None): + pubkey_ok = False + else: + #check the name hierarchy + for i in range(len(peer.acc.info_certs)-1): + if check_authority(peer.acc.info_certs[i]['hrn'], peer.acc.info_certs[i+1]['hrn']) == False: + hierarchy_ok = False + + #check if the certificate ends with a sign of a trusted top level authority + if hierarchy_ok: + found = False + last_cert_pubkey_pem = peer.acc.cert_chain[len(peer.acc.cert_chain)-1].get_pubkey().as_pem(cipher=None) + for cert in self.top_level_certs: + auth_pubkey_pem = cert.get_pubkey().as_pem(cipher=None) + if last_cert_pubkey_pem == auth_pubkey_pem: + found = True + break + if not found: + trusted_auth = False + + if pubkey_ok == False: + return 1 + elif hierarchy_ok == False: + return 2 + elif trusted_auth == False: + return 3 + return 0 + except: + return 4 + + # - exchange the credential chains, store peer's credential in peer.cred + # - check TTLs in certificates + # - check validity of the chain, but do not check top level's trustedness + #return 1: means there is a structural error in the chain + #return 2: one of the TTLs in the chain not valid + #return 3: public keys do not form a valid chain + def exchange_credential(self, conn, peer): + peer_cred_str = None + if self.mode == 'server': + #receive cred chain + peer_cred_str = conn.read(MAX_CERT_SIZE*MAX_CERT_CHAIN) + #send the cred chain + cred_str = open(self.cred_file).read() #read the certificate chain from file + conn.write(cred_str) + elif self.mode == 'client': + #send the cred chain + cred_str = open(self.cred_file).read() #read the certificate chain from file + conn.write(cred_str) + #receive cred chain + peer_cred_str = conn.read(MAX_CERT_SIZE*MAX_CERT_CHAIN) + + #construct peer_cred data structure + peer_cred = peer.cred + if peer_cred_str[0:27] != "-----BEGIN CERTIFICATE-----": + peer_cred.info_certs = "no_credential" + else: + try: + #divide the received chain into certificates + arr = peer_cred_str.split("-----BEGIN CERTIFICATE-----") + arr = arr[1:len(arr)] + for i in range(len(arr)): + arr[i] = "-----BEGIN CERTIFICATE-----"+arr[i] + for c_str in arr: + c_pem = X509.load_cert_string(c_str) + credstr = c_pem.get_ext("subjectAltName").get_value().split('http://')[1] + peer_cred.info_certs.append(get_cred_info(credstr)) + peer_cred.cert_chain.append(c_pem) + except: + print "No valid chain received.\n" + return 1 + #if structure is ok, go on with other checks + ttl_ok = True + chain_ok = True + #check ttl for the first certificate in the chain: + if not (check_valid(peer_cred.cert_chain[0])): + ttl_ok = False + prevCert = None + curCert = None + for i in range(1, len(peer_cred.cert_chain)): + prevCert = peer_cred.cert_chain[i-1] + curCert = peer_cred.cert_chain[i] + #check ttl + if not check_valid(curCert): + ttl_ok = False + #chain validity check + if not prevCert.verify(curCert.get_pubkey()) : + chain_ok = False + if ttl_ok == False: + return 2 + elif chain_ok == False: + return 3 + return 0 + + # - check the pubkey of first certificate if it matches the peer public key + # - check the delegation hierarchy: the delegated rights must be granted by an authority of the entity + # - check the top level authority's trustedness + # return 0: credential verified + # return 1: pubkey does not match peer pubkey + # return 2: delegation hierarchy is invalid + # return 3: top level authority is unknown + # return 4: unidentified error + def verify_credential(self, peer): + pubkey_ok = True + hierarchy_ok = True + trusted_auth = True + + if peer.cred.info_certs == 'no_credential': + return 0 + try: + #check the pubkey of the peer + if peer.cred.cert_chain[0].get_pubkey().as_pem(cipher=None) != peer.cert.get_pubkey().as_pem(cipher=None): + pubkey_ok = False + else: + #check the delegation hierarchy + for i in range(len(peer.cred.info_certs)-1): + if not check_delegation(peer.cred.info_certs[i+1], peer.cred.info_certs[i]) : + hierarchy_ok = False + + #check if the certificate ends with a sign of a trusted top level authority + if hierarchy_ok: + found = False + last_cert_pubkey_pem = peer.cred.cert_chain[len(peer.cred.cert_chain)-1].get_pubkey().as_pem(cipher=None) + for cert in self.top_level_certs: + auth_pubkey_pem = cert.get_pubkey().as_pem(cipher=None) + if last_cert_pubkey_pem == auth_pubkey_pem: + found = True + break + if not found: + trusted_auth = False + + if pubkey_ok == False: + return 1 + elif hierarchy_ok == False: + return 2 + elif trusted_auth == False: + return 3 + return 0 + except: + return 4 + + def check_authorization(self, acc, cred, op_request): + allow = False + allow_self = False #admission for ops on only the caller itself + try: + opname = op_request['opname'] + #anonymously callable functions are allowed always + if opname == 'getCredential' or opname == 'getAccounting': + allow = True + else: + g_params = op_request['g_params'] + p_params = op_request['p_params'] + target_hrn = g_params['hrn'] + reg_type = '' + rec_type = g_params['type'] + #determine which registry the call is on (slice or component) + if rec_type == 'user' or rec_type == 'slice' or rec_type == 'SA': + reg_type = 'slc' + else: + reg_type = 'comp' + operation_set = cred.get_cred()['operation_set'] + on_interfaces = cred.get_cred()['on_interfaces'] + is_self_op = False + if opname == "update" or opname == "remove" or opname == "lookup": + is_self_op = True + #check callable operations within the credential + for interface in on_interfaces: + if interface['type'] == 'registry:'+reg_type and check_authority(target_hrn, interface['name']) and operation_set.has_key(interface['lbl']): + if opname in operation_set[interface['lbl']]: + allow = True + break + elif is_self_op and opname + '_self' in operation_set[interface['lbl']] and acc.get_hrn() == target_hrn: + allow_self = true + #if operation is allowed in name, perform additional checks for parameters + if allow or allow_self: + if opname == 'update': + if 'ttl' in g_params or 'uuid' in g_params or 'pointer' in g_params or (not allow and 'rights' in g_params): + allow = False + allow_self = False + #return result + if allow or allow_self: + return True + else: + return False + except: + return False + + def auth_protocol(self, conn): + if not conn.verify_ok(): + v = conn.get_verify_result() + print "peer verification failed\n" + + peer = PeerInfo() #keep the peer data who is currently logged in + #set the gid field + peer_pem = conn.get_peer_cert() + peer.cert = peer_pem + #set the acc field and check it + result1 = result2 = -1 + result1 = self.exchange_accounting(conn, peer) + peer_decision = None + if self.mode == 'server': + peer_decision = conn.read() + if result1 == 1: + conn.write("ACC CHAIN_STRUCTURE_ERROR") + elif result1 == 2: + conn.write("ACC TTL_EXPIRED") + elif result1 == 3: + conn.write("ACC CHAIN_VERIFY_ERROR") + else: #result = 0 + result2 = self.verify_accounting(peer) + if result2 == 1: + conn.write("ACC SSL_PUBKEY_MISMATCH") + elif result2 == 2: + conn.write("ACC HRN_HIERARCHY_MISMATCH") + elif result2 == 3: + conn.write("ACC UNKNOWN_AUTHORITY") + elif result2 == 4: + conn.write("ACC UN-IDENTIFIED_ERROR") + else: + conn.write("ACC OK") + if self.mode == 'client': + peer_decision = conn.read() + if (result1 != 0) or (result2 != 0) or peer_decision != "ACC OK" : + #close the connection and exit + conn.close() + return None + + #set the credential field and check it + result1 = result2 = -1 + result1 = self.exchange_credential(conn,peer) + peer_decision = None + if self.mode == 'server': + peer_decision = conn.read() + if result1 == 1: + conn.write("CRED CHAIN_STRUCTURE_ERROR") + elif result1 == 2: + conn.write("CRED TTL_EXPIRED") + elif result1 == 3: + conn.write("CRED CHAIN_VERIFY_ERROR") + else: #result1 = 0 + result2 = self.verify_credential(peer) + if result2 == 1: + conn.write("CRED SSL_PUBKEY_MISMATCH") + elif result2 == 2: + conn.write("CRED INVALID_DELEGATION") + elif result2 == 3: + conn.write("CRED UNKNOWN_AUTHORITY") + elif result2 == 4: + conn.write("CRED UN-IDENTIFIED_ERROR") + else: + conn.write("CRED OK") + if self.mode == 'client': + peer_decision = conn.read() + if (result1 != 0) or (result2 != 0) or peer_decision != "CRED OK" : + #close the connection and exit + conn.close() + return None + return peer + +def is_valid_chain(chain_file): + chain_str = open(chain_file).read() + if chain_str[0:27] != "-----BEGIN CERTIFICATE-----": + return False + try: + #divide the received chain into certificates + arr = chain_str.split("-----BEGIN CERTIFICATE-----") + arr = arr[1:len(arr)] + for i in range(len(arr)): + arr[i] = "-----BEGIN CERTIFICATE-----"+arr[i] + arr2 = [] + for c_str in arr: + c_pem = X509.load_cert_string(c_str) + if not check_valid(c_pem): + return False + return True + except: + return False + diff --git a/util/sec/sec.pyc b/util/sec/sec.pyc new file mode 100644 index 00000000..fd2b7be0 Binary files /dev/null and b/util/sec/sec.pyc differ diff --git a/util/tree.py b/util/tree.py new file mode 100644 index 00000000..5f906e76 --- /dev/null +++ b/util/tree.py @@ -0,0 +1,447 @@ +import os, sys +import uuid +sys.path.append('./sec') +from util import * +from excep import * +from sec import * +from db import * +from pl_to_geni import * + +ROOT_AUTH = 'planetlab' #need to know the higher most node + +class TreeNodeInfo: + def __init__(self): + self.name = '' # hrn + self.login_base = None + self.node_data = None + def serial(self): + dic = {'name':self.name, 'login_base':self.login_base, 'node_data':None} + if self.node_data: + dic['node_data'] = {} + if self.node_data.has_key('key_info'): + dic['node_data']['key_info'] = self.node_data['key_info'].serial() + if self.node_data.has_key('db_info'): + dic['node_data']['db_info'] = self.node_data['db_info'].serial() + return dic + +class KeyInfo: + def __init__(self): + self.folder = '' + self.id_file = '' + self.id_key_file = '' + self.acc_file = '' + self.cred_file = '' + self.last_update = '' + def serial(self): + return {'folder': self.folder, 'id_file': self.id_file, 'id_key_file': self.id_key_file, 'acc_file': self.acc_file, 'cred_file': self.cred_file, 'last_update': self.last_update} + +class DbInfo: + def __init__(self): + self.table_name = '' #ex: planetlab.br_sr + self.db_name = '' #ex: plDB + self.address = '' + self.port = 0 + self.user = '' + self.password = '' + def serial(self): + return {'table_name':self.table_name, 'db_name':self.db_name, 'address':self.address, 'port':self.port, 'user':self.user, 'password':self.password} + +class TreeNode: + def __init__(self): + self.info = None + self.children = [] + def serial(self): + children = [] + if len(self.children)>0: + for c in self.children: + children.append(c.serial()) + if self.info: + return {'children':children, 'info':self.info.serial()} + else: + return {'children':children, 'info':None} + +class InterfaceTree: + def __init__(self, type, filename, auth_addr): + #the tree for keeping the site names managed by this interface instance + self.my_tree = None + self.type = type + self.filename = filename + self.auth_addr = auth_addr + self.tree_init() + + #check a hrn if exists in the tree, return the info of it, if not found return None + #hrn:string + def tree_lookup(self, hrn) : + tree= self.my_tree + if not tree: #tree empty + return None + found = True + hrn_arr = geni_to_arr(hrn) + tmp_tree = tree + if tmp_tree.info.name != hrn_arr[0] : + found = False + else : + cur_name = hrn_arr[0] + '' + for i in range(1, len(hrn_arr)): + cur_name = cur_name + '.' + hrn_arr[i] + child_found = False + child = {} + for j in range(len(tmp_tree.children)) : + if tmp_tree.children[j].info.name == cur_name : + child_found = True + child = tmp_tree.children[j] + break + if child_found == False: + found = False + break + else: + tmp_tree = child + if found == True: + return tmp_tree.info + else: + return None + + def is_leaf(self, hrn): + tree= self.my_tree + if not tree: #tree empty + return None + found = True + hrn_arr = geni_to_arr(hrn) + tmp_tree = tree + if tmp_tree.info.name != hrn_arr[0] : + found = False + else : + cur_name = hrn_arr[0] + '' + for i in range(1, len(hrn_arr)): + cur_name = cur_name + '.' + hrn_arr[i] + child_found = False + child = {} + for j in range(len(tmp_tree.children)) : + if tmp_tree.children[j].info.name == cur_name : + child_found = True + child = tmp_tree.children[j] + break + if child_found == False: + found = False + break + else: + tmp_tree = child + if found == True: + return tmp_tree.children == [] + else: + return None + + #add a new branch into the tree, branch is indicated by info + #info: TreeNodeInfo + def tree_add(self, info): + tree= self.my_tree + inserted = False + hrn_arr = geni_to_arr(info.name) + tmp_tree = tree + + if hrn_arr == []: + raise TreeException("Wrong input hrn: "+info.name) + else: + if tree == None: + if len(hrn_arr) == 1: + #insert the node + tree = TreeNode() + tree.info = info + inserted = True + else: + cur_name = hrn_arr[0] + '' + if tmp_tree.info.name == cur_name: + for i in range(1, len(hrn_arr)): + cur_name = cur_name + '.' + hrn_arr[i] + child_found = False + child = {} + for j in range(len(tmp_tree.children)) : + if tmp_tree.children[j].info.name == cur_name : + child_found = True + child = tmp_tree.children[j] + break + if child_found == False: + if len(hrn_arr) - i == 1: + #insert the remaining of hrn + new_child = TreeNode() + new_child.info = info + tmp_tree.children.append(new_child) + inserted = True + break + else: + tmp_tree = child + if inserted == False: + print "The hrn '"+info.name+"' should be at leaf position to be inserted.\n" + return inserted + + #remove the branch indicated by hrn from the tree + #hrn: string + def tree_remove(self, hrn): + tree= self.my_tree + removed = False + hrn_arr = geni_to_arr(hrn) + tmp_tree = tree + if tmp_tree.info.name == hrn_arr[0] : + cur_name = hrn_arr[0] + '' + for i in range(1, len(hrn_arr)): + cur_name = cur_name + '.' + hrn_arr[i] + child_found = False + child = {} + for j in range(len(tmp_tree.children)) : + if tmp_tree.children[j].info.name == cur_name : + child_found = True + child = tmp_tree.children[j] + break + if child_found == False: + break + else: + if i == len(hrn_arr)-1: + tmp_tree.children.remove(child) + removed = True + else: + tmp_tree = child + return removed + + #initialize the tree with the file data + def tree_init(self): + filename = self.filename + type = self.type + try: + #check if dict file exists + if not os.path.exists(filename+'_dict'): + if not os.path.exists(filename): + print 'Error: File not found.\n' + raise NonExistingFile(filename) + else: + self.__file_to_treedict(filename) + self.my_tree = self.__deserialize_tree(eval(open(filename+'_dict').read())) + else: + self.my_tree = self.__deserialize_tree(eval(open(filename+'_dict').read())) + #create the tables and key folders if they do not exist already + self.__sync_with_db_rec(type, self.my_tree) + except: + print 'Error in initialzing the tree.\n' + os._exit(1) + + def save_tree(self): + open(self.filename+'_dict', 'w').write(str(self.my_tree.serial())) + + def __sync_with_db_rec(self, type, treenode): + self.__sync_with_db(type, treenode) + for child in treenode.children: + self.__sync_with_db_rec(type, child) + + #if do not exist, creates the (key folder, private key and self signed cert) and the db table for the node, fills the table with the children info + #type: 'slice' or 'component' indicating the registry type + #hierarchy:hrn so far + #treenode: node to be synched + def __sync_with_db(self, type, treenode): + curdir = os.getcwd() + key_req = False + table_req = False + if not treenode.info.node_data: + treenode.info.node_data = {} + #create key folder, private key and self signed cert + hrn = treenode.info.name + dirname = type+'/'+(hrn).replace('.','/') + hrn_suffix = get_leaf(hrn) + if os.path.exists(dirname): + os.system('rm -rf '+dirname) + os.makedirs(dirname) + os.chdir(dirname) + create_self_cert(hrn_suffix) + k = KeyInfo() + k.folder = dirname + k.id_file = hrn_suffix+'.cert' + k.id_key_file = hrn_suffix +'.pkey' + #for the top authority create the acc and cred files + if obtain_authority(hrn) == '': + id_cert = crypto.load_certificate(crypto.FILETYPE_PEM, open(k.id_file).read()) + id_pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, open(k.id_key_file).read()) + uu_id = str(uuid.uuid4().int) + regtype = '' + if type == 'slice': + regtype = 'slc' + else: + regtype = 'comp' + rights = '(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)' + rights = rights + '#0:reg:'+regtype+':'+hrn + k.acc_file = 'acc_file' + k.cred_file = 'cred_file' + acc = create_acc(id_cert, id_pkey, id_cert.get_pubkey(), hrn, uu_id) + cred = create_cred(id_cert, id_pkey, id_cert.get_pubkey(), 'Registry credentials', rights) + open(k.acc_file, 'w').write(crypto.dump_certificate(crypto.FILETYPE_PEM, acc)) + open(k.cred_file, 'w').write(crypto.dump_certificate(crypto.FILETYPE_PEM, cred)) + treenode.info.node_data['key_info'] = k + os.chdir(curdir) + #create the table and set in the treenode data structure + suffix = '' + if type == 'slice': + suffix = SR_SUFFIX + else: + suffix = CR_SUFFIX + tablename = hrn.replace('.','$') + suffix + cnx = get_plDB_conn() + querystr = "CREATE TABLE "+tablename+" ( \ + hrn text, \ + type text, \ + uuid text, \ + userlist text, \ + rights text, \ + description text, \ + pubkey text, \ + wrapperURL text, \ + disabled text, \ + pointer integer);" + + cnx.query('DROP TABLE IF EXISTS '+tablename) #drop the table if it exists + cnx.query(querystr) + d = DbInfo() + d.table_name = tablename + get_plDB_info(d) + treenode.info.node_data['db_info'] = d + #if the authority resides in PL as site, then fill it with the PL data + if treenode.children == []: + populate_pl_data(hrn_suffix, tablename, type) + treenode.info.login_base = hrn_suffix + #insert the record into parent's table + if obtain_authority(hrn) != '': + rectype = '' + regtype = '' + if type == 'slice': + rectype = 'SA' + regtype = 'slc' + else: + rectype = 'MA' + regtype = 'comp' + uu_id = '' + if treenode.children != []: + uu_id = str(uuid.uuid4().int) + rights = '(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)' + rights = rights + '#0:reg:'+regtype+':'+obtain_authority(hrn)+'#1:reg:'+regtype+':'+hrn + id_file = treenode.info.node_data['key_info'].folder+'/'+ treenode.info.node_data['key_info'].id_file + pubkey = X509.load_cert(id_file).get_pubkey().as_pem(cipher=None) + wrapper = 'local' + pointer = -1 + if treenode.children == []: #get pointer if authority resides in PL as site + pointer = cnx.query("SELECT site_id FROM sites WHERE login_base='"+hrn_suffix+"'").dictresult()[0]['site_id'] + disabled = 'f' + record = {'hrn':get_leaf(hrn), 'type':rectype, 'uuid':uu_id, 'rights':rights, 'pubkey':pubkey, 'wrapperURL':wrapper, 'pointer':pointer, 'disabled':disabled} + querystr = generate_querystr('INSERT', obtain_authority(hrn).replace('.','$')+suffix, record) + cnx.query(querystr) + + #gets a tree in the form of a dictionary, + # ex: {'info':{'name':'planetlab', 'node_data':{'key_info':{...}, 'db_info':{...}}}, 'children':[x1, x2, ..]} + #returns the tree in the TreeNode class format + def __deserialize_tree(self, treenode_dict): + node = TreeNode() + node.info = TreeNodeInfo() + node.info.name = treenode_dict['info']['name'] + node.info.login_base = treenode_dict['info']['login_base'] + if treenode_dict['info']['node_data']: + node.info.node_data = {} + if treenode_dict['info']['node_data'].has_key('key_info'): + node.info.node_data['key_info'] = KeyInfo() + keyinf = treenode_dict['info']['node_data']['key_info'] + node.info.node_data['key_info'].folder = keyinf['folder'] + node.info.node_data['key_info'].id_file = keyinf['id_file'] + node.info.node_data['key_info'].id_key_file = keyinf['id_key_file'] + node.info.node_data['key_info'].acc_file = keyinf['acc_file'] + node.info.node_data['key_info'].cred_file = keyinf['cred_file'] + node.info.node_data['key_info'].last_update = keyinf['last_update'] + if treenode_dict['info']['node_data'].has_key('db_info'): + node.info.node_data['db_info'] = DbInfo() + dbinf = treenode_dict['info']['node_data']['db_info'] + node.info.node_data['db_info'].table_name = dbinf['table_name'] + node.info.node_data['db_info'].db_name = dbinf['db_name'] + node.info.node_data['db_info'].address = dbinf['address'] + node.info.node_data['db_info'].port = dbinf['port'] + node.info.node_data['db_info'].user = dbinf['user'] + node.info.node_data['db_info'].password = dbinf['password'] + for child in treenode_dict['children']: + node.children.append(self.__deserialize_tree(child)) + return node + + #gets a file name for tree and constructs an output file which contains the tree in dictionary format + #write to file: ex: {'info':{'name':'planetlab', 'node_data':{'key_info':{...}, 'db_info':{...}}}, 'children':[x1, x2, ..]} + def __file_to_treedict(self, filename): + lines = open(filename).readlines() + hierarchy = '' + (node, line) = self.__file_to_treedict_rec(lines, 0, hierarchy, 0) + open(filename+'_dict', 'w').write(str(node)) + + #helper function + #return: (node, line) + def __file_to_treedict_rec(self, lines, indent, hierarchy, line): + node = {'info':{'name':'', 'login_base':'', 'node_data':None}, 'children':[]} + #count #tabs + j = 0 + while lines[line][j] == '\t': + j = j+1 + if indent != j: + print 'Error in file to dictionary conversion.\n' + return None + name = lines[line].split(' ')[0] + name = name[j:len(name)] + if hierarchy == '': + node['info']['name'] = name + else: + node['info']['name'] = hierarchy + '.' + name + node['info']['login_base'] = name + #next indent count + j = 0 + if line+1 != len(lines): + while lines[line+1][j] == '\t': + j = j+1 + if j > indent+1: + print 'Error in file to dictionary conversion.\n' + return None + indent2 = j + line = line+1 + while indent2 > indent: + (child, line) = self.__file_to_treedict_rec(lines, indent2, node['info']['name'], line) + node['children'].append(child) + j = 0 + if line != len(lines): + while lines[line][j] == '\t': + j = j+1 + indent2 = j + return (node, line) + + + #determines the key info of a given hrn within the tree, performs calls back to 'server' to obtain updated certs + #if the hrn does not exist in the tree hierarchy None is returned + #server: the server instance is passed for calls to getCredential/getAccounting if necessary + #type is credential or accounting; one of them at a time is determined by the function + #returns an array containing the self-signed certificate, private key, and acc or cred chain in string + def determine_keyinfo(self, hrn, server, type): + tree = self + reg_type = self.type + info = tree.tree_lookup(hrn) + if info == None: + return None + else: + keyinfo = info.node_data['key_info'] + folder = keyinfo.folder + id_file = folder+'/'+keyinfo.id_file + id_key_file = folder+'/'+keyinfo.id_key_file + #check the id file + if not os.path.exists(folder) or not os.path.exists(id_file): + print 'Id file for '+hrn+' does not exist.\n' + return None + else: + #check acc or cred + acc_str = None + cred_str = None + renew_res = renew_cert(type, folder, reg_type, hrn, server, tree, tree.auth_addr, server.sec) + if renew_res == None: + return None + if type == 'accounting': + keyinfo.acc_file = 'acc_file' + acc_str = open(keyinfo.folder+'/'+keyinfo.acc_file).read() + else: + keyinfo.cred_file = 'cred_file' + cred_str = open(keyinfo.folder+'/'+keyinfo.cred_file).read() + id = crypto.load_certificate(crypto.FILETYPE_PEM, open(id_file).read()) + id_key = crypto.load_privatekey(crypto.FILETYPE_PEM, open(id_key_file).read()) + return [id, id_key, acc_str, cred_str] diff --git a/util/tree.pyc b/util/tree.pyc new file mode 100644 index 00000000..1a584674 Binary files /dev/null and b/util/tree.pyc differ diff --git a/util/util.py b/util/util.py new file mode 100644 index 00000000..f18fdac4 --- /dev/null +++ b/util/util.py @@ -0,0 +1,69 @@ +from excep import * +SR_SUFFIX = '_srr' +CR_SUFFIX = '_crr' + +global_sr_tree = None +global_cr_tree = None + +def set_tree_globals(tree1, tree2): + global global_sr_tree + global global_cr_tree + global_sr_tree = tree1 + global_cr_tree = tree2 + +def get_tree_globals(): + return (global_sr_tree, global_cr_tree) + +#function converts a hierarchical name from geni format to array of strings +def geni_to_arr(name): + arrayName = [] + try: + parts = name.split(".") + for i in range(len(parts)): + arrayName.append(parts[i]) + return arrayName + except: + raise MalformedHrnException(name) + +#used to parse the function name and the parameters specified in "operation_request" +def msg_to_params(str): + try: + return eval(str) + except: + raise InvalidRPCParams(str) + +#returns the authority hrn of a given 'hrn' +def obtain_authority(hrn): + parts = hrn.split(".") + auth_str = '' + if len(parts) > 1: + auth_str = parts[0]+'' + for i in range(1, len(parts)-1): + auth_str = auth_str + '.' + parts[i] + return auth_str + +#returns the last element of an hrn +def get_leaf(hrn): + parts = hrn.split(".") + return parts[len(parts)-1] + +#checks whether the 'hrn_auth' is an authority of 'hrn' +def check_authority(hrn, hrn_auth): + arr = geni_to_arr(hrn) + arr_auth = geni_to_arr(hrn_auth) + try: + for i in range(len(arr_auth)): + if arr[i] != arr_auth[i]: + return False + except: + return False + return True + +def hrn_to_tablename(hrn,type): + hrn = hrn.replace(".","$") + if type == 'slc': + hrn = hrn + SR_SUFFIX + else: + hrn = hrn + CR_SUFFIX + return hrn + diff --git a/util/util.pyc b/util/util.pyc new file mode 100644 index 00000000..72417b35 Binary files /dev/null and b/util/util.pyc differ