(no commit message)
[sfa.git] / server / jpywork / threading.java
1 import org.python.core.*;
2
3 public class threading extends java.lang.Object {
4     static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"};
5     static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"};
6     static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null};
7     
8     public static class _PyInner extends PyFunctionTable implements PyRunnable {
9         private static PyObject s$0;
10         private static PyObject i$1;
11         private static PyObject s$2;
12         private static PyObject s$3;
13         private static PyObject i$4;
14         private static PyObject s$5;
15         private static PyObject s$6;
16         private static PyObject s$7;
17         private static PyObject s$8;
18         private static PyObject s$9;
19         private static PyObject s$10;
20         private static PyObject s$11;
21         private static PyObject s$12;
22         private static PyObject s$13;
23         private static PyObject s$14;
24         private static PyObject s$15;
25         private static PyObject f$16;
26         private static PyObject f$17;
27         private static PyObject f$18;
28         private static PyObject s$19;
29         private static PyObject s$20;
30         private static PyObject s$21;
31         private static PyObject s$22;
32         private static PyObject s$23;
33         private static PyObject s$24;
34         private static PyObject s$25;
35         private static PyObject s$26;
36         private static PyObject s$27;
37         private static PyObject s$28;
38         private static PyObject s$29;
39         private static PyObject s$30;
40         private static PyObject s$31;
41         private static PyObject s$32;
42         private static PyObject s$33;
43         private static PyObject s$34;
44         private static PyObject s$35;
45         private static PyObject s$36;
46         private static PyObject s$37;
47         private static PyObject s$38;
48         private static PyObject s$39;
49         private static PyObject s$40;
50         private static PyObject s$41;
51         private static PyObject s$42;
52         private static PyObject s$43;
53         private static PyObject s$44;
54         private static PyObject s$45;
55         private static PyObject s$46;
56         private static PyObject s$47;
57         private static PyObject s$48;
58         private static PyObject s$49;
59         private static PyObject s$50;
60         private static PyObject s$51;
61         private static PyObject s$52;
62         private static PyObject s$53;
63         private static PyObject s$54;
64         private static PyObject s$55;
65         private static PyObject s$56;
66         private static PyObject s$57;
67         private static PyObject s$58;
68         private static PyObject s$59;
69         private static PyObject f$60;
70         private static PyObject s$61;
71         private static PyObject i$62;
72         private static PyObject i$63;
73         private static PyObject i$64;
74         private static PyObject s$65;
75         private static PyObject s$66;
76         private static PyObject s$67;
77         private static PyFunctionTable funcTable;
78         private static PyCode c$0___init__;
79         private static PyCode c$1__note;
80         private static PyCode c$2__Verbose;
81         private static PyCode c$3___init__;
82         private static PyCode c$4__note;
83         private static PyCode c$5__Verbose;
84         private static PyCode c$6_RLock;
85         private static PyCode c$7___init__;
86         private static PyCode c$8___repr__;
87         private static PyCode c$9_acquire;
88         private static PyCode c$10_release;
89         private static PyCode c$11__acquire_restore;
90         private static PyCode c$12__release_save;
91         private static PyCode c$13__is_owned;
92         private static PyCode c$14__RLock;
93         private static PyCode c$15_Condition;
94         private static PyCode c$16___init__;
95         private static PyCode c$17___repr__;
96         private static PyCode c$18__release_save;
97         private static PyCode c$19__acquire_restore;
98         private static PyCode c$20__is_owned;
99         private static PyCode c$21_wait;
100         private static PyCode c$22_notify;
101         private static PyCode c$23_notifyAll;
102         private static PyCode c$24__Condition;
103         private static PyCode c$25_Semaphore;
104         private static PyCode c$26___init__;
105         private static PyCode c$27_acquire;
106         private static PyCode c$28_release;
107         private static PyCode c$29__Semaphore;
108         private static PyCode c$30_Event;
109         private static PyCode c$31___init__;
110         private static PyCode c$32_isSet;
111         private static PyCode c$33_set;
112         private static PyCode c$34_clear;
113         private static PyCode c$35_wait;
114         private static PyCode c$36__Event;
115         private static PyCode c$37__newname;
116         private static PyCode c$38___init__;
117         private static PyCode c$39__set_daemon;
118         private static PyCode c$40___repr__;
119         private static PyCode c$41_start;
120         private static PyCode c$42_run;
121         private static PyCode c$43__Thread__bootstrap;
122         private static PyCode c$44__Thread__stop;
123         private static PyCode c$45__Thread__delete;
124         private static PyCode c$46_join;
125         private static PyCode c$47_getName;
126         private static PyCode c$48_setName;
127         private static PyCode c$49_isAlive;
128         private static PyCode c$50_isDaemon;
129         private static PyCode c$51_setDaemon;
130         private static PyCode c$52_Thread;
131         private static PyCode c$53___init__;
132         private static PyCode c$54__set_daemon;
133         private static PyCode c$55___MainThread__exitfunc;
134         private static PyCode c$56__MainThread;
135         private static PyCode c$57__pickSomeNonDaemonThread;
136         private static PyCode c$58___init__;
137         private static PyCode c$59__set_daemon;
138         private static PyCode c$60_join;
139         private static PyCode c$61__DummyThread;
140         private static PyCode c$62_currentThread;
141         private static PyCode c$63_activeCount;
142         private static PyCode c$64_enumerate;
143         private static PyCode c$65___init__;
144         private static PyCode c$66_put;
145         private static PyCode c$67_get;
146         private static PyCode c$68_BoundedQueue;
147         private static PyCode c$69___init__;
148         private static PyCode c$70_run;
149         private static PyCode c$71_ProducerThread;
150         private static PyCode c$72___init__;
151         private static PyCode c$73_run;
152         private static PyCode c$74_ConsumerThread;
153         private static PyCode c$75__test;
154         private static PyCode c$76_main;
155         private static void initConstants() {
156             s$0 = Py.newString("Proposed new threading module, emulating a subset of Java's threading model.");
157             i$1 = Py.newInteger(0);
158             s$2 = Py.newString("%s: %s\012");
159             s$3 = Py.newString("<%s(%s, %d)>");
160             i$4 = Py.newInteger(1);
161             s$5 = Py.newString("%s.acquire(%s): recursive success");
162             s$6 = Py.newString("%s.acquire(%s): initial succes");
163             s$7 = Py.newString("%s.acquire(%s): failure");
164             s$8 = Py.newString("release() of un-acquire()d lock");
165             s$9 = Py.newString("%s.release(): final release");
166             s$10 = Py.newString("%s.release(): non-final release");
167             s$11 = Py.newString("%s._acquire_restore()");
168             s$12 = Py.newString("%s._release_save()");
169             s$13 = Py.newString("<Condition(%s, %d)>");
170             s$14 = Py.newString("wait() of un-acquire()d lock");
171             s$15 = Py.newString("%s.wait(): got it");
172             f$16 = Py.newFloat(1.0E-6);
173             f$17 = Py.newFloat(1.0);
174             f$18 = Py.newFloat(2.0);
175             s$19 = Py.newString("%s.wait(%s): timed out");
176             s$20 = Py.newString("%s.wait(%s): got it");
177             s$21 = Py.newString("notify() of un-acquire()d lock");
178             s$22 = Py.newString("%s.notify(): no waiters");
179             s$23 = Py.newString("%s.notify(): notifying %d waiter%s");
180             s$24 = Py.newString("s");
181             s$25 = Py.newString("");
182             s$26 = Py.newString("Semaphore initial value must be >= 0");
183             s$27 = Py.newString("Thread-%d");
184             s$28 = Py.newString("group argument must be None for now");
185             s$29 = Py.newString("Thread.__init__() was not called");
186             s$30 = Py.newString("initial");
187             s$31 = Py.newString("started");
188             s$32 = Py.newString("stopped");
189             s$33 = Py.newString(" daemon");
190             s$34 = Py.newString("<%s(%s, %s)>");
191             s$35 = Py.newString("Thread.__init__() not called");
192             s$36 = Py.newString("thread already started");
193             s$37 = Py.newString("%s.start(): starting thread");
194             s$38 = Py.newString("%s.__bootstrap(): thread started");
195             s$39 = Py.newString("%s.__bootstrap(): raised SystemExit");
196             s$40 = Py.newString("%s.__bootstrap(): unhandled exception");
197             s$41 = Py.newString("Exception in thread %s:\012%s\012");
198             s$42 = Py.newString("%s.__bootstrap(): normal return");
199             s$43 = Py.newString("cannot join thread before it is started");
200             s$44 = Py.newString("cannot join current thread");
201             s$45 = Py.newString("%s.join(): waiting until thread stops");
202             s$46 = Py.newString("%s.join(): thread stopped");
203             s$47 = Py.newString("%s.join(): timed out");
204             s$48 = Py.newString("cannot set daemon status of active thread");
205             s$49 = Py.newString("MainThread");
206             s$50 = Py.newString("%s: waiting for other threads");
207             s$51 = Py.newString("%s: exiting");
208             s$52 = Py.newString("Dummy-%d");
209             s$53 = Py.newString("cannot join a dummy thread");
210             s$54 = Py.newString("put(%s): queue full");
211             s$55 = Py.newString("put(%s): appended, length now %d");
212             s$56 = Py.newString("get(): queue empty");
213             s$57 = Py.newString("get(): got %s, %d left");
214             s$58 = Py.newString("Producer");
215             s$59 = Py.newString("%s.%d");
216             f$60 = Py.newFloat(1.0E-5);
217             s$61 = Py.newString("Consumer");
218             i$62 = Py.newInteger(3);
219             i$63 = Py.newInteger(4);
220             i$64 = Py.newInteger(5);
221             s$65 = Py.newString("Producer-%d");
222             s$66 = Py.newString("__main__");
223             s$67 = Py.newString("/usr/share/jython/Lib-cpython/threading.py");
224             funcTable = new _PyInner();
225             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);
226             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);
227             c$2__Verbose = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Verbose", false, false, funcTable, 2, null, null, 0, 0);
228             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);
229             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);
230             c$5__Verbose = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Verbose", false, false, funcTable, 5, null, null, 0, 0);
231             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);
232             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);
233             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);
234             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);
235             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);
236             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);
237             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);
238             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);
239             c$14__RLock = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_RLock", false, false, funcTable, 14, null, null, 0, 0);
240             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);
241             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);
242             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);
243             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);
244             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);
245             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);
246             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);
247             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);
248             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);
249             c$24__Condition = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Condition", false, false, funcTable, 24, null, null, 0, 0);
250             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);
251             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);
252             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);
253             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);
254             c$29__Semaphore = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Semaphore", false, false, funcTable, 29, null, null, 0, 0);
255             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);
256             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);
257             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);
258             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);
259             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);
260             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);
261             c$36__Event = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Event", false, false, funcTable, 36, null, null, 0, 0);
262             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);
263             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);
264             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);
265             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);
266             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);
267             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);
268             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);
269             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);
270             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);
271             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);
272             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);
273             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);
274             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);
275             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);
276             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);
277             c$52_Thread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "Thread", false, false, funcTable, 52, null, null, 0, 0);
278             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);
279             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);
280             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);
281             c$56__MainThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_MainThread", false, false, funcTable, 56, null, null, 0, 0);
282             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);
283             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);
284             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);
285             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);
286             c$61__DummyThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_DummyThread", false, false, funcTable, 61, null, null, 0, 0);
287             c$62_currentThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "currentThread", false, false, funcTable, 62, null, null, 0, 1);
288             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);
289             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);
290             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);
291             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);
292             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);
293             c$68_BoundedQueue = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "BoundedQueue", false, false, funcTable, 68, null, null, 0, 0);
294             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);
295             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);
296             c$71_ProducerThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "ProducerThread", false, false, funcTable, 71, null, null, 0, 0);
297             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);
298             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);
299             c$74_ConsumerThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "ConsumerThread", false, false, funcTable, 74, null, null, 0, 0);
300             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);
301             c$76_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "main", false, false, funcTable, 76, null, null, 0, 0);
302         }
303         
304         
305         public PyCode getMain() {
306             if (c$76_main == null) _PyInner.initConstants();
307             return c$76_main;
308         }
309         
310         public PyObject call_function(int index, PyFrame frame) {
311             switch (index){
312                 case 0:
313                 return _PyInner.__init__$1(frame);
314                 case 1:
315                 return _PyInner._note$2(frame);
316                 case 2:
317                 return _PyInner._Verbose$3(frame);
318                 case 3:
319                 return _PyInner.__init__$4(frame);
320                 case 4:
321                 return _PyInner._note$5(frame);
322                 case 5:
323                 return _PyInner._Verbose$6(frame);
324                 case 6:
325                 return _PyInner.RLock$7(frame);
326                 case 7:
327                 return _PyInner.__init__$8(frame);
328                 case 8:
329                 return _PyInner.__repr__$9(frame);
330                 case 9:
331                 return _PyInner.acquire$10(frame);
332                 case 10:
333                 return _PyInner.release$11(frame);
334                 case 11:
335                 return _PyInner._acquire_restore$12(frame);
336                 case 12:
337                 return _PyInner._release_save$13(frame);
338                 case 13:
339                 return _PyInner._is_owned$14(frame);
340                 case 14:
341                 return _PyInner._RLock$15(frame);
342                 case 15:
343                 return _PyInner.Condition$16(frame);
344                 case 16:
345                 return _PyInner.__init__$17(frame);
346                 case 17:
347                 return _PyInner.__repr__$18(frame);
348                 case 18:
349                 return _PyInner._release_save$19(frame);
350                 case 19:
351                 return _PyInner._acquire_restore$20(frame);
352                 case 20:
353                 return _PyInner._is_owned$21(frame);
354                 case 21:
355                 return _PyInner.wait$22(frame);
356                 case 22:
357                 return _PyInner.notify$23(frame);
358                 case 23:
359                 return _PyInner.notifyAll$24(frame);
360                 case 24:
361                 return _PyInner._Condition$25(frame);
362                 case 25:
363                 return _PyInner.Semaphore$26(frame);
364                 case 26:
365                 return _PyInner.__init__$27(frame);
366                 case 27:
367                 return _PyInner.acquire$28(frame);
368                 case 28:
369                 return _PyInner.release$29(frame);
370                 case 29:
371                 return _PyInner._Semaphore$30(frame);
372                 case 30:
373                 return _PyInner.Event$31(frame);
374                 case 31:
375                 return _PyInner.__init__$32(frame);
376                 case 32:
377                 return _PyInner.isSet$33(frame);
378                 case 33:
379                 return _PyInner.set$34(frame);
380                 case 34:
381                 return _PyInner.clear$35(frame);
382                 case 35:
383                 return _PyInner.wait$36(frame);
384                 case 36:
385                 return _PyInner._Event$37(frame);
386                 case 37:
387                 return _PyInner._newname$38(frame);
388                 case 38:
389                 return _PyInner.__init__$39(frame);
390                 case 39:
391                 return _PyInner._set_daemon$40(frame);
392                 case 40:
393                 return _PyInner.__repr__$41(frame);
394                 case 41:
395                 return _PyInner.start$42(frame);
396                 case 42:
397                 return _PyInner.run$43(frame);
398                 case 43:
399                 return _PyInner._Thread__bootstrap$44(frame);
400                 case 44:
401                 return _PyInner._Thread__stop$45(frame);
402                 case 45:
403                 return _PyInner._Thread__delete$46(frame);
404                 case 46:
405                 return _PyInner.join$47(frame);
406                 case 47:
407                 return _PyInner.getName$48(frame);
408                 case 48:
409                 return _PyInner.setName$49(frame);
410                 case 49:
411                 return _PyInner.isAlive$50(frame);
412                 case 50:
413                 return _PyInner.isDaemon$51(frame);
414                 case 51:
415                 return _PyInner.setDaemon$52(frame);
416                 case 52:
417                 return _PyInner.Thread$53(frame);
418                 case 53:
419                 return _PyInner.__init__$54(frame);
420                 case 54:
421                 return _PyInner._set_daemon$55(frame);
422                 case 55:
423                 return _PyInner.__MainThread__exitfunc$56(frame);
424                 case 56:
425                 return _PyInner._MainThread$57(frame);
426                 case 57:
427                 return _PyInner._pickSomeNonDaemonThread$58(frame);
428                 case 58:
429                 return _PyInner.__init__$59(frame);
430                 case 59:
431                 return _PyInner._set_daemon$60(frame);
432                 case 60:
433                 return _PyInner.join$61(frame);
434                 case 61:
435                 return _PyInner._DummyThread$62(frame);
436                 case 62:
437                 return _PyInner.currentThread$63(frame);
438                 case 63:
439                 return _PyInner.activeCount$64(frame);
440                 case 64:
441                 return _PyInner.enumerate$65(frame);
442                 case 65:
443                 return _PyInner.__init__$66(frame);
444                 case 66:
445                 return _PyInner.put$67(frame);
446                 case 67:
447                 return _PyInner.get$68(frame);
448                 case 68:
449                 return _PyInner.BoundedQueue$69(frame);
450                 case 69:
451                 return _PyInner.__init__$70(frame);
452                 case 70:
453                 return _PyInner.run$71(frame);
454                 case 71:
455                 return _PyInner.ProducerThread$72(frame);
456                 case 72:
457                 return _PyInner.__init__$73(frame);
458                 case 73:
459                 return _PyInner.run$74(frame);
460                 case 74:
461                 return _PyInner.ConsumerThread$75(frame);
462                 case 75:
463                 return _PyInner._test$76(frame);
464                 case 76:
465                 return _PyInner.main$77(frame);
466                 default:
467                 return null;
468             }
469         }
470         
471         private static PyObject __init__$1(PyFrame frame) {
472             if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) {
473                 frame.setlocal(1, frame.getglobal("_VERBOSE"));
474             }
475             frame.getlocal(0).__setattr__("__Verbose__verbose", frame.getlocal(1));
476             return Py.None;
477         }
478         
479         private static PyObject _note$2(PyFrame frame) {
480             if (frame.getlocal(0).__getattr__("__Verbose__verbose").__nonzero__()) {
481                 frame.setlocal(1, frame.getlocal(1)._mod(frame.getlocal(2)));
482                 frame.setlocal(1, s$2._mod(new PyTuple(new PyObject[] {frame.getglobal("currentThread").__call__().invoke("getName"), frame.getlocal(1)})));
483                 frame.getglobal("_sys").__getattr__("stderr").__getattr__("write").__call__(frame.getlocal(1));
484             }
485             return Py.None;
486         }
487         
488         private static PyObject _Verbose$3(PyFrame frame) {
489             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$0___init__));
490             frame.setlocal("_note", new PyFunction(frame.f_globals, new PyObject[] {}, c$1__note));
491             return frame.getf_locals();
492         }
493         
494         private static PyObject __init__$4(PyFrame frame) {
495             // pass
496             return Py.None;
497         }
498         
499         private static PyObject _note$5(PyFrame frame) {
500             // pass
501             return Py.None;
502         }
503         
504         private static PyObject _Verbose$6(PyFrame frame) {
505             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$3___init__));
506             frame.setlocal("_note", new PyFunction(frame.f_globals, new PyObject[] {}, c$4__note));
507             return frame.getf_locals();
508         }
509         
510         private static PyObject RLock$7(PyFrame frame) {
511             return frame.getglobal("apply").__call__(frame.getglobal("_RLock"), frame.getlocal(0), frame.getlocal(1));
512         }
513         
514         private static PyObject __init__$8(PyFrame frame) {
515             frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(1));
516             frame.getlocal(0).__setattr__("__RLock__block", frame.getglobal("_allocate_lock").__call__());
517             frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None"));
518             frame.getlocal(0).__setattr__("__RLock__count", i$1);
519             return Py.None;
520         }
521         
522         private static PyObject __repr__$9(PyFrame frame) {
523             // Temporary Variables
524             PyObject t$0$PyObject;
525             
526             // Code
527             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")}));
528         }
529         
530         private static PyObject acquire$10(PyFrame frame) {
531             frame.setlocal(2, frame.getglobal("currentThread").__call__());
532             if (frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getlocal(2)).__nonzero__()) {
533                 frame.getlocal(0).__setattr__("__RLock__count", frame.getlocal(0).__getattr__("__RLock__count")._add(i$4));
534                 if (frame.getglobal("__debug__").__nonzero__()) {
535                     frame.getlocal(0).invoke("_note", new PyObject[] {s$5, frame.getlocal(0), frame.getlocal(1)});
536                 }
537                 return i$4;
538             }
539             frame.setlocal(3, frame.getlocal(0).__getattr__("__RLock__block").invoke("acquire", frame.getlocal(1)));
540             if (frame.getlocal(3).__nonzero__()) {
541                 frame.getlocal(0).__setattr__("__RLock__owner", frame.getlocal(2));
542                 frame.getlocal(0).__setattr__("__RLock__count", i$4);
543                 if (frame.getglobal("__debug__").__nonzero__()) {
544                     frame.getlocal(0).invoke("_note", new PyObject[] {s$6, frame.getlocal(0), frame.getlocal(1)});
545                 }
546             }
547             else {
548                 if (frame.getglobal("__debug__").__nonzero__()) {
549                     frame.getlocal(0).invoke("_note", new PyObject[] {s$7, frame.getlocal(0), frame.getlocal(1)});
550                 }
551             }
552             return frame.getlocal(3);
553         }
554         
555         private static PyObject release$11(PyFrame frame) {
556             // Temporary Variables
557             PyObject t$0$PyObject;
558             
559             // Code
560             frame.setlocal(2, frame.getglobal("currentThread").__call__());
561             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getlocal(2)), s$8);
562             t$0$PyObject = frame.getlocal(0).__getattr__("__RLock__count")._sub(i$4);
563             frame.getlocal(0).__setattr__("__RLock__count", t$0$PyObject);
564             frame.setlocal(1, t$0$PyObject);
565             if (frame.getlocal(1).__not__().__nonzero__()) {
566                 frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None"));
567                 frame.getlocal(0).__getattr__("__RLock__block").invoke("release");
568                 if (frame.getglobal("__debug__").__nonzero__()) {
569                     frame.getlocal(0).invoke("_note", s$9, frame.getlocal(0));
570                 }
571             }
572             else {
573                 if (frame.getglobal("__debug__").__nonzero__()) {
574                     frame.getlocal(0).invoke("_note", s$10, frame.getlocal(0));
575                 }
576             }
577             return Py.None;
578         }
579         
580         private static PyObject _acquire_restore$12(PyFrame frame) {
581             // Temporary Variables
582             PyObject[] t$0$PyObject__;
583             
584             // Code
585             t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2);
586             frame.setlocal(3, t$0$PyObject__[0]);
587             frame.setlocal(2, t$0$PyObject__[1]);
588             frame.getlocal(0).__getattr__("__RLock__block").invoke("acquire");
589             frame.getlocal(0).__setattr__("__RLock__count", frame.getlocal(3));
590             frame.getlocal(0).__setattr__("__RLock__owner", frame.getlocal(2));
591             if (frame.getglobal("__debug__").__nonzero__()) {
592                 frame.getlocal(0).invoke("_note", s$11, frame.getlocal(0));
593             }
594             return Py.None;
595         }
596         
597         private static PyObject _release_save$13(PyFrame frame) {
598             if (frame.getglobal("__debug__").__nonzero__()) {
599                 frame.getlocal(0).invoke("_note", s$12, frame.getlocal(0));
600             }
601             frame.setlocal(2, frame.getlocal(0).__getattr__("__RLock__count"));
602             frame.getlocal(0).__setattr__("__RLock__count", i$1);
603             frame.setlocal(1, frame.getlocal(0).__getattr__("__RLock__owner"));
604             frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None"));
605             frame.getlocal(0).__getattr__("__RLock__block").invoke("release");
606             return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)});
607         }
608         
609         private static PyObject _is_owned$14(PyFrame frame) {
610             return frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getglobal("currentThread").__call__());
611         }
612         
613         private static PyObject _RLock$15(PyFrame frame) {
614             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$7___init__));
615             frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$8___repr__));
616             frame.setlocal("acquire", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$9_acquire));
617             frame.setlocal("release", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_release));
618             frame.setlocal("_acquire_restore", new PyFunction(frame.f_globals, new PyObject[] {}, c$11__acquire_restore));
619             frame.setlocal("_release_save", new PyFunction(frame.f_globals, new PyObject[] {}, c$12__release_save));
620             frame.setlocal("_is_owned", new PyFunction(frame.f_globals, new PyObject[] {}, c$13__is_owned));
621             return frame.getf_locals();
622         }
623         
624         private static PyObject Condition$16(PyFrame frame) {
625             return frame.getglobal("apply").__call__(frame.getglobal("_Condition"), frame.getlocal(0), frame.getlocal(1));
626         }
627         
628         private static PyObject __init__$17(PyFrame frame) {
629             // Temporary Variables
630             PyException t$0$PyException;
631             
632             // Code
633             frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(2));
634             if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) {
635                 frame.setlocal(1, frame.getglobal("RLock").__call__());
636             }
637             frame.getlocal(0).__setattr__("__Condition__lock", frame.getlocal(1));
638             frame.getlocal(0).__setattr__("acquire", frame.getlocal(1).__getattr__("acquire"));
639             frame.getlocal(0).__setattr__("release", frame.getlocal(1).__getattr__("release"));
640             try {
641                 frame.getlocal(0).__setattr__("_release_save", frame.getlocal(1).__getattr__("_release_save"));
642             }
643             catch (Throwable x$0) {
644                 t$0$PyException = Py.setException(x$0, frame);
645                 if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) {
646                     // pass
647                 }
648                 else throw t$0$PyException;
649             }
650             try {
651                 frame.getlocal(0).__setattr__("_acquire_restore", frame.getlocal(1).__getattr__("_acquire_restore"));
652             }
653             catch (Throwable x$1) {
654                 t$0$PyException = Py.setException(x$1, frame);
655                 if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) {
656                     // pass
657                 }
658                 else throw t$0$PyException;
659             }
660             try {
661                 frame.getlocal(0).__setattr__("_is_owned", frame.getlocal(1).__getattr__("_is_owned"));
662             }
663             catch (Throwable x$2) {
664                 t$0$PyException = Py.setException(x$2, frame);
665                 if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) {
666                     // pass
667                 }
668                 else throw t$0$PyException;
669             }
670             frame.getlocal(0).__setattr__("__Condition__waiters", new PyList(new PyObject[] {}));
671             return Py.None;
672         }
673         
674         private static PyObject __repr__$18(PyFrame frame) {
675             return s$13._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__Condition__lock"), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("__Condition__waiters"))}));
676         }
677         
678         private static PyObject _release_save$19(PyFrame frame) {
679             frame.getlocal(0).__getattr__("__Condition__lock").invoke("release");
680             return Py.None;
681         }
682         
683         private static PyObject _acquire_restore$20(PyFrame frame) {
684             frame.getlocal(0).__getattr__("__Condition__lock").invoke("acquire");
685             return Py.None;
686         }
687         
688         private static PyObject _is_owned$21(PyFrame frame) {
689             if (frame.getlocal(0).__getattr__("__Condition__lock").invoke("acquire", i$1).__nonzero__()) {
690                 frame.getlocal(0).__getattr__("__Condition__lock").invoke("release");
691                 return i$1;
692             }
693             else {
694                 return i$4;
695             }
696         }
697         
698         private static PyObject wait$22(PyFrame frame) {
699             // Temporary Variables
700             PyException t$0$PyException;
701             PyObject t$0$PyObject;
702             
703             // Code
704             frame.setlocal(5, frame.getglobal("currentThread").__call__());
705             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("_is_owned"), s$14);
706             frame.setlocal(7, frame.getglobal("_allocate_lock").__call__());
707             frame.getlocal(7).invoke("acquire");
708             frame.getlocal(0).__getattr__("__Condition__waiters").invoke("append", frame.getlocal(7));
709             frame.setlocal(3, frame.getlocal(0).invoke("_release_save"));
710             try {
711                 if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) {
712                     frame.getlocal(7).invoke("acquire");
713                     if (frame.getglobal("__debug__").__nonzero__()) {
714                         frame.getlocal(0).invoke("_note", s$15, frame.getlocal(0));
715                     }
716                 }
717                 else {
718                     frame.setlocal(2, frame.getglobal("_time").__call__()._add(frame.getlocal(1)));
719                     frame.setlocal(4, f$16);
720                     while (i$4.__nonzero__()) {
721                         frame.setlocal(6, frame.getlocal(7).invoke("acquire", i$1));
722                         if (((t$0$PyObject = frame.getlocal(6)).__nonzero__() ? t$0$PyObject : frame.getglobal("_time").__call__()._ge(frame.getlocal(2))).__nonzero__()) {
723                             break;
724                         }
725                         frame.getglobal("_sleep").__call__(frame.getlocal(4));
726                         if (frame.getlocal(4)._lt(f$17).__nonzero__()) {
727                             frame.setlocal(4, frame.getlocal(4)._mul(f$18));
728                         }
729                     }
730                     if (frame.getlocal(6).__not__().__nonzero__()) {
731                         if (frame.getglobal("__debug__").__nonzero__()) {
732                             frame.getlocal(0).invoke("_note", new PyObject[] {s$19, frame.getlocal(0), frame.getlocal(1)});
733                         }
734                         try {
735                             frame.getlocal(0).__getattr__("__Condition__waiters").invoke("remove", frame.getlocal(7));
736                         }
737                         catch (Throwable x$0) {
738                             t$0$PyException = Py.setException(x$0, frame);
739                             if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) {
740                                 // pass
741                             }
742                             else throw t$0$PyException;
743                         }
744                     }
745                     else {
746                         if (frame.getglobal("__debug__").__nonzero__()) {
747                             frame.getlocal(0).invoke("_note", new PyObject[] {s$20, frame.getlocal(0), frame.getlocal(1)});
748                         }
749                     }
750                 }
751             }
752             finally {
753                 frame.getlocal(0).invoke("_acquire_restore", frame.getlocal(3));
754             }
755             return Py.None;
756         }
757         
758         private static PyObject notify$23(PyFrame frame) {
759             // Temporary Variables
760             int t$0$int;
761             PyException t$0$PyException;
762             PyObject t$0$PyObject, t$1$PyObject;
763             
764             // Code
765             frame.setlocal(4, frame.getglobal("currentThread").__call__());
766             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("_is_owned"), s$21);
767             frame.setlocal(2, frame.getlocal(0).__getattr__("__Condition__waiters"));
768             frame.setlocal(3, frame.getlocal(2).__getslice__(null, frame.getlocal(1), null));
769             if (frame.getlocal(3).__not__().__nonzero__()) {
770                 if (frame.getglobal("__debug__").__nonzero__()) {
771                     frame.getlocal(0).invoke("_note", s$22, frame.getlocal(0));
772                 }
773                 return Py.None;
774             }
775             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});
776             t$0$int = 0;
777             t$1$PyObject = frame.getlocal(3);
778             while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) {
779                 frame.setlocal(5, t$0$PyObject);
780                 frame.getlocal(5).invoke("release");
781                 try {
782                     frame.getlocal(2).invoke("remove", frame.getlocal(5));
783                 }
784                 catch (Throwable x$0) {
785                     t$0$PyException = Py.setException(x$0, frame);
786                     if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) {
787                         // pass
788                     }
789                     else throw t$0$PyException;
790                 }
791             }
792             return Py.None;
793         }
794         
795         private static PyObject notifyAll$24(PyFrame frame) {
796             frame.getlocal(0).invoke("notify", frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("__Condition__waiters")));
797             return Py.None;
798         }
799         
800         private static PyObject _Condition$25(PyFrame frame) {
801             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$16___init__));
802             frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$17___repr__));
803             frame.setlocal("_release_save", new PyFunction(frame.f_globals, new PyObject[] {}, c$18__release_save));
804             frame.setlocal("_acquire_restore", new PyFunction(frame.f_globals, new PyObject[] {}, c$19__acquire_restore));
805             frame.setlocal("_is_owned", new PyFunction(frame.f_globals, new PyObject[] {}, c$20__is_owned));
806             frame.setlocal("wait", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$21_wait));
807             frame.setlocal("notify", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$22_notify));
808             frame.setlocal("notifyAll", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_notifyAll));
809             return frame.getf_locals();
810         }
811         
812         private static PyObject Semaphore$26(PyFrame frame) {
813             return frame.getglobal("apply").__call__(frame.getglobal("_Semaphore"), frame.getlocal(0), frame.getlocal(1));
814         }
815         
816         private static PyObject __init__$27(PyFrame frame) {
817             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._ge(i$1), s$26);
818             frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(2));
819             frame.getlocal(0).__setattr__("__Semaphore__cond", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__()));
820             frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(1));
821             return Py.None;
822         }
823         
824         private static PyObject acquire$28(PyFrame frame) {
825             // Temporary Variables
826             boolean t$0$boolean;
827             
828             // Code
829             frame.setlocal(2, i$1);
830             frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("acquire");
831             while (t$0$boolean=frame.getlocal(0).__getattr__("__Semaphore__value")._eq(i$1).__nonzero__()) {
832                 if (frame.getlocal(1).__not__().__nonzero__()) {
833                     break;
834                 }
835                 frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("wait");
836             }
837             if (!t$0$boolean) {
838                 frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(0).__getattr__("__Semaphore__value")._sub(i$4));
839                 frame.setlocal(2, i$4);
840             }
841             frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("release");
842             return frame.getlocal(2);
843         }
844         
845         private static PyObject release$29(PyFrame frame) {
846             frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("acquire");
847             frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(0).__getattr__("__Semaphore__value")._add(i$4));
848             frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("notify");
849             frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("release");
850             return Py.None;
851         }
852         
853         private static PyObject _Semaphore$30(PyFrame frame) {
854             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {i$4, frame.getname("None")}, c$26___init__));
855             frame.setlocal("acquire", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$27_acquire));
856             frame.setlocal("release", new PyFunction(frame.f_globals, new PyObject[] {}, c$28_release));
857             return frame.getf_locals();
858         }
859         
860         private static PyObject Event$31(PyFrame frame) {
861             return frame.getglobal("apply").__call__(frame.getglobal("_Event"), frame.getlocal(0), frame.getlocal(1));
862         }
863         
864         private static PyObject __init__$32(PyFrame frame) {
865             frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(1));
866             frame.getlocal(0).__setattr__("__Event__cond", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__()));
867             frame.getlocal(0).__setattr__("__Event__flag", i$1);
868             return Py.None;
869         }
870         
871         private static PyObject isSet$33(PyFrame frame) {
872             return frame.getlocal(0).__getattr__("__Event__flag");
873         }
874         
875         private static PyObject set$34(PyFrame frame) {
876             frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire");
877             frame.getlocal(0).__setattr__("__Event__flag", i$4);
878             frame.getlocal(0).__getattr__("__Event__cond").invoke("notifyAll");
879             frame.getlocal(0).__getattr__("__Event__cond").invoke("release");
880             return Py.None;
881         }
882         
883         private static PyObject clear$35(PyFrame frame) {
884             frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire");
885             frame.getlocal(0).__setattr__("__Event__flag", i$1);
886             frame.getlocal(0).__getattr__("__Event__cond").invoke("release");
887             return Py.None;
888         }
889         
890         private static PyObject wait$36(PyFrame frame) {
891             frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire");
892             if (frame.getlocal(0).__getattr__("__Event__flag").__not__().__nonzero__()) {
893                 frame.getlocal(0).__getattr__("__Event__cond").invoke("wait", frame.getlocal(1));
894             }
895             frame.getlocal(0).__getattr__("__Event__cond").invoke("release");
896             return Py.None;
897         }
898         
899         private static PyObject _Event$37(PyFrame frame) {
900             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$31___init__));
901             frame.setlocal("isSet", new PyFunction(frame.f_globals, new PyObject[] {}, c$32_isSet));
902             frame.setlocal("set", new PyFunction(frame.f_globals, new PyObject[] {}, c$33_set));
903             frame.setlocal("clear", new PyFunction(frame.f_globals, new PyObject[] {}, c$34_clear));
904             frame.setlocal("wait", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$35_wait));
905             return frame.getf_locals();
906         }
907         
908         private static PyObject _newname$38(PyFrame frame) {
909             // global _counter
910             frame.setglobal("_counter", frame.getglobal("_counter")._add(i$4));
911             return frame.getlocal(0)._mod(frame.getglobal("_counter"));
912         }
913         
914         private static PyObject __init__$39(PyFrame frame) {
915             // Temporary Variables
916             PyObject t$0$PyObject;
917             
918             // Code
919             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._is(frame.getglobal("None")), s$28);
920             frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(6));
921             frame.getlocal(0).__setattr__("_Thread__target", frame.getlocal(2));
922             frame.getlocal(0).__setattr__("_Thread__name", frame.getglobal("str").__call__((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? t$0$PyObject : frame.getglobal("_newname").__call__()));
923             frame.getlocal(0).__setattr__("_Thread__args", frame.getlocal(4));
924             frame.getlocal(0).__setattr__("_Thread__kwargs", frame.getlocal(5));
925             frame.getlocal(0).__setattr__("_Thread__daemonic", frame.getlocal(0).invoke("_set_daemon"));
926             frame.getlocal(0).__setattr__("_Thread__started", i$1);
927             frame.getlocal(0).__setattr__("_Thread__stopped", i$1);
928             frame.getlocal(0).__setattr__("_Thread__block", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__()));
929             frame.getlocal(0).__setattr__("_Thread__initialized", i$4);
930             return Py.None;
931         }
932         
933         private static PyObject _set_daemon$40(PyFrame frame) {
934             return frame.getglobal("currentThread").__call__().invoke("isDaemon");
935         }
936         
937         private static PyObject __repr__$41(PyFrame frame) {
938             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$29);
939             frame.setlocal(1, s$30);
940             if (frame.getlocal(0).__getattr__("_Thread__started").__nonzero__()) {
941                 frame.setlocal(1, s$31);
942             }
943             if (frame.getlocal(0).__getattr__("_Thread__stopped").__nonzero__()) {
944                 frame.setlocal(1, s$32);
945             }
946             if (frame.getlocal(0).__getattr__("_Thread__daemonic").__nonzero__()) {
947                 frame.setlocal(1, frame.getlocal(1)._add(s$33));
948             }
949             return s$34._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__class__").__getattr__("__name__"), frame.getlocal(0).__getattr__("_Thread__name"), frame.getlocal(1)}));
950         }
951         
952         private static PyObject start$42(PyFrame frame) {
953             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
954             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started").__not__(), s$36);
955             if (frame.getglobal("__debug__").__nonzero__()) {
956                 frame.getlocal(0).invoke("_note", s$37, frame.getlocal(0));
957             }
958             frame.getglobal("_active_limbo_lock").invoke("acquire");
959             frame.getglobal("_limbo").__setitem__(frame.getlocal(0), frame.getlocal(0));
960             frame.getglobal("_active_limbo_lock").invoke("release");
961             frame.getglobal("_start_new_thread").__call__(frame.getlocal(0).__getattr__("_Thread__bootstrap"), new PyTuple(new PyObject[] {}));
962             frame.getlocal(0).__setattr__("_Thread__started", i$4);
963             frame.getglobal("_sleep").__call__(f$16);
964             return Py.None;
965         }
966         
967         private static PyObject run$43(PyFrame frame) {
968             if (frame.getlocal(0).__getattr__("_Thread__target").__nonzero__()) {
969                 frame.getglobal("apply").__call__(frame.getlocal(0).__getattr__("_Thread__target"), frame.getlocal(0).__getattr__("_Thread__args"), frame.getlocal(0).__getattr__("_Thread__kwargs"));
970             }
971             return Py.None;
972         }
973         
974         private static PyObject _Thread__bootstrap$44(PyFrame frame) {
975             // Temporary Variables
976             boolean t$0$boolean;
977             PyException t$0$PyException;
978             
979             // Code
980             try {
981                 frame.getlocal(0).__setattr__("_Thread__started", i$4);
982                 frame.getglobal("_active_limbo_lock").invoke("acquire");
983                 frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0));
984                 frame.getglobal("_limbo").__delitem__(frame.getlocal(0));
985                 frame.getglobal("_active_limbo_lock").invoke("release");
986                 if (frame.getglobal("__debug__").__nonzero__()) {
987                     frame.getlocal(0).invoke("_note", s$38, frame.getlocal(0));
988                 }
989                 t$0$boolean = true;
990                 try {
991                     frame.getlocal(0).invoke("run");
992                 }
993                 catch (Throwable x$0) {
994                     t$0$boolean = false;
995                     t$0$PyException = Py.setException(x$0, frame);
996                     if (Py.matchException(t$0$PyException, frame.getglobal("SystemExit"))) {
997                         if (frame.getglobal("__debug__").__nonzero__()) {
998                             frame.getlocal(0).invoke("_note", s$39, frame.getlocal(0));
999                         }
1000                     }
1001                     else {
1002                         if (frame.getglobal("__debug__").__nonzero__()) {
1003                             frame.getlocal(0).invoke("_note", s$40, frame.getlocal(0));
1004                         }
1005                         frame.setlocal(1, frame.getglobal("_StringIO").__call__());
1006                         frame.getglobal("_print_exc").__call__(new PyObject[] {frame.getlocal(1)}, new String[] {"file"});
1007                         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")})));
1008                     }
1009                 }
1010                 if (t$0$boolean) {
1011                     if (frame.getglobal("__debug__").__nonzero__()) {
1012                         frame.getlocal(0).invoke("_note", s$42, frame.getlocal(0));
1013                     }
1014                 }
1015             }
1016             finally {
1017                 frame.getlocal(0).invoke("_Thread__stop");
1018                 try {
1019                     frame.getlocal(0).invoke("_Thread__delete");
1020                 }
1021                 catch (Throwable x$1) {
1022                     t$0$PyException = Py.setException(x$1, frame);
1023                     // pass
1024                 }
1025             }
1026             return Py.None;
1027         }
1028         
1029         private static PyObject _Thread__stop$45(PyFrame frame) {
1030             frame.getlocal(0).__getattr__("_Thread__block").invoke("acquire");
1031             frame.getlocal(0).__setattr__("_Thread__stopped", i$4);
1032             frame.getlocal(0).__getattr__("_Thread__block").invoke("notifyAll");
1033             frame.getlocal(0).__getattr__("_Thread__block").invoke("release");
1034             return Py.None;
1035         }
1036         
1037         private static PyObject _Thread__delete$46(PyFrame frame) {
1038             frame.getglobal("_active_limbo_lock").invoke("acquire");
1039             frame.getglobal("_active").__delitem__(frame.getglobal("_get_ident").__call__());
1040             frame.getglobal("_active_limbo_lock").invoke("release");
1041             return Py.None;
1042         }
1043         
1044         private static PyObject join$47(PyFrame frame) {
1045             // Temporary Variables
1046             boolean t$0$boolean;
1047             
1048             // Code
1049             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1050             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started"), s$43);
1051             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0)._isnot(frame.getglobal("currentThread").__call__()), s$44);
1052             if (frame.getglobal("__debug__").__nonzero__()) {
1053                 if (frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) {
1054                     frame.getlocal(0).invoke("_note", s$45, frame.getlocal(0));
1055                 }
1056             }
1057             frame.getlocal(0).__getattr__("_Thread__block").invoke("acquire");
1058             if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) {
1059                 while (frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) {
1060                     frame.getlocal(0).__getattr__("_Thread__block").invoke("wait");
1061                 }
1062                 if (frame.getglobal("__debug__").__nonzero__()) {
1063                     frame.getlocal(0).invoke("_note", s$46, frame.getlocal(0));
1064                 }
1065             }
1066             else {
1067                 frame.setlocal(3, frame.getglobal("_time").__call__()._add(frame.getlocal(1)));
1068                 while (t$0$boolean=frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) {
1069                     frame.setlocal(2, frame.getlocal(3)._sub(frame.getglobal("_time").__call__()));
1070                     if (frame.getlocal(2)._le(i$1).__nonzero__()) {
1071                         if (frame.getglobal("__debug__").__nonzero__()) {
1072                             frame.getlocal(0).invoke("_note", s$47, frame.getlocal(0));
1073                         }
1074                         break;
1075                     }
1076                     frame.getlocal(0).__getattr__("_Thread__block").invoke("wait", frame.getlocal(2));
1077                 }
1078                 if (!t$0$boolean) {
1079                     if (frame.getglobal("__debug__").__nonzero__()) {
1080                         frame.getlocal(0).invoke("_note", s$46, frame.getlocal(0));
1081                     }
1082                 }
1083             }
1084             frame.getlocal(0).__getattr__("_Thread__block").invoke("release");
1085             return Py.None;
1086         }
1087         
1088         private static PyObject getName$48(PyFrame frame) {
1089             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1090             return frame.getlocal(0).__getattr__("_Thread__name");
1091         }
1092         
1093         private static PyObject setName$49(PyFrame frame) {
1094             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1095             frame.getlocal(0).__setattr__("_Thread__name", frame.getglobal("str").__call__(frame.getlocal(1)));
1096             return Py.None;
1097         }
1098         
1099         private static PyObject isAlive$50(PyFrame frame) {
1100             // Temporary Variables
1101             PyObject t$0$PyObject;
1102             
1103             // Code
1104             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1105             return (t$0$PyObject = frame.getlocal(0).__getattr__("_Thread__started")).__nonzero__() ? frame.getlocal(0).__getattr__("_Thread__stopped").__not__() : t$0$PyObject;
1106         }
1107         
1108         private static PyObject isDaemon$51(PyFrame frame) {
1109             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1110             return frame.getlocal(0).__getattr__("_Thread__daemonic");
1111         }
1112         
1113         private static PyObject setDaemon$52(PyFrame frame) {
1114             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1115             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started").__not__(), s$48);
1116             frame.getlocal(0).__setattr__("_Thread__daemonic", frame.getlocal(1));
1117             return Py.None;
1118         }
1119         
1120         private static PyObject Thread$53(PyFrame frame) {
1121             frame.setlocal("_Thread__initialized", i$1);
1122             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__));
1123             frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$39__set_daemon));
1124             frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$40___repr__));
1125             frame.setlocal("start", new PyFunction(frame.f_globals, new PyObject[] {}, c$41_start));
1126             frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$42_run));
1127             frame.setlocal("_Thread__bootstrap", new PyFunction(frame.f_globals, new PyObject[] {}, c$43__Thread__bootstrap));
1128             frame.setlocal("_Thread__stop", new PyFunction(frame.f_globals, new PyObject[] {}, c$44__Thread__stop));
1129             frame.setlocal("_Thread__delete", new PyFunction(frame.f_globals, new PyObject[] {}, c$45__Thread__delete));
1130             frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$46_join));
1131             frame.setlocal("getName", new PyFunction(frame.f_globals, new PyObject[] {}, c$47_getName));
1132             frame.setlocal("setName", new PyFunction(frame.f_globals, new PyObject[] {}, c$48_setName));
1133             frame.setlocal("isAlive", new PyFunction(frame.f_globals, new PyObject[] {}, c$49_isAlive));
1134             frame.setlocal("isDaemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$50_isDaemon));
1135             frame.setlocal("setDaemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$51_setDaemon));
1136             return frame.getf_locals();
1137         }
1138         
1139         private static PyObject __init__$54(PyFrame frame) {
1140             frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$49}, new String[] {"name"});
1141             frame.getlocal(0).__setattr__("_Thread__started", i$4);
1142             frame.getglobal("_active_limbo_lock").invoke("acquire");
1143             frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0));
1144             frame.getglobal("_active_limbo_lock").invoke("release");
1145             frame.setlocal(1, org.python.core.imp.importOne("atexit", frame));
1146             frame.getlocal(1).__getattr__("register").__call__(frame.getlocal(0).__getattr__("__MainThread__exitfunc"));
1147             return Py.None;
1148         }
1149         
1150         private static PyObject _set_daemon$55(PyFrame frame) {
1151             return i$1;
1152         }
1153         
1154         private static PyObject __MainThread__exitfunc$56(PyFrame frame) {
1155             frame.getlocal(0).invoke("_Thread__stop");
1156             frame.setlocal(1, frame.getglobal("_pickSomeNonDaemonThread").__call__());
1157             if (frame.getlocal(1).__nonzero__()) {
1158                 if (frame.getglobal("__debug__").__nonzero__()) {
1159                     frame.getlocal(0).invoke("_note", s$50, frame.getlocal(0));
1160                 }
1161             }
1162             while (frame.getlocal(1).__nonzero__()) {
1163                 frame.getlocal(1).invoke("join");
1164                 frame.setlocal(1, frame.getglobal("_pickSomeNonDaemonThread").__call__());
1165             }
1166             if (frame.getglobal("__debug__").__nonzero__()) {
1167                 frame.getlocal(0).invoke("_note", s$51, frame.getlocal(0));
1168             }
1169             frame.getlocal(0).invoke("_Thread__delete");
1170             return Py.None;
1171         }
1172         
1173         private static PyObject _MainThread$57(PyFrame frame) {
1174             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$53___init__));
1175             frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$54__set_daemon));
1176             frame.setlocal("__MainThread__exitfunc", new PyFunction(frame.f_globals, new PyObject[] {}, c$55___MainThread__exitfunc));
1177             return frame.getf_locals();
1178         }
1179         
1180         private static PyObject _pickSomeNonDaemonThread$58(PyFrame frame) {
1181             // Temporary Variables
1182             int t$0$int;
1183             PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject;
1184             
1185             // Code
1186             t$0$int = 0;
1187             t$1$PyObject = frame.getglobal("enumerate").__call__();
1188             while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) {
1189                 frame.setlocal(0, t$0$PyObject);
1190                 if (((t$2$PyObject = frame.getlocal(0).invoke("isDaemon").__not__()).__nonzero__() ? frame.getlocal(0).invoke("isAlive") : t$2$PyObject).__nonzero__()) {
1191                     return frame.getlocal(0);
1192                 }
1193             }
1194             return frame.getglobal("None");
1195         }
1196         
1197         private static PyObject __init__$59(PyFrame frame) {
1198             frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), frame.getglobal("_newname").__call__(s$52)}, new String[] {"name"});
1199             frame.getlocal(0).__setattr__("_Thread__started", i$4);
1200             frame.getglobal("_active_limbo_lock").invoke("acquire");
1201             frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0));
1202             frame.getglobal("_active_limbo_lock").invoke("release");
1203             return Py.None;
1204         }
1205         
1206         private static PyObject _set_daemon$60(PyFrame frame) {
1207             return i$4;
1208         }
1209         
1210         private static PyObject join$61(PyFrame frame) {
1211             if (frame.getglobal("__debug__").__nonzero__()) Py.assert(i$1, s$53);
1212             return Py.None;
1213         }
1214         
1215         private static PyObject _DummyThread$62(PyFrame frame) {
1216             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$58___init__));
1217             frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$59__set_daemon));
1218             frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {}, c$60_join));
1219             return frame.getf_locals();
1220         }
1221         
1222         private static PyObject currentThread$63(PyFrame frame) {
1223             // Temporary Variables
1224             PyException t$0$PyException;
1225             
1226             // Code
1227             try {
1228                 return frame.getglobal("_active").__getitem__(frame.getglobal("_get_ident").__call__());
1229             }
1230             catch (Throwable x$0) {
1231                 t$0$PyException = Py.setException(x$0, frame);
1232                 if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) {
1233                     return frame.getglobal("_DummyThread").__call__();
1234                 }
1235                 else throw t$0$PyException;
1236             }
1237         }
1238         
1239         private static PyObject activeCount$64(PyFrame frame) {
1240             frame.getglobal("_active_limbo_lock").invoke("acquire");
1241             frame.setlocal(0, frame.getglobal("len").__call__(frame.getglobal("_active"))._add(frame.getglobal("len").__call__(frame.getglobal("_limbo"))));
1242             frame.getglobal("_active_limbo_lock").invoke("release");
1243             return frame.getlocal(0);
1244         }
1245         
1246         private static PyObject enumerate$65(PyFrame frame) {
1247             frame.getglobal("_active_limbo_lock").invoke("acquire");
1248             frame.setlocal(0, frame.getglobal("_active").invoke("values")._add(frame.getglobal("_limbo").invoke("values")));
1249             frame.getglobal("_active_limbo_lock").invoke("release");
1250             return frame.getlocal(0);
1251         }
1252         
1253         private static PyObject __init__$66(PyFrame frame) {
1254             frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0));
1255             frame.getlocal(0).__setattr__("mon", frame.getglobal("RLock").__call__());
1256             frame.getlocal(0).__setattr__("rc", frame.getglobal("Condition").__call__(frame.getlocal(0).__getattr__("mon")));
1257             frame.getlocal(0).__setattr__("wc", frame.getglobal("Condition").__call__(frame.getlocal(0).__getattr__("mon")));
1258             frame.getlocal(0).__setattr__("limit", frame.getlocal(1));
1259             frame.getlocal(0).__setattr__("queue", new PyList(new PyObject[] {}));
1260             return Py.None;
1261         }
1262         
1263         private static PyObject put$67(PyFrame frame) {
1264             frame.getlocal(0).__getattr__("mon").invoke("acquire");
1265             while (frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))._ge(frame.getlocal(0).__getattr__("limit")).__nonzero__()) {
1266                 frame.getlocal(0).invoke("_note", s$54, frame.getlocal(1));
1267                 frame.getlocal(0).__getattr__("wc").invoke("wait");
1268             }
1269             frame.getlocal(0).__getattr__("queue").invoke("append", frame.getlocal(1));
1270             frame.getlocal(0).invoke("_note", new PyObject[] {s$55, frame.getlocal(1), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))});
1271             frame.getlocal(0).__getattr__("rc").invoke("notify");
1272             frame.getlocal(0).__getattr__("mon").invoke("release");
1273             return Py.None;
1274         }
1275         
1276         private static PyObject get$68(PyFrame frame) {
1277             frame.getlocal(0).__getattr__("mon").invoke("acquire");
1278             while (frame.getlocal(0).__getattr__("queue").__not__().__nonzero__()) {
1279                 frame.getlocal(0).invoke("_note", s$56);
1280                 frame.getlocal(0).__getattr__("rc").invoke("wait");
1281             }
1282             frame.setlocal(1, frame.getlocal(0).__getattr__("queue").__getitem__(i$1));
1283             frame.getlocal(0).__getattr__("queue").__delitem__(i$1);
1284             frame.getlocal(0).invoke("_note", new PyObject[] {s$57, frame.getlocal(1), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))});
1285             frame.getlocal(0).__getattr__("wc").invoke("notify");
1286             frame.getlocal(0).__getattr__("mon").invoke("release");
1287             return frame.getlocal(1);
1288         }
1289         
1290         private static PyObject BoundedQueue$69(PyFrame frame) {
1291             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$65___init__));
1292             frame.setlocal("put", new PyFunction(frame.f_globals, new PyObject[] {}, c$66_put));
1293             frame.setlocal("get", new PyFunction(frame.f_globals, new PyObject[] {}, c$67_get));
1294             return frame.getf_locals();
1295         }
1296         
1297         private static PyObject __init__$70(PyFrame frame) {
1298             frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$58}, new String[] {"name"});
1299             frame.getlocal(0).__setattr__("queue", frame.getlocal(1));
1300             frame.getlocal(0).__setattr__("quota", frame.getlocal(2));
1301             return Py.None;
1302         }
1303         
1304         private static PyObject run$71(PyFrame frame) {
1305             PyObject[] imp_accu;
1306             // Code
1307             imp_accu = org.python.core.imp.importFrom("random", new String[] {"random"}, frame);
1308             frame.setlocal(2, imp_accu[0]);
1309             imp_accu = null;
1310             frame.setlocal(1, i$1);
1311             while (frame.getlocal(1)._lt(frame.getlocal(0).__getattr__("quota")).__nonzero__()) {
1312                 frame.setlocal(1, frame.getlocal(1)._add(i$4));
1313                 frame.getlocal(0).__getattr__("queue").invoke("put", s$59._mod(new PyTuple(new PyObject[] {frame.getlocal(0).invoke("getName"), frame.getlocal(1)})));
1314                 frame.getglobal("_sleep").__call__(frame.getlocal(2).__call__()._mul(f$60));
1315             }
1316             return Py.None;
1317         }
1318         
1319         private static PyObject ProducerThread$72(PyFrame frame) {
1320             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$69___init__));
1321             frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$70_run));
1322             return frame.getf_locals();
1323         }
1324         
1325         private static PyObject __init__$73(PyFrame frame) {
1326             frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$61}, new String[] {"name"});
1327             frame.getlocal(0).__setattr__("queue", frame.getlocal(1));
1328             frame.getlocal(0).__setattr__("count", frame.getlocal(2));
1329             return Py.None;
1330         }
1331         
1332         private static PyObject run$74(PyFrame frame) {
1333             while (frame.getlocal(0).__getattr__("count")._gt(i$1).__nonzero__()) {
1334                 frame.setlocal(1, frame.getlocal(0).__getattr__("queue").invoke("get"));
1335                 Py.println(frame.getlocal(1));
1336                 frame.getlocal(0).__setattr__("count", frame.getlocal(0).__getattr__("count")._sub(i$4));
1337             }
1338             return Py.None;
1339         }
1340         
1341         private static PyObject ConsumerThread$75(PyFrame frame) {
1342             frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$72___init__));
1343             frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$73_run));
1344             return frame.getf_locals();
1345         }
1346         
1347         private static PyObject _test$76(PyFrame frame) {
1348             // Temporary Variables
1349             int t$0$int, t$1$int, t$2$int;
1350             PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject;
1351             
1352             // Code
1353             frame.setlocal(0, org.python.core.imp.importOne("random", frame));
1354             frame.setlocal(7, Py.makeClass("BoundedQueue", new PyObject[] {frame.getglobal("_Verbose")}, c$68_BoundedQueue, null));
1355             frame.setlocal(4, Py.makeClass("ProducerThread", new PyObject[] {frame.getglobal("Thread")}, c$71_ProducerThread, null));
1356             frame.setlocal(8, Py.makeClass("ConsumerThread", new PyObject[] {frame.getglobal("Thread")}, c$74_ConsumerThread, null));
1357             frame.setlocal(3, org.python.core.imp.importOne("time", frame));
1358             frame.setlocal(10, i$62);
1359             frame.setlocal(11, i$63);
1360             frame.setlocal(12, i$64);
1361             frame.setlocal(1, frame.getlocal(7).__call__(frame.getlocal(11)));
1362             frame.setlocal(2, new PyList(new PyObject[] {}));
1363             t$0$int = 0;
1364             t$1$PyObject = frame.getglobal("range").__call__(frame.getlocal(10));
1365             while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) {
1366                 frame.setlocal(9, t$0$PyObject);
1367                 frame.setlocal(5, frame.getlocal(4).__call__(frame.getlocal(1), frame.getlocal(12)));
1368                 frame.getlocal(5).invoke("setName", s$65._mod(frame.getlocal(9)._add(i$4)));
1369                 frame.getlocal(2).invoke("append", frame.getlocal(5));
1370             }
1371             frame.setlocal(6, frame.getlocal(8).__call__(frame.getlocal(1), frame.getlocal(12)._mul(frame.getlocal(10))));
1372             t$1$int = 0;
1373             t$3$PyObject = frame.getlocal(2);
1374             while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) {
1375                 frame.setlocal(5, t$2$PyObject);
1376                 frame.getlocal(5).invoke("start");
1377                 frame.getglobal("_sleep").__call__(f$16);
1378             }
1379             frame.getlocal(6).invoke("start");
1380             t$2$int = 0;
1381             t$5$PyObject = frame.getlocal(2);
1382             while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) {
1383                 frame.setlocal(5, t$4$PyObject);
1384                 frame.getlocal(5).invoke("join");
1385             }
1386             frame.getlocal(6).invoke("join");
1387             return Py.None;
1388         }
1389         
1390         private static PyObject main$77(PyFrame frame) {
1391             frame.setglobal("__file__", s$67);
1392             
1393             /* Proposed new threading module, emulating a subset of Java's threading model. */
1394             frame.setlocal("sys", org.python.core.imp.importOne("sys", frame));
1395             frame.setlocal("time", org.python.core.imp.importOne("time", frame));
1396             frame.setlocal("thread", org.python.core.imp.importOne("thread", frame));
1397             frame.setlocal("traceback", org.python.core.imp.importOne("traceback", frame));
1398             frame.setlocal("StringIO", org.python.core.imp.importOne("StringIO", frame));
1399             frame.setlocal("_sys", frame.getname("sys"));
1400             frame.dellocal("sys");
1401             frame.setlocal("_time", frame.getname("time").__getattr__("time"));
1402             frame.setlocal("_sleep", frame.getname("time").__getattr__("sleep"));
1403             frame.dellocal("time");
1404             frame.setlocal("_start_new_thread", frame.getname("thread").__getattr__("start_new_thread"));
1405             frame.setlocal("_allocate_lock", frame.getname("thread").__getattr__("allocate_lock"));
1406             frame.setlocal("_get_ident", frame.getname("thread").__getattr__("get_ident"));
1407             frame.setlocal("ThreadError", frame.getname("thread").__getattr__("error"));
1408             frame.dellocal("thread");
1409             frame.setlocal("_print_exc", frame.getname("traceback").__getattr__("print_exc"));
1410             frame.dellocal("traceback");
1411             frame.setlocal("_StringIO", frame.getname("StringIO").__getattr__("StringIO"));
1412             frame.dellocal("StringIO");
1413             frame.setlocal("_VERBOSE", i$1);
1414             if (frame.getname("__debug__").__nonzero__()) {
1415                 frame.setlocal("_Verbose", Py.makeClass("_Verbose", new PyObject[] {}, c$2__Verbose, null));
1416             }
1417             else {
1418                 frame.setlocal("_Verbose", Py.makeClass("_Verbose", new PyObject[] {}, c$5__Verbose, null));
1419             }
1420             frame.setlocal("Lock", frame.getname("_allocate_lock"));
1421             frame.setlocal("RLock", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_RLock));
1422             frame.setlocal("_RLock", Py.makeClass("_RLock", new PyObject[] {frame.getname("_Verbose")}, c$14__RLock, null));
1423             frame.setlocal("Condition", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_Condition));
1424             frame.setlocal("_Condition", Py.makeClass("_Condition", new PyObject[] {frame.getname("_Verbose")}, c$24__Condition, null));
1425             frame.setlocal("Semaphore", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_Semaphore));
1426             frame.setlocal("_Semaphore", Py.makeClass("_Semaphore", new PyObject[] {frame.getname("_Verbose")}, c$29__Semaphore, null));
1427             frame.setlocal("Event", new PyFunction(frame.f_globals, new PyObject[] {}, c$30_Event));
1428             frame.setlocal("_Event", Py.makeClass("_Event", new PyObject[] {frame.getname("_Verbose")}, c$36__Event, null));
1429             frame.setlocal("_counter", i$1);
1430             frame.setlocal("_newname", new PyFunction(frame.f_globals, new PyObject[] {s$27}, c$37__newname));
1431             frame.setlocal("_active_limbo_lock", frame.getname("_allocate_lock").__call__());
1432             frame.setlocal("_active", new PyDictionary(new PyObject[] {}));
1433             frame.setlocal("_limbo", new PyDictionary(new PyObject[] {}));
1434             frame.setlocal("Thread", Py.makeClass("Thread", new PyObject[] {frame.getname("_Verbose")}, c$52_Thread, null));
1435             frame.setlocal("_MainThread", Py.makeClass("_MainThread", new PyObject[] {frame.getname("Thread")}, c$56__MainThread, null));
1436             frame.setlocal("_pickSomeNonDaemonThread", new PyFunction(frame.f_globals, new PyObject[] {}, c$57__pickSomeNonDaemonThread));
1437             frame.setlocal("_DummyThread", Py.makeClass("_DummyThread", new PyObject[] {frame.getname("Thread")}, c$61__DummyThread, null));
1438             frame.setlocal("currentThread", new PyFunction(frame.f_globals, new PyObject[] {}, c$62_currentThread));
1439             frame.setlocal("activeCount", new PyFunction(frame.f_globals, new PyObject[] {}, c$63_activeCount));
1440             frame.setlocal("enumerate", new PyFunction(frame.f_globals, new PyObject[] {}, c$64_enumerate));
1441             frame.getname("_MainThread").__call__();
1442             frame.setlocal("_test", new PyFunction(frame.f_globals, new PyObject[] {}, c$75__test));
1443             if (frame.getname("__name__")._eq(s$66).__nonzero__()) {
1444                 frame.getname("_test").__call__();
1445             }
1446             return Py.None;
1447         }
1448         
1449     }
1450     public static void moduleDictInit(PyObject dict) {
1451         dict.__setitem__("__name__", new PyString("threading"));
1452         Py.runCode(new _PyInner().getMain(), dict, dict);
1453     }
1454     
1455     public static void main(String[] args) throws java.lang.Exception {
1456         String[] newargs = new String[args.length+1];
1457         newargs[0] = "threading";
1458         System.arraycopy(args, 0, newargs, 1, args.length);
1459         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"});
1460     }
1461     
1462 }