Cuatro puntos forman un cuadrado

La función recibe cuatro puntos con coordenadas (x, y) en un orden cualquiera. Determina si estos puntos forman un cuadrado y devuelve True / False.

Un cuadrado tiene cuatro lados iguales de longitud positiva y cuatro ángulos de 90 grados.

Ejemplos

valid_square((0, 0), (1, 1), (1, 0), (0, 1)) ➞ True

valid_square((0, 0), (1, 1), (1, 0), (0, 12)) ➞ False

valid_square((1, 0), (-1, 0), (0, 1), (0, -1)) ➞ True

valid_square((0, 0), (0, 0), (0, 0), (0, 0)) ➞ False

Notas

Un cuadrado también tiene diagonales iguales.