# 클래스 산출물이 소스보다 새로운가 : yes
java.version = 21.0.12

[계약이 말하는 두 갈래]
  normalize("0190bd6e-7c3e-7abc-8def-0123456789ab")    -> "0190bd6e-7c3e-7abc-8def-0123456789ab"
  normalize("0190BD6E-7C3E-7ABC-8DEF-0123456789AB")    -> "0190bd6e-7c3e-7abc-8def-0123456789ab"
  normalize("not-a-uuid")                              -> IllegalArgumentException: Invalid UUID string: not-a-uuid
  normalize("0190bd6e7c3e7abc8def0123456789ab")        -> IllegalArgumentException: Invalid UUID string: 0190bd6e7c3e7abc8def0123456789ab

[정규형에서 한 글자를 지운다]
  normalize("0190bd6e-7c3e-7abc-8def-123456789ab")     -> "0190bd6e-7c3e-7abc-8def-0123456789ab"
      원본과 같은가 : true
  normalize("0190bd6e-7c3e-7abc-8def-0123456789a")     -> "0190bd6e-7c3e-7abc-8def-00123456789a"
      원본과 같은가 : false
  normalize("0190bd6e-7c3e-7abc-8def-012345678ab")     -> "0190bd6e-7c3e-7abc-8def-0012345678ab"
      원본과 같은가 : false
  normalize("0190bd6e7c3e-7abc-8def-0123456789ab")     -> IllegalArgumentException: Invalid UUID string: 0190bd6e7c3e-7abc-8def-0123456789ab
      원본과 같은가 : false

[길이가 36이어도 대시 위치가 다르면 같은 경로로 떨어진다]
  normalize("0000001-00001-0001-0001-000000000001")    -> "00000001-0001-0001-0001-000000000001"

[그룹이 규정 자릿수를 넘으면 상위 비트를 버린다]
  normalize("100000001-1-1-1-1")                       -> "00000001-0001-0001-0001-000000000001"
  normalize("1-1-1-1-1000000000001")                   -> "00000001-0001-0001-0001-000000000001"

[십육진이 아닌 것도 통과한다]
  normalize("+1-1-1-1-1")                              -> "00000001-0001-0001-0001-000000000001"
  normalize("١-1-1-1-1")                               -> "00000001-0001-0001-0001-000000000001"

[서로 다른 입력이 같은 식별자가 된다]
  00000001-0001-0001-0001-000000000001  <- "1-1-1-1-1", "01-01-01-01-01", "+1-1-1-1-1", "00000001-0001-0001-0001-000000000001"
  00000001-0001-0001-0001-000000000002  <- "1-1-1-1-2"

[같은 파서를 쓰는 형제 메서드]
  toUuid("1-1-1-1-1") = 00000001-0001-0001-0001-000000000001
