code: def from_bytes(TxIn, byte_string):
          '''
          byte_string -> TxIn
          parses a TxIn from a byte-like object
          '''
          outpoint = Outpoint.from_bytes(byte_string[:36])
  
          script_sig_len = VarInt.from_bytes(byte_string[36:45])
          script_start = 36 + len(script_sig_len)
          script_end = script_start + script_sig_len.number
          script_sig = byte_string[script_start:script_end]
  
          sequence = byte_string[script_end:script_end + 4]
          if script_sig == b'':
              stack_script = b''
              redeem_script = b''
          else:
              stack_script, redeem_script = TxIn._parse_script_sig(script_sig)
          return TxIn(
              outpoint=outpoint,
              stack_script=stack_script,
              redeem_script=redeem_script,
              sequence=sequencef from_bytes(TxIn, byte_string):
          '''
          byte_string -> TxIn
          parses a TxIn from a byte-like object
          '''
          outpoint = Outpoint.from_bytes(byte_string[:36])
  
          script_sig_len = VarInt.from_bytes(byte_string[36:45])
          script_start = 36 + len(script_sig_len)
          script_end = script_start + script_sig_len.number
          script_sig = byte_string[script_start:script_end]
  
          sequence = byte_string[script_end:script_end + 4]
          if script_sig == b'':
              stack_script = b''
              redeem_script = b''
          else:
              stack_script, redeem_script = TxIn._parse_script_sig(script_sig)
          return TxIn(
              outpoint=outpoint,
              stack_script=stack_script,
              redeem_script=redeem_script,
              sequence=sequence)
docs: byte_string -> TxIn
          parses a TxIn from a byte-like object