```\nfunction convertFundsFromInput(address \_from, address \_to, uint256 \_inputAmount, uint256 \_minOutputAmount) external override returns (uint256 \_outputAmount)\n{\n address \_sender = msg.sender;\n Transfers.\_pullFunds(\_from, \_sender, \_inputAmount);\n \_inputAmount = Math.\_min(\_inputAmount, Transfers.\_getBalance(\_from)); // deals with potential transfer tax\n \_outputAmount = UniswapV2ExchangeAbstraction.\_convertFundsFromInput(router, \_from, \_to, \_inputAmount, \_minOutputAmount);\n \_outputAmount = Math.\_min(\_outputAmount, Transfers.\_getBalance(\_to)); // deals with potential transfer tax\n Transfers.\_pushFunds(\_to, \_sender, \_outputAmount);\n return \_outputAmount;\n}\n```\n