def create_connect_args(self, url: URL) -> Tuple[List[Any], Dict[str, Optional[Union[int, str]]]]:
        """Create connection arguments from the supplied URL."""

        conn_args = {
            "autocommit": True,
            "DB": "C:\\Paradox",
            "ND": None,
            "AUT": 1,
            "CT": 4,
            "DQ": 0,
            "FOC": 0,
            "IS": 1,
            "USF": 0,
            "ULQ": 1,
        }

        opts = url.translate_connect_args()

        if not opts:
            opts = dict()
            opts["host"] = url.query.get("odbc_connect", None)

        if cg(opts, "host", False):
            supplied_args = {
                pair[0]: pair[1]
                for pair in map(
                    lambda entry: entry.split("="),
                    chain.from_iterable(
                        map(
                            lambda item: item.split(";"),
                            unquote_plus(opts.get("host")).replace("?odbc_connect=", "").split("&"),
                        )
                    ),
                )
            }

            supplied_args = {
                value: cg(supplied_args, key) if not cl_in(value, supplied_args.keys()) else cg(supplied_args, value)
                for key, value in self.arg_name_map.items()
            }

            conn_args.update(supplied_args)

        if cg(conn_args, "driver", cg(conn_args, "drv")) is not None:
            conn_args["Driver"] = str(cg(conn_args, "driver", cg(conn_args, "drv")))
        else:
            conn_args["Driver"] = "{Intersolv Paradox v3.11 (*.db)}"

        if cg(conn_args, "autocommit", cg(conn_args, "ac")) is not None:
            conn_args["autocommit"] = strtobool(cg(conn_args, "autocommit", cg(conn_args, "ac")))
        else:
            conn_args["autocommit"] = True

        return (
            [],
            {key: value for key, value in conn_args.items() if value is not None},
        )
    def create_connect_args(
            self, url: URL
    ) -> Tuple[List[Any], Dict[str, Optional[Union[int, str]]]]:
        """Create connection arguments from the supplied URL."""

        conn_args = {
            "autocommit": True,
            "Driver": "{DataFlex Driver}",
            "DataPath": "C:\\DataFlexData",
            "UseSimulatedTransactions": "Y",
            "ConvertToLongVARCHAR": "Y",
            "ReturnEmptyStringsAsNULLs": "N",
        }

        opts = url.translate_connect_args()

        if not opts:
            opts = dict()
            opts["host"] = url.host or url.query.get("odbc_connect", "")

        if cg(opts, "host", False):
            supplied_args = {
                pair[0]: pair[1]
                for pair in map(
                    lambda entry: entry.split("="),
                    chain.from_iterable(
                        map(
                            lambda item: item.split(";"),
                            unquote_plus(opts.get("host")).replace(
                                "?odbc_connect=", "").split("&"),
                        )),
                )
            }

            supplied_args = {
                value: cg(supplied_args, key)
                if not cl_in(value, supplied_args.keys()) else cg(
                    supplied_args, value)
                for key, value in self.arg_name_map.items()
            }

            conn_args.update({
                "DSN":
                cg(supplied_args, "dsn"),
                "autocommit":
                strtobool(
                    cg(conn_args, "autocommit", cg(conn_args, "ac", True))),
                "DBQ":
                cg(supplied_args, "DataPath",
                   cg(supplied_args, "DBQ", conn_args.get("DataPath")))
            })

        ret_val = (
            [],
            {
                key: value
                for key, value in conn_args.items() if all((
                    any((cl_in(key, self.arg_name_map.keys()),
                         cl_in(key, self.arg_name_map.values()))),
                    value is not None,
                ))
            },
        )

        return ret_val