dfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdffffffffff