def __init__(self, *,<EOL>fin=None, fout=None, format=None,                          <EOL>auto=True, extension=True, store=True,                     <EOL>files=False, nofile=False, verbose=False,                  <EOL>engine=None, layer=None, protocol=None,                    <EOL>ip=False, ipv4=False, ipv6=False, tcp=False, strict=True,  <EOL>trace=False, trace_fout=None, trace_format=None,           <EOL>trace_byteorder=sys.byteorder, trace_nanosecond=False):    
ifnm, ofnm, fmt, ext, files =self.make_name(fin, fout, format, extension, files=files, nofile=nofile)<EOL>format = __fmt__<EOL>self._ifnm = ifnm               <EOL>self._ofnm = ofnm               <EOL>self._fext = ext                <EOL>self._flag_a = auto             <EOL>self._flag_d = store            <EOL>self._flag_e = False            <EOL>self._flag_f = files            <EOL>self._flag_m = False            <EOL>self._flag_q = nofile           <EOL>self._flag_t = trace            <EOL>self._flag_v = verbose          <EOL>self._frnum = <NUM_LIT:0>                 <EOL>self._frame = list()            <EOL>self._proto = None              <EOL>self._reasm = [None] * <NUM_LIT:3>        <EOL>self._trace = NotImplemented    <EOL>self._ipv4 = ipv4 or ip         <EOL>self._ipv6 = ipv6 or ip         <EOL>self._tcp = tcp                 <EOL>self._exptl = protocol or '<STR_LIT:null>'                    <EOL>self._exlyr = (layer or '<STR_LIT:none>').capitalize()        <EOL>self._exeng = (engine or '<STR_LIT:default>').lower()         <EOL>if self._ipv4:<EOL><INDENT>from pcapkit.reassembly.ipv4 import IPv4_Reassembly<EOL>self._reasm[<NUM_LIT:0>] = IPv4_Reassembly(strict=strict)<EOL><DEDENT>if self._ipv6:<EOL><INDENT>from pcapkit.reassembly.ipv6 import IPv6_Reassembly<EOL>self._reasm[<NUM_LIT:1>] = IPv6_Reassembly(strict=strict)<EOL><DEDENT>if self._tcp:<EOL><INDENT>from pcapkit.reassembly.tcp import TCP_Reassembly<EOL>self._reasm[<NUM_LIT:2>] = TCP_Reassembly(strict=strict)<EOL><DEDENT>if trace:<EOL><INDENT>from pcapkit.foundation.traceflow import TraceFlow<EOL>if self._exeng in ('<STR_LIT>',) and re.fullmatch('<STR_LIT>', str(trace_format), re.IGNORECASE):<EOL><INDENT>warnings.warn(f"<STR_LIT>"<EOL>"<STR_LIT>", FormatWarning, stacklevel=stacklevel())<EOL>trace_format = None<EOL><DEDENT>self._trace = TraceFlow(fout=trace_fout, format=trace_format,<EOL>byteorder=trace_byteorder, nanosecond=trace_nanosecond)<EOL><DEDENT>self._ifile = open(ifnm, '<STR_LIT:rb>')                                      <EOL>if not self._flag_q:<EOL><INDENT>if fmt == '<STR_LIT>':<EOL><INDENT>from dictdumper import PLIST as output                      <EOL><DEDENT>elif fmt == '<STR_LIT>':<EOL><INDENT>from dictdumper import JSON as output                       <EOL><DEDENT>elif fmt == '<STR_LIT>':<EOL><INDENT>from dictdumper import Tree as output                       <EOL><DEDENT>elif fmt == '<STR_LIT:html>':<EOL><INDENT>from dictdumper import JavaScript as output                 <EOL><DEDENT>elif fmt == '<STR_LIT>':<EOL><INDENT>from dictdumper import XML as output                        <EOL><DEDENT>else:<EOL><INDENT>from pcapkit.dumpkit import NotImplementedIO as output      <EOL>warnings.warn(f'<STR_LIT>',<EOL>FormatWarning, stacklevel=stacklevel())<EOL><DEDENT>class DictDumper(output):<EOL><INDENT>@classmethod<EOL>def object_hook(cls, obj):<EOL><INDENT>import enum<EOL>import aenum<EOL>if isinstance(obj, (enum.IntEnum, aenum.IntEnum)):<EOL><INDENT>return f'<STR_LIT>'<EOL><DEDENT>if isinstance(obj, ipaddress._BaseAddress):<EOL><INDENT>return str(obj)<EOL><DEDENT>if isinstance(obj, Info):<EOL><INDENT>return dict(obj)<EOL><DEDENT>return super().object_hook(obj)<EOL><DEDENT><DEDENT>self._ofile = DictDumper if self._flag_f else DictDumper(ofnm)  <EOL><DEDENT>self.check()                    <EOL>self.run()                      <EOL>
Initialise PCAP Reader.

        Keyword arguments:
            * fin  -- str, file name to be read; if file not exist, raise an error
            * fout -- str, file name to be written
            * format  -- str, file format of output
                            <keyword> 'plist' / 'json' / 'tree' / 'html'

            * auto -- bool, if automatically run till EOF (default is True)
                            <keyword> True / False
            * extension -- bool, if check and append extensions to output file (default is True)
                            <keyword> True / False
            * store -- bool, if store extracted packet info (default is True)
                            <keyword> True / False

            * files -- bool, if split each frame into different files (default is False)
                            <keyword> True / False
            * nofile -- bool, if no output file is to be dumped (default is False)
                            <keyword> True / False
            * verbose -- bool, if print verbose output information (default is False)
                            <keyword> True / False

            * engine -- str, extraction engine to be used
                            <keyword> 'default | pcapkit'
            * layer -- str, extract til which layer
                            <keyword> 'Link' / 'Internet' / 'Transport' / 'Application'
            * protocol -- str, extract til which protocol
                            <keyword> available protocol name

            * ip -- bool, if record data for IPv4 & IPv6 reassembly (default is False)
                            <keyword> True / False
            * ipv4 -- bool, if perform IPv4 reassembly (default is False)
                            <keyword> True / False
            * ipv6 -- bool, if perform IPv6 reassembly (default is False)
                            <keyword> True / False
            * tcp -- bool, if perform TCP reassembly (default is False)
                            <keyword> True / False
            * strict -- bool, if set strict flag for reassembly (default is True)
                            <keyword> True / False

            * trace -- bool, if trace TCP traffic flows (default is False)
                            <keyword> True / False
            * trace_fout -- str, path name for flow tracer if necessary
            * trace_format -- str, output file format of flow tracer
                            <keyword> 'plist' / 'json' / 'tree' / 'html' / 'pcap'
            * trace_byteorder -- str, output file byte order
                            <keyword> 'little' / 'big'
            * trace_nanosecond -- bool, output nanosecond-resolution file flag
                            <keyword> True / False