Please solve the programming task below using a self-contained code snippet in a markdown code block.

You are given two integer arrays of equal length target and arr. In one step, you can select any non-empty subarray of arr and reverse it. You are allowed to make any number of steps.
Return true if you can make arr equal to target or false otherwise.
 
Please complete the following python code precisely:
```python
class Solution:
    def canBeEqual(self, target: List[int], arr: List[int]) -> bool:
```