**TLDR: This is the hexagonal version of [Is this square symmetrical?](https://codegolf.stackexchange.com/q/90214/9288)**

Given a hexagonal grid, decide if it is symmetric.

The shape of the grid is a regular hexagon. Each cell in the grid has two possible states.

Let's only consider reflections and rotations. Here are all the possible symmetries:

* Reflection symmetry, where the axis is the perpendicular bisector of an edge (there are 3 possible such axes):

[![enter image description here](https://i.stack.imgur.com/tKIzX.png)](https://i.stack.imgur.com/tKIzX.png)
[![enter image description here](https://i.stack.imgur.com/CPn3T.png)](https://i.stack.imgur.com/CPn3T.png)
[![enter image description here](https://i.stack.imgur.com/cWZGR.png)](https://i.stack.imgur.com/cWZGR.png)

Smaller examples in ASCII art:

```
   . . . .         . . * .         * . * .
  . * . * .       * . * * .       . . . . *
 * . . . . *     * * . . . .     . * . . . .
* * . . . * *   * * * * . * .   * . . . . . *
 . . * * . .     . * * . * *     . . . . * .
  . . * . .       . * * . .       * . . . .
   * . . *         * * * .         . * . *

```

* Reflection symmetry, where the axis is a diagonal (there are 3 possible such axes):

[![enter image description here](https://i.stack.imgur.com/5h5sP.png)](https://i.stack.imgur.com/5h5sP.png)
[![enter image description here](https://i.stack.imgur.com/bYBLh.png)](https://i.stack.imgur.com/bYBLh.png)
[![enter image description here](https://i.stack.imgur.com/wJv2t.png)](https://i.stack.imgur.com/wJv2t.png)

Smaller examples in ASCII art:

```
   * . * *         . . * *         * * . *
  * * . * .       . * . * .       . * . . .
 . . . . . .     * . . . . .     * . . . . *
* . . . . . .   * * . . . * .   * * . * . * *
 . . . . . .     . . . . * *     . . . . . .
  * * . * .       . * * . .       . . . * *
   * . * *         . * . .         * . . *

```

* 60° rotational symmetry:

[![enter image description here](https://i.stack.imgur.com/AnCez.png)](https://i.stack.imgur.com/AnCez.png)

A smaller example in ASCII art:

```
   * * . *
  . * . * *
 * . . . . .
* * . * . * *
 . . . . . *
  * * . * .
   * . * *

```

* 120° rotational symmetry:

[![enter image description here](https://i.stack.imgur.com/Vbw1f.png)](https://i.stack.imgur.com/Vbw1f.png)

A smaller example in ASCII art:

```
   * . . .
  . . * . *
 * . . . . .
. . . . . . *
 . * . . * .
  . . . . .
   * . * .

```

* 180° rotational symmetry:

[![enter image description here](https://i.stack.imgur.com/Ei9UE.png)](https://i.stack.imgur.com/Ei9UE.png)

A smaller example in ASCII art:

```
   . . . .
  * . * . .
 . . * * . .
* . . . . . *
 . . * * . .
  . . * . *
   . . . .

```

### Input

A hexagonal grid, in any reasonable format. You may choose the two distinct values for the two states in the input. When taking input as an 2d array, you may use one of the two states or a third value for padding.

Some example inputs (Taken from [Bubbler's HexaGoL challenge](https://codegolf.stackexchange.com/q/240238/9288)):

* ASCII art:

```
  . . . 
 * . . * 
* . * * * 
 * * * . 
  * . . 

```

* List of rows:

```
[[0, 0, 0],
 [1, 0, 0, 1],
 [1, 0, 1, 1, 1],
 [1, 1, 1, 0],
 [1, 0, 0]]

```

* 2d array, skewed to the right (with zero padding):

```
[[0, 0, 0, 0, 0],
 [0, 1, 0, 0, 1],
 [1, 0, 1, 1, 1],
 [1, 1, 1, 0, 0],
 [1, 0, 0, 0, 0]]

```

* 2d array, skewed to the left (with `2`'s as padding):

```
[[0, 0, 0, 2, 2],
 [1, 0, 0, 1, 2],
 [1, 0, 1, 1, 1],
 [2, 1, 1, 1, 0],
 [2, 2, 1, 0, 0]]

```

* Flatten array, with an integer that indicates the size:

```
3, [0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]

```

### Output

A value representing whether the hexagonal grid is symmetric. You can choose to

* output truthy/falsy using your language's convention (swapping is allowed), or
* use two distinct, fixed values to represent true (affirmative) or false (negative) respectively.

This is [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'"), so the shortest code in bytes wins.

### Testcases

Here I use 2d arrays skewed to the left with zero padding.

**Truthy:**

```
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 0, 0], [0, 1, 0], [0, 1, 1]]
[[1, 1, 1, 0, 0], [1, 0, 0, 1, 0], [1, 0, 1, 0, 1], [0, 1, 0, 0, 1], [0, 0, 1, 1, 1]]
[[1, 0, 1, 0, 0], [0, 1, 1, 1, 0], [1, 0, 1, 1, 1], [0, 1, 0, 1, 0], [0, 0, 1, 0, 1]]
[[1, 0, 0, 0, 0], [0, 0, 1, 1, 0], [0, 1, 1, 1, 1], [0, 1, 1, 0, 1], [0, 0, 1, 1, 1]]
[[1, 1, 1, 1, 0, 0, 0], [1, 0, 1, 0, 1, 0, 0], [1, 0, 0, 1, 0, 1, 0], [1, 0, 0, 1, 0, 0, 1], [0, 1, 0, 1, 0, 0, 1], [0, 0, 1, 0, 1, 0, 1], [0, 0, 0, 1, 1, 1, 1]]

```

**Falsy:**

```
[[1, 0, 0], [0, 0, 0], [0, 1, 1]]
[[0, 1, 0], [1, 0, 1], [0, 0, 0]]
[[0, 0, 0, 0, 0], [0, 0, 1, 1, 0], [1, 0, 1, 1, 1], [0, 1, 0, 1, 0], [0, 0, 1, 0, 1]]
[[0, 0, 1, 0, 0], [0, 0, 0, 0, 0], [1, 1, 0, 0, 0], [0, 0, 0, 1, 1], [0, 0, 0, 0, 0]]
[[0, 0, 0, 0, 0], [1, 1, 0, 0, 0], [1, 0, 1, 1, 1], [0, 1, 0, 1, 0], [0, 0, 0, 1, 0]]
[[1, 0, 1, 1, 0, 0, 0], [1, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 0], [0, 1, 0, 1, 0, 0, 1], [0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0]]

```