👾
Elijah's CTF Blog
  • 👋Home
  • SSMCTF 25
    • Orange Deportation Simulator (pwn)
    • ecssp (crypto)
  • 🌸x3ctf25
    • notcrypto (rev)
    • pickle-season (rev)
    • devnull-as-a-service (pwn)
  • 🇲🇾Wargames.MY CTF 2024
    • Credentials (crypto)
    • Stones (rev)
    • Rick'S Algorithm (crypto)
    • Rick'S Algorithm 2 (crypto)
    • Hohoho 3 continue (crypto)
  • 🎄Advent of CTF 2024
    • Jingle Bell ROP (pwn)
    • help (pwn)
  • Backdoor CTF 24
    • [rev] Ratatouille
  • 🇭🇰HKCERT CTF 24
    • Shellcode Runner 3 + Revenge (pwn)
    • ISH (1) (pwn)
    • Cyp.ress (rev)
    • Void (rev)
  • 🇮🇹ECSC 2024
    • ➕OffTopic (crypto)
  • 🎩Greyhats WelcomeCTF 24
    • EE2026 (misc)
  • 🚆UIUCTF 24
    • Syscalls (pwn)
    • Summarize (rev)
    • X Marked the Spot (crypto)
    • Without a Trace (crypto)
    • Determined (crypto)
    • Naptime (crypto)
    • Snore Signatures (crypto)
  • 🪼Jelly CTF 24
    • Cherry (crypto)
    • the_brewing_secrets (crypto)
  • 👨‍🦯vsCTF 24
    • Dream (crypto)
    • Cosmic Ray V3 (pwn)
  • 😎AKASEC CTF 24
    • Warmup (pwn)
    • Good_trip (pwn)
    • Sperm Rev (rev)
    • Paranoia (rev)
    • Grip (rev)
    • Risks (rev)
    • Lost (crypto)
  • 😁L3AK CTF 24
    • oorrww (pwn)
    • angry (rev)
    • Related (crypto)
    • BatBot (web-misc)
    • Matrix Magic (crypto)
  • 🥹CDDC Qualifiers 2024
    • WASM (rev)
    • crashMe (pwn)
Powered by GitBook
On this page
  1. x3ctf25

pickle-season (rev)

The challenge code is as follows:

import pickle

data = "8004637379730a6d6f64756c65730a8c017494636275696c74696e730a747970650a8c00297d87529473304e9430636275696c74696e730a7072696e740a9470320a68014e7d8c0162946802738662303063740a622e5f5f73656c665f5f0a70320a68014e7d680468027386623030284b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004ad6ffffff6c70320a68014e7d8c0169946802738662303063740a692e657874656e640a63740a622e6d61700a63740a622e6f72640a63740a622e696e7075740a8c06466c61673f20855286528552307d4da2027d4dcc027d4dfc027d4d8f027d4dbb027d4d88027d4dfb027d4da4027d4d97027d4dfb027d4d90027d4df3027d4dc2027d4d92027d4dcd027d4da3027d4d92027d4dcd027d4da0027d4d90027d4df4027d4dc7027d4db5027d4d85027d4dc7027d4dbc027d4df1027d4da7027d4dea027d4e8c08436f72726563742173737373737373737373737373737373737373737373737373737373737370320a68014e7d8c0164946802738662303068008c05642e676574948c05692e706f70948c09782e5f5f786f725f5f94303030304ddf0270320a68014e7d8c017894680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d6806680273866230306800680793680068099368006808932952855270320a68014e7d680a6802738662307d865270320a68014e7d680668027386623030680368006807934e8c0b57726f6e672e2e2e203a28865285522e"
x = pickle.loads(bytes.fromhex(data))

The program is essentially executing a pickle payload. We need to use pickletools to analyse it.

However, I realised that pickletools was giving me a error

ValueError: memo key 2 already defined

