contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}
/*
 
 /$$$$$$$                     /$$ /$$           /$$$$$$$                            /$$$$$$$
 | $$__  $$                   | $/| $$          | $$__  $$                          | $$__  $$
 | $$  \ $$  /$$$$$$  /$$$$$$$|_//$$$$$$        | $$  \ $$ /$$   /$$ /$$   /$$      | $$  \ $$  /$$$$$$   /$$$$$$   /$$$$$$
 | $$  | $$ /$$__  $$| $$__  $$ |_  $$_/        | $$$$$$$ | $$  | $$| $$  | $$      | $$$$$$$/ /$$__  $$ /$$__  $$ /$$__  $$
 | $$  | $$| $$  \ $$| $$  \ $$   | $$          | $$__  $$| $$  | $$| $$  | $$      | $$__  $$| $$  \ $$| $$  \ $$| $$$$$$$$
 | $$  | $$| $$  | $$| $$  | $$   | $$ /$$      | $$  \ $$| $$  | $$| $$  | $$      | $$  \ $$| $$  | $$| $$  | $$| $$_____/
 | $$$$$$$/|  $$$$$$/| $$  | $$   |  $$$$/      | $$$$$$$/|  $$$$$$/|  $$$$$$$      | $$  | $$|  $$$$$$/| $$$$$$$/|  $$$$$$$
 |_______/  \______/ |__/  |__/    \___/        |_______/  \______/  \____  $$      |__/  |__/ \______/ | $$____/  \_______/
 /$$  | $$                          | $$
 |  $$$$$$/                          | $$
 \______/                           |__/
 
 *Friendly Message from Anon "Devs"*
 Digital Assets can be extremely volatile - Good Times come with the Bad Times
 When times are tough we are here to help cope - Don't Buy Rope
 
 https://suicidepreventionlifeline.org/
 1-800-273-8255
 
 https://en.wikipedia.org/wiki/List_of_suicide_crisis_lines
 
 */
function _msgSender() internal view returns (address payable) {
    return msg.sender;
}

// solhint-disable-previous-line no-empty-blocks