Module Expr Str Import alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias Expr Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr TryExcept body Import alias handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Expr Call AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr ImportFrom alias If CompareLt AttributeLoad NameLoad attr TupleLoad Num Num body Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str If CompareLt AttributeLoad NameLoad attr TupleLoad Num Num body Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str If CompareLt AttributeLoad NameLoad attr TupleLoad Num Num body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str Expr Call AttributeLoad NameLoad attr Num Import alias Expr Str Assign NameStore Str Assign NameStore Num Assign NameStore Str ClassDef bases body Expr Str Expr Str FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Num Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr Dict Assign NameStore BinOpAdd BinOpAdd Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpAdd Str NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Str Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Str Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Str Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Num Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd Str AttributeLoad NameLoad attr If Call AttributeLoad AttributeLoad NameLoad attr attr Str body TryExcept body ImportFrom alias Expr Call AttributeLoad NameLoad attr BinOpAdd Str AttributeLoad NameLoad attr handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr Str orelse If Call AttributeLoad AttributeLoad NameLoad attr attr Str body TryExcept body ImportFrom alias Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd Str AttributeLoad NameLoad attr Str handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr Str orelse If Call AttributeLoad AttributeLoad NameLoad attr attr Str body TryExcept body ImportFrom alias Expr Call AttributeLoad NameLoad attr Str handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr BinOpAdd Str Str Assign AttributeStore NameLoad attr Call NameLoad keyword AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam defaults body If CompareNotEq Call AttributeLoad AttributeLoad NameLoad attr attr Str NameLoad body Return Call AttributeLoad NameLoad attr orelse If CompareNotEq Call AttributeLoad AttributeLoad NameLoad attr attr Str NameLoad body Return Call AttributeLoad NameLoad attr orelse Return Call AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str TryExcept body Assign NameStore Call AttributeLoad NameLoad attr For NameStore Call NameLoad Num NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str handlers ExceptHandler type NameLoad body Assign AttributeStore NameLoad attr ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str If CompareEq NameLoad NameLoad body Return Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr TryExcept body For NameStore Call NameLoad Num Call NameLoad SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call AttributeLoad SubscriptLoad NameLoad Index Num attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd SubscriptLoad NameLoad Index Num Str handlers ExceptHandler body Pass Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str If CompareEq NameLoad NameLoad body Return Assign NameStore Call NameLoad NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Dict For NameStore Call NameLoad AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareLt SubscriptLoad NameLoad Index NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad Assign AttributeStore NameLoad attr ListLoad For NameStore Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str Call NameLoad SubscriptLoad NameLoad Index NameLoad For NameStore Call NameLoad Num SubscriptLoad NameLoad Index NameLoad body Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad Str Str Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Assign NameStore Num For NameStore NameLoad body If Call AttributeLoad NameLoad attr Str body Assign NameStore BinOpAdd NameLoad Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Str If BoolOpOr CompareEq NameLoad Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr CompareEq NameLoad Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr body TryExcept body Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call NameLoad NameLoad Assign NameStore Str If CompareEq Call AttributeLoad NameLoad attr Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore Str If CompareEq Call AttributeLoad NameLoad attr Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore Str If CompareEq Call AttributeLoad NameLoad attr Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str If CompareEq Call NameLoad NameLoad AttributeLoad NameLoad attr body Assign NameStore NameLoad orelse Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Str For NameStore NameLoad body Assign NameStore BinOpAdd BinOpAdd NameLoad Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr If CompareEq Call AttributeLoad NameLoad attr Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore AttributeLoad NameLoad attr If CompareEq Call AttributeLoad NameLoad attr Str NameLoad body For NameStore SubscriptLoad NameLoad Index Str body Assign NameStore Call AttributeLoad NameLoad attr Str Assign SubscriptStore NameLoad Index SubscriptLoad NameLoad Index Num BinOpAdd BinOpAdd SubscriptLoad NameLoad Index Num Str SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num Assign SubscriptStore NameLoad Index Str BinOpAdd BinOpAdd NameLoad Str SubscriptLoad NameLoad Index Str Print Str SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore Str If CompareEq Call AttributeLoad NameLoad attr Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore Str If CompareEq Call AttributeLoad NameLoad attr Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str NameLoad Str Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Str Assign NameStore Call NameLoad NameLoad Str Assign NameStore BinOpAdd BinOpAdd NameLoad Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Str TryExcept body Assign NameStore Call NameLoad NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad SubscriptLoad NameLoad Index Num attr handlers ExceptHandler body Pass If CompareEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr BinOpAdd Str NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr NameLoad Return If CompareEq Call AttributeLoad NameLoad attr Str body Assign NameStore BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str AttributeLoad NameLoad attr Str NameLoad Str NameLoad Str NameLoad orelse Assign NameStore BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str NameLoad Str NameLoad Assign NameStore AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str NameLoad Str Call NameLoad Call AttributeLoad NameLoad attr Str NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Print NameLoad Expr Call AttributeLoad NameLoad attr Str Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Str Assign NameStore ListLoad Assign NameStore NameLoad If CompareGtE Call NameLoad AttributeLoad NameLoad attr NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr For NameStore NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str Call NameLoad NameLoad Str Call NameLoad AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr For NameStore Call NameLoad Num NameLoad body If CompareGt NameLoad Num body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore BinOpSub NameLoad Num orelse Break Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad Str Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Str For NameStore NameLoad body If Call AttributeLoad NameLoad attr Str body Assign NameStore BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd NameLoad Str SubscriptLoad NameLoad Index Str Str Call NameLoad SubscriptLoad NameLoad Index Str Str orelse Assign NameStore BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd NameLoad Str SubscriptLoad NameLoad Index Str Str Call NameLoad SubscriptLoad NameLoad Index Str Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr ListLoad BinOpAdd BinOpAdd Str NameLoad Str Str Str Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd Str SubscriptLoad SubscriptLoad NameLoad Index Num Index Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call NameLoad NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Expr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd Str NameLoad Assign NameStore ListLoad Str TryExcept body Assign NameStore Call NameLoad NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call NameLoad NameLoad For NameStore NameLoad body Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str Call NameLoad NameLoad Str Call NameLoad AttributeLoad NameLoad attr Str Call NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd Str NameLoad If Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str Return BinOpAdd BinOpAdd NameLoad Str NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Num While CompareEq Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad body If CompareEq Call NameLoad AttributeLoad NameLoad attr Num body Expr Call AttributeLoad NameLoad attr Num Continue Expr Call AttributeLoad NameLoad attr BinOpAdd Str AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr If CompareEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr Num Continue If CompareEq NameLoad Str body Break Assign NameStore BinOpAdd NameLoad Num If CompareEq BinOpMod NameLoad NameLoad Num body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr ListLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareNotEq NameLoad NameLoad body Assign NameStore NameLoad TryExcept body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad handlers ExceptHandler body Assign NameStore NameLoad If BoolOpOr CompareEq NameLoad NameLoad CompareEq NameLoad NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str Call NameLoad NameLoad If CompareEq SubscriptLoad NameLoad Index Str Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr body Assign SubscriptStore NameLoad Index Str Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr BinOpMod Str Call NameLoad AttributeLoad NameLoad attr For NameStore AttributeLoad NameLoad attr body If Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad body Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd BinOpAdd Call AttributeLoad NameLoad attr NameLoad Str Call NameLoad NameLoad Str Call NameLoad AttributeLoad NameLoad attr If BoolOpAnd CompareNotEq NameLoad NameLoad BoolOpOr CompareEq NameLoad Num CompareEq NameLoad Num body Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr NameLoad Delete SubscriptDel AttributeLoad NameLoad attr Index NameLoad orelse If BoolOpAnd CompareNotEq NameLoad Num CompareNotEq NameLoad Num CompareNotEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr BinOpAdd Call AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr NameLoad Delete SubscriptDel AttributeLoad NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return BinOpAdd BinOpAdd BinOpAdd Str NameLoad Str SubscriptLoad NameLoad Index Str decorator_list FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd Str Call NameLoad Call NameLoad AttributeLoad NameLoad attr Str Call NameLoad Call NameLoad AttributeLoad NameLoad attr While BoolOpAnd NameLoad CompareEq AttributeLoad NameLoad attr NameLoad body If CompareEq Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr Str Break orelse Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd Str Call NameLoad AttributeLoad NameLoad attr Str TryExcept body Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Num Assign AttributeStore NameLoad attr Num handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BinOpAdd AttributeLoad NameLoad attr Num If CompareGt AttributeLoad NameLoad attr Num body Break Expr Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore NameLoad TryExcept body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad handlers ExceptHandler body Pass Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call NameLoad NameLoad If BoolOpOr CompareEq NameLoad NameLoad CompareEq Call AttributeLoad NameLoad attr Str NameLoad CompareEq SubscriptLoad NameLoad Index Str NameLoad body Return NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr NameLoad decorator_list decorator_list If CompareEq NameLoad Str body Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad If CompareNotEq NameLoad Num body Print BinOpAdd BinOpAdd Str SubscriptLoad NameLoad Index Num Str Expr Call AttributeLoad NameLoad attr Num Assign NameStore Call NameLoad NameLoad
N/A N/A bigjob_agent: bigjob agent adapted for Condor resources
 N/A sys N/A os N/A bigjob.state N/A socket N/A threading N/A time N/A pdb N/A traceback N/A ConfigParser N/A types N/A logging N/A N/A N/A logging basicConfig level N/A logging DEBUG N/A N/A N/A saga N/A N/A N/A N/A N/A N/A logging warning SAGA could not be found. Not all functionalities working N/A N/A N/A N/A sys path append N/A N/A N/A N/A os path dirname N/A N/A N/A os path abspath __file__ /../../ext/threadpool-1.2.7/src/ N/A N/A N/A logging debug N/A str N/A sys path threadpool * N/A N/A N/A sys version_info N/A 2 5 N/A N/A N/A N/A N/A sys path append N/A N/A N/A N/A os path dirname __file__ /../../ext/uuid-1.30/ N/A N/A N/A N/A sys stderr write Warning: Using unsupported Python version
 N/A N/A N/A sys version_info N/A 2 4 N/A N/A N/A N/A N/A sys path append N/A N/A N/A N/A os path dirname __file__ /../../ext/subprocess-2.6.4/ N/A N/A N/A N/A sys stderr write Warning: Using unsupported Python version
 N/A N/A N/A sys version_info N/A 2 3 N/A N/A N/A N/A N/A sys stderr write Warning: Python versions <2.3 not supported
 N/A N/A N/A sys exit -1 N/A subprocess N/A  Config parameters (will move to config file in future)  N/A CONFIG_FILE bigjob_agent.conf N/A THREAD_POOL_SIZE 4 N/A APPLICATION_NAME bigjob bigjob_agent N/A N/A N/A BigJob Agent:
       - reads new job information from communication and coordination subsystem (Redis)
       - starts new jobs
       - monitors running jobs  N/A Constructor __init__ N/A N/A self args N/A N/A N/A N/A self coordination_url N/A args N/A 1 N/A N/A self jobs N/A N/A N/A self processes N/A N/A N/A self freenodes N/A N/A N/A self busynodes N/A N/A N/A self restarted N/A N/A conf_file N/A N/A N/A N/A N/A os path dirname N/A N/A N/A os path abspath __file__ /../ CONFIG_FILE N/A config N/A N/A ConfigParser ConfigParser N/A N/A N/A logging debug N/A read configfile:  conf_file N/A N/A N/A config read conf_file N/A default_dict N/A N/A config defaults N/A N/A self CPR N/A default_dict N/A cpr N/A N/A self SHELL N/A default_dict N/A shell N/A N/A self MPIRUN N/A default_dict N/A mpirun N/A N/A N/A logging debug N/A N/A N/A N/A N/A cpr:  N/A self CPR  mpi:  N/A self MPIRUN  shell:  N/A self SHELL N/A N/A N/A self init_rms N/A N/A self failed_polls 0 N/A N/A self base_url N/A args N/A 2 N/A N/A N/A logging debug N/A BigJob Agent arguments:  N/A str args N/A N/A N/A logging debug N/A Initialize C&C subsystem to pilot-url:  N/A self base_url N/A N/A N/A N/A self coordination_url startswith advert:// N/A N/A N/A coordination.bigjob_coordination_advert bigjob_coordination N/A N/A N/A logging debug N/A Utilizing ADVERT Backend:  N/A self coordination_url N/A N/A N/A N/A N/A N/A logging error Advert Backend could not be loaded N/A N/A N/A N/A N/A self coordination_url startswith redis:// N/A N/A N/A coordination.bigjob_coordination_redis bigjob_coordination N/A N/A N/A logging debug N/A N/A Utilizing Redis Backend:  N/A self coordination_url . N/A N/A N/A N/A N/A N/A logger error Error loading pyredis. Please verify Redis is configured properly. N/A N/A N/A N/A N/A self coordination_url startswith tcp:// N/A N/A N/A coordination.bigjob_coordination_zmq bigjob_coordination N/A N/A N/A logging debug Utilizing ZMQ Backend N/A N/A N/A N/A N/A N/A logging error N/A ZMQ Backend not found. Please install ZeroMQ (http://www.zeromq.org/intro:get-the-software) and  PYZMQ (http://zeromq.github.com/pyzmq/) N/A N/A self coordination N/A bigjob_coordination server_connect_url N/A self coordination_url N/A N/A N/A N/A self coordination set_pilot_state N/A self base_url N/A str N/A N/A bigjob state Running False N/A N/A self resource_lock N/A N/A threading RLock N/A N/A self threadpool N/A ThreadPool THREAD_POOL_SIZE N/A N/A self launcher_thread N/A N/A threading Thread target N/A self dequeue_new_jobs N/A N/A N/A N/A self launcher_thread start N/A N/A self monitoring_thread N/A N/A threading Thread target N/A self start_background_thread N/A N/A N/A N/A self monitoring_thread start N/A init_rms N/A N/A self N/A N/A N/A N/A N/A N/A N/A os environ get PBS_NODEFILE None N/A N/A N/A N/A self init_pbs N/A N/A N/A N/A N/A N/A os environ get PE_HOSTFILE None N/A N/A N/A N/A self init_sge N/A N/A N/A N/A self init_local N/A None N/A init_local N/A N/A self N/A N/A N/A  initialize free nodes list with dummy (for fork jobs) N/A N/A N/A num_cpus N/A N/A self get_num_cpus N/A i N/A range 0 num_cpus N/A N/A N/A N/A N/A self freenodes append localhost
 N/A N/A N/A IOError N/A N/A N/A self freenodes N/A localhost
 N/A init_sge N/A N/A self N/A N/A N/A  initialize free nodes list from SGE environment  N/A sge_node_file N/A N/A N/A os environ get PE_HOSTFILE N/A N/A sge_node_file None N/A N/A N/A f N/A open sge_node_file N/A sgenodes N/A N/A f readlines N/A N/A N/A f close N/A i sgenodes N/A N/A columns N/A N/A i split N/A N/A N/A j N/A range 0 N/A int N/A columns N/A 1 N/A N/A N/A N/A logging debug N/A add host:  N/A N/A N/A columns N/A 0 strip N/A N/A N/A N/A self freenodes append N/A N/A columns N/A 0 N/A N/A N/A N/A N/A N/A self freenodes N/A init_pbs N/A N/A self N/A N/A N/A  initialize free nodes list from PBS environment  N/A pbs_node_file N/A N/A N/A os environ get PBS_NODEFILE N/A N/A pbs_node_file None N/A N/A N/A f N/A open pbs_node_file N/A N/A self freenodes N/A N/A f readlines N/A N/A N/A f close N/A num_cpus N/A N/A self get_num_cpus N/A node_dict N/A N/A i N/A set N/A self freenodes N/A N/A N/A node_dict N/A i N/A N/A N/A self freenodes count i N/A N/A N/A node_dict N/A i num_cpus N/A N/A N/A node_dict N/A i num_cpus N/A N/A self freenodes N/A N/A i N/A N/A node_dict keys N/A N/A N/A N/A logging debug N/A N/A N/A host:  i  nodes:  N/A str N/A node_dict N/A i N/A j N/A range 0 N/A node_dict N/A i N/A N/A N/A N/A logging debug N/A add host:  N/A N/A i strip N/A N/A N/A N/A self freenodes append i N/A get_num_cpus N/A N/A self N/A N/A N/A cpuinfo N/A open /proc/cpuinfo r N/A cpus N/A N/A cpuinfo readlines N/A N/A N/A cpuinfo close N/A num 0 N/A i cpus N/A N/A N/A N/A i startswith processor N/A N/A num N/A num 1 N/A num N/A execute_job N/A N/A self job_url job_dict N/A N/A N/A  obtain job attributes from c&c and execute process  N/A state N/A str N/A job_dict N/A state N/A N/A N/A state N/A str N/A N/A bigjob state Unknown N/A state N/A str N/A N/A bigjob state New N/A N/A N/A N/A N/A N/A logging debug N/A Start job:  N/A str job_dict N/A numberofprocesses 1 N/A N/A N/A N/A job_dict has_key NumberOfProcesses True N/A N/A numberofprocesses N/A job_dict N/A NumberOfProcesses N/A spmdvariation single N/A N/A N/A N/A job_dict has_key SPMDVariation True N/A N/A spmdvariation N/A job_dict N/A SPMDVariation N/A arguments N/A N/A N/A N/A job_dict has_key Arguments True N/A N/A arguments_raw N/A job_dict N/A Arguments N/A N/A N/A type arguments_raw N/A types ListType N/A N/A arguments_list arguments_raw N/A N/A arguments_list N/A eval N/A job_dict N/A Arguments N/A i arguments_list N/A N/A arguments N/A N/A arguments i N/A workingdirectory N/A N/A os getcwd N/A N/A N/A N/A job_dict has_key WorkingDirectory True N/A N/A workingdirectory N/A job_dict N/A WorkingDirectory N/A environment N/A os environ N/A N/A N/A N/A job_dict has_key Environment True N/A N/A i N/A job_dict N/A Environment N/A N/A env N/A N/A i split = N/A N/A environment N/A N/A env N/A 0 N/A N/A N/A env N/A 1 : N/A environment N/A N/A env N/A 0 N/A N/A environment N/A PATH N/A N/A workingdirectory : N/A environment N/A PATH N/A environment[PATH] N/A environment N/A PATH N/A executable N/A job_dict N/A Executable N/A output stdout N/A N/A N/A N/A job_dict has_key Output True N/A N/A output N/A job_dict N/A Output N/A error stderr N/A N/A N/A N/A job_dict has_key Error True N/A N/A error N/A job_dict N/A Error N/A N/A N/A N/A self jobs append job_url N/A output_file N/A N/A N/A os path join workingdirectory output N/A error_file N/A N/A N/A os path join workingdirectory error N/A N/A N/A logging debug N/A N/A N/A N/A N/A stdout:  output_file  stderr:  error_file  env:  N/A str environment N/A stdout N/A open output_file w N/A stderr N/A open error_file w N/A command N/A N/A executable arguments N/A machinefile N/A N/A self allocate_nodes job_dict N/A host localhost N/A N/A N/A machine_file_handler N/A open machinefile r N/A node N/A N/A machine_file_handler readlines N/A N/A N/A machine_file_handler close N/A host N/A N/A N/A node N/A 0 strip N/A N/A N/A N/A N/A N/A machinefile None N/A N/A N/A N/A logging debug N/A Not enough resources to run:  job_url N/A N/A N/A N/A self coordination queue_job N/A self base_url job_url N/A N/A N/A N/A N/A spmdvariation lower mpi N/A N/A command N/A N/A N/A N/A N/A N/A N/A N/A N/A cd  workingdirectory ;  N/A self MPIRUN  -np  numberofprocesses  -machinefile  machinefile command N/A N/A command N/A N/A N/A N/A N/A chmod +x  executable ;export PATH=$PATH: workingdirectory ; command N/A shell N/A self SHELL N/A N/A N/A logging debug N/A N/A N/A N/A N/A N/A N/A N/A execute:  command  in  workingdirectory  from:  N/A str N/A N/A socket gethostname  (Shell:  shell ) N/A p N/A N/A subprocess Popen args command executable shell stderr stderr stdout stdout cwd workingdirectory env environment shell True N/A N/A N/A logging debug N/A started  command N/A dirlist N/A N/A os listdir workingdirectory N/A dirlist N/A N/A N/A os system ls;pwd N/A N/A N/A self processes N/A job_url p N/A N/A N/A N/A self coordination set_job_state job_url N/A str N/A N/A bigjob state Running N/A N/A N/A N/A N/A N/A traceback print_exc file N/A sys stderr N/A allocate_nodes N/A N/A self job_dict N/A N/A N/A  allocate nodes
            allocated nodes will be written to machinefile advert-launcher-machines-<jobid>
         N/A N/A N/A N/A self resource_lock acquire N/A number_nodes N/A int N/A job_dict N/A NumberOfProcesses N/A nodes N/A N/A machine_file_name None N/A N/A N/A len N/A self freenodes number_nodes N/A N/A unique_nodes N/A set N/A self freenodes N/A i unique_nodes N/A N/A number N/A N/A N/A self freenodes count i N/A N/A N/A logging debug N/A N/A N/A N/A N/A N/A N/A allocate:  i  number nodes:  N/A str number  current busy nodes:  N/A str N/A self busynodes  free nodes:  N/A str N/A self freenodes N/A j N/A range 0 number N/A N/A N/A number_nodes 0 N/A N/A N/A N/A nodes append i N/A N/A N/A N/A self freenodes remove i N/A N/A N/A N/A self busynodes append i N/A number_nodes N/A number_nodes 1 N/A N/A N/A machine_file_name N/A N/A self get_machine_file_name job_dict N/A machine_file N/A open machine_file_name w N/A N/A N/A machine_file writelines nodes N/A N/A N/A machine_file close N/A N/A N/A logging debug N/A N/A N/A wrote machinefile:  machine_file_name  Nodes:  N/A str nodes N/A N/A N/A N/A self resource_lock release N/A machine_file_name N/A setup_charmpp_nodefile N/A N/A self allocated_nodes N/A N/A N/A  Setup charm++ nodefile to use for executing NAMD  
            HACK!! Method violates layering principle
            File $HOME/machinefile in charm++ nodefileformat is written to first node in list
         N/A nodefile_string N/A i allocated_nodes N/A N/A N/A N/A i has_key private_hostname N/A N/A nodefile_string N/A N/A N/A N/A N/A nodefile_string host  N/A i N/A private_hostname  ++cpus  N/A str N/A i N/A cpu_count  ++shell ssh
 N/A N/A nodefile_string N/A N/A N/A N/A N/A nodefile_string host  N/A i N/A hostname  ++cpus  N/A str N/A i N/A cpu_count  ++shell ssh
 N/A jd N/A N/A N/A saga job description N/A N/A jd executable echo N/A N/A jd number_of_processes 1 N/A N/A jd spmd_variation single N/A N/A jd arguments N/A N/A N/A " nodefile_string " > machinefile N/A N/A jd output stdout.txt N/A N/A jd error stderr.txt N/A job_service_url N/A N/A saga url N/A ssh://root@ N/A N/A allocated_nodes N/A 0 N/A hostname N/A job_service N/A N/A N/A saga job service N/A self session job_service_url N/A job N/A N/A job_service create_job jd N/A N/A N/A job run N/A N/A N/A job wait N/A print_machine_file N/A N/A self filename N/A N/A N/A fh N/A open filename r N/A lines N/A N/A fh readlines N/A N/A fh close N/A N/A N/A logging debug N/A N/A N/A Machinefile:  filename  Hosts:  N/A str lines N/A free_nodes N/A N/A self job_url N/A N/A N/A job_dict N/A N/A N/A self coordination get_job job_url N/A N/A N/A N/A self resource_lock acquire N/A number_nodes N/A int N/A job_dict N/A NumberOfProcesses N/A machine_file_name N/A N/A self get_machine_file_name job_dict N/A N/A N/A logging debug N/A Machine file:  machine_file_name N/A allocated_nodes N/A localhost
 N/A N/A N/A machine_file N/A open machine_file_name r N/A allocated_nodes N/A N/A machine_file readlines N/A N/A N/A machine_file close N/A N/A N/A N/A N/A N/A traceback print_exc file N/A sys stderr N/A N/A N/A logging debug N/A Free nodes:  N/A str allocated_nodes N/A i allocated_nodes N/A N/A N/A N/A logging debug N/A N/A N/A N/A N/A free node:  N/A str i  current busy nodes:  N/A str N/A self busynodes  free nodes:  N/A str N/A self freenodes N/A N/A N/A N/A self busynodes remove i N/A N/A N/A N/A self freenodes append i N/A N/A N/A logging debug N/A Delete  machine_file_name N/A N/A N/A N/A os path exists machine_file_name N/A N/A N/A N/A os remove machine_file_name N/A N/A N/A N/A self resource_lock release N/A get_machine_file_name N/A N/A self job_dict N/A N/A N/A create machinefile based on jobid N/A job_id N/A job_dict N/A job-id N/A homedir N/A N/A N/A os path expanduser ~ N/A N/A N/A homedir /advert-launcher-machines- job_id N/A dequeue_new_jobs N/A N/A self N/A N/A N/A Subscribe to new jobs from Redis.  N/A job_counter 0 N/A N/A N/A N/A self is_stopped N/A self base_url False N/A N/A N/A N/A len N/A self freenodes 0 N/A N/A N/A N/A time sleep 3 N/A N/A N/A N/A logging debug N/A Dequeue sub-job from:  N/A self base_url N/A job_url N/A N/A N/A self coordination dequeue_job N/A self base_url N/A N/A job_url None N/A N/A N/A N/A time sleep 3 N/A N/A N/A job_url STOP N/A N/A N/A job_counter N/A job_counter 1 N/A N/A N/A job_counter THREAD_POOL_SIZE 0 N/A N/A N/A N/A N/A self threadpool wait N/A request N/A WorkRequest N/A self start_new_job_in_thread N/A job_url N/A N/A N/A N/A self threadpool putRequest request N/A N/A N/A N/A self threadpool wait N/A N/A N/A logging debug Terminating Agent - Dequeue Sub-Jobs Thread N/A start_new_job_in_thread N/A N/A self job_url N/A N/A N/A evaluates job dir, sanity checks, executes job  N/A N/A job_url None N/A N/A failed False N/A N/A N/A job_dict N/A N/A N/A self coordination get_job job_url N/A N/A N/A N/A failed True N/A N/A N/A job_dict None N/A failed True N/A N/A N/A N/A N/A self coordination queue_job N/A self pilot_url job_url N/A N/A N/A logging debug N/A N/A N/A start job:  job_url  data:  N/A str job_dict N/A N/A N/A job_dict N/A state N/A str N/A N/A bigjob state Unknown N/A N/A N/A job_dict N/A state N/A str N/A N/A bigjob state New N/A N/A N/A N/A self coordination set_job_state job_url N/A str N/A N/A bigjob state New N/A N/A N/A self execute_job job_url job_dict N/A monitor_jobs N/A N/A self N/A N/A N/A Monitor running processes.  N/A N/A N/A logging debug N/A Monitor jobs - # current jobs: %d N/A len N/A self jobs N/A i N/A self jobs N/A N/A N/A N/A N/A self processes has_key i N/A N/A p N/A N/A self processes N/A i N/A p_state N/A N/A p poll N/A N/A N/A logging debug N/A N/A N/A N/A N/A N/A self print_job i  state:  N/A str p_state  return code:  N/A str N/A p returncode N/A N/A N/A p_state None N/A N/A p_state 0 N/A p_state 255 N/A N/A N/A N/A logging debug N/A Job successful:  N/A N/A self print_job i N/A N/A N/A N/A self coordination set_job_state i N/A str N/A N/A bigjob state Done N/A N/A N/A self free_nodes i N/A N/A N/A self processes N/A i N/A N/A N/A N/A p_state 0 N/A p_state 255 N/A p_state None N/A N/A N/A N/A logging debug N/A N/A N/A self print_job i  failed.   N/A N/A N/A logging debug N/A Job failed  N/A N/A self print_job i N/A N/A N/A N/A self coordination set_job_state i N/A str N/A N/A bigjob state Failed N/A N/A N/A self free_nodes i N/A N/A N/A self processes N/A i N/A print_job N/A N/A self job_url N/A N/A N/A job_dict N/A N/A N/A self coordination get_job job_url N/A N/A N/A N/A Job:  job_url  Executable:  N/A job_dict N/A Executable N/A start_background_thread N/A N/A self N/A N/A N/A N/A self stop False N/A N/A N/A logging debug ##################################### New POLL/MONITOR cycle ################################## N/A N/A N/A logging debug N/A N/A N/A Free nodes:  N/A str N/A len N/A self freenodes  Busy Nodes:  N/A str N/A len N/A self busynodes N/A N/A True N/A N/A self stop False N/A N/A N/A N/A N/A self is_stopped N/A self base_url True N/A N/A N/A N/A logging debug Pilot job entry deleted - terminate agent N/A N/A N/A N/A N/A logging debug N/A N/A Pilot job entry:  N/A str N/A self base_url  exists. Pilot job not in state stopped. N/A N/A N/A N/A N/A self monitor_jobs N/A N/A N/A time sleep 5 N/A N/A self failed_polls 0 N/A N/A N/A N/A N/A N/A traceback print_exc file N/A sys stdout N/A N/A self failed_polls N/A N/A self failed_polls 1 N/A N/A N/A self failed_polls 3 N/A N/A N/A N/A N/A logging debug Terminating Agent - Background Thread N/A is_stopped N/A N/A self base_url N/A N/A N/A state None N/A N/A N/A state N/A N/A N/A self coordination get_pilot_state base_url N/A N/A N/A N/A N/A N/A N/A logging debug N/A Pilot State:  N/A str state N/A N/A N/A state None N/A N/A N/A state has_key stopped False N/A N/A state N/A stopped True N/A N/A True N/A N/A False N/A stop_background_thread N/A N/A self N/A N/A N/A N/A self stop True N/A N/A N/A N/A __name__ __main__ N/A N/A args N/A sys argv N/A num_args N/A len args N/A N/A num_args 3 N/A N/A N/A N/A Usage: 
  N/A args N/A 0  <coordination host url> <coordination namespace url> N/A N/A N/A sys exit 1 N/A bigjob_agent N/A bigjob_agent args