sanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssansgastersanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssans.
The Undertale community be like (Yes gaster is in here he's just hidden).
Next up
After 7 long years, the wait is finally over. Chapters 1-4 of DELTARUNE are out now!
Celebrate the parallel story to Undertale by completing these quests.
Another house i made long time ago.
Runestones: from concept to in-game model🗿
What do you think guys in my robot?Just a beginner in 3d modeling..
My instagram https://www.instagram.com/rojhonbb/
Hi everyone! I started to create some environment props for my new video game, here is a cozy house in the forest. I'm planning to switch from Unity to Unreal... Let's see what new challenges I have to face. Made in Blender and Substance Painter.
not the greatest house, but it's a house! :D
Some time ago, we posted a screenshot of the Mexico level. A curiosity about it is that, like some other scenarios of the game, it was inspired by a real landscape, The Basaltic Prisms of Santa María Regla. It is one of the natural wonders of the country!
Double Rainbow!!!
0 comments