After googling, I realised that this was an unnecessary check being done by pickletools and was patched in Python 3.14. After using Python3.14 I was able to convert the bytecode into assembly:


    0: \x80 PROTO      4 Protocol version indicator.
    2: c    GLOBAL     'sys modules' Push a global object (module.attr) on the stack.
   15: \x8c SHORT_BINUNICODE 't'     Push a Python Unicode string object.
   18: \x94 MEMOIZE    (as 0)        Store the stack top into the memo.  The stack is not popped.
   19: c    GLOBAL     'builtins type' Push a global object (module.attr) on the stack.
   34: \x8c SHORT_BINUNICODE ''        Push a Python Unicode string object.
   36: )    EMPTY_TUPLE                Push an empty tuple.
   37: }    EMPTY_DICT                 Push an empty dict.
   38: \x87 TUPLE3                     Build a three-tuple out of the top three items on the stack.
   39: R    REDUCE                     Push an object built from a callable and an argument tuple.
   40: \x94 MEMOIZE    (as 1)          Store the stack top into the memo.  The stack is not popped.
   41: s    SETITEM                    Add a key+value pair to an existing dict.
   42: 0    POP                        Discard the top stack item, shrinking the stack by one item.
   43: N    NONE                       Push None on the stack.
   44: \x94 MEMOIZE    (as 2)          Store the stack top into the memo.  The stack is not popped.
   45: 0    POP                        Discard the top stack item, shrinking the stack by one item.
   46: c    GLOBAL     'builtins print' Push a global object (module.attr) on the stack.
   62: \x94 MEMOIZE    (as 3)           Store the stack top into the memo.  The stack is not popped.
   63: p    PUT        2                Store the stack top into the memo.  The stack is not popped.
   66: h    BINGET     1                Read an object from the memo and push it on the stack.
   68: N    NONE                        Push None on the stack.
   69: }    EMPTY_DICT                  Push an empty dict.
   70: \x8c SHORT_BINUNICODE 'b'        Push a Python Unicode string object.
   73: \x94 MEMOIZE    (as 4)           Store the stack top into the memo.  The stack is not popped.
   74: h    BINGET     2                Read an object from the memo and push it on the stack.
   76: s    SETITEM                     Add a key+value pair to an existing dict.
   77: \x86 TUPLE2                      Build a two-tuple out of the top two items on the stack.
   78: b    BUILD                       Finish building an object, via __setstate__ or dict update.
   79: 0    POP                         Discard the top stack item, shrinking the stack by one item.
   80: 0    POP                         Discard the top stack item, shrinking the stack by one item.
   81: c    GLOBAL     't b.__self__'   Push a global object (module.attr) on the stack.
   95: p    PUT        2                Store the stack top into the memo.  The stack is not popped.
   98: h    BINGET     1                Read an object from the memo and push it on the stack.
  100: N    NONE                        Push None on the stack.
  101: }    EMPTY_DICT                  Push an empty dict.
  102: h    BINGET     4                Read an object from the memo and push it on the stack.
  104: h    BINGET     2                Read an object from the memo and push it on the stack.
  106: s    SETITEM                     Add a key+value pair to an existing dict.
  107: \x86 TUPLE2                      Build a two-tuple out of the top two items on the stack.
  108: b    BUILD                       Finish building an object, via __setstate__ or dict update.
  109: 0    POP                         Discard the top stack item, shrinking the stack by one item.
  110: 0    POP                         Discard the top stack item, shrinking the stack by one item.
  111: (    MARK                        Push markobject onto the stack.
  112: K        BININT1    0            Push a one-byte unsigned integer.
  114: K        BININT1    0            Push a one-byte unsigned integer.
  116: K        BININT1    0            Push a one-byte unsigned integer.
  118: K        BININT1    0            Push a one-byte unsigned integer.
  120: K        BININT1    0            Push a one-byte unsigned integer.
  122: K        BININT1    0            Push a one-byte unsigned integer.
  124: K        BININT1    0            Push a one-byte unsigned integer.
  126: K        BININT1    0            Push a one-byte unsigned integer.
  128: K        BININT1    0            Push a one-byte unsigned integer.
  130: K        BININT1    0            Push a one-byte unsigned integer.
  132: K        BININT1    0            Push a one-byte unsigned integer.
  134: K        BININT1    0            Push a one-byte unsigned integer.
  136: K        BININT1    0            Push a one-byte unsigned integer.
  138: K        BININT1    0            Push a one-byte unsigned integer.
  140: K        BININT1    0            Push a one-byte unsigned integer.
  142: K        BININT1    0            Push a one-byte unsigned integer.
  144: K        BININT1    0            Push a one-byte unsigned integer.
  146: K        BININT1    0            Push a one-byte unsigned integer.
  148: K        BININT1    0            Push a one-byte unsigned integer.
  150: K        BININT1    0            Push a one-byte unsigned integer.
  152: K        BININT1    0            Push a one-byte unsigned integer.
  154: K        BININT1    0            Push a one-byte unsigned integer.
  156: K        BININT1    0            Push a one-byte unsigned integer.
  158: K        BININT1    0            Push a one-byte unsigned integer.
  160: K        BININT1    0            Push a one-byte unsigned integer.
  162: K        BININT1    0            Push a one-byte unsigned integer.
  164: K        BININT1    0            Push a one-byte unsigned integer.
  166: K        BININT1    0            Push a one-byte unsigned integer.
  168: J        BININT     -42          Push a four-byte signed integer.
  173: l        LIST       (MARK at 111) Build a list out of the topmost stack slice, after markobject.
  174: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  177: h    BINGET     1                 Read an object from the memo and push it on the stack.
  179: N    NONE                         Push None on the stack.
  180: }    EMPTY_DICT                   Push an empty dict.
  181: \x8c SHORT_BINUNICODE 'i'         Push a Python Unicode string object.
  184: \x94 MEMOIZE    (as 5)            Store the stack top into the memo.  The stack is not popped.
  185: h    BINGET     2                 Read an object from the memo and push it on the stack.
  187: s    SETITEM                      Add a key+value pair to an existing dict.
  188: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  189: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  190: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  191: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  192: c    GLOBAL     't i.extend'      Push a global object (module.attr) on the stack.
  204: c    GLOBAL     't b.map'         Push a global object (module.attr) on the stack.
  213: c    GLOBAL     't b.ord'         Push a global object (module.attr) on the stack.
  222: c    GLOBAL     't b.input'       Push a global object (module.attr) on the stack.
  233: \x8c SHORT_BINUNICODE 'Flag? '    Push a Python Unicode string object.
  241: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  242: R    REDUCE                       Push an object built from a callable and an argument tuple.
  243: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  244: R    REDUCE                       Push an object built from a callable and an argument tuple.
  245: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  246: R    REDUCE                       Push an object built from a callable and an argument tuple.
  247: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  248: }    EMPTY_DICT                   Push an empty dict.
  249: M    BININT2    674               Push a two-byte unsigned integer.
  252: }    EMPTY_DICT                   Push an empty dict.
  253: M    BININT2    716               Push a two-byte unsigned integer.
  256: }    EMPTY_DICT                   Push an empty dict.
  257: M    BININT2    764               Push a two-byte unsigned integer.
  260: }    EMPTY_DICT                   Push an empty dict.
  261: M    BININT2    655               Push a two-byte unsigned integer.
  264: }    EMPTY_DICT                   Push an empty dict.
  265: M    BININT2    699               Push a two-byte unsigned integer.
  268: }    EMPTY_DICT                   Push an empty dict.
  269: M    BININT2    648               Push a two-byte unsigned integer.
  272: }    EMPTY_DICT                   Push an empty dict.
  273: M    BININT2    763               Push a two-byte unsigned integer.
  276: }    EMPTY_DICT                   Push an empty dict.
  277: M    BININT2    676               Push a two-byte unsigned integer.
  280: }    EMPTY_DICT                   Push an empty dict.
  281: M    BININT2    663               Push a two-byte unsigned integer.
  284: }    EMPTY_DICT                   Push an empty dict.
  285: M    BININT2    763               Push a two-byte unsigned integer.
  288: }    EMPTY_DICT                   Push an empty dict.
  289: M    BININT2    656               Push a two-byte unsigned integer.
  292: }    EMPTY_DICT                   Push an empty dict.
  293: M    BININT2    755               Push a two-byte unsigned integer.
  296: }    EMPTY_DICT                   Push an empty dict.
  297: M    BININT2    706               Push a two-byte unsigned integer.
  300: }    EMPTY_DICT                   Push an empty dict.
  301: M    BININT2    658               Push a two-byte unsigned integer.
  304: }    EMPTY_DICT                   Push an empty dict.
  305: M    BININT2    717               Push a two-byte unsigned integer.
  308: }    EMPTY_DICT                   Push an empty dict.
  309: M    BININT2    675               Push a two-byte unsigned integer.
  312: }    EMPTY_DICT                   Push an empty dict.
  313: M    BININT2    658               Push a two-byte unsigned integer.
  316: }    EMPTY_DICT                   Push an empty dict.
  317: M    BININT2    717               Push a two-byte unsigned integer.
  320: }    EMPTY_DICT                   Push an empty dict.
  321: M    BININT2    672               Push a two-byte unsigned integer.
  324: }    EMPTY_DICT                   Push an empty dict.
  325: M    BININT2    656               Push a two-byte unsigned integer.
  328: }    EMPTY_DICT                   Push an empty dict.
  329: M    BININT2    756               Push a two-byte unsigned integer.
  332: }    EMPTY_DICT                   Push an empty dict.
  333: M    BININT2    711               Push a two-byte unsigned integer.
  336: }    EMPTY_DICT                   Push an empty dict.
  337: M    BININT2    693               Push a two-byte unsigned integer.
  340: }    EMPTY_DICT                   Push an empty dict.
  341: M    BININT2    645               Push a two-byte unsigned integer.
  344: }    EMPTY_DICT                   Push an empty dict.
  345: M    BININT2    711               Push a two-byte unsigned integer.
  348: }    EMPTY_DICT                   Push an empty dict.
  349: M    BININT2    700               Push a two-byte unsigned integer.
  352: }    EMPTY_DICT                   Push an empty dict.
  353: M    BININT2    753               Push a two-byte unsigned integer.
  356: }    EMPTY_DICT                   Push an empty dict.
  357: M    BININT2    679               Push a two-byte unsigned integer.
  360: }    EMPTY_DICT                   Push an empty dict.
  361: M    BININT2    746               Push a two-byte unsigned integer.
  364: }    EMPTY_DICT                   Push an empty dict.
  365: N    NONE                         Push None on the stack.
  366: \x8c SHORT_BINUNICODE 'Correct!'  Push a Python Unicode string object.
  376: s    SETITEM                      Add a key+value pair to an existing dict.
  377: s    SETITEM                      Add a key+value pair to an existing dict.
  378: s    SETITEM                      Add a key+value pair to an existing dict.
  379: s    SETITEM                      Add a key+value pair to an existing dict.
  380: s    SETITEM                      Add a key+value pair to an existing dict.
  381: s    SETITEM                      Add a key+value pair to an existing dict.
  382: s    SETITEM                      Add a key+value pair to an existing dict.
  383: s    SETITEM                      Add a key+value pair to an existing dict.
  384: s    SETITEM                      Add a key+value pair to an existing dict.
  385: s    SETITEM                      Add a key+value pair to an existing dict.
  386: s    SETITEM                      Add a key+value pair to an existing dict.
  387: s    SETITEM                      Add a key+value pair to an existing dict.
  388: s    SETITEM                      Add a key+value pair to an existing dict.
  389: s    SETITEM                      Add a key+value pair to an existing dict.
  390: s    SETITEM                      Add a key+value pair to an existing dict.
  391: s    SETITEM                      Add a key+value pair to an existing dict.
  392: s    SETITEM                      Add a key+value pair to an existing dict.
  393: s    SETITEM                      Add a key+value pair to an existing dict.
  394: s    SETITEM                      Add a key+value pair to an existing dict.
  395: s    SETITEM                      Add a key+value pair to an existing dict.
  396: s    SETITEM                      Add a key+value pair to an existing dict.
  397: s    SETITEM                      Add a key+value pair to an existing dict.
  398: s    SETITEM                      Add a key+value pair to an existing dict.
  399: s    SETITEM                      Add a key+value pair to an existing dict.
  400: s    SETITEM                      Add a key+value pair to an existing dict.
  401: s    SETITEM                      Add a key+value pair to an existing dict.
  402: s    SETITEM                      Add a key+value pair to an existing dict.
  403: s    SETITEM                      Add a key+value pair to an existing dict.
  404: s    SETITEM                      Add a key+value pair to an existing dict.
  405: s    SETITEM                      Add a key+value pair to an existing dict.
  406: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  409: h    BINGET     1                 Read an object from the memo and push it on the stack.
  411: N    NONE                         Push None on the stack.
  412: }    EMPTY_DICT                   Push an empty dict.
  413: \x8c SHORT_BINUNICODE 'd'         Push a Python Unicode string object.
  416: \x94 MEMOIZE    (as 6)            Store the stack top into the memo.  The stack is not popped.
  417: h    BINGET     2                 Read an object from the memo and push it on the stack.
  419: s    SETITEM                      Add a key+value pair to an existing dict.
  420: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  421: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  422: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  423: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  424: h    BINGET     0                 Read an object from the memo and push it on the stack.
  426: \x8c SHORT_BINUNICODE 'd.get'     Push a Python Unicode string object.
  433: \x94 MEMOIZE    (as 7)            Store the stack top into the memo.  The stack is not popped.
  434: \x8c SHORT_BINUNICODE 'i.pop'     Push a Python Unicode string object.
  441: \x94 MEMOIZE    (as 8)            Store the stack top into the memo.  The stack is not popped.
  442: \x8c SHORT_BINUNICODE 'x.__xor__' Push a Python Unicode string object.
  453: \x94 MEMOIZE    (as 9)            Store the stack top into the memo.  The stack is not popped.
  454: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  455: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  456: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  457: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  458: M    BININT2    735               Push a two-byte unsigned integer.
  461: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  464: h    BINGET     1                 Read an object from the memo and push it on the stack.
  466: N    NONE                         Push None on the stack.
  467: }    EMPTY_DICT                   Push an empty dict.
  468: \x8c SHORT_BINUNICODE 'x'         Push a Python Unicode string object.
  471: \x94 MEMOIZE    (as 10)           Store the stack top into the memo.  The stack is not popped.
  472: h    BINGET     2                 Read an object from the memo and push it on the stack.
  474: s    SETITEM                      Add a key+value pair to an existing dict.
  475: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  476: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  477: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  478: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  479: h    BINGET     0                 Read an object from the memo and push it on the stack.
  481: h    BINGET     7                 Read an object from the memo and push it on the stack.
  483: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  484: h    BINGET     0                 Read an object from the memo and push it on the stack.
  486: h    BINGET     9                 Read an object from the memo and push it on the stack.
  488: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  489: h    BINGET     0                 Read an object from the memo and push it on the stack.
  491: h    BINGET     8                 Read an object from the memo and push it on the stack.
  493: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  494: )    EMPTY_TUPLE                  Push an empty tuple.
  495: R    REDUCE                       Push an object built from a callable and an argument tuple.
  496: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  497: R    REDUCE                       Push an object built from a callable and an argument tuple.
  498: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  501: h    BINGET     1                 Read an object from the memo and push it on the stack.
  503: N    NONE                         Push None on the stack.
  504: }    EMPTY_DICT                   Push an empty dict.
  505: h    BINGET     10                Read an object from the memo and push it on the stack.
  507: h    BINGET     2                 Read an object from the memo and push it on the stack.
  509: s    SETITEM                      Add a key+value pair to an existing dict.
  510: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  511: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  512: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  513: }    EMPTY_DICT                   Push an empty dict.
  514: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  515: R    REDUCE                       Push an object built from a callable and an argument tuple.
  516: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  519: h    BINGET     1                 Read an object from the memo and push it on the stack.
  521: N    NONE                         Push None on the stack.
  522: }    EMPTY_DICT                   Push an empty dict.
  523: h    BINGET     6                 Read an object from the memo and push it on the stack.
  525: h    BINGET     2                 Read an object from the memo and push it on the stack.
  527: s    SETITEM                      Add a key+value pair to an existing dict.
  528: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  529: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  530: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  531: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  532: h    BINGET     0                 Read an object from the memo and push it on the stack.
  534: h    BINGET     7                 Read an object from the memo and push it on the stack.
  536: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  537: h    BINGET     0                 Read an object from the memo and push it on the stack.
  539: h    BINGET     9                 Read an object from the memo and push it on the stack.
  541: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  542: h    BINGET     0                 Read an object from the memo and push it on the stack.
  544: h    BINGET     8                 Read an object from the memo and push it on the stack.
  546: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  547: )    EMPTY_TUPLE                  Push an empty tuple.
  548: R    REDUCE                       Push an object built from a callable and an argument tuple.
  549: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  550: R    REDUCE                       Push an object built from a callable and an argument tuple.
  551: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  554: h    BINGET     1                 Read an object from the memo and push it on the stack.
  556: N    NONE                         Push None on the stack.
  557: }    EMPTY_DICT                   Push an empty dict.
  558: h    BINGET     10                Read an object from the memo and push it on the stack.
  560: h    BINGET     2                 Read an object from the memo and push it on the stack.
  562: s    SETITEM                      Add a key+value pair to an existing dict.
  563: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  564: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  565: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  566: }    EMPTY_DICT                   Push an empty dict.
  567: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  568: R    REDUCE                       Push an object built from a callable and an argument tuple.
  569: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  572: h    BINGET     1                 Read an object from the memo and push it on the stack.
  574: N    NONE                         Push None on the stack.
  575: }    EMPTY_DICT                   Push an empty dict.
  576: h    BINGET     6                 Read an object from the memo and push it on the stack.
  578: h    BINGET     2                 Read an object from the memo and push it on the stack.
  580: s    SETITEM                      Add a key+value pair to an existing dict.
  581: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  582: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  583: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  584: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  585: h    BINGET     0                 Read an object from the memo and push it on the stack.
  587: h    BINGET     7                 Read an object from the memo and push it on the stack.
  589: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  590: h    BINGET     0                 Read an object from the memo and push it on the stack.
  592: h    BINGET     9                 Read an object from the memo and push it on the stack.
  594: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  595: h    BINGET     0                 Read an object from the memo and push it on the stack.
  597: h    BINGET     8                 Read an object from the memo and push it on the stack.
  599: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  600: )    EMPTY_TUPLE                  Push an empty tuple.
  601: R    REDUCE                       Push an object built from a callable and an argument tuple.
  602: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  603: R    REDUCE                       Push an object built from a callable and an argument tuple.
  604: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  607: h    BINGET     1                 Read an object from the memo and push it on the stack.
  609: N    NONE                         Push None on the stack.
  610: }    EMPTY_DICT                   Push an empty dict.
  611: h    BINGET     10                Read an object from the memo and push it on the stack.
  613: h    BINGET     2                 Read an object from the memo and push it on the stack.
  615: s    SETITEM                      Add a key+value pair to an existing dict.
  616: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  617: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  618: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  619: }    EMPTY_DICT                   Push an empty dict.
  620: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  621: R    REDUCE                       Push an object built from a callable and an argument tuple.
  622: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  625: h    BINGET     1                 Read an object from the memo and push it on the stack.
  627: N    NONE                         Push None on the stack.
  628: }    EMPTY_DICT                   Push an empty dict.
  629: h    BINGET     6                 Read an object from the memo and push it on the stack.
  631: h    BINGET     2                 Read an object from the memo and push it on the stack.
  633: s    SETITEM                      Add a key+value pair to an existing dict.
  634: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  635: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  636: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  637: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  638: h    BINGET     0                 Read an object from the memo and push it on the stack.
  640: h    BINGET     7                 Read an object from the memo and push it on the stack.
  642: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  643: h    BINGET     0                 Read an object from the memo and push it on the stack.
  645: h    BINGET     9                 Read an object from the memo and push it on the stack.
  647: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  648: h    BINGET     0                 Read an object from the memo and push it on the stack.
  650: h    BINGET     8                 Read an object from the memo and push it on the stack.
  652: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  653: )    EMPTY_TUPLE                  Push an empty tuple.
  654: R    REDUCE                       Push an object built from a callable and an argument tuple.
  655: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  656: R    REDUCE                       Push an object built from a callable and an argument tuple.
  657: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  660: h    BINGET     1                 Read an object from the memo and push it on the stack.
  662: N    NONE                         Push None on the stack.
  663: }    EMPTY_DICT                   Push an empty dict.
  664: h    BINGET     10                Read an object from the memo and push it on the stack.
  666: h    BINGET     2                 Read an object from the memo and push it on the stack.
  668: s    SETITEM                      Add a key+value pair to an existing dict.
  669: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  670: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  671: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  672: }    EMPTY_DICT                   Push an empty dict.
  673: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  674: R    REDUCE                       Push an object built from a callable and an argument tuple.
  675: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  678: h    BINGET     1                 Read an object from the memo and push it on the stack.
  680: N    NONE                         Push None on the stack.
  681: }    EMPTY_DICT                   Push an empty dict.
  682: h    BINGET     6                 Read an object from the memo and push it on the stack.
  684: h    BINGET     2                 Read an object from the memo and push it on the stack.
  686: s    SETITEM                      Add a key+value pair to an existing dict.
  687: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  688: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  689: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  690: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  691: h    BINGET     0                 Read an object from the memo and push it on the stack.
  693: h    BINGET     7                 Read an object from the memo and push it on the stack.
  695: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  696: h    BINGET     0                 Read an object from the memo and push it on the stack.
  698: h    BINGET     9                 Read an object from the memo and push it on the stack.
  700: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  701: h    BINGET     0                 Read an object from the memo and push it on the stack.
  703: h    BINGET     8                 Read an object from the memo and push it on the stack.
  705: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  706: )    EMPTY_TUPLE                  Push an empty tuple.
  707: R    REDUCE                       Push an object built from a callable and an argument tuple.
  708: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  709: R    REDUCE                       Push an object built from a callable and an argument tuple.
  710: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  713: h    BINGET     1                 Read an object from the memo and push it on the stack.
  715: N    NONE                         Push None on the stack.
  716: }    EMPTY_DICT                   Push an empty dict.
  717: h    BINGET     10                Read an object from the memo and push it on the stack.
  719: h    BINGET     2                 Read an object from the memo and push it on the stack.
  721: s    SETITEM                      Add a key+value pair to an existing dict.
  722: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  723: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  724: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  725: }    EMPTY_DICT                   Push an empty dict.
  726: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  727: R    REDUCE                       Push an object built from a callable and an argument tuple.
  728: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  731: h    BINGET     1                 Read an object from the memo and push it on the stack.
  733: N    NONE                         Push None on the stack.
  734: }    EMPTY_DICT                   Push an empty dict.
  735: h    BINGET     6                 Read an object from the memo and push it on the stack.
  737: h    BINGET     2                 Read an object from the memo and push it on the stack.
  739: s    SETITEM                      Add a key+value pair to an existing dict.
  740: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  741: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  742: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  743: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  744: h    BINGET     0                 Read an object from the memo and push it on the stack.
  746: h    BINGET     7                 Read an object from the memo and push it on the stack.
  748: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  749: h    BINGET     0                 Read an object from the memo and push it on the stack.
  751: h    BINGET     9                 Read an object from the memo and push it on the stack.
  753: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  754: h    BINGET     0                 Read an object from the memo and push it on the stack.
  756: h    BINGET     8                 Read an object from the memo and push it on the stack.
  758: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  759: )    EMPTY_TUPLE                  Push an empty tuple.
  760: R    REDUCE                       Push an object built from a callable and an argument tuple.
  761: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  762: R    REDUCE                       Push an object built from a callable and an argument tuple.
  763: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  766: h    BINGET     1                 Read an object from the memo and push it on the stack.
  768: N    NONE                         Push None on the stack.
  769: }    EMPTY_DICT                   Push an empty dict.
  770: h    BINGET     10                Read an object from the memo and push it on the stack.
  772: h    BINGET     2                 Read an object from the memo and push it on the stack.
  774: s    SETITEM                      Add a key+value pair to an existing dict.
  775: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  776: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  777: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  778: }    EMPTY_DICT                   Push an empty dict.
  779: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  780: R    REDUCE                       Push an object built from a callable and an argument tuple.
  781: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  784: h    BINGET     1                 Read an object from the memo and push it on the stack.
  786: N    NONE                         Push None on the stack.
  787: }    EMPTY_DICT                   Push an empty dict.
  788: h    BINGET     6                 Read an object from the memo and push it on the stack.
  790: h    BINGET     2                 Read an object from the memo and push it on the stack.
  792: s    SETITEM                      Add a key+value pair to an existing dict.
  793: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  794: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  795: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  796: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  797: h    BINGET     0                 Read an object from the memo and push it on the stack.
  799: h    BINGET     7                 Read an object from the memo and push it on the stack.
  801: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  802: h    BINGET     0                 Read an object from the memo and push it on the stack.
  804: h    BINGET     9                 Read an object from the memo and push it on the stack.
  806: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  807: h    BINGET     0                 Read an object from the memo and push it on the stack.
  809: h    BINGET     8                 Read an object from the memo and push it on the stack.
  811: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  812: )    EMPTY_TUPLE                  Push an empty tuple.
  813: R    REDUCE                       Push an object built from a callable and an argument tuple.
  814: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  815: R    REDUCE                       Push an object built from a callable and an argument tuple.
  816: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  819: h    BINGET     1                 Read an object from the memo and push it on the stack.
  821: N    NONE                         Push None on the stack.
  822: }    EMPTY_DICT                   Push an empty dict.
  823: h    BINGET     10                Read an object from the memo and push it on the stack.
  825: h    BINGET     2                 Read an object from the memo and push it on the stack.
  827: s    SETITEM                      Add a key+value pair to an existing dict.
  828: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  829: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  830: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  831: }    EMPTY_DICT                   Push an empty dict.
  832: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  833: R    REDUCE                       Push an object built from a callable and an argument tuple.
  834: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  837: h    BINGET     1                 Read an object from the memo and push it on the stack.
  839: N    NONE                         Push None on the stack.
  840: }    EMPTY_DICT                   Push an empty dict.
  841: h    BINGET     6                 Read an object from the memo and push it on the stack.
  843: h    BINGET     2                 Read an object from the memo and push it on the stack.
  845: s    SETITEM                      Add a key+value pair to an existing dict.
  846: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  847: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  848: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  849: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  850: h    BINGET     0                 Read an object from the memo and push it on the stack.
  852: h    BINGET     7                 Read an object from the memo and push it on the stack.
  854: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  855: h    BINGET     0                 Read an object from the memo and push it on the stack.
  857: h    BINGET     9                 Read an object from the memo and push it on the stack.
  859: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  860: h    BINGET     0                 Read an object from the memo and push it on the stack.
  862: h    BINGET     8                 Read an object from the memo and push it on the stack.
  864: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  865: )    EMPTY_TUPLE                  Push an empty tuple.
  866: R    REDUCE                       Push an object built from a callable and an argument tuple.
  867: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  868: R    REDUCE                       Push an object built from a callable and an argument tuple.
  869: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  872: h    BINGET     1                 Read an object from the memo and push it on the stack.
  874: N    NONE                         Push None on the stack.
  875: }    EMPTY_DICT                   Push an empty dict.
  876: h    BINGET     10                Read an object from the memo and push it on the stack.
  878: h    BINGET     2                 Read an object from the memo and push it on the stack.
  880: s    SETITEM                      Add a key+value pair to an existing dict.
  881: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  882: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  883: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  884: }    EMPTY_DICT                   Push an empty dict.
  885: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  886: R    REDUCE                       Push an object built from a callable and an argument tuple.
  887: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  890: h    BINGET     1                 Read an object from the memo and push it on the stack.
  892: N    NONE                         Push None on the stack.
  893: }    EMPTY_DICT                   Push an empty dict.
  894: h    BINGET     6                 Read an object from the memo and push it on the stack.
  896: h    BINGET     2                 Read an object from the memo and push it on the stack.
  898: s    SETITEM                      Add a key+value pair to an existing dict.
  899: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  900: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  901: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  902: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  903: h    BINGET     0                 Read an object from the memo and push it on the stack.
  905: h    BINGET     7                 Read an object from the memo and push it on the stack.
  907: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  908: h    BINGET     0                 Read an object from the memo and push it on the stack.
  910: h    BINGET     9                 Read an object from the memo and push it on the stack.
  912: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  913: h    BINGET     0                 Read an object from the memo and push it on the stack.
  915: h    BINGET     8                 Read an object from the memo and push it on the stack.
  917: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  918: )    EMPTY_TUPLE                  Push an empty tuple.
  919: R    REDUCE                       Push an object built from a callable and an argument tuple.
  920: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  921: R    REDUCE                       Push an object built from a callable and an argument tuple.
  922: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  925: h    BINGET     1                 Read an object from the memo and push it on the stack.
  927: N    NONE                         Push None on the stack.
  928: }    EMPTY_DICT                   Push an empty dict.
  929: h    BINGET     10                Read an object from the memo and push it on the stack.
  931: h    BINGET     2                 Read an object from the memo and push it on the stack.
  933: s    SETITEM                      Add a key+value pair to an existing dict.
  934: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  935: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  936: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  937: }    EMPTY_DICT                   Push an empty dict.
  938: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  939: R    REDUCE                       Push an object built from a callable and an argument tuple.
  940: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  943: h    BINGET     1                 Read an object from the memo and push it on the stack.
  945: N    NONE                         Push None on the stack.
  946: }    EMPTY_DICT                   Push an empty dict.
  947: h    BINGET     6                 Read an object from the memo and push it on the stack.
  949: h    BINGET     2                 Read an object from the memo and push it on the stack.
  951: s    SETITEM                      Add a key+value pair to an existing dict.
  952: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  953: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  954: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  955: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  956: h    BINGET     0                 Read an object from the memo and push it on the stack.
  958: h    BINGET     7                 Read an object from the memo and push it on the stack.
  960: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  961: h    BINGET     0                 Read an object from the memo and push it on the stack.
  963: h    BINGET     9                 Read an object from the memo and push it on the stack.
  965: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  966: h    BINGET     0                 Read an object from the memo and push it on the stack.
  968: h    BINGET     8                 Read an object from the memo and push it on the stack.
  970: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
  971: )    EMPTY_TUPLE                  Push an empty tuple.
  972: R    REDUCE                       Push an object built from a callable and an argument tuple.
  973: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
  974: R    REDUCE                       Push an object built from a callable and an argument tuple.
  975: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  978: h    BINGET     1                 Read an object from the memo and push it on the stack.
  980: N    NONE                         Push None on the stack.
  981: }    EMPTY_DICT                   Push an empty dict.
  982: h    BINGET     10                Read an object from the memo and push it on the stack.
  984: h    BINGET     2                 Read an object from the memo and push it on the stack.
  986: s    SETITEM                      Add a key+value pair to an existing dict.
  987: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  988: b    BUILD                        Finish building an object, via __setstate__ or dict update.
  989: 0    POP                          Discard the top stack item, shrinking the stack by one item.
  990: }    EMPTY_DICT                   Push an empty dict.
  991: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
  992: R    REDUCE                       Push an object built from a callable and an argument tuple.
  993: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
  996: h    BINGET     1                 Read an object from the memo and push it on the stack.
  998: N    NONE                         Push None on the stack.
  999: }    EMPTY_DICT                   Push an empty dict.
 1000: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1002: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1004: s    SETITEM                      Add a key+value pair to an existing dict.
 1005: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1006: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1007: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1008: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1009: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1011: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1013: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1014: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1016: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1018: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1019: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1021: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1023: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1024: )    EMPTY_TUPLE                  Push an empty tuple.
 1025: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1026: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1027: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1028: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1031: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1033: N    NONE                         Push None on the stack.
 1034: }    EMPTY_DICT                   Push an empty dict.
 1035: h    BINGET     10                Read an object from the memo and push it on the stack.
 1037: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1039: s    SETITEM                      Add a key+value pair to an existing dict.
 1040: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1041: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1042: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1043: }    EMPTY_DICT                   Push an empty dict.
 1044: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1045: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1046: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1049: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1051: N    NONE                         Push None on the stack.
 1052: }    EMPTY_DICT                   Push an empty dict.
 1053: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1055: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1057: s    SETITEM                      Add a key+value pair to an existing dict.
 1058: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1059: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1060: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1061: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1062: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1064: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1066: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1067: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1069: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1071: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1072: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1074: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1076: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1077: )    EMPTY_TUPLE                  Push an empty tuple.
 1078: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1079: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1080: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1081: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1084: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1086: N    NONE                         Push None on the stack.
 1087: }    EMPTY_DICT                   Push an empty dict.
 1088: h    BINGET     10                Read an object from the memo and push it on the stack.
 1090: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1092: s    SETITEM                      Add a key+value pair to an existing dict.
 1093: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1094: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1095: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1096: }    EMPTY_DICT                   Push an empty dict.
 1097: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1098: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1099: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1102: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1104: N    NONE                         Push None on the stack.
 1105: }    EMPTY_DICT                   Push an empty dict.
 1106: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1108: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1110: s    SETITEM                      Add a key+value pair to an existing dict.
 1111: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1112: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1113: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1114: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1115: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1117: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1119: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1120: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1122: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1124: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1125: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1127: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1129: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1130: )    EMPTY_TUPLE                  Push an empty tuple.
 1131: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1132: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1133: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1134: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1137: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1139: N    NONE                         Push None on the stack.
 1140: }    EMPTY_DICT                   Push an empty dict.
 1141: h    BINGET     10                Read an object from the memo and push it on the stack.
 1143: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1145: s    SETITEM                      Add a key+value pair to an existing dict.
 1146: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1147: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1148: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1149: }    EMPTY_DICT                   Push an empty dict.
 1150: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1151: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1152: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1155: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1157: N    NONE                         Push None on the stack.
 1158: }    EMPTY_DICT                   Push an empty dict.
 1159: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1161: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1163: s    SETITEM                      Add a key+value pair to an existing dict.
 1164: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1165: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1166: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1167: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1168: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1170: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1172: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1173: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1175: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1177: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1178: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1180: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1182: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1183: )    EMPTY_TUPLE                  Push an empty tuple.
 1184: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1185: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1186: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1187: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1190: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1192: N    NONE                         Push None on the stack.
 1193: }    EMPTY_DICT                   Push an empty dict.
 1194: h    BINGET     10                Read an object from the memo and push it on the stack.
 1196: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1198: s    SETITEM                      Add a key+value pair to an existing dict.
 1199: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1200: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1201: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1202: }    EMPTY_DICT                   Push an empty dict.
 1203: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1204: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1205: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1208: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1210: N    NONE                         Push None on the stack.
 1211: }    EMPTY_DICT                   Push an empty dict.
 1212: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1214: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1216: s    SETITEM                      Add a key+value pair to an existing dict.
 1217: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1218: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1219: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1220: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1221: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1223: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1225: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1226: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1228: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1230: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1231: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1233: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1235: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1236: )    EMPTY_TUPLE                  Push an empty tuple.
 1237: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1238: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1239: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1240: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1243: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1245: N    NONE                         Push None on the stack.
 1246: }    EMPTY_DICT                   Push an empty dict.
 1247: h    BINGET     10                Read an object from the memo and push it on the stack.
 1249: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1251: s    SETITEM                      Add a key+value pair to an existing dict.
 1252: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1253: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1254: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1255: }    EMPTY_DICT                   Push an empty dict.
 1256: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1257: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1258: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1261: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1263: N    NONE                         Push None on the stack.
 1264: }    EMPTY_DICT                   Push an empty dict.
 1265: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1267: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1269: s    SETITEM                      Add a key+value pair to an existing dict.
 1270: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1271: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1272: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1273: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1274: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1276: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1278: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1279: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1281: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1283: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1284: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1286: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1288: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1289: )    EMPTY_TUPLE                  Push an empty tuple.
 1290: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1291: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1292: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1293: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1296: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1298: N    NONE                         Push None on the stack.
 1299: }    EMPTY_DICT                   Push an empty dict.
 1300: h    BINGET     10                Read an object from the memo and push it on the stack.
 1302: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1304: s    SETITEM                      Add a key+value pair to an existing dict.
 1305: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1306: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1307: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1308: }    EMPTY_DICT                   Push an empty dict.
 1309: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1310: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1311: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1314: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1316: N    NONE                         Push None on the stack.
 1317: }    EMPTY_DICT                   Push an empty dict.
 1318: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1320: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1322: s    SETITEM                      Add a key+value pair to an existing dict.
 1323: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1324: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1325: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1326: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1327: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1329: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1331: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1332: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1334: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1336: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1337: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1339: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1341: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1342: )    EMPTY_TUPLE                  Push an empty tuple.
 1343: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1344: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1345: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1346: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1349: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1351: N    NONE                         Push None on the stack.
 1352: }    EMPTY_DICT                   Push an empty dict.
 1353: h    BINGET     10                Read an object from the memo and push it on the stack.
 1355: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1357: s    SETITEM                      Add a key+value pair to an existing dict.
 1358: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1359: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1360: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1361: }    EMPTY_DICT                   Push an empty dict.
 1362: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1363: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1364: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1367: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1369: N    NONE                         Push None on the stack.
 1370: }    EMPTY_DICT                   Push an empty dict.
 1371: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1373: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1375: s    SETITEM                      Add a key+value pair to an existing dict.
 1376: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1377: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1378: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1379: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1380: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1382: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1384: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1385: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1387: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1389: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1390: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1392: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1394: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1395: )    EMPTY_TUPLE                  Push an empty tuple.
 1396: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1397: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1398: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1399: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1402: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1404: N    NONE                         Push None on the stack.
 1405: }    EMPTY_DICT                   Push an empty dict.
 1406: h    BINGET     10                Read an object from the memo and push it on the stack.
 1408: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1410: s    SETITEM                      Add a key+value pair to an existing dict.
 1411: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1412: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1413: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1414: }    EMPTY_DICT                   Push an empty dict.
 1415: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1416: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1417: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1420: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1422: N    NONE                         Push None on the stack.
 1423: }    EMPTY_DICT                   Push an empty dict.
 1424: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1426: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1428: s    SETITEM                      Add a key+value pair to an existing dict.
 1429: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1430: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1431: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1432: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1433: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1435: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1437: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1438: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1440: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1442: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1443: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1445: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1447: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1448: )    EMPTY_TUPLE                  Push an empty tuple.
 1449: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1450: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1451: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1452: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1455: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1457: N    NONE                         Push None on the stack.
 1458: }    EMPTY_DICT                   Push an empty dict.
 1459: h    BINGET     10                Read an object from the memo and push it on the stack.
 1461: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1463: s    SETITEM                      Add a key+value pair to an existing dict.
 1464: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1465: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1466: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1467: }    EMPTY_DICT                   Push an empty dict.
 1468: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1469: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1470: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1473: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1475: N    NONE                         Push None on the stack.
 1476: }    EMPTY_DICT                   Push an empty dict.
 1477: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1479: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1481: s    SETITEM                      Add a key+value pair to an existing dict.
 1482: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1483: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1484: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1485: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1486: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1488: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1490: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1491: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1493: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1495: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1496: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1498: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1500: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1501: )    EMPTY_TUPLE                  Push an empty tuple.
 1502: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1503: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1504: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1505: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1508: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1510: N    NONE                         Push None on the stack.
 1511: }    EMPTY_DICT                   Push an empty dict.
 1512: h    BINGET     10                Read an object from the memo and push it on the stack.
 1514: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1516: s    SETITEM                      Add a key+value pair to an existing dict.
 1517: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1518: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1519: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1520: }    EMPTY_DICT                   Push an empty dict.
 1521: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1522: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1523: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1526: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1528: N    NONE                         Push None on the stack.
 1529: }    EMPTY_DICT                   Push an empty dict.
 1530: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1532: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1534: s    SETITEM                      Add a key+value pair to an existing dict.
 1535: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1536: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1537: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1538: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1539: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1541: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1543: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1544: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1546: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1548: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1549: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1551: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1553: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1554: )    EMPTY_TUPLE                  Push an empty tuple.
 1555: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1556: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1557: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1558: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1561: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1563: N    NONE                         Push None on the stack.
 1564: }    EMPTY_DICT                   Push an empty dict.
 1565: h    BINGET     10                Read an object from the memo and push it on the stack.
 1567: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1569: s    SETITEM                      Add a key+value pair to an existing dict.
 1570: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1571: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1572: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1573: }    EMPTY_DICT                   Push an empty dict.
 1574: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1575: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1576: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1579: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1581: N    NONE                         Push None on the stack.
 1582: }    EMPTY_DICT                   Push an empty dict.
 1583: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1585: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1587: s    SETITEM                      Add a key+value pair to an existing dict.
 1588: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1589: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1590: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1591: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1592: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1594: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1596: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1597: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1599: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1601: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1602: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1604: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1606: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1607: )    EMPTY_TUPLE                  Push an empty tuple.
 1608: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1609: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1610: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1611: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1614: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1616: N    NONE                         Push None on the stack.
 1617: }    EMPTY_DICT                   Push an empty dict.
 1618: h    BINGET     10                Read an object from the memo and push it on the stack.
 1620: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1622: s    SETITEM                      Add a key+value pair to an existing dict.
 1623: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1624: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1625: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1626: }    EMPTY_DICT                   Push an empty dict.
 1627: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1628: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1629: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1632: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1634: N    NONE                         Push None on the stack.
 1635: }    EMPTY_DICT                   Push an empty dict.
 1636: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1638: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1640: s    SETITEM                      Add a key+value pair to an existing dict.
 1641: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1642: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1643: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1644: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1645: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1647: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1649: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1650: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1652: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1654: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1655: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1657: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1659: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1660: )    EMPTY_TUPLE                  Push an empty tuple.
 1661: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1662: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1663: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1664: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1667: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1669: N    NONE                         Push None on the stack.
 1670: }    EMPTY_DICT                   Push an empty dict.
 1671: h    BINGET     10                Read an object from the memo and push it on the stack.
 1673: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1675: s    SETITEM                      Add a key+value pair to an existing dict.
 1676: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1677: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1678: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1679: }    EMPTY_DICT                   Push an empty dict.
 1680: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1681: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1682: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1685: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1687: N    NONE                         Push None on the stack.
 1688: }    EMPTY_DICT                   Push an empty dict.
 1689: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1691: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1693: s    SETITEM                      Add a key+value pair to an existing dict.
 1694: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1695: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1696: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1697: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1698: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1700: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1702: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1703: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1705: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1707: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1708: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1710: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1712: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1713: )    EMPTY_TUPLE                  Push an empty tuple.
 1714: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1715: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1716: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1717: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1720: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1722: N    NONE                         Push None on the stack.
 1723: }    EMPTY_DICT                   Push an empty dict.
 1724: h    BINGET     10                Read an object from the memo and push it on the stack.
 1726: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1728: s    SETITEM                      Add a key+value pair to an existing dict.
 1729: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1730: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1731: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1732: }    EMPTY_DICT                   Push an empty dict.
 1733: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1734: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1735: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1738: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1740: N    NONE                         Push None on the stack.
 1741: }    EMPTY_DICT                   Push an empty dict.
 1742: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1744: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1746: s    SETITEM                      Add a key+value pair to an existing dict.
 1747: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1748: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1749: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1750: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1751: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1753: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1755: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1756: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1758: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1760: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1761: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1763: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1765: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1766: )    EMPTY_TUPLE                  Push an empty tuple.
 1767: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1768: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1769: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1770: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1773: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1775: N    NONE                         Push None on the stack.
 1776: }    EMPTY_DICT                   Push an empty dict.
 1777: h    BINGET     10                Read an object from the memo and push it on the stack.
 1779: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1781: s    SETITEM                      Add a key+value pair to an existing dict.
 1782: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1783: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1784: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1785: }    EMPTY_DICT                   Push an empty dict.
 1786: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1787: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1788: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1791: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1793: N    NONE                         Push None on the stack.
 1794: }    EMPTY_DICT                   Push an empty dict.
 1795: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1797: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1799: s    SETITEM                      Add a key+value pair to an existing dict.
 1800: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1801: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1802: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1803: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1804: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1806: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1808: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1809: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1811: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1813: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1814: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1816: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1818: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1819: )    EMPTY_TUPLE                  Push an empty tuple.
 1820: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1821: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1822: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1823: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1826: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1828: N    NONE                         Push None on the stack.
 1829: }    EMPTY_DICT                   Push an empty dict.
 1830: h    BINGET     10                Read an object from the memo and push it on the stack.
 1832: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1834: s    SETITEM                      Add a key+value pair to an existing dict.
 1835: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1836: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1837: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1838: }    EMPTY_DICT                   Push an empty dict.
 1839: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1840: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1841: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1844: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1846: N    NONE                         Push None on the stack.
 1847: }    EMPTY_DICT                   Push an empty dict.
 1848: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1850: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1852: s    SETITEM                      Add a key+value pair to an existing dict.
 1853: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1854: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1855: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1856: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1857: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1859: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1861: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1862: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1864: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1866: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1867: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1869: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1871: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1872: )    EMPTY_TUPLE                  Push an empty tuple.
 1873: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1874: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1875: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1876: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1879: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1881: N    NONE                         Push None on the stack.
 1882: }    EMPTY_DICT                   Push an empty dict.
 1883: h    BINGET     10                Read an object from the memo and push it on the stack.
 1885: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1887: s    SETITEM                      Add a key+value pair to an existing dict.
 1888: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1889: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1890: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1891: }    EMPTY_DICT                   Push an empty dict.
 1892: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1893: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1894: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1897: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1899: N    NONE                         Push None on the stack.
 1900: }    EMPTY_DICT                   Push an empty dict.
 1901: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1903: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1905: s    SETITEM                      Add a key+value pair to an existing dict.
 1906: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1907: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1908: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1909: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1910: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1912: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1914: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1915: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1917: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1919: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1920: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1922: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1924: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1925: )    EMPTY_TUPLE                  Push an empty tuple.
 1926: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1927: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1928: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1929: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1932: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1934: N    NONE                         Push None on the stack.
 1935: }    EMPTY_DICT                   Push an empty dict.
 1936: h    BINGET     10                Read an object from the memo and push it on the stack.
 1938: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1940: s    SETITEM                      Add a key+value pair to an existing dict.
 1941: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1942: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1943: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1944: }    EMPTY_DICT                   Push an empty dict.
 1945: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1946: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1947: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1950: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1952: N    NONE                         Push None on the stack.
 1953: }    EMPTY_DICT                   Push an empty dict.
 1954: h    BINGET     6                 Read an object from the memo and push it on the stack.
 1956: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1958: s    SETITEM                      Add a key+value pair to an existing dict.
 1959: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1960: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1961: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1962: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1963: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1965: h    BINGET     7                 Read an object from the memo and push it on the stack.
 1967: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1968: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1970: h    BINGET     9                 Read an object from the memo and push it on the stack.
 1972: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1973: h    BINGET     0                 Read an object from the memo and push it on the stack.
 1975: h    BINGET     8                 Read an object from the memo and push it on the stack.
 1977: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 1978: )    EMPTY_TUPLE                  Push an empty tuple.
 1979: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1980: \x85 TUPLE1                       Build a one-tuple out of the topmost item on the stack.
 1981: R    REDUCE                       Push an object built from a callable and an argument tuple.
 1982: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 1985: h    BINGET     1                 Read an object from the memo and push it on the stack.
 1987: N    NONE                         Push None on the stack.
 1988: }    EMPTY_DICT                   Push an empty dict.
 1989: h    BINGET     10                Read an object from the memo and push it on the stack.
 1991: h    BINGET     2                 Read an object from the memo and push it on the stack.
 1993: s    SETITEM                      Add a key+value pair to an existing dict.
 1994: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1995: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 1996: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 1997: }    EMPTY_DICT                   Push an empty dict.
 1998: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 1999: R    REDUCE                       Push an object built from a callable and an argument tuple.
 2000: p    PUT        2                 Store the stack top into the memo.  The stack is not popped.
 2003: h    BINGET     1                 Read an object from the memo and push it on the stack.
 2005: N    NONE                         Push None on the stack.
 2006: }    EMPTY_DICT                   Push an empty dict.
 2007: h    BINGET     6                 Read an object from the memo and push it on the stack.
 2009: h    BINGET     2                 Read an object from the memo and push it on the stack.
 2011: s    SETITEM                      Add a key+value pair to an existing dict.
 2012: \x86 TUPLE2                       Build a two-tuple out of the top two items on the stack.
 2013: b    BUILD                        Finish building an object, via __setstate__ or dict update.
 2014: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 2015: 0    POP                          Discard the top stack item, shrinking the stack by one item.
 2016: h    BINGET     3                 Read an object from the memo and push it on the stack.
 2018: h    BINGET     0                 Read an object from the memo and push it on the stack.
 2020: h    BINGET     7                 Read an object from the memo and push it on the stack.
 2022: \x93 STACK_GLOBAL                 Push a global object (module.attr) on the stack.
 2023: N    NONE                         Push None on the stack.
 2024: \x8c SHORT_BINUNICODE 'Wrong... :(' Push a Python Unicode string object.
 2037: \x86 TUPLE2                         Build a two-tuple out of the top two items on the stack.
 2038: R    REDUCE                         Push an object built from a callable and an argument tuple.
 2039: \x85 TUPLE1                         Build a one-tuple out of the topmost item on the stack.
 2040: R    REDUCE                         Push an object built from a callable and an argument tuple.
 2041: .    STOP                           Stop the unpickling machine.
highest protocol among opcodes = 4

It turns out that the numbers in this sequence:

  252: }    EMPTY_DICT                   Push an empty dict.
  253: M    BININT2    716               Push a two-byte unsigned integer.
  256: }    EMPTY_DICT                   Push an empty dict.
  257: M    BININT2    764               Push a two-byte unsigned integer.
  260: }    EMPTY_DICT                   Push an empty dict.

were being XOR'd with each other in order to give the flag. XORing adjacent letters would therefore give the final flag:

MVM{B0r3d0m_1n_P1ckl3_s34s0n}

Last updated 4 months ago

🌸