---
# System prepended metadata

title: 'MWEs 1: 39-61'
tags: [decompiler]

---

---
tags: decompiler
---

# MWEs 1: 39-61
Note:
- Python versions are selected based on the original pyc (Using command `file`)
- MWEs generated will be compiled using `compileall` via the same python version

## Error 1/39
Source: [link](https://github.com/biosignalsplux/biosignalsnotebooks/blob/9d92e042cdc162a8c5fe844b282f641c48e8dccc/biosignalsnotebooks/biosignalsnotebooks/conversion.py#L33)
Python version: 3.7
Decompyle3: Pass
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Pass     | Pass |


### MWE:
```python=
def raw_to_phy():
    if sensor == "TEMP":
        pass
    elif sensor == "EDA":
        if option == "uS":
            pass
        else:
            x()
    else:
        pass
```
#### Closest Solution:
```python=
def raw_to_phy():
    if sensor == "TEMP":
        pass
    elif sensor == "EDA":
        if option == "uS":
            pass
        else:
            x()
```
```c=
  1           0 LOAD_CONST               0 (<code object raw_to_phy at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('raw_to_phy')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (raw_to_phy)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object raw_to_phy at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (sensor)
              2 LOAD_CONST               1 ('TEMP')
              4 COMPARE_OP               2 (==)
              6 POP_JUMP_IF_FALSE       10

  3           8 JUMP_FORWARD            24 (to 34)

  4     >>   10 LOAD_GLOBAL              0 (sensor)
             12 LOAD_CONST               2 ('EDA')
             14 COMPARE_OP               2 (==)
             16 POP_JUMP_IF_FALSE       34

  5          18 LOAD_GLOBAL              1 (option)
             20 LOAD_CONST               3 ('uS')
             22 COMPARE_OP               2 (==)
             24 POP_JUMP_IF_FALSE       28

  6          26 JUMP_FORWARD             6 (to 34)

  8     >>   28 LOAD_GLOBAL              2 (x)
             30 CALL_FUNCTION            0
             32 POP_TOP
        >>   34 LOAD_CONST               0 (None)
             36 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object raw_to_phy at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('raw_to_phy')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (raw_to_phy)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object raw_to_phy at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (sensor)
              2 LOAD_CONST               1 ('TEMP')
              4 COMPARE_OP               2 (==)
              6 POP_JUMP_IF_FALSE       10

  3           8 JUMP_FORWARD            26 (to 36)

  4     >>   10 LOAD_GLOBAL              0 (sensor)
             12 LOAD_CONST               2 ('EDA')
             14 COMPARE_OP               2 (==)
             16 POP_JUMP_IF_FALSE       36

  5          18 LOAD_GLOBAL              1 (option)
             20 LOAD_CONST               3 ('uS')
             22 COMPARE_OP               2 (==)
             24 POP_JUMP_IF_FALSE       28

  6          26 JUMP_ABSOLUTE           36

  8     >>   28 LOAD_GLOBAL              2 (x)
             30 CALL_FUNCTION            0
             32 POP_TOP
             34 JUMP_FORWARD             0 (to 36)

 10     >>   36 LOAD_CONST               0 (None)
             38 RETURN_VALUE
```
Output uncompyle6:
```python=
def raw_to_phy--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              sensor
                2  LOAD_STR                 'TEMP'
                4  COMPARE_OP               ==
                6  POP_JUMP_IF_FALSE    10  'to 10'

 L.   3         8  JUMP_FORWARD         36  'to 36'
             10_0  COME_FROM             6  '6'

 L.   4        10  LOAD_GLOBAL              sensor
               12  LOAD_STR                 'EDA'
               14  COMPARE_OP               ==
               16  POP_JUMP_IF_FALSE    36  'to 36'

 L.   5        18  LOAD_GLOBAL              option
               20  LOAD_STR                 'uS'
               22  COMPARE_OP               ==
               24  POP_JUMP_IF_FALSE    28  'to 28'

 L.   6        26  JUMP_ABSOLUTE        36  'to 36'
             28_0  COME_FROM            24  '24'

 L.   8        28  LOAD_GLOBAL              x
               30  CALL_FUNCTION_0       0  '0 positional arguments'
               32  POP_TOP          
               34  JUMP_FORWARD         36  'to 36'
             36_0  COME_FROM            34  '34'
             36_1  COME_FROM            16  '16'
             36_2  COME_FROM             8  '8'

Parse error at or near `COME_FROM' instruction at offset 36_1
```
Output Decompyle3:
```python=
def raw_to_phy():
    if sensor == 'TEMP':
        pass
    elif sensor == 'EDA':
        if option == 'uS':
            pass
        else:
            x()
    else:
        pass
```


## Error 1/40
Source: [link](https://github.com/biosignalsplux/biosignalsnotebooks/blob/9d92e042cdc162a8c5fe844b282f641c48e8dccc/biosignalsnotebooks/biosignalsnotebooks/load.py#L768)
Python version: 3.7
Decompyle3: Pass
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Pass     | Pass |


### MWE:
```python=
def _check_shape_and_type():
    if a:
        if sum(isinstance(i, list) for i in channels):
            pass
        else:
            x = x + 1
    else:
        pass
```
#### Closest Solution:
```python=
def _check_shape_and_type():
    if a:
        if sum(isinstance(i, list) for i in channels):
            pass
        else:
            x = x + 1
    if not a:
        pass
```
```c=
  1           0 LOAD_CONST               0 (<code object _check_shape_and_type at 0x40022eef60, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_check_shape_and_type')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_check_shape_and_type)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _check_shape_and_type at 0x40022eef60, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 POP_JUMP_IF_FALSE       32

  3           4 LOAD_GLOBAL              1 (sum)
              6 LOAD_CONST               1 (<code object <genexpr> at 0x40022eee40, file "main.py", line 3>)
              8 LOAD_CONST               2 ('_check_shape_and_type.<locals>.<genexpr>')
             10 MAKE_FUNCTION            0
             12 LOAD_GLOBAL              2 (channels)
             14 GET_ITER
             16 CALL_FUNCTION            1
             18 CALL_FUNCTION            1
             20 POP_JUMP_IF_FALSE       24

  4          22 JUMP_FORWARD             8 (to 32)

  6     >>   24 LOAD_FAST                0 (x)
             26 LOAD_CONST               3 (1)
             28 BINARY_ADD
             30 STORE_FAST               0 (x)

  7     >>   32 LOAD_GLOBAL              0 (a)
             34 POP_JUMP_IF_TRUE        36

  8     >>   36 LOAD_CONST               0 (None)
             38 RETURN_VALUE

Disassembly of <code object <genexpr> at 0x40022eee40, file "main.py", line 3>:
  3           0 LOAD_FAST                0 (.0)
        >>    2 FOR_ITER                16 (to 20)
              4 STORE_FAST               1 (i)
              6 LOAD_GLOBAL              0 (isinstance)
              8 LOAD_FAST                1 (i)
             10 LOAD_GLOBAL              1 (list)
             12 CALL_FUNCTION            2
             14 YIELD_VALUE
             16 POP_TOP
             18 JUMP_ABSOLUTE            2
        >>   20 LOAD_CONST               0 (None)
             22 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object _check_shape_and_type at 0x40022eef60, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_check_shape_and_type')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_check_shape_and_type)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _check_shape_and_type at 0x40022eef60, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 POP_JUMP_IF_FALSE       34

  3           4 LOAD_GLOBAL              1 (sum)
              6 LOAD_CONST               1 (<code object <genexpr> at 0x40022eee40, file "main.py", line 3>)
              8 LOAD_CONST               2 ('_check_shape_and_type.<locals>.<genexpr>')
             10 MAKE_FUNCTION            0
             12 LOAD_GLOBAL              2 (channels)
             14 GET_ITER
             16 CALL_FUNCTION            1
             18 CALL_FUNCTION            1
             20 POP_JUMP_IF_FALSE       24

  4          22 JUMP_ABSOLUTE           34

  6     >>   24 LOAD_FAST                0 (x)
             26 LOAD_CONST               3 (1)
             28 BINARY_ADD
             30 STORE_FAST               0 (x)
             32 JUMP_FORWARD             0 (to 34)

  8     >>   34 LOAD_CONST               0 (None)
             36 RETURN_VALUE

Disassembly of <code object <genexpr> at 0x40022eee40, file "main.py", line 3>:
  3           0 LOAD_FAST                0 (.0)
        >>    2 FOR_ITER                16 (to 20)
              4 STORE_FAST               1 (i)
              6 LOAD_GLOBAL              0 (isinstance)
              8 LOAD_FAST                1 (i)
             10 LOAD_GLOBAL              1 (list)
             12 CALL_FUNCTION            2
             14 YIELD_VALUE
             16 POP_TOP
             18 JUMP_ABSOLUTE            2
        >>   20 LOAD_CONST               0 (None)
             22 RETURN_VALUE
```
Output uncompyle6:
```python=
def _check_shape_and_type--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              a
                2  POP_JUMP_IF_FALSE    34  'to 34'

 L.   3         4  LOAD_GLOBAL              sum
                6  LOAD_GENEXPR             '<code_object <genexpr>>'
                8  LOAD_STR                 '_check_shape_and_type.<locals>.<genexpr>'
               10  MAKE_FUNCTION_0          'Neither defaults, keyword-only args, annotations, nor closures'
               12  LOAD_GLOBAL              channels
               14  GET_ITER         
               16  CALL_FUNCTION_1       1  '1 positional argument'
               18  CALL_FUNCTION_1       1  '1 positional argument'
               20  POP_JUMP_IF_FALSE    24  'to 24'

 L.   4        22  JUMP_ABSOLUTE        34  'to 34'
             24_0  COME_FROM            20  '20'

 L.   6        24  LOAD_FAST                'x'
               26  LOAD_CONST               1
               28  BINARY_ADD       
               30  STORE_FAST               'x'
               32  JUMP_FORWARD         34  'to 34'
             34_0  COME_FROM            32  '32'
             34_1  COME_FROM             2  '2'

Parse error at or near `COME_FROM' instruction at offset 34_0
```
Output Decompyle3:
```python=
def _check_shape_and_type():
    if a:
        if sum((isinstance(i, list) for i in channels)):
            pass
        else:
            x = x + 1
    else:
        pass
```


## Error 1/41 - Py 2.5
Source: [link](https://pypi.org/project/birdsuite/#files)
Python version: 2.5
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Pass     | Pass     | Pass |


### MWE:
> NOTE: Ignoging this since it fails in python 2.5. This file passes for all other python versions (atleast the relevant ones)
```python=
def doIt(strCNSummaries, strCNClusters, bExpectHeader=False, dctExclusions=None, lstSampleIndices=None):
    try:
        infile = open(strCNSummaries,'r')
    except IOError:
        # print 'Can\'t open file for reading.'
        sys.exit(0)

    if lstSampleIndices is None:
        lstSampleIndices = []
            
    try:
        outfile = open(strCNClusters,'w')
    except IOError:
        # print 'Can\'t open file for writing.'
        infile.close()
        sys.exit(0)

    if bExpectHeader:
        # skip header
        for strLine in infile:
            if strLine.startswith("probeset_id"):
                break
    for line in infile:
        values = line.split()
        strProbe = values[0]
        if(len(lstSampleIndices)==0 or (values[1]!="X" and values[1]!="23" and values[1]!="Y" and values[1]!="24")):
            values2 = values[4:]
            if dctExclusions is not None:
                if strProbe in dctExclusions:
                    lstExclusions = dctExclusions[strProbe]
                    if len(lstExclusions) < len(values2):
                        # Don't exclude any if all would be excluded.
                        # Iterate backward so as to not get indices confused.
                        for i in xrange(len(lstExclusions) - 1, -1, -1):
                            del values2[lstExclusions[i]]
                    else:
                        # If no non-excluded samples, make 0, 1 and 2 clusters identical
                        # pwrint >> outfile, strProbe + ";1 1;1 1;1 1"
                        continue
        else:
            values2 = []
            for i in lstSampleIndices:
                values2.append(values[i+4])
        for i in range(len(values2)):
            values2[i] = float(values2[i])
        values2.sort()
        mean2 = trimmean(values2)
        if len(values2) >= iMIN_SAMPLES2:
            var2 = robustvar(values2)
        elif len(values2) >= iMIN_SAMPLES1:
            var2 = var(values2)
        else:
            var2 = math.pow(31+0.075*mean2, 2)
        if(values[1]=="Y" or values[1]=="24"):
            mean1 = mean2
            var1 = var2
            mean2 = (mean1 - 41.5529)/0.646
            var2 = var1 / 0.9
            mean0 = mean1 - (0.354*mean2 - 41.5529)/0.75
            var0 = var1 * 0.9
        else:
            mean1 = mean2 - (0.354*mean2 - 41.5529)
            mean0 = mean1 - (0.354*mean2 - 41.5529)/0.75
            var1 = var2 * 0.9
            var0 = var1 * 0.9
        outfile.write(strProbe+";"+str(mean0)+" "+str(var0)+";"+str(mean1)+" "+str(var1)+";"+str(mean2)+" "+str(var2)+"\n")

    infile.close()
    outfile.close()
```



## Error 1/42 - Py 2.5 (duplicate)
Source: [link](https://pypi.org/project/birdsuite_internal_tools/#files)
Python version: 2.5
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Pass     | Pass     | Pass |


### MWE:
Same as previous one

## Error 1/43 - Py 2.6
Source: [link](https://github.com/afgane/bioblend/blob/d8925715a5a24b738c605eb63f58260479e55700/bioblend/cloudman/launch.py#L194)
Python version: 2.6
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Pass     | Pass     | Pass |


### MWE:
> NOTE: Ignoging this since it fails in python 2.6. This file passes for all other python versions (atleast the relevant ones)
```python=
def rule_exists(self, rules, from_port, to_port, ip_protocol='tcp', cidr_ip='0.0.0.0/0'):
    for rule in rules:
        if rule.ip_protocol == ip_protocol and rule.from_port == from_port and \
            rule.to_port == to_port and cidr_ip in [ip.cidr_ip for ip in rule.grants]:
            return True
    return False
```




## Error 1/44
Source: [link](https://github.com/tulir/mautrix-python/blob/master/mautrix/client/api/modules/media_repository.py)
Python version: 3.6
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

MWE1:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass     | Fail     | Unsupported |

MWE2:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass     | Fail     | Unsupported |


### MWE:
#### MWE1:
```python=
async def download_media():
    async with get() as x:
        return await x
```
##### Closest Solution1:
```python=
async def download_media():
    async with get() as x:
        temp = await x
    return temp
```
```c=
  1           0 LOAD_CONST               0 (<code object download_media at 0x4002284810, file "main.py", line 1>)
              2 LOAD_CONST               1 ('download_media')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (download_media)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of download_media:
  2           0 LOAD_GLOBAL              0 (get)
              2 CALL_FUNCTION            0
              4 BEFORE_ASYNC_WITH
              6 GET_AWAITABLE
              8 LOAD_CONST               0 (None)
             10 YIELD_FROM
             12 SETUP_ASYNC_WITH        16 (to 30)
             14 STORE_FAST               0 (x)

  3          16 LOAD_FAST                0 (x)
             18 GET_AWAITABLE
             20 LOAD_CONST               0 (None)
             22 YIELD_FROM
             24 STORE_FAST               1 (temp)
             26 POP_BLOCK
             28 LOAD_CONST               0 (None)
        >>   30 WITH_CLEANUP_START
             32 GET_AWAITABLE
             34 LOAD_CONST               0 (None)
             36 YIELD_FROM
             38 WITH_CLEANUP_FINISH
             40 END_FINALLY

  4          42 LOAD_FAST                1 (temp)
             44 RETURN_VALUE
```
##### MWE1 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object download_media at 0x4002216c90, file "main.py", line 1>)
              2 LOAD_CONST               1 ('download_media')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (download_media)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of download_media:
  2           0 LOAD_GLOBAL              0 (get)
              2 CALL_FUNCTION            0
              4 BEFORE_ASYNC_WITH
              6 GET_AWAITABLE
              8 LOAD_CONST               0 (None)
             10 YIELD_FROM
             12 SETUP_ASYNC_WITH        12 (to 26)
             14 STORE_FAST               0 (x)

  3          16 LOAD_FAST                0 (x)
             18 GET_AWAITABLE
             20 LOAD_CONST               0 (None)
             22 YIELD_FROM
             24 RETURN_VALUE
        >>   26 WITH_CLEANUP_START
             28 GET_AWAITABLE
             30 LOAD_CONST               0 (None)
             32 YIELD_FROM
             34 WITH_CLEANUP_FINISH
             36 END_FINALLY
             38 LOAD_CONST               0 (None)
             40 RETURN_VALUE
```
Output uncompyle6:
```python=
async def download_media--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              get
                2  CALL_FUNCTION_0       0  '0 positional arguments'
                4  BEFORE_ASYNC_WITH
                6  GET_AWAITABLE    
                8  LOAD_CONST               None
               10  YIELD_FROM       
               12  SETUP_ASYNC_WITH     26  'to 26'
               14  STORE_FAST               'x'

 L.   3        16  LOAD_FAST                'x'
               18  GET_AWAITABLE    
               20  LOAD_CONST               None
               22  YIELD_FROM       
               24  RETURN_VALUE     
             26_0  COME_FROM_ASYNC_WITH    12  '12'
               26  WITH_CLEANUP_START
               28  GET_AWAITABLE    
               30  LOAD_CONST               None
               32  YIELD_FROM       
               34  WITH_CLEANUP_FINISH
               36  END_FINALLY      

Parse error at or near `COME_FROM_ASYNC_WITH' instruction at offset 26_0
```
Output Decompyle3:
```python=
Error: decompyle3 requires Python 3.7-3.8
```
#### MWE2:
```python=
async def download_thumbnail():
    async with getUrl() as response:
        return await response()
```
##### Closest Solution2:
```python=
async def download_thumbnail():
    temp = None
    async with getUrl() as response:
        temp = await response()
    return temp
```
```c=
  1           0 LOAD_CONST               0 (<code object download_thumbnail at 0x4002216c90, file "main.py", line 1>)
              2 LOAD_CONST               1 ('download_thumbnail')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (download_thumbnail)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of download_thumbnail:
  2           0 LOAD_CONST               0 (None)
              2 STORE_FAST               0 (temp)

  3           4 LOAD_GLOBAL              0 (getUrl)
              6 CALL_FUNCTION            0
              8 BEFORE_ASYNC_WITH
             10 GET_AWAITABLE
             12 LOAD_CONST               0 (None)
             14 YIELD_FROM
             16 SETUP_ASYNC_WITH        18 (to 36)
             18 STORE_FAST               1 (response)

  4          20 LOAD_FAST                1 (response)
             22 CALL_FUNCTION            0
             24 GET_AWAITABLE
             26 LOAD_CONST               0 (None)
             28 YIELD_FROM
             30 STORE_FAST               0 (temp)
             32 POP_BLOCK
             34 LOAD_CONST               0 (None)
        >>   36 WITH_CLEANUP_START
             38 GET_AWAITABLE
             40 LOAD_CONST               0 (None)
             42 YIELD_FROM
             44 WITH_CLEANUP_FINISH
             46 END_FINALLY

  5          48 LOAD_FAST                0 (temp)
             50 RETURN_VALUE
```
##### MWE2 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object download_thumbnail at 0x4002216c90, file "main.py", line 1>)
              2 LOAD_CONST               1 ('download_thumbnail')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (download_thumbnail)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of download_thumbnail:
  2           0 LOAD_GLOBAL              0 (getUrl)
              2 CALL_FUNCTION            0
              4 BEFORE_ASYNC_WITH
              6 GET_AWAITABLE
              8 LOAD_CONST               0 (None)
             10 YIELD_FROM
             12 SETUP_ASYNC_WITH        14 (to 28)
             14 STORE_FAST               0 (response)

  3          16 LOAD_FAST                0 (response)
             18 CALL_FUNCTION            0
             20 GET_AWAITABLE
             22 LOAD_CONST               0 (None)
             24 YIELD_FROM
             26 RETURN_VALUE
        >>   28 WITH_CLEANUP_START
             30 GET_AWAITABLE
             32 LOAD_CONST               0 (None)
             34 YIELD_FROM
             36 WITH_CLEANUP_FINISH
             38 END_FINALLY
             40 LOAD_CONST               0 (None)
             42 RETURN_VALUE
```
Output uncompyle6:
```python=
async def download_thumbnail--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              getUrl
                2  CALL_FUNCTION_0       0  '0 positional arguments'
                4  BEFORE_ASYNC_WITH
                6  GET_AWAITABLE    
                8  LOAD_CONST               None
               10  YIELD_FROM       
               12  SETUP_ASYNC_WITH     28  'to 28'
               14  STORE_FAST               'response'

 L.   3        16  LOAD_FAST                'response'
               18  CALL_FUNCTION_0       0  '0 positional arguments'
               20  GET_AWAITABLE    
               22  LOAD_CONST               None
               24  YIELD_FROM       
               26  RETURN_VALUE     
             28_0  COME_FROM_ASYNC_WITH    12  '12'
               28  WITH_CLEANUP_START
               30  GET_AWAITABLE    
               32  LOAD_CONST               None
               34  YIELD_FROM       
               36  WITH_CLEANUP_FINISH
               38  END_FINALLY      

Parse error at or near `COME_FROM_ASYNC_WITH' instruction at offset 28_0
```
Output Decompyle3:
```python=
Error: decompyle3 requires Python 3.7-3.8
```




## Error 1/45
Source: [link](https://github.com/tulir/mautrix-python/blob/5f37e391c671996ca28d1bdc1e861a4c7bd9f8b4/mautrix/client/api/types/util/serializable_attrs.py#L139)
Python version: 3.6
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Fail     | Pass |


### MWE:
```python=
def _deserialize():
    if cond2:
        return { x(z): x(item) for item in value}
    item_cls= args
    return {x(item_cls) for item in value}
```
#### Closest Solution:
```python=
def _deserialize():
    if cond2:
        return { x(z): x(item) for item in value}
    # item_cls= args
    return {x(args) for item in value}
```
```c=
  1           0 LOAD_CONST               0 (<code object _deserialize at 0x40022846f0, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_deserialize')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_deserialize)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of _deserialize:
  2           0 LOAD_GLOBAL              0 (cond2)
              2 POP_JUMP_IF_FALSE       18

  3           4 LOAD_CONST               1 (<code object <dictcomp> at 0x4002216c90, file "main.py", line 3>)
              6 LOAD_CONST               2 ('_deserialize.<locals>.<dictcomp>')
              8 MAKE_FUNCTION            0
             10 LOAD_GLOBAL              1 (value)
             12 GET_ITER
             14 CALL_FUNCTION            1
             16 RETURN_VALUE

  5     >>   18 LOAD_CONST               3 (<code object <setcomp> at 0x4002284810, file "main.py", line 5>)
             20 LOAD_CONST               4 ('_deserialize.<locals>.<setcomp>')
             22 MAKE_FUNCTION            0
             24 LOAD_GLOBAL              1 (value)
             26 GET_ITER
             28 CALL_FUNCTION            1
             30 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object _deserialize at 0x40022846f0, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_deserialize')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_deserialize)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of _deserialize:
  2           0 LOAD_GLOBAL              0 (cond2)
              2 POP_JUMP_IF_FALSE       18

  3           4 LOAD_CONST               1 (<code object <dictcomp> at 0x4002216c90, file "main.py", line 3>)
              6 LOAD_CONST               2 ('_deserialize.<locals>.<dictcomp>')
              8 MAKE_FUNCTION            0
             10 LOAD_GLOBAL              1 (value)
             12 GET_ITER
             14 CALL_FUNCTION            1
             16 RETURN_VALUE

  4     >>   18 LOAD_GLOBAL              2 (args)
             20 STORE_DEREF              0 (item_cls)

  5          22 LOAD_CLOSURE             0 (item_cls)
             24 BUILD_TUPLE              1
             26 LOAD_CONST               3 (<code object <setcomp> at 0x4002284810, file "main.py", line 5>)
             28 LOAD_CONST               4 ('_deserialize.<locals>.<setcomp>')
             30 MAKE_FUNCTION            8
             32 LOAD_GLOBAL              1 (value)
             34 GET_ITER
             36 CALL_FUNCTION            1
             38 RETURN_VALUE
```
Output uncompyle6:
```python=
def _deserialize--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              cond2
                2  POP_JUMP_IF_FALSE    18  'to 18'

 L.   3         4  LOAD_DICTCOMP            '<code_object <dictcomp>>'
                6  LOAD_STR                 '_deserialize.<locals>.<dictcomp>'
                8  MAKE_FUNCTION_0          'Neither defaults, keyword-only args, annotations, nor closures'
               10  LOAD_GLOBAL              value
               12  GET_ITER         
               14  CALL_FUNCTION_1       1  '1 positional argument'
               16  RETURN_END_IF    
             18_0  COME_FROM             2  '2'

 L.   4        18  LOAD_GLOBAL              args
               20  STORE_DEREF              'item_cls'

 L.   5        22  LOAD_CLOSURE             'item_cls'
               24  BUILD_TUPLE_1         1 
               26  LOAD_SETCOMP             '<code_object <setcomp>>'
               28  LOAD_STR                 '_deserialize.<locals>.<setcomp>'
               30  MAKE_FUNCTION_8          'closure'
               32  LOAD_GLOBAL              value
               34  GET_ITER         
               36  CALL_FUNCTION_1       1  '1 positional argument'
               38  RETURN_VALUE     
               -1  RETURN_LAST      

Parse error at or near `LOAD_SETCOMP' instruction at offset 26
```
Output Decompyle3:
```python=
Error: decompyle3 requires Python 3.7-3.8
```



## Error 1/46
Source: [link](https://github.com/pycopia/botfly/blob/master/botfly/debugger.py)
Python version: 3.7
Decompyle3: Failed
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

MWE1:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Pass     | Pass |

MWE2:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Pass     | Pass |


### MWE:
#### MWE1:
```python=
def checkline():
    if a or b or c or d:
        return 0
    return
```
##### Closest Solution1:
```python=
def checkline():
    tmp = a or b
    if tmp or c or d:
        return 0
    return
```
```c=
  1           0 LOAD_CONST               0 (<code object checkline at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('checkline')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (checkline)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object checkline at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 JUMP_IF_TRUE_OR_POP      6
              4 LOAD_GLOBAL              1 (b)
        >>    6 STORE_FAST               0 (tmp)

  3           8 LOAD_FAST                0 (tmp)
             10 POP_JUMP_IF_TRUE        20
             12 LOAD_GLOBAL              2 (c)
             14 POP_JUMP_IF_TRUE        20
             16 LOAD_GLOBAL              3 (d)
             18 POP_JUMP_IF_FALSE       24

  4     >>   20 LOAD_CONST               1 (0)
             22 RETURN_VALUE

  5     >>   24 LOAD_CONST               0 (None)
             26 RETURN_VALUE
```
##### MWE1 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object checkline at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('checkline')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (checkline)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object checkline at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 POP_JUMP_IF_TRUE        16
              4 LOAD_GLOBAL              1 (b)
              6 POP_JUMP_IF_TRUE        16
              8 LOAD_GLOBAL              2 (c)
             10 POP_JUMP_IF_TRUE        16
             12 LOAD_GLOBAL              3 (d)
             14 POP_JUMP_IF_FALSE       20

  3     >>   16 LOAD_CONST               1 (0)
             18 RETURN_VALUE

  4     >>   20 LOAD_CONST               0 (None)
             22 RETURN_VALUE
```
Output uncompyle6:
```python=
def checkline--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              a
                2  POP_JUMP_IF_TRUE     16  'to 16'
                4  LOAD_GLOBAL              b
                6  POP_JUMP_IF_TRUE     16  'to 16'
                8  LOAD_GLOBAL              c
               10  POP_JUMP_IF_TRUE     16  'to 16'
               12  LOAD_GLOBAL              d
               14  POP_JUMP_IF_FALSE    20  'to 20'
             16_0  COME_FROM            10  '10'
             16_1  COME_FROM             6  '6'
             16_2  COME_FROM             2  '2'

 L.   3        16  LOAD_CONST               0
               18  RETURN_VALUE     
             20_0  COME_FROM            14  '14'

Parse error at or near `RETURN_VALUE' instruction at offset 18
```
Output Decompyle3:
```python=
def checkline():
    if a or (b or c or d):
        return 0
```
#### MWE2:
```python=
def user_exception():
    f = exc_type
    prefix = 'Internal ' if (not a and b) else ''
```
##### Closest Solution2:
```python=
def user_exception():
    f = exc_type
    temp = not a and b
    prefix = 'Internal ' if (temp) else ''
```
```c=
  1           0 LOAD_CONST               0 (<code object user_exception at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('user_exception')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (user_exception)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object user_exception at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (exc_type)
              2 STORE_FAST               0 (f)

  3           4 LOAD_GLOBAL              1 (a)
              6 UNARY_NOT
              8 JUMP_IF_FALSE_OR_POP    12
             10 LOAD_GLOBAL              2 (b)
        >>   12 STORE_FAST               1 (temp)

  4          14 LOAD_FAST                1 (temp)
             16 POP_JUMP_IF_FALSE       22
             18 LOAD_CONST               1 ('Internal ')
             20 JUMP_FORWARD             2 (to 24)
        >>   22 LOAD_CONST               2 ('')
        >>   24 STORE_FAST               2 (prefix)
             26 LOAD_CONST               0 (None)
             28 RETURN_VALUE
```
##### MWE2 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object user_exception at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('user_exception')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (user_exception)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object user_exception at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (exc_type)
              2 STORE_FAST               0 (f)

  3           4 LOAD_GLOBAL              1 (a)
              6 POP_JUMP_IF_TRUE        16
              8 LOAD_GLOBAL              2 (b)
             10 POP_JUMP_IF_FALSE       16
             12 LOAD_CONST               1 ('Internal ')
             14 JUMP_FORWARD             2 (to 18)
        >>   16 LOAD_CONST               2 ('')
        >>   18 STORE_FAST               1 (prefix)
             20 LOAD_CONST               0 (None)
             22 RETURN_VALUE
```
Output uncompyle6:
```python=
def user_exception--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              exc_type
                2  STORE_FAST               'f'

 L.   3         4  LOAD_GLOBAL              a
                6  POP_JUMP_IF_TRUE     16  'to 16'
                8  LOAD_GLOBAL              b
               10  POP_JUMP_IF_FALSE    16  'to 16'
               12  LOAD_STR                 'Internal '
               14  JUMP_FORWARD         18  'to 18'
             16_0  COME_FROM            10  '10'
             16_1  COME_FROM             6  '6'
               16  LOAD_STR                 ''
             18_0  COME_FROM            14  '14'
               18  STORE_FAST               'prefix'

Parse error at or near `COME_FROM' instruction at offset 16_1
```
Output Decompyle3:
```python=
Instruction context:
   
 L.   3         4  LOAD_GLOBAL              a
                   6  POP_JUMP_IF_TRUE     16  'to 16'
                   8  LOAD_GLOBAL              b
                  10  POP_JUMP_IF_FALSE    16  'to 16'
                  12  LOAD_STR                 'Internal '
                  14  JUMP_FORWARD         18  'to 18'
                16_0  COME_FROM            10  '10'
                16_1  COME_FROM             6  '6'
                  16  LOAD_STR                 ''
->              18_0  COME_FROM            14  '14'

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error
```



## Error 1/47 - Py 2.6 - Recreate for Py 3.7
Source: [link](https://svn.apache.org/repos/infra/infrastructure/trunk/projects/asfpy/asfpy/ldap.py)
Python version: 2.6
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Fail     | Pass     | Pass |


### MWE:
> NOTE: Listing MWE for python3.7 version only which is interesting since it targets the same offset. 

#### MWE for python 3.7:
```python=
def update():
    if a:
        if b:
            for elem in iterable:
                pass
        else:
            x = x + 1
    else:
        pass
```
#### Closest solution:
```python=
def update():
    if a:
        if b:
            for elem in iterable:
                pass
        else:
            x = x + 1
```

```c=
  1           0 LOAD_CONST               0 (<code object update at 0x40022aee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('update')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (update)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object update at 0x40022aee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 POP_JUMP_IF_FALSE       32

  3           4 LOAD_GLOBAL              1 (b)
              6 POP_JUMP_IF_FALSE       24

  4           8 SETUP_LOOP              22 (to 32)
             10 LOAD_GLOBAL              2 (iterable)
             12 GET_ITER
        >>   14 FOR_ITER                 4 (to 20)
             16 STORE_FAST               0 (elem)

  5          18 JUMP_ABSOLUTE           14
        >>   20 POP_BLOCK
             22 JUMP_FORWARD             8 (to 32)

  7     >>   24 LOAD_FAST                1 (x)
             26 LOAD_CONST               1 (1)
             28 BINARY_ADD
             30 STORE_FAST               1 (x)
        >>   32 LOAD_CONST               0 (None)
             34 RETURN_VALUE
```

#### MWE python3.7 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object update at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('update')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (update)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object update at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 POP_JUMP_IF_FALSE       34

  3           4 LOAD_GLOBAL              1 (b)
              6 POP_JUMP_IF_FALSE       24

  4           8 SETUP_LOOP              22 (to 32)
             10 LOAD_GLOBAL              2 (iterable)
             12 GET_ITER
        >>   14 FOR_ITER                 4 (to 20)
             16 STORE_FAST               0 (elem)

  5          18 JUMP_ABSOLUTE           14
        >>   20 POP_BLOCK
             22 JUMP_ABSOLUTE           34

  7     >>   24 LOAD_FAST                1 (x)
             26 LOAD_CONST               1 (1)
             28 BINARY_ADD
             30 STORE_FAST               1 (x)
        >>   32 JUMP_FORWARD             0 (to 34)

  9     >>   34 LOAD_CONST               0 (None)
             36 RETURN_VALUE

```
Output uncompyle6:
```python=
def update--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              a
                2  POP_JUMP_IF_FALSE    34  'to 34'

 L.   3         4  LOAD_GLOBAL              b
                6  POP_JUMP_IF_FALSE    24  'to 24'

 L.   4         8  SETUP_LOOP           32  'to 32'
               10  LOAD_GLOBAL              iterable
               12  GET_ITER         
               14  FOR_ITER             20  'to 20'
               16  STORE_FAST               'elem'

 L.   5        18  JUMP_BACK            14  'to 14'
               20  POP_BLOCK        
               22  JUMP_ABSOLUTE        34  'to 34'
             24_0  COME_FROM             6  '6'

 L.   7        24  LOAD_FAST                'x'
               26  LOAD_CONST               1
               28  BINARY_ADD       
               30  STORE_FAST               'x'
             32_0  COME_FROM_LOOP        8  '8'
               32  JUMP_FORWARD         34  'to 34'
             34_0  COME_FROM            32  '32'
             34_1  COME_FROM             2  '2'

Parse error at or near `COME_FROM_LOOP' instruction at offset 32_0
```
Output Decompyle3:
```python=
def update():
    if a:
        if b:
            for elem in iterable:
                pass

        else:
            x = x + 1
    else:
        pass
```
#### Original Code

```python=
def update(self, iterable=None, **kwds):
    '''Like dict.update() but add counts instead of replacing them.

    Source can be an iterable, a dictionary, or another Counter instance.

    >>> c = Counter('which')
    >>> c.update('witch')           # add elements from another iterable
    >>> d = Counter('watch')
    >>> c.update(d)                 # add elements from another counter
    >>> c['h']                      # four 'h' in which, witch, and watch
    4

    '''        
    if iterable is not None:
        if hasattr(iterable, 'iteritems'):
            if self:
                self_get = self.get
                for elem, count in iterable.iteritems():
                    self[elem] = self_get(elem, 0) + count
            else:
                dict.update(self, iterable) # fast path when counter is empty
        else:
            self_get = self.get
            for elem in iterable:
                self[elem] = self_get(elem, 0) + 1
    if kwds:
        self.update(kwds)
```



## Error 1/48 - Py 3.4
Source: [link](https://github.com/boto/boto/blob/b2a6f08122b2f1b89888d2848e730893595cd001/boto/ec2/cloudwatch/__init__.py#L138)
Python version: 3.4
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Pass     | Pass     | Pass |


### MWE:
> NOTE: Ignoring this since it fails in python 3.4. This file passes for all other python versions (atleast the relevant ones)
```python=
length = max(map(lambda a: len(a) if isinstance(a, list) else 1, args))
```

## Error 1/49 - Py 3.4
Source: [link](https://github.com/boto/boto/blob/b2a6f08122b2f1b89888d2848e730893595cd001/boto/gs/acl.py#L286)
Python version: 3.4
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Pass     | Pass     | Pass |


### MWE:
> NOTE: Ignoring this since it fails in python 3.4. This file passes for all other python versions (atleast the relevant ones)
```python=
def to_xml(self):
    s = '<%s type="%s">' % (SCOPE, self.type)
    if (self.type.lower() == ALL_AUTHENTICATED_USERS.lower()
        or self.type.lower() == ALL_USERS.lower()):
        pass
    elif self.type.lower() == GROUP_BY_DOMAIN.lower():
        s += '<%s>%s</%s>' % (DOMAIN, self.domain, DOMAIN)
    elif (self.type.lower() == GROUP_BY_EMAIL.lower()
            or self.type.lower() == USER_BY_EMAIL.lower()):
        s += '<%s>%s</%s>' % (EMAIL_ADDRESS, self.email_address,
                                EMAIL_ADDRESS)
        if self.name:
            s += '<%s>%s</%s>' % (NAME, self.name, NAME)
    elif (self.type.lower() == GROUP_BY_ID.lower()
            or self.type.lower() == USER_BY_ID.lower()):
        s += '<%s>%s</%s>' % (ID, self.id, ID)
        if self.name:
            s += '<%s>%s</%s>' % (NAME, self.name, NAME)
    else:
        raise InvalidAclError('Invalid scope type "%s" ', self.type)

    s += '</%s>' % SCOPE
    return s
```



## Error 1/50 - Py 3.4 - Recreate for Py 3.8
Source: [link](https://github.com/boto/boto/blob/b2a6f08122b2f1b89888d2848e730893595cd001/boto/mashups/iobject.py#L32)
Python version: 3.4
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass     | Pass     | Pass |


### MWE:
> NOTE: Listing MWE for python3.8 version only which is interesting since it targets the same offset.
#### MWE 3.8:
```python=
def choose_from_list():
    while b:
        try:
            if a:
                return None
        except:
            pass
```
#### Closest Solution 3.8:
```python=
def choose_from_list():
    while b:
        try:
            tmp = False
            if a: tmp = True       
        except:
            pass
        if tmp: return None
```
```c=
  1           0 LOAD_CONST               0 (<code object choose_from_list at 0x400246eb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('choose_from_list')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (choose_from_list)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object choose_from_list at 0x400246eb30, file "main.py", line 1>:
  2     >>    0 LOAD_GLOBAL              0 (b)
              2 POP_JUMP_IF_FALSE       44

  3           4 SETUP_FINALLY           16 (to 22)

  4           6 LOAD_CONST               1 (False)
              8 STORE_FAST               0 (tmp)

  5          10 LOAD_GLOBAL              1 (a)
             12 POP_JUMP_IF_FALSE       18

  6          14 LOAD_CONST               2 (True)
             16 STORE_FAST               0 (tmp)
        >>   18 POP_BLOCK
             20 JUMP_FORWARD            12 (to 34)

  8     >>   22 POP_TOP
             24 POP_TOP
             26 POP_TOP

  9          28 POP_EXCEPT
             30 JUMP_FORWARD             2 (to 34)
             32 END_FINALLY

 10     >>   34 LOAD_FAST                0 (tmp)
             36 POP_JUMP_IF_FALSE        0
             38 LOAD_CONST               0 (None)
             40 RETURN_VALUE
             42 JUMP_ABSOLUTE            0
        >>   44 LOAD_CONST               0 (None)
             46 RETURN_VALUE
```
#### MWE 3.8 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object choose_from_list at 0x400246ea80, file "main.py", line 1>)
              2 LOAD_CONST               1 ('choose_from_list')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (choose_from_list)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object choose_from_list at 0x400246ea80, file "main.py", line 1>:
  2     >>    0 LOAD_GLOBAL              0 (b)
              2 POP_JUMP_IF_FALSE       34

  3           4 SETUP_FINALLY           14 (to 20)

  4           6 LOAD_GLOBAL              1 (a)
              8 POP_JUMP_IF_FALSE       16

  5          10 POP_BLOCK
             12 LOAD_CONST               0 (None)
             14 RETURN_VALUE
        >>   16 POP_BLOCK
             18 JUMP_ABSOLUTE            0

  6     >>   20 POP_TOP
             22 POP_TOP
             24 POP_TOP

  7          26 POP_EXCEPT
             28 JUMP_ABSOLUTE            0
             30 END_FINALLY
             32 JUMP_ABSOLUTE            0
        >>   34 LOAD_CONST               0 (None)
             36 RETURN_VALUE
```
Output uncompyle6:
```python=
def choose_from_list--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              b
                2  POP_JUMP_IF_FALSE    34  'to 34'

 L.   3         4  SETUP_FINALLY        20  'to 20'

 L.   4         6  LOAD_GLOBAL              a
                8  POP_JUMP_IF_FALSE    16  'to 16'

 L.   5        10  POP_BLOCK        
               12  LOAD_CONST               None
               14  RETURN_VALUE     
             16_0  COME_FROM             8  '8'
               16  POP_BLOCK        
               18  JUMP_BACK             0  'to 0'
             20_0  COME_FROM_FINALLY     4  '4'

 L.   6        20  POP_TOP          
               22  POP_TOP          
               24  POP_TOP          

 L.   7        26  POP_EXCEPT       
               28  JUMP_BACK             0  'to 0'
               30  END_FINALLY      
               32  JUMP_BACK             0  'to 0'
             34_0  COME_FROM             2  '2'

Parse error at or near `LOAD_CONST' instruction at offset 12
```
Output Decompyle3:
```python=
Instruction context:
   
 L.   5        10  POP_BLOCK        
->                12  LOAD_CONST               None
                  14  RETURN_VALUE     
                16_0  COME_FROM             8  '8'
                  16  POP_BLOCK        
                  18  JUMP_BACK             0  'to 0'
                20_0  COME_FROM_FINALLY     4  '4'

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error
```



## Error 1/51
Source: [link](https://github.com/42DIGITAL/bqtools/blob/1bc3e620f663555d8936e745ee3224b9f6b1b716/fourtytwo/bqtools/__init__.py#L91)
Python version: 3.7
Decompyle3: Pass
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Fail     | Pass     | Pass |


### MWE:
```python=
def _columns_to_rows():
    if a:
        for index in l:
            pass
    elif b:
        for index in l:
            pass
    return rows
```
#### Closest Solution:
```python=
def _columns_to_rows():
    tmp = False
    if a:
        for index in l:
            pass
    else:
        tmp = True
    if tmp and b:
        for index in l:
            pass
    return rows
```
```c=
  1           0 LOAD_CONST               0 (<code object _columns_to_rows at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_columns_to_rows')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_columns_to_rows)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _columns_to_rows at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_CONST               1 (False)
              2 STORE_FAST               0 (tmp)

  3           4 LOAD_GLOBAL              0 (a)
              6 POP_JUMP_IF_FALSE       24

  4           8 SETUP_LOOP              18 (to 28)
             10 LOAD_GLOBAL              1 (l)
             12 GET_ITER
        >>   14 FOR_ITER                 4 (to 20)
             16 STORE_FAST               1 (index)

  5          18 JUMP_ABSOLUTE           14
        >>   20 POP_BLOCK
             22 JUMP_FORWARD             4 (to 28)

  7     >>   24 LOAD_CONST               2 (True)
             26 STORE_FAST               0 (tmp)

  8     >>   28 LOAD_FAST                0 (tmp)
             30 POP_JUMP_IF_FALSE       50
             32 LOAD_GLOBAL              2 (b)
             34 POP_JUMP_IF_FALSE       50

  9          36 SETUP_LOOP              12 (to 50)
             38 LOAD_GLOBAL              1 (l)
             40 GET_ITER
        >>   42 FOR_ITER                 4 (to 48)
             44 STORE_FAST               1 (index)

 10          46 JUMP_ABSOLUTE           42
        >>   48 POP_BLOCK

 11     >>   50 LOAD_GLOBAL              3 (rows)
             52 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object _columns_to_rows at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_columns_to_rows')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_columns_to_rows)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _columns_to_rows at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 POP_JUMP_IF_FALSE       20

  3           4 SETUP_LOOP              32 (to 38)
              6 LOAD_GLOBAL              1 (l)
              8 GET_ITER
        >>   10 FOR_ITER                 4 (to 16)
             12 STORE_FAST               0 (index)

  4          14 JUMP_ABSOLUTE           10
        >>   16 POP_BLOCK
             18 JUMP_FORWARD            18 (to 38)

  5     >>   20 LOAD_GLOBAL              2 (b)
             22 POP_JUMP_IF_FALSE       38

  6          24 SETUP_LOOP              12 (to 38)
             26 LOAD_GLOBAL              1 (l)
             28 GET_ITER
        >>   30 FOR_ITER                 4 (to 36)
             32 STORE_FAST               0 (index)

  7          34 JUMP_ABSOLUTE           30
        >>   36 POP_BLOCK

  8     >>   38 LOAD_GLOBAL              3 (rows)
             40 RETURN_VALUE
```
Output uncompyle6:
```python=
def _columns_to_rows--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              a
                2  POP_JUMP_IF_FALSE    20  'to 20'

 L.   3         4  SETUP_LOOP           38  'to 38'
                6  LOAD_GLOBAL              l
                8  GET_ITER         
               10  FOR_ITER             16  'to 16'
               12  STORE_FAST               'index'

 L.   4        14  JUMP_BACK            10  'to 10'
               16  POP_BLOCK        
               18  JUMP_FORWARD         38  'to 38'
             20_0  COME_FROM             2  '2'

 L.   5        20  LOAD_GLOBAL              b
               22  POP_JUMP_IF_FALSE    38  'to 38'

 L.   6        24  SETUP_LOOP           38  'to 38'
               26  LOAD_GLOBAL              l
               28  GET_ITER         
               30  FOR_ITER             36  'to 36'
               32  STORE_FAST               'index'

 L.   7        34  JUMP_BACK            30  'to 30'
               36  POP_BLOCK        
             38_0  COME_FROM_LOOP       24  '24'
             38_1  COME_FROM            22  '22'
             38_2  COME_FROM            18  '18'
             38_3  COME_FROM_LOOP        4  '4'

 L.   8        38  LOAD_GLOBAL              rows
               40  RETURN_VALUE     
               -1  RETURN_LAST      

Parse error at or near `COME_FROM_LOOP' instruction at offset 38_3
```
Output Decompyle3:
```python=
def _columns_to_rows():
    if a:
        for index in l:
            pass

    elif b:
        for index in l:
            pass

    return rows
```



## Error 1/52
Source: [link](https://svn.apache.org/repos/infra/infrastructure/trunk/projects/asfpy/asfpy/ldap.py)
Python version: 3.8
Decompyle3: Pass
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Fail     | Pass     | Pass |


### MWE:
```python=
def convert():
    if a:
        for r in column:
            pass
    elif b:
        for f in fields:
            pass
    return converted_column
```
#### Closest Solution:
```python=
def convert():
    tmp = False
    if a:
        for r in column:
            pass
    else:
        tmp = True
    if tmp and b:
        for f in fields:
            pass
    return converted_column
```
```c=
  1           0 LOAD_CONST               0 (<code object convert at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('convert')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (convert)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object convert at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_CONST               1 (False)
              2 STORE_FAST               0 (tmp)

  3           4 LOAD_GLOBAL              0 (a)
              6 POP_JUMP_IF_FALSE       24

  4           8 SETUP_LOOP              18 (to 28)
             10 LOAD_GLOBAL              1 (column)
             12 GET_ITER
        >>   14 FOR_ITER                 4 (to 20)
             16 STORE_FAST               1 (r)

  5          18 JUMP_ABSOLUTE           14
        >>   20 POP_BLOCK
             22 JUMP_FORWARD             4 (to 28)

  7     >>   24 LOAD_CONST               2 (True)
             26 STORE_FAST               0 (tmp)

  8     >>   28 LOAD_FAST                0 (tmp)
             30 POP_JUMP_IF_FALSE       50
             32 LOAD_GLOBAL              2 (b)
             34 POP_JUMP_IF_FALSE       50

  9          36 SETUP_LOOP              12 (to 50)
             38 LOAD_GLOBAL              3 (fields)
             40 GET_ITER
        >>   42 FOR_ITER                 4 (to 48)
             44 STORE_FAST               2 (f)

 10          46 JUMP_ABSOLUTE           42
        >>   48 POP_BLOCK

 11     >>   50 LOAD_GLOBAL              4 (converted_column)
             52 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object convert at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('convert')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (convert)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object convert at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 POP_JUMP_IF_FALSE       20

  3           4 SETUP_LOOP              32 (to 38)
              6 LOAD_GLOBAL              1 (column)
              8 GET_ITER
        >>   10 FOR_ITER                 4 (to 16)
             12 STORE_FAST               0 (r)

  4          14 JUMP_ABSOLUTE           10
        >>   16 POP_BLOCK
             18 JUMP_FORWARD            18 (to 38)

  5     >>   20 LOAD_GLOBAL              2 (b)
             22 POP_JUMP_IF_FALSE       38

  6          24 SETUP_LOOP              12 (to 38)
             26 LOAD_GLOBAL              3 (fields)
             28 GET_ITER
        >>   30 FOR_ITER                 4 (to 36)
             32 STORE_FAST               1 (f)

  7          34 JUMP_ABSOLUTE           30
        >>   36 POP_BLOCK

  8     >>   38 LOAD_GLOBAL              4 (converted_column)
             40 RETURN_VALUE
```
Output uncompyle6:
```python=
def convert--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              a
                2  POP_JUMP_IF_FALSE    20  'to 20'

 L.   3         4  SETUP_LOOP           38  'to 38'
                6  LOAD_GLOBAL              column
                8  GET_ITER         
               10  FOR_ITER             16  'to 16'
               12  STORE_FAST               'r'

 L.   4        14  JUMP_BACK            10  'to 10'
               16  POP_BLOCK        
               18  JUMP_FORWARD         38  'to 38'
             20_0  COME_FROM             2  '2'

 L.   5        20  LOAD_GLOBAL              b
               22  POP_JUMP_IF_FALSE    38  'to 38'

 L.   6        24  SETUP_LOOP           38  'to 38'
               26  LOAD_GLOBAL              fields
               28  GET_ITER         
               30  FOR_ITER             36  'to 36'
               32  STORE_FAST               'f'

 L.   7        34  JUMP_BACK            30  'to 30'
               36  POP_BLOCK        
             38_0  COME_FROM_LOOP       24  '24'
             38_1  COME_FROM            22  '22'
             38_2  COME_FROM            18  '18'
             38_3  COME_FROM_LOOP        4  '4'

 L.   8        38  LOAD_GLOBAL              converted_column
               40  RETURN_VALUE     
               -1  RETURN_LAST      

Parse error at or near `COME_FROM_LOOP' instruction at offset 38_3
```
Output Decompyle3:
```python=
def convert():
    if a:
        for r in column:
            pass

    elif b:
        for f in fields:
            pass

    return converted_column
```



## Error 1/53 - Duplicate
Source: [link](https://github.com/42DIGITAL/bqtools/blob/1bc3e620f663555d8936e745ee3224b9f6b1b716/fourtytwo/bqtools/__init__.py#L91)
Python version: 3.7
Decompyle3: Pass
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Fail     | Pass     | Pass |

> Same as 1/51





## Error 1/54
Source: [link](https://github.com/nekitdev/braces.py/blob/6fb0513976fe064bb4cca2295066eb0df64b95d7/braces/token_transform.py#L18)
Python version: 3.8
Decompyle3: Pass
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass     | Pass     | Pass |


### MWE:
```python=
def transform():
    for token in l:
        for context in l:
            if b:
                z=z
                break
```
#### Closest Solution:
```python=
def transform():
    for token in l:
        for context in l:
            if b:
                z=z
            if b:
                break
```
```c=
  1           0 LOAD_CONST               0 (<code object transform at 0x40021aeb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('transform')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (transform)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object transform at 0x40021aeb30, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (l)
              2 GET_ITER
        >>    4 FOR_ITER                30 (to 36)
              6 STORE_FAST               0 (token)

  3           8 LOAD_GLOBAL              0 (l)
             10 GET_ITER
        >>   12 FOR_ITER                20 (to 34)
             14 STORE_FAST               1 (context)

  4          16 LOAD_GLOBAL              1 (b)
             18 POP_JUMP_IF_FALSE       24

  5          20 LOAD_FAST                2 (z)
             22 STORE_FAST               2 (z)

  6     >>   24 LOAD_GLOBAL              1 (b)
             26 POP_JUMP_IF_FALSE       12

  7          28 POP_TOP
             30 JUMP_ABSOLUTE            4
             32 JUMP_ABSOLUTE           12
        >>   34 JUMP_ABSOLUTE            4
        >>   36 LOAD_CONST               0 (None)
             38 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object transform at 0x40021eebe0, file "main.py", line 1>)
              2 LOAD_CONST               1 ('transform')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (transform)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object transform at 0x40021eebe0, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (l)
              2 GET_ITER
        >>    4 FOR_ITER                26 (to 32)
              6 STORE_FAST               0 (token)

  3           8 LOAD_GLOBAL              0 (l)
             10 GET_ITER
        >>   12 FOR_ITER                16 (to 30)
             14 STORE_FAST               1 (context)

  4          16 LOAD_GLOBAL              1 (b)
             18 POP_JUMP_IF_FALSE       12

  5          20 LOAD_FAST                2 (z)
             22 STORE_FAST               2 (z)

  6          24 POP_TOP
             26 JUMP_ABSOLUTE            4
             28 JUMP_ABSOLUTE           12
        >>   30 JUMP_ABSOLUTE            4
        >>   32 LOAD_CONST               0 (None)
             34 RETURN_VALUE
```
Output uncompyle6:
```python=
def transform--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              l
                2  GET_ITER         
                4  FOR_ITER             32  'to 32'
                6  STORE_FAST               'token'

 L.   3         8  LOAD_GLOBAL              l
               10  GET_ITER         
             12_0  COME_FROM            18  '18'
               12  FOR_ITER             30  'to 30'
               14  STORE_FAST               'context'

 L.   4        16  LOAD_GLOBAL              b
               18  POP_JUMP_IF_FALSE    12  'to 12'

 L.   5        20  LOAD_FAST                'z'
               22  STORE_FAST               'z'

 L.   6        24  POP_TOP          
               26  CONTINUE              4  'to 4'
               28  JUMP_BACK            12  'to 12'
               30  JUMP_BACK             4  'to 4'

Parse error at or near `CONTINUE' instruction at offset 26
```
Output Decompyle3:
```python=
def transform():
    for token in l:
        for context in l:
            if b:
                z = z
                break
```




## Error 1/55
Source: [link](https://github.com/nekitdev/braces.py/blob/6fb0513976fe064bb4cca2295066eb0df64b95d7/braces/__init__.py#L35)
Python version: 3.8
Decompyle3: Failed
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass     | Pass     | Pass |


### MWE:
```python=
def make_version_details():
    for key in l:
        if a:
            continue
        else:
            value = 1
        value = 2
    return
```
#### Closest Solution:
```python=
def make_version_details():
    for key in l:
        if a:
            continue
        
        value = 1
        value = 2
    return
```
```c=
  1           0 LOAD_CONST               0 (<code object make_version_details at 0x400246eb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('make_version_details')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (make_version_details)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object make_version_details at 0x400246eb30, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (l)
              2 GET_ITER
        >>    4 FOR_ITER                18 (to 24)
              6 STORE_FAST               0 (key)

  3           8 LOAD_GLOBAL              1 (a)
             10 POP_JUMP_IF_FALSE       14

  4          12 JUMP_ABSOLUTE            4

  6     >>   14 LOAD_CONST               1 (1)
             16 STORE_FAST               1 (value)

  7          18 LOAD_CONST               2 (2)
             20 STORE_FAST               1 (value)
             22 JUMP_ABSOLUTE            4

  8     >>   24 LOAD_CONST               0 (None)
             26 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object make_version_details at 0x400246eb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('make_version_details')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (make_version_details)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object make_version_details at 0x400246eb30, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (l)
              2 GET_ITER
        >>    4 FOR_ITER                20 (to 26)
              6 STORE_FAST               0 (key)

  3           8 LOAD_GLOBAL              1 (a)
             10 POP_JUMP_IF_FALSE       16

  4          12 JUMP_ABSOLUTE            4
             14 JUMP_FORWARD             4 (to 20)

  6     >>   16 LOAD_CONST               1 (1)
             18 STORE_FAST               1 (value)

  7     >>   20 LOAD_CONST               2 (2)
             22 STORE_FAST               1 (value)
             24 JUMP_ABSOLUTE            4

  8     >>   26 LOAD_CONST               0 (None)
             28 RETURN_VALUE
```
Output uncompyle6:
```python=
def make_version_details--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              l
                2  GET_ITER         
                4  FOR_ITER             26  'to 26'
                6  STORE_FAST               'key'

 L.   3         8  LOAD_GLOBAL              a
               10  POP_JUMP_IF_FALSE    16  'to 16'

 L.   4        12  JUMP_BACK             4  'to 4'
               14  JUMP_FORWARD         20  'to 20'
             16_0  COME_FROM            10  '10'

 L.   6        16  LOAD_CONST               1
               18  STORE_FAST               'value'
             20_0  COME_FROM            14  '14'

 L.   7        20  LOAD_CONST               2
               22  STORE_FAST               'value'
               24  JUMP_BACK             4  'to 4'

Parse error at or near `JUMP_FORWARD' instruction at offset 14
```
Output Decompyle3:
```python=
Instruction context:
   
 L.   7        20  LOAD_CONST               2
                  22  STORE_FAST               'value'
->                24  JUMP_BACK             4  'to 4'

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error
```



## Error 1/56 - Cannot Recreate Py 2.7
Source: [link](https://pypi.org/project/bree/#files)
Python version: 2.7
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Pass     | Pass     | Pass |

> NOTE: The magic number is 62218 which means a certain version of python 2.7. However, python 2.7 decompiles perfectly. Current python 2.7 has 62211 as magic number.
### MWE:
```python=
from __future__ import unicode_literals
from tornado.web import UIModule


class CSS(UIModule):
    def render(self, origin, compress=None, *args, **kwargs):
        debug = self.handler.css_debug

        to_show = []

        buff = ''

        if debug or compress is None:
            if isinstance(origin, str):
                to_show = [origin]
            else:
                to_show = origin
        else:
            if isinstance(compress, str):
                to_show = [compress]
            else:
                to_show = compress

        for i in to_show:
            buff += '<link href="{}" media="screen" rel="stylesheet" type="text/css">'.format(self.handler.static_url(i))
        pass

        return buff
```

## Error 1/57 - (Duplicate) Cannot Recreate Py 2.7
Source: [link](https://pypi.org/project/bree/#files)
Python version: 2.7
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Pass     | Pass     | Pass |

> NOTE: The magic number is 62218 which means a certain version of python 2.7. However, python 2.7 decompiles perfectly. Current python 2.7 has 62211 as magic number.

Same as previous one.


## Error 1/58
Source: [link](https://github.com/brython-dev/brython/blob/ee011b8fbba9cd3d4e37255e1625354528639680/scripts/python_minifier.py#L35)
Python version: 3.8
Decompyle3: Pass - Incorrect
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Pass     | Pass |


### MWE:
```python=
def minify():
    for item in token_generator:
        if a and b:
            if c or d or e :
                z = z 
        else:
            z = z
```
#### Closest Solution:
```python=
def minify():
    for item in token_generator:
        if a and b:
            tmp = c or d or e
            if tmp :
                z = z 
        else:
            z = z
```
```c=
  1           0 LOAD_CONST               0 (<code object minify at 0x400236e9d0, file "main.py", line 1>)
              2 LOAD_CONST               1 ('minify')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (minify)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object minify at 0x400236e9d0, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (token_generator)
              2 GET_ITER
        >>    4 FOR_ITER                38 (to 44)
              6 STORE_FAST               0 (item)

  3           8 LOAD_GLOBAL              1 (a)
             10 POP_JUMP_IF_FALSE       38
             12 LOAD_GLOBAL              2 (b)
             14 POP_JUMP_IF_FALSE       38

  4          16 LOAD_GLOBAL              3 (c)
             18 JUMP_IF_TRUE_OR_POP     26
             20 LOAD_GLOBAL              4 (d)
             22 JUMP_IF_TRUE_OR_POP     26
             24 LOAD_GLOBAL              5 (e)
        >>   26 STORE_FAST               1 (tmp)

  5          28 LOAD_FAST                1 (tmp)
             30 POP_JUMP_IF_FALSE       42

  6          32 LOAD_FAST                2 (z)
             34 STORE_FAST               2 (z)
             36 JUMP_ABSOLUTE            4

  8     >>   38 LOAD_FAST                2 (z)
             40 STORE_FAST               2 (z)
        >>   42 JUMP_ABSOLUTE            4
        >>   44 LOAD_CONST               0 (None)
             46 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object minify at 0x40021ee9d0, file "main.py", line 1>)
              2 LOAD_CONST               1 ('minify')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (minify)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object minify at 0x40021ee9d0, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (token_generator)
              2 GET_ITER
        >>    4 FOR_ITER                34 (to 40)
              6 STORE_FAST               0 (item)

  3           8 LOAD_GLOBAL              1 (a)
             10 POP_JUMP_IF_FALSE       34
             12 LOAD_GLOBAL              2 (b)
             14 POP_JUMP_IF_FALSE       34

  4          16 LOAD_GLOBAL              3 (c)
             18 POP_JUMP_IF_TRUE        28
             20 LOAD_GLOBAL              4 (d)
             22 POP_JUMP_IF_TRUE        28
             24 LOAD_GLOBAL              5 (e)
             26 POP_JUMP_IF_FALSE       38

  5     >>   28 LOAD_FAST                1 (z)
             30 STORE_FAST               1 (z)
             32 JUMP_ABSOLUTE            4

  7     >>   34 LOAD_FAST                1 (z)
             36 STORE_FAST               1 (z)
        >>   38 JUMP_ABSOLUTE            4
        >>   40 LOAD_CONST               0 (None)
             42 RETURN_VALUE
```
Output uncompyle6:
```python=
def minify--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              token_generator
                2  GET_ITER         
                4  FOR_ITER             40  'to 40'
                6  STORE_FAST               'item'

 L.   3         8  LOAD_GLOBAL              a
               10  POP_JUMP_IF_FALSE    34  'to 34'
               12  LOAD_GLOBAL              b
               14  POP_JUMP_IF_FALSE    34  'to 34'

 L.   4        16  LOAD_GLOBAL              c
               18  POP_JUMP_IF_TRUE     28  'to 28'
               20  LOAD_GLOBAL              d
               22  POP_JUMP_IF_TRUE     28  'to 28'
               24  LOAD_GLOBAL              e
               26  POP_JUMP_IF_FALSE    38  'to 38'
             28_0  COME_FROM            22  '22'
             28_1  COME_FROM            18  '18'

 L.   5        28  LOAD_FAST                'z'
               30  STORE_FAST               'z'
               32  JUMP_BACK             4  'to 4'
             34_0  COME_FROM            14  '14'
             34_1  COME_FROM            10  '10'

 L.   7        34  LOAD_FAST                'z'
               36  STORE_FAST               'z'
             38_0  COME_FROM            26  '26'
               38  JUMP_BACK             4  'to 4'

Parse error at or near `COME_FROM' instruction at offset 38_0
```
Output Decompyle3:
```python=
def minify():
    for item in token_generator:
        if not a and b or c or d or e:
            z = z
        else:
            z = z
```



## Error 1/59
Source: [link](https://github.com/PingThingsIO/btrdb-python/blob/02a0e4eae7166c19e670870d233b188819eda7e1/btrdb/utils/conversion.py#L74)
Python version: 3.8
Decompyle3: Failed
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass     | Pass     | Pass |


### MWE:
```python=
def decode():
    try:
        return x
    except err:
        pass
```
#### Closest Solution:
No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-1)
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object decode at 0x40021aea80, file "main.py", line 1>)
              2 LOAD_CONST               1 ('decode')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (decode)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object decode at 0x40021aea80, file "main.py", line 1>:
  2           0 SETUP_FINALLY            6 (to 8)

  3           2 LOAD_GLOBAL              0 (x)
              4 POP_BLOCK
              6 RETURN_VALUE

  4     >>    8 DUP_TOP
             10 LOAD_GLOBAL              1 (err)
             12 COMPARE_OP              10 (exception match)
             14 POP_JUMP_IF_FALSE       26
             16 POP_TOP
             18 POP_TOP
             20 POP_TOP

  5          22 POP_EXCEPT
             24 JUMP_FORWARD             2 (to 28)
        >>   26 END_FINALLY
        >>   28 LOAD_CONST               0 (None)
             30 RETURN_VALUE
```
Output uncompyle6:
```python=
def decode--- This code section failed: ---

 L.   2         0  SETUP_FINALLY         8  'to 8'

 L.   3         2  LOAD_GLOBAL              x
                4  POP_BLOCK        
                6  RETURN_VALUE     
              8_0  COME_FROM_FINALLY     0  '0'

 L.   4         8  DUP_TOP          
               10  LOAD_GLOBAL              err
               12  COMPARE_OP               exception-match
               14  POP_JUMP_IF_FALSE    26  'to 26'
               16  POP_TOP          
               18  POP_TOP          
               20  POP_TOP          

 L.   5        22  POP_EXCEPT       
               24  JUMP_FORWARD         28  'to 28'
             26_0  COME_FROM            14  '14'
               26  END_FINALLY      
             28_0  COME_FROM            24  '24'

Parse error at or near `POP_TOP' instruction at offset 18
```
Output Decompyle3:
```python=
Instruction context:
   
 L.   5        22  POP_EXCEPT       
                  24  JUMP_FORWARD         28  'to 28'
->              26_0  COME_FROM            14  '14'
                  26  END_FINALLY      

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error
```



## Error 1/60
Source: [link](https://github.com/PingThingsIO/btrdb-python/blob/02a0e4eae7166c19e670870d233b188819eda7e1/btrdb/utils/credentials.py#L45)
Python version: 3.8
Decompyle3: Pass
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass     | Pass     | Pass |


### MWE:
```python=
def load_credentials_from_file():
    with open(CREDENTIALS_PATH, 'r') as stream:
        return stream
```
#### Closest Solution:
```python=
def load_credentials_from_file():
    tmp = None
    with open(CREDENTIALS_PATH, 'r') as stream:
        tmp = stream
    return tmp
```
```c=
  1           0 LOAD_CONST               0 (<code object load_credentials_from_file at 0x40021eeb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('load_credentials_from_file')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (load_credentials_from_file)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object load_credentials_from_file at 0x40021eeb30, file "main.py", line 1>:
  2           0 LOAD_CONST               0 (None)
              2 STORE_FAST               0 (tmp)

  3           4 LOAD_GLOBAL              0 (open)
              6 LOAD_GLOBAL              1 (CREDENTIALS_PATH)
              8 LOAD_CONST               1 ('r')
             10 CALL_FUNCTION            2
             12 SETUP_WITH              10 (to 24)
             14 STORE_FAST               1 (stream)

  4          16 LOAD_FAST                1 (stream)
             18 STORE_FAST               0 (tmp)
             20 POP_BLOCK
             22 BEGIN_FINALLY
        >>   24 WITH_CLEANUP_START
             26 WITH_CLEANUP_FINISH
             28 END_FINALLY

  5          30 LOAD_FAST                0 (tmp)
             32 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object load_credentials_from_file at 0x40021eeb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('load_credentials_from_file')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (load_credentials_from_file)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object load_credentials_from_file at 0x40021eeb30, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (open)
              2 LOAD_GLOBAL              1 (CREDENTIALS_PATH)
              4 LOAD_CONST               1 ('r')
              6 CALL_FUNCTION            2
              8 SETUP_WITH              18 (to 28)
             10 STORE_FAST               0 (stream)

  3          12 LOAD_FAST                0 (stream)
             14 POP_BLOCK
             16 ROT_TWO
             18 BEGIN_FINALLY
             20 WITH_CLEANUP_START
             22 WITH_CLEANUP_FINISH
             24 POP_FINALLY              0
             26 RETURN_VALUE
        >>   28 WITH_CLEANUP_START
             30 WITH_CLEANUP_FINISH
             32 END_FINALLY
             34 LOAD_CONST               0 (None)
             36 RETURN_VALUE
```
Output uncompyle6:
```python=
def load_credentials_from_file--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              open
                2  LOAD_GLOBAL              CREDENTIALS_PATH
                4  LOAD_STR                 'r'
                6  CALL_FUNCTION_2       2  ''
                8  SETUP_WITH           28  'to 28'
               10  STORE_FAST               'stream'

 L.   3        12  LOAD_FAST                'stream'
               14  POP_BLOCK        
               16  ROT_TWO          
               18  BEGIN_FINALLY    
               20  WITH_CLEANUP_START
               22  WITH_CLEANUP_FINISH
               24  POP_FINALLY           0  ''
               26  RETURN_VALUE     
             28_0  COME_FROM_WITH        8  '8'
               28  WITH_CLEANUP_START
               30  WITH_CLEANUP_FINISH
               32  END_FINALLY      

Parse error at or near `ROT_TWO' instruction at offset 16
```
Output Decompyle3:
```python=
def load_credentials_from_file():
    with open(CREDENTIALS_PATH, 'r') as stream:
        return stream
```




## Error 1/61
Source: [link](https://svn.apache.org/repos/infra/infrastructure/trunk/projects/asfpy/asfpy/ldap.py)
Python version: 3.8
Decompyle3: Pass
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass     | Pass     | Pass |


### MWE:
```python=
def streams(versions=None):
    version_dict = {idx: versions[idx] for idx in l}
```
#### Closest Solution:
```python=
def streams(versions=None):
    version_dict = {}
    for idx in l:
        version_dict[idx] = versions[idx]
```
```c=
  1           0 LOAD_CONST               3 ((None,))
              2 LOAD_CONST               1 (<code object streams at 0x400236ebe0, file "main.py", line 1>)
              4 LOAD_CONST               2 ('streams')
              6 MAKE_FUNCTION            1 (defaults)
              8 STORE_NAME               0 (streams)
             10 LOAD_CONST               0 (None)
             12 RETURN_VALUE

Disassembly of <code object streams at 0x400236ebe0, file "main.py", line 1>:
  2           0 BUILD_MAP                0
              2 STORE_FAST               1 (version_dict)

  3           4 LOAD_GLOBAL              0 (l)
              6 GET_ITER
        >>    8 FOR_ITER                16 (to 26)
             10 STORE_FAST               2 (idx)

  4          12 LOAD_FAST                0 (versions)
             14 LOAD_FAST                2 (idx)
             16 BINARY_SUBSCR
             18 LOAD_FAST                1 (version_dict)
             20 LOAD_FAST                2 (idx)
             22 STORE_SUBSCR
             24 JUMP_ABSOLUTE            8
        >>   26 LOAD_CONST               0 (None)
             28 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               3 ((None,))
              2 LOAD_CONST               1 (<code object streams at 0x40021eeea0, file "main.py", line 1>)
              4 LOAD_CONST               2 ('streams')
              6 MAKE_FUNCTION            1 (defaults)
              8 STORE_NAME               0 (streams)
             10 LOAD_CONST               0 (None)
             12 RETURN_VALUE

Disassembly of <code object streams at 0x40021eeea0, file "main.py", line 1>:
  2           0 LOAD_CLOSURE             0 (versions)
              2 BUILD_TUPLE              1
              4 LOAD_CONST               1 (<code object <dictcomp> at 0x40021eedf0, file "main.py", line 2>)
              6 LOAD_CONST               2 ('streams.<locals>.<dictcomp>')
              8 MAKE_FUNCTION            8 (closure)
             10 LOAD_GLOBAL              0 (l)
             12 GET_ITER
             14 CALL_FUNCTION            1
             16 STORE_FAST               1 (version_dict)
             18 LOAD_CONST               0 (None)
             20 RETURN_VALUE

Disassembly of <code object <dictcomp> at 0x40021eedf0, file "main.py", line 2>:
  2           0 BUILD_MAP                0
              2 LOAD_FAST                0 (.0)
        >>    4 FOR_ITER                14 (to 20)
              6 STORE_FAST               1 (idx)
              8 LOAD_FAST                1 (idx)
             10 LOAD_DEREF               0 (versions)
             12 LOAD_FAST                1 (idx)
             14 BINARY_SUBSCR
             16 MAP_ADD                  2
             18 JUMP_ABSOLUTE            4
        >>   20 RETURN_VALUE
```
Output uncompyle6:
```python=
def streams--- This code section failed: ---

 L.   2         0  LOAD_CLOSURE             'versions'
                2  BUILD_TUPLE_1         1 
                4  LOAD_DICTCOMP            '<code_object <dictcomp>>'
                6  LOAD_STR                 'streams.<locals>.<dictcomp>'
                8  MAKE_FUNCTION_8          'closure'
               10  LOAD_GLOBAL              l
               12  GET_ITER         
               14  CALL_FUNCTION_1       1  ''
               16  STORE_FAST               'version_dict'

Parse error at or near `None' instruction at offset -1
```
Output Decompyle3:
```python=
def streams(versions=None):
    version_dict = {versions[idx]:idx for idx in l}
```



