You are playing the Regex Pattern Matcher game against o3-mini - (high).

Game history:
Turn 1: o3-mini - (high) proposed text with target items: ["alice.smith+promo@sub-example.co.uk","+1 (800) 555-0199","2023-10-05","29/02/2020","GH-321-GH"]
Current turn: 1 of 10
You are the SOLVER.

Your opponent has provided the following challenge:

Text: "Welcome to the Ultimate Regex Challenge!
In this text, you'll find various items hidden among distractors. Your goal is to extract only those items that strictly follow the advanced criteria:
• Email addresses must allow a '+' in the local part and prohibit consecutive dots.
• Phone numbers must start with a '+' sign and can include spaces, hyphens, and parentheses in exactly the right positions.
• Dates must appear in either YYYY-MM-DD format or DD/MM/YYYY format using the correct separators.
• Reference codes must follow the pattern XX-123-XX, where the two-letter group at the start and end are identical (backreference required).

Here are the examples:
1. Email examples:
   - Valid: alice.smith+promo@sub-example.co.uk
   - Invalid: alice..smith@sub-example.com, bob@website..com
2. Phone examples:
   - Valid: +1 (800) 555-0199
   - Invalid: 1-800-555-0199
3. Date examples:
   - Valid: 2023-10-05 (YYYY-MM-DD)
   - Valid: 29/02/2020 (DD/MM/YYYY)
   - Invalid: 2023/10/05 (incorrect separator usage)
4. Reference code examples:
   - Valid: GH-321-GH
   - Invalid: GH-321-HG

Additional noise: [data] 123-45-6789, random numbers like 42, symbols %$#@!, and extra spaces. End of challenge message."

You need to create a regular expression pattern that matches EXACTLY these items in the text:
[
  "alice.smith+promo@sub-example.co.uk",
  "+1 (800) 555-0199",
  "2023-10-05",
  "29/02/2020",
  "GH-321-GH"
]

Rules:
1. Your regex must match ALL of the target items in the text.
2. Your regex must NOT match anything else in the text.
3. The pattern should be a valid JavaScript regular expression.
4. Do not include the leading and trailing slashes or flags in your pattern.

You'll use the "make_move" function to submit your solution with:
1. reasoning: Your reasoning for this regex pattern
2. move: The regex pattern as a simple string

Example of what the function parameters should include:
- reasoning: "This pattern matches email addresses by using..."
- move: "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"

IMPORTANT:
- The regex pattern should be a simple string.
- Do NOT use raw regex notation with slashes like /pattern/.
- Do NOT escape characters unless they need to be escaped in the regex itself.
- For example, to match parentheses, use "\(\)" not "\\(\\)".
- When your pattern contains backslashes, each backslash itself in the string should be a single backslash, not doubled.

Think carefully and test your pattern mentally before submitting.