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

You are given an array of integers arr and an integer target.
You have to find two non-overlapping sub-arrays of arr each with a sum equal target. There can be multiple answers so you have to find an answer where the sum of the lengths of the two sub-arrays is minimum.
Return the minimum sum of the lengths of the two required sub-arrays, or return -1 if you cannot find such two sub-arrays.
 
Please complete the following python code precisely:
```python
class Solution:
    def minSumOfLengths(self, arr: List[int], target: int) -> int:
```