%%
%% %CopyrightBegin%
%%
%% Copyright Ericsson AB 2008-2016. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
%% You may obtain a copy of the License at
%%
%%     http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing, software
%% distributed under the License is distributed on an "AS IS" BASIS,
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
%% See the License for the specific language governing permissions and
%% limitations under the License.
%%
%% %CopyrightEnd%
%%
-module(re_testoutput1_replacement_test).
-compile(export_all).
-compile(no_native).
%% This file is generated by running run_pcre_tests:gen_repl_test("re_SUITE_data/testoutput1")
run() ->
    run0(),
    run1(),
    run2(),
    run3(),
    run4(),
    run5(),
    run6(),
    run7(),
    run8(),
    run9(),
    run10(),
    run11(),
    run12(),
    run13(),
    run14(),
    run15(),
    run16(),
    run17(),
    run18(),
    run19(),
    run20(),
    run21(),
    run22(),
    run23(),
    run24(),
    run25(),
    run26(),
    run27(),
    run28(),
    run29(),
    run30(),
    run31(),
    run32(),
    run33(),
    run34(),
    run35(),
    run36(),
    run37(),
    run38(),
    run39(),
    run40(),
    run41(),
    run42(),
    run43(),
    run44(),
    run45(),
    run46(),
    run47(),
    run48(),
    run49(),
    run50(),
    run51(),
    run52(),
    run53(),
    run54(),
    ok.
run0() ->
    <<"KXii">> = iolist_to_binary(re:replace("the quick brown fox","the quick brown fox","KXii",[])), 
    <<"KXii">> = iolist_to_binary(re:replace("the quick brown fox","the quick brown fox","KXii",[global])), 
    <<"The quick brown FOX">> = iolist_to_binary(re:replace("The quick brown FOX","the quick brown fox","HRC\\1&rBc&X&M\\1",[])), 
    <<"The quick brown FOX">> = iolist_to_binary(re:replace("The quick brown FOX","the quick brown fox","HRC\\1&rBc&X&M\\1",[global])), 
    <<"What do you know about Hthe quick brown foxgViGthe quick brown fox?">> = iolist_to_binary(re:replace("What do you know about the quick brown fox?","the quick brown fox","H&gViG\\1&",[])), 
    <<"What do you know about Hthe quick brown foxgViGthe quick brown fox?">> = iolist_to_binary(re:replace("What do you know about the quick brown fox?","the quick brown fox","H&gViG\\1&",[global])), 
    <<"What do you know about THE QUICK BROWN FOX?">> = iolist_to_binary(re:replace("What do you know about THE QUICK BROWN FOX?","the quick brown fox","N&hDtbGaV",[])), 
    <<"What do you know about THE QUICK BROWN FOX?">> = iolist_to_binary(re:replace("What do you know about THE QUICK BROWN FOX?","the quick brown fox","N&hDtbGaV",[global])), 
    <<"hQCthe quick brown foxthe quick brown foxjQpvbBuHjthe quick brown foxw">> = iolist_to_binary(re:replace("the quick brown fox","The quick brown fox","hQC&&jQ\\1pvbBuHj&w",[caseless])), 
    <<"hQCthe quick brown foxthe quick brown foxjQpvbBuHjthe quick brown foxw">> = iolist_to_binary(re:replace("the quick brown fox","The quick brown fox","hQC&&jQ\\1pvbBuHj&w",[caseless,
                                                                                                                                                                                                                                                               global])), 
    <<"gkWwP">> = iolist_to_binary(re:replace("The quick brown FOX","The quick brown fox","gkWwP",[caseless])), 
    <<"gkWwP">> = iolist_to_binary(re:replace("The quick brown FOX","The quick brown fox","gkWwP",[caseless,
                                                                                                                                                                                                                               global])), 
    <<"What do you know about ncBxuJXMsIrBx?">> = iolist_to_binary(re:replace("What do you know about the quick brown fox?","The quick brown fox","ncBxuJXMsIr\\1Bx",[caseless])), 
    <<"What do you know about ncBxuJXMsIrBx?">> = iolist_to_binary(re:replace("What do you know about the quick brown fox?","The quick brown fox","ncBxuJXMsIr\\1Bx",[caseless,
                                                                                                                                                                                                                                                                                                      global])), 
    <<"What do you know about ESkbGx?">> = iolist_to_binary(re:replace("What do you know about THE QUICK BROWN FOX?","The quick brown fox","ESkbGx",[caseless])), 
    <<"What do you know about ESkbGx?">> = iolist_to_binary(re:replace("What do you know about THE QUICK BROWN FOX?","The quick brown fox","ESkbGx",[caseless,
                                                                                                                                                                                                                                                                                 global])), 
    <<"UImxeSkabcd	

9;$\\?caxyzF">> = iolist_to_binary(re:replace("abcd	

9;$\\?caxyz","abcd\\t\\n\\r\\f\\a\\e\\071\\x3b\\$\\\\\\?caxyz","UImxeSk&F",[])), 
    <<"UImxeSkabcd	

9;$\\?caxyzF">> = iolist_to_binary(re:replace("abcd	

9;$\\?caxyz","abcd\\t\\n\\r\\f\\a\\e\\071\\x3b\\$\\\\\\?caxyz","UImxeSk&F",[global])), 
    <<"LhHLabxyzpqrrrabbxyyyypqAzzkWRsxabxyzpqrrrabbxyyyypqAzzVMIt">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","LhHL&kWRsx\\1\\1&VMIt",[])), 
    <<"LhHLabxyzpqrrrabbxyyyypqAzzkWRsxabxyzpqrrrabbxyyyypqAzzVMIt">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","LhHL&kWRsx\\1\\1&VMIt",[global])), 
    <<"HLabxyzpqrrrabbxyyyypqAzzOTupMnssabxyzpqrrrabbxyyyypqAzzJs">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","HL&OTupMnss&\\1Js",[])), 
    <<"HLabxyzpqrrrabbxyyyypqAzzOTupMnssabxyzpqrrrabbxyyyypqAzzJs">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","HL&OTupMnss&\\1Js",[global])), 
    <<"HrnoCAoMBaabxyzpqrrrabbxyyyypqAzzUYaabxyzpqrrrabbxyyyypqAzzXaabxyzpqrrrabbxyyyypqAzzaabxyzpqrrrabbxyyyypqAzzaabxyzpqrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("aabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","HrnoCA\\1oM\\1B&\\1UY&X&&&",[])), 
    <<"HrnoCAoMBaabxyzpqrrrabbxyyyypqAzzUYaabxyzpqrrrabbxyyyypqAzzXaabxyzpqrrrabbxyyyypqAzzaabxyzpqrrrabbxyyyypqAzzaabxyzpqrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("aabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","HrnoCA\\1oM\\1B&\\1UY&X&&&",[global])), 
    <<"aaabxyzpqrrrabbxyyyypqAzzsiD">> = iolist_to_binary(re:replace("aaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&siD",[])), 
    <<"aaabxyzpqrrrabbxyyyypqAzzsiD">> = iolist_to_binary(re:replace("aaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&siD",[global])), 
    <<"aaaabxyzpqrrrabbxyyyypqAzzqgRtoWloBl">> = iolist_to_binary(re:replace("aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&q\\1gRt\\1oWloB\\1\\1\\1l",[])), 
    <<"aaaabxyzpqrrrabbxyyyypqAzzqgRtoWloBl">> = iolist_to_binary(re:replace("aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&q\\1gRt\\1oWloB\\1\\1\\1l",[global])), 
    <<"sRmsQabcxyzpqrrrabbxyyyypqAzzThd">> = iolist_to_binary(re:replace("abcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","sRmsQ&Thd",[])), 
    <<"sRmsQabcxyzpqrrrabbxyyyypqAzzThd">> = iolist_to_binary(re:replace("abcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","sRmsQ&Thd",[global])), 
    <<"aabcxyzpqrrrabbxyyyypqAzzRHoaabcxyzpqrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("aabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&RHo&",[])), 
    <<"aabcxyzpqrrrabbxyyyypqAzzRHoaabcxyzpqrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("aabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&RHo&",[global])), 
    <<"kaaabcxyzpqrrrabbxyyyypAzz">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","k\\1&",[])), 
    <<"kaaabcxyzpqrrrabbxyyyypAzz">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","k\\1&",[global])), 
    <<"RxvGiseEerlAfPpFb">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","RxvGiseEerlAfPp\\1F\\1b",[])), 
    <<"RxvGiseEerlAfPpFb">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","RxvGiseEerlAfPp\\1F\\1b",[global])), 
    <<"sUgRgemex">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","sUgR\\1gem\\1ex\\1",[])), 
    <<"sUgRgemex">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","sUgR\\1gem\\1ex\\1",[global])), 
    <<"S">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","S",[])), 
    <<"S">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","S",[global])), 
    <<"QCVAHkaaabcxyzpqrrrabbxyyyypqqqqAzzCsM">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","QCVAHk&CsM",[])), 
    <<"QCVAHkaaabcxyzpqrrrabbxyyyypqqqqAzzCsM">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","QCVAHk&CsM",[global])), 
    <<"kV">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","kV",[])), 
    <<"kV">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","kV",[global])), 
    <<"sEX">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","sEX",[])), 
    <<"sEX">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","sEX",[global])), 
    <<"lgaaaabcxyzpqrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1lg&",[])), 
    <<"lgaaaabcxyzpqrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1lg&",[global])), 
    <<"H">> = iolist_to_binary(re:replace("abxyzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","H",[])), 
    <<"H">> = iolist_to_binary(re:replace("abxyzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","H",[global])), 
    <<"sLyaabxyzzzpqrrrabbxyyyypqAzzJJPghXisEdXaabxyzzzpqrrrabbxyyyypqAzzS">> = iolist_to_binary(re:replace("aabxyzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","sLy&JJPghXi\\1sEdX&S\\1",[])), 
    <<"sLyaabxyzzzpqrrrabbxyyyypqAzzJJPghXisEdXaabxyzzzpqrrrabbxyyyypqAzzS">> = iolist_to_binary(re:replace("aabxyzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","sLy&JJPghXi\\1sEdX&S\\1",[global])), 
    <<"">> = iolist_to_binary(re:replace("aaabxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1",[])), 
    <<"">> = iolist_to_binary(re:replace("aaabxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1",[global])), 
    <<"XHrPpSaaaabxyzzzzpqrrrabbxyyyypqAzzgAh">> = iolist_to_binary(re:replace("aaaabxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","XHr\\1PpS&gAh",[])), 
    <<"XHrPpSaaaabxyzzzzpqrrrabbxyyyypqAzzgAh">> = iolist_to_binary(re:replace("aaaabxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","XHr\\1PpS&gAh",[global])), 
    <<"NeJBabcxyzzpqrrrabbxyyyypqAzzGo">> = iolist_to_binary(re:replace("abcxyzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","NeJB&Go",[])), 
    <<"NeJBabcxyzzpqrrrabbxyyyypqAzzGo">> = iolist_to_binary(re:replace("abcxyzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","NeJB&Go",[global])), 
    <<"mu">> = iolist_to_binary(re:replace("aabcxyzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","mu",[])), 
    <<"mu">> = iolist_to_binary(re:replace("aabcxyzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","mu",[global])), 
    <<"aaabcxyzzzzpqrrrabbxyyyypqAzzaaabcxyzzzzpqrrrabbxyyyypqAzzN">> = iolist_to_binary(re:replace("aaabcxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&&N",[])), 
    <<"aaabcxyzzzzpqrrrabbxyyyypqAzzaaabcxyzzzzpqrrrabbxyyyypqAzzN">> = iolist_to_binary(re:replace("aaabcxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&&N",[global])), 
    <<"TY">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","TY",[])), 
    <<"TY">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","TY",[global])), 
    <<"BSUyMaaaabcxyzzzzpqrrrabbbxyyyypqAzzeeab">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","BSUyM&e\\1eab",[])), 
    <<"BSUyMaaaabcxyzzzzpqrrrabbbxyyyypqAzzeeab">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","BSUyM&e\\1eab",[global])), 
    <<"bLbpTaaaabcxyzzzzpqrrrabbbxyyyyypqAzzcn">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1bLbp\\1T&cn",[])), 
    <<"bLbpTaaaabcxyzzzzpqrrrabbbxyyyyypqAzzcn">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1bLbp\\1T&cn",[global])), 
    <<"qOqibaaabcxyzpqrrrabbxyyyypABzzFnNENBaaabcxyzpqrrrabbxyyyypABzza">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypABzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","qOqib&F\\1\\1nNENB\\1&a",[])), 
    <<"qOqibaaabcxyzpqrrrabbxyyyypABzzFnNENBaaabcxyzpqrrrabbxyyyypABzza">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypABzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","qOqib&F\\1\\1nNENB\\1&a",[global])), 
    <<"SBfQjRuQKXkm">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypABBzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","SBf\\1\\1QjR\\1uQKXkm\\1",[])), 
    <<"SBfQjRuQKXkm">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypABBzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","SBf\\1\\1QjR\\1uQKXkm\\1",[global])), 
    <<">>>bVaaabxyzpqrrrabbxyyyypqAzzaaabxyzpqrrrabbxyyyypqAzzAiToCwaaabxyzpqrrrabbxyyyypqAzzcehOK">> = iolist_to_binary(re:replace(">>>aaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","bV\\1\\1&&\\1AiToCw&cehOK",[])), 
    <<">>>bVaaabxyzpqrrrabbxyyyypqAzzaaabxyzpqrrrabbxyyyypqAzzAiToCwaaabxyzpqrrrabbxyyyypqAzzcehOK">> = iolist_to_binary(re:replace(">>>aaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","bV\\1\\1&&\\1AiToCw&cehOK",[global])), 
    <<">RYHNAEdfNPaaaabxyzpqrrrabbxyyyypqAzzHLi">> = iolist_to_binary(re:replace(">aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","RY\\1HNA\\1\\1EdfNP&HLi",[])), 
    <<">RYHNAEdfNPaaaabxyzpqrrrabbxyyyypqAzzHLi">> = iolist_to_binary(re:replace(">aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","RY\\1HNA\\1\\1EdfNP&HLi",[global])), 
    <<">>>>wRIXabcxyzpqrrrabbxyyyypqAzzhabcxyzpqrrrabbxyyyypqAzzaCoikaFu">> = iolist_to_binary(re:replace(">>>>abcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1wRIX&h&aCoika\\1Fu",[])), 
    <<">>>>wRIXabcxyzpqrrrabbxyyyypqAzzhabcxyzpqrrrabbxyyyypqAzzaCoikaFu">> = iolist_to_binary(re:replace(">>>>abcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1wRIX&h&aCoika\\1Fu",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","XSdFB",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","XSdFB",[global])), 
    <<"abxyzpqrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","p&sjpo&\\1MeLw",[])), 
    <<"abxyzpqrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","p&sjpo&\\1MeLw",[global])), 
    <<"abxyzpqrrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","Np\\1BvTaI&WRss&",[])), 
    <<"abxyzpqrrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","Np\\1BvTaI&WRss&",[global])), 
    <<"abxyzpqrrrabxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrrabxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","Jm\\1&IqjePLT",[])), 
    <<"abxyzpqrrrabxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrrabxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","Jm\\1&IqjePLT",[global])), 
    <<"aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","X&\\1EJejYwBT\\1N&Vu\\1\\1hj",[])), 
    <<"aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","X&\\1EJejYwBT\\1N&Vu\\1\\1hj",[global])), 
    <<"aaaabcxyzzzzpqrrrabbbxyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","ACr\\1ExPn&TggeSRc&pgC",[])), 
    <<"aaaabcxyzzzzpqrrrabbbxyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","ACr\\1ExPn&TggeSRc&pgC",[global])), 
    <<"aaabcxyzpqrrrabbxyyyypqqqqqqqAzz">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","AQG",[])), 
    <<"aaabcxyzpqrrrabbxyyyypqqqqqqqAzz">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","AQG",[global])), 
    <<"Ms">> = iolist_to_binary(re:replace("abczz","^(abc){1,2}zz","Ms",[])), 
    <<"Ms">> = iolist_to_binary(re:replace("abczz","^(abc){1,2}zz","Ms",[global])), 
    <<"abcjqKYJWAabcabczzXCsCP">> = iolist_to_binary(re:replace("abcabczz","^(abc){1,2}zz","\\1jqKYJWA&XCsCP",[])), 
    <<"abcjqKYJWAabcabczzXCsCP">> = iolist_to_binary(re:replace("abcabczz","^(abc){1,2}zz","\\1jqKYJWA&XCsCP",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(abc){1,2}zz","Q\\1PQoCjb\\1eQ&\\1JaSTQ",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(abc){1,2}zz","Q\\1PQoCjb\\1eQ&\\1JaSTQ",[global])), 
    <<"zz">> = iolist_to_binary(re:replace("zz","^(abc){1,2}zz","DxU",[])), 
    <<"zz">> = iolist_to_binary(re:replace("zz","^(abc){1,2}zz","DxU",[global])), 
    <<"abcabcabczz">> = iolist_to_binary(re:replace("abcabcabczz","^(abc){1,2}zz","wRiyMR&vafm&",[])), 
    <<"abcabcabczz">> = iolist_to_binary(re:replace("abcabcabczz","^(abc){1,2}zz","wRiyMR&vafm&",[global])), 
    <<">>abczz">> = iolist_to_binary(re:replace(">>abczz","^(abc){1,2}zz","fCQBocoTpl&om",[])), 
    <<">>abczz">> = iolist_to_binary(re:replace(">>abczz","^(abc){1,2}zz","fCQBocoTpl&om",[global])), 
    <<"BbtYviciAuOmX">> = iolist_to_binary(re:replace("bc","^(b+?|a){1,2}?c","B\\1tYviciAuOmX",[])), 
    <<"BbtYviciAuOmX">> = iolist_to_binary(re:replace("bc","^(b+?|a){1,2}?c","B\\1tYviciAuOmX",[global])), 
    <<"bbcbbcmoxNDbcM">> = iolist_to_binary(re:replace("bbc","^(b+?|a){1,2}?c","&&moxND\\1cM",[])), 
    <<"bbcbbcmoxNDbcM">> = iolist_to_binary(re:replace("bbc","^(b+?|a){1,2}?c","&&moxND\\1cM",[global])), 
    <<"HmYAbbbcbbuUEdmhvgxQbbbb">> = iolist_to_binary(re:replace("bbbc","^(b+?|a){1,2}?c","HmYA&\\1uUEdmhvgxQ\\1\\1",[])), 
    <<"HmYAbbbcbbuUEdmhvgxQbbbb">> = iolist_to_binary(re:replace("bbbc","^(b+?|a){1,2}?c","HmYA&\\1uUEdmhvgxQ\\1\\1",[global])), 
    <<"YRq">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","YRq",[])), 
    <<"YRq">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","YRq",[global])), 
    <<"bbacaOVQYgoesBaHi">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","&\\1OVQYgoesB\\1Hi",[])), 
    <<"bbacaOVQYgoesBaHi">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","&\\1OVQYgoesB\\1Hi",[global])), 
    <<"dIraaacvlpk">> = iolist_to_binary(re:replace("aac","^(b+?|a){1,2}?c","dIr\\1&vlpk",[])), 
    <<"dIraaacvlpk">> = iolist_to_binary(re:replace("aac","^(b+?|a){1,2}?c","dIr\\1&vlpk",[global])), 
    <<"KbbbbbbbbbbbobbbbbbbbbbbFjgyx">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+?|a){1,2}?c","K\\1o\\1Fjgyx",[])), 
    <<"KbbbbbbbbbbbobbbbbbbbbbbFjgyx">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+?|a){1,2}?c","K\\1o\\1Fjgyx",[global])), 
    <<"dkNSkahOVMwoAfbbbbbbbbbbbacchbbbbbbbbbbbacKA">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+?|a){1,2}?c","dkNSk\\1hOVMwoAf&ch&KA",[])), 
    <<"dkNSkahOVMwoAfbbbbbbbbbbbacchbbbbbbbbbbbacKA">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+?|a){1,2}?c","dkNSk\\1hOVMwoAf&ch&KA",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+?|a){1,2}?c","lRqMfmvH",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+?|a){1,2}?c","lRqMfmvH",[global])), 
    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+?|a){1,2}?c","Ya\\1SeSYOH",[])), 
    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+?|a){1,2}?c","Ya\\1SeSYOH",[global])), 
    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+?|a){1,2}?c","Mjs\\1&mpd",[])), 
    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+?|a){1,2}?c","Mjs\\1&mpd",[global])), 
    <<"MbGjTbfbuoXTyLDU">> = iolist_to_binary(re:replace("bc","^(b+|a){1,2}c","M\\1GjT\\1f\\1uoXTyLDU",[])), 
    <<"MbGjTbfbuoXTyLDU">> = iolist_to_binary(re:replace("bc","^(b+|a){1,2}c","M\\1GjT\\1f\\1uoXTyLDU",[global])), 
    <<"Xbbbbcbbihpfm">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}c","X\\1&\\1ihpfm",[])), 
    <<"Xbbbbcbbihpfm">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}c","X\\1&\\1ihpfm",[global])), 
    <<"bbbbbbpCDbbLKbbbq">> = iolist_to_binary(re:replace("bbbc","^(b+|a){1,2}c","\\1\\1pCDbbLK\\1q",[])), 
    <<"bbbbbbpCDbbLKbbbq">> = iolist_to_binary(re:replace("bbbc","^(b+|a){1,2}c","\\1\\1pCDbbLK\\1q",[global])), 
    <<"bacjc">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}c","&jc",[])), 
    <<"bacjc">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}c","&jc",[global])), 
    <<"bbacmybbacWtbbacjPQXaybbacl">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}c","&my&Wt&jPQXay&l",[])), 
    <<"bbacmybbacWtbbacjPQXaybbacl">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}c","&my&Wt&jPQXay&l",[global])), 
    <<"QcYXpaaGA">> = iolist_to_binary(re:replace("aac","^(b+|a){1,2}c","QcYXpa\\1GA",[])), 
    <<"QcYXpaaGA">> = iolist_to_binary(re:replace("aac","^(b+|a){1,2}c","QcYXpa\\1GA",[global])), 
    <<"habbbbbbbbbbbcYbbbbbbbbbbbY">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+|a){1,2}c","h&Y\\1Y",[])), 
    <<"habbbbbbbbbbbcYbbbbbbbbbbbY">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+|a){1,2}c","h&Y\\1Y",[global])), 
    <<"DkD">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+|a){1,2}c","DkD",[])), 
    <<"DkD">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+|a){1,2}c","DkD",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+|a){1,2}c","UgARueRrJoL\\1\\1WgjAP",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+|a){1,2}c","UgARueRrJoL\\1\\1WgjAP",[global])), 
    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+|a){1,2}c","IGJPbXNc&kfu\\1xi",[])), 
    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+|a){1,2}c","IGJPbXNc&kfu\\1xi",[global])), 
    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+|a){1,2}c","pWvBeG&&iyL",[])), 
    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+|a){1,2}c","pWvBeG&&iyL",[global])), 
    <<"g">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}?bc","g",[])), 
    <<"g">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}?bc","g",[global])), 
    <<"rXsdbaababcQbambabcWcnvbj">> = iolist_to_binary(re:replace("babc","^(b*|ba){1,2}?bc","rXsd\\1a&Q\\1m&Wcnvbj",[])), 
    <<"rXsdbaababcQbambabcWcnvbj">> = iolist_to_binary(re:replace("babc","^(b*|ba){1,2}?bc","rXsd\\1a&Q\\1m&Wcnvbj",[global])), 
    <<"x">> = iolist_to_binary(re:replace("bbabc","^(b*|ba){1,2}?bc","x",[])), 
    <<"x">> = iolist_to_binary(re:replace("bbabc","^(b*|ba){1,2}?bc","x",[global])), 
    <<"TMNcgqpTbaE">> = iolist_to_binary(re:replace("bababc","^(b*|ba){1,2}?bc","TMNcgqpT\\1E",[])), 
    <<"TMNcgqpTbaE">> = iolist_to_binary(re:replace("bababc","^(b*|ba){1,2}?bc","TMNcgqpT\\1E",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b*|ba){1,2}?bc","IM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b*|ba){1,2}?bc","IM",[global])), 
    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(b*|ba){1,2}?bc","TbVp\\1&mhNgFw\\1",[])), 
    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(b*|ba){1,2}?bc","TbVp\\1&mhNgFw\\1",[global])), 
    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(b*|ba){1,2}?bc","&yrdhkl&hx&\\1M\\1\\1BiFK",[])), 
    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(b*|ba){1,2}?bc","&yrdhkl&hx&\\1M\\1\\1BiFK",[global])), 
    <<"bailvqbafDWIOQe">> = iolist_to_binary(re:replace("babc","^(ba|b*){1,2}?bc","\\1ilvq\\1fDWIOQe",[])), 
    <<"bailvqbafDWIOQe">> = iolist_to_binary(re:replace("babc","^(ba|b*){1,2}?bc","\\1ilvq\\1fDWIOQe",[global])), 
    <<"o">> = iolist_to_binary(re:replace("bbabc","^(ba|b*){1,2}?bc","o",[])), 
    <<"o">> = iolist_to_binary(re:replace("bbabc","^(ba|b*){1,2}?bc","o",[global])), 
    <<"qyH">> = iolist_to_binary(re:replace("bababc","^(ba|b*){1,2}?bc","qyH",[])), 
    <<"qyH">> = iolist_to_binary(re:replace("bababc","^(ba|b*){1,2}?bc","qyH",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ba|b*){1,2}?bc","GBLVYAxKwO",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ba|b*){1,2}?bc","GBLVYAxKwO",[global])), 
    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(ba|b*){1,2}?bc","u&GWGypjK&r\\1\\1&",[])), 
    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(ba|b*){1,2}?bc","u&GWGypjK&r\\1\\1&",[global])), 
    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(ba|b*){1,2}?bc","Vb",[])), 
    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(ba|b*){1,2}?bc","Vb",[global])), 
    <<"nli;znvMfDQEb;zGHXN">> = iolist_to_binary(re:replace(";z","^\\ca\\cA\\c[\\c{\\c:","nli\\1\\1&nv\\1MfDQEb&GHXN",[])), 
    <<"nli;znvMfDQEb;zGHXN">> = iolist_to_binary(re:replace(";z","^\\ca\\cA\\c[\\c{\\c:","nli\\1\\1&nv\\1MfDQEb&GHXN",[global])), 
    <<"yxcaleHEFWgGiwbQathing">> = iolist_to_binary(re:replace("athing","^[ab\\]cde]","\\1yxc\\1&leHE\\1FWgGiwbQ&",[])), 
    <<"yxcaleHEFWgGiwbQathing">> = iolist_to_binary(re:replace("athing","^[ab\\]cde]","\\1yxc\\1&leHE\\1FWgGiwbQ&",[global])), 
    <<"MeNvthing">> = iolist_to_binary(re:replace("bthing","^[ab\\]cde]","MeNv\\1",[])), 
    <<"MeNvthing">> = iolist_to_binary(re:replace("bthing","^[ab\\]cde]","MeNv\\1",[global])), 
    <<"]T]qQDvRdthing">> = iolist_to_binary(re:replace("]thing","^[ab\\]cde]","&T&qQDvRd",[])), 
    <<"]T]qQDvRdthing">> = iolist_to_binary(re:replace("]thing","^[ab\\]cde]","&T&qQDvRd",[global])), 
    <<"GFxthing">> = iolist_to_binary(re:replace("cthing","^[ab\\]cde]","GFx",[])), 
    <<"GFxthing">> = iolist_to_binary(re:replace("cthing","^[ab\\]cde]","GFx",[global])), 
    <<"kLFxTOaEthing">> = iolist_to_binary(re:replace("dthing","^[ab\\]cde]","kLFxTOaE",[])), 
    <<"kLFxTOaEthing">> = iolist_to_binary(re:replace("dthing","^[ab\\]cde]","kLFxTOaE",[global])), 
    <<"RtthVFthing">> = iolist_to_binary(re:replace("ething","^[ab\\]cde]","Rtt\\1hVF",[])), 
    <<"RtthVFthing">> = iolist_to_binary(re:replace("ething","^[ab\\]cde]","Rtt\\1hVF",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[ab\\]cde]","Srer\\1pi",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[ab\\]cde]","Srer\\1pi",[global])), 
    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[ab\\]cde]","&AaO",[])), 
    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[ab\\]cde]","&AaO",[global])), 
    <<"[thing">> = iolist_to_binary(re:replace("[thing","^[ab\\]cde]","GujQJxlam\\1f\\1FD",[])), 
    <<"[thing">> = iolist_to_binary(re:replace("[thing","^[ab\\]cde]","GujQJxlam\\1f\\1FD",[global])), 
    <<"\\thing">> = iolist_to_binary(re:replace("\\thing","^[ab\\]cde]","&&yX",[])), 
    <<"\\thing">> = iolist_to_binary(re:replace("\\thing","^[ab\\]cde]","&&yX",[global])), 
    <<"s]tXLkthing">> = iolist_to_binary(re:replace("]thing","^[]cde]","s&tXLk",[])), 
    <<"s]tXLkthing">> = iolist_to_binary(re:replace("]thing","^[]cde]","s&tXLk",[global])), 
    <<"HiVDFyrMvAaDvdYdUthing">> = iolist_to_binary(re:replace("cthing","^[]cde]","H\\1iVDFyrMvAaDv\\1\\1dYdU",[])), 
    <<"HiVDFyrMvAaDvdYdUthing">> = iolist_to_binary(re:replace("cthing","^[]cde]","H\\1iVDFyrMvAaDv\\1\\1dYdU",[global])), 
    <<"jkWeKNthing">> = iolist_to_binary(re:replace("dthing","^[]cde]","jkWeKN",[])), 
    <<"jkWeKNthing">> = iolist_to_binary(re:replace("dthing","^[]cde]","jkWeKN",[global])), 
    <<"strycWDFQcthing">> = iolist_to_binary(re:replace("ething","^[]cde]","stry\\1cWDFQc",[])), 
    <<"strycWDFQcthing">> = iolist_to_binary(re:replace("ething","^[]cde]","stry\\1cWDFQc",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[]cde]","s",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[]cde]","s",[global])), 
    <<"athing">> = iolist_to_binary(re:replace("athing","^[]cde]","\\1xREinh\\1vCv",[])), 
    <<"athing">> = iolist_to_binary(re:replace("athing","^[]cde]","\\1xREinh\\1vCv",[global])), 
    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[]cde]","\\1h&Y\\1HwTkCc",[])), 
    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[]cde]","\\1h&Y\\1HwTkCc",[global])), 
    <<"uifmTffffWmKXllBthing">> = iolist_to_binary(re:replace("fthing","^[^ab\\]cde]","ui&mT&f&&WmKXllB",[])), 
    <<"uifmTffffWmKXllBthing">> = iolist_to_binary(re:replace("fthing","^[^ab\\]cde]","ui&mT&f&&WmKXllB",[global])), 
    <<"Kyn[lihrXoXthing">> = iolist_to_binary(re:replace("[thing","^[^ab\\]cde]","Kyn&lihrXoX",[])), 
    <<"Kyn[lihrXoXthing">> = iolist_to_binary(re:replace("[thing","^[^ab\\]cde]","Kyn&lihrXoX",[global])), 
    <<"UXMYd\\fthing">> = iolist_to_binary(re:replace("\\thing","^[^ab\\]cde]","U\\1XMYd\\1\\1&f\\1",[])), 
    <<"UXMYd\\fthing">> = iolist_to_binary(re:replace("\\thing","^[^ab\\]cde]","U\\1XMYd\\1\\1&f\\1",[global])), 
    <<"QYuh*KpbKbO** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^ab\\]cde]","\\1QYuh&KpbKbO",[])), 
    <<"QYuh*KpbKbO** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^ab\\]cde]","\\1QYuh&KpbKbO",[global])), 
    <<"athing">> = iolist_to_binary(re:replace("athing","^[^ab\\]cde]","JwKDqeNpO\\1&m",[])), 
    <<"athing">> = iolist_to_binary(re:replace("athing","^[^ab\\]cde]","JwKDqeNpO\\1&m",[global])), 
    <<"bthing">> = iolist_to_binary(re:replace("bthing","^[^ab\\]cde]","G",[])), 
    <<"bthing">> = iolist_to_binary(re:replace("bthing","^[^ab\\]cde]","G",[global])), 
    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^ab\\]cde]","VomLLa&\\1xDtJWx",[])), 
    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^ab\\]cde]","VomLLa&\\1xDtJWx",[global])), 
    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^ab\\]cde]","&DWkG&&kk",[])), 
    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^ab\\]cde]","&DWkG&&kk",[global])), 
    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^ab\\]cde]","MYpgcbh&\\1knLFcDqwN",[])), 
    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^ab\\]cde]","MYpgcbh&\\1knLFcDqwN",[global])), 
    <<"ething">> = iolist_to_binary(re:replace("ething","^[^ab\\]cde]","h\\1nb\\1c&&KMVOIu",[])), 
    <<"ething">> = iolist_to_binary(re:replace("ething","^[^ab\\]cde]","h\\1nb\\1c&&KMVOIu",[global])), 
    <<"qRaQDneiathing">> = iolist_to_binary(re:replace("athing","^[^]cde]","qR&QDnei&",[])), 
    <<"qRaQDneiathing">> = iolist_to_binary(re:replace("athing","^[^]cde]","qR&QDnei&",[global])), 
    <<"YtUthing">> = iolist_to_binary(re:replace("fthing","^[^]cde]","YtU",[])), 
    <<"YtUthing">> = iolist_to_binary(re:replace("fthing","^[^]cde]","YtU",[global])), 
    <<"PUGKhoJ*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^]cde]","P\\1UGKhoJ&",[])), 
    <<"PUGKhoJ*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^]cde]","P\\1UGKhoJ&",[global])), 
    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^]cde]","Xh&gbPHspjXNu&YKXwHH",[])), 
    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^]cde]","Xh&gbPHspjXNu&YKXwHH",[global])), 
    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^]cde]","kmMlgoXI&xF\\1hwlT",[])), 
    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^]cde]","kmMlgoXI&xF\\1hwlT",[global])), 
    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^]cde]","ue\\1\\1DU",[])), 
    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^]cde]","ue\\1\\1DU",[global])), 
    <<"ething">> = iolist_to_binary(re:replace("ething","^[^]cde]","x\\1CM",[])), 
    <<"ething">> = iolist_to_binary(re:replace("ething","^[^]cde]","x\\1CM",[global])), 
    <<"skV">> = iolist_to_binary(re:replace("0","^[0-9]+$","sk\\1V\\1",[])), 
    <<"skV">> = iolist_to_binary(re:replace("0","^[0-9]+$","sk\\1V\\1",[global])), 
    <<"dchqDQcnPE1m">> = iolist_to_binary(re:replace("1","^[0-9]+$","dchqDQcnPE&m",[])), 
    <<"dchqDQcnPE1m">> = iolist_to_binary(re:replace("1","^[0-9]+$","dchqDQcnPE&m",[global])), 
    <<"iKMEYpXlyVKXB">> = iolist_to_binary(re:replace("2","^[0-9]+$","iKMEYpXlyVK\\1XB",[])), 
    <<"iKMEYpXlyVKXB">> = iolist_to_binary(re:replace("2","^[0-9]+$","iKMEYpXlyVK\\1XB",[global])), 
    <<"lTM3XtBQD3KqG33G">> = iolist_to_binary(re:replace("3","^[0-9]+$","lTM&X\\1tBQD&KqG&&G",[])), 
    <<"lTM3XtBQD3KqG33G">> = iolist_to_binary(re:replace("3","^[0-9]+$","lTM&X\\1tBQD&KqG&&G",[global])), 
    <<"A4RtR4paCNffVmKS44ru">> = iolist_to_binary(re:replace("4","^[0-9]+$","A&RtR&paCNffVmKS&&ru",[])), 
    <<"A4RtR4paCNffVmKS44ru">> = iolist_to_binary(re:replace("4","^[0-9]+$","A&RtR&paCNffVmKS&&ru",[global])), 
    <<"FvNdw">> = iolist_to_binary(re:replace("5","^[0-9]+$","F\\1vNdw",[])), 
    <<"FvNdw">> = iolist_to_binary(re:replace("5","^[0-9]+$","F\\1vNdw",[global])), 
    <<"6bMIirlh">> = iolist_to_binary(re:replace("6","^[0-9]+$","&bMIi\\1rlh",[])), 
    <<"6bMIirlh">> = iolist_to_binary(re:replace("6","^[0-9]+$","&bMIi\\1rlh",[global])), 
    <<"7IgF">> = iolist_to_binary(re:replace("7","^[0-9]+$","\\1\\1&IgF\\1\\1",[])), 
    <<"7IgF">> = iolist_to_binary(re:replace("7","^[0-9]+$","\\1\\1&IgF\\1\\1",[global])), 
    <<"kXpaB8C">> = iolist_to_binary(re:replace("8","^[0-9]+$","kXpaB&C",[])), 
    <<"kXpaB8C">> = iolist_to_binary(re:replace("8","^[0-9]+$","kXpaB&C",[global])), 
    <<"rxDNFoULsT">> = iolist_to_binary(re:replace("9","^[0-9]+$","rxDNFoULsT",[])), 
    <<"rxDNFoULsT">> = iolist_to_binary(re:replace("9","^[0-9]+$","rxDNFoULsT",[global])), 
    <<"YmBdr10cd10f10RQlRK">> = iolist_to_binary(re:replace("10","^[0-9]+$","YmBd\\1r&cd&f&RQlRK",[])), 
    <<"YmBdr10cd10f10RQlRK">> = iolist_to_binary(re:replace("10","^[0-9]+$","YmBd\\1r&cd&f&RQlRK",[global])), 
    <<"RLqdwwceTW">> = iolist_to_binary(re:replace("100","^[0-9]+$","RLqdwwceTW\\1",[])), 
    <<"RLqdwwceTW">> = iolist_to_binary(re:replace("100","^[0-9]+$","RLqdwwceTW\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[0-9]+$","BdnjJh\\1urLa&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[0-9]+$","BdnjJh\\1urLa&",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","^[0-9]+$","&&oa&dfYGxAdt&\\1\\1Q&m",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","^[0-9]+$","&&oa&dfYGxAdt&\\1\\1Q&m",[global])), 
    <<"ndenterMpPenterqHbSYUGGN">> = iolist_to_binary(re:replace("enter","^.*nter","nd&MpP&qHb\\1SY\\1UGGN",[])), 
    <<"ndenterMpPenterqHbSYUGGN">> = iolist_to_binary(re:replace("enter","^.*nter","nd&MpP&qHb\\1SY\\1UGGN",[global])), 
    <<"LSinterEPdYinterHoNIyUIDOinter">> = iolist_to_binary(re:replace("inter","^.*nter","LS&\\1EPdY&Ho\\1NIyUIDO&",[])), 
    <<"LSinterEPdYinterHoNIyUIDOinter">> = iolist_to_binary(re:replace("inter","^.*nter","LS&\\1EPdY&Ho\\1NIyUIDO&",[global])), 
    <<"IIUwhHsQfXMYBSb">> = iolist_to_binary(re:replace("uponter","^.*nter","IIUwhHsQ\\1fX\\1MYBS\\1b",[])), 
    <<"IIUwhHsQfXMYBSb">> = iolist_to_binary(re:replace("uponter","^.*nter","IIUwhHsQ\\1fX\\1MYBS\\1b",[global])), 
    ok.
run1() ->
    <<"Bp">> = iolist_to_binary(re:replace("xxx0","^xxx[0-9]+$","B\\1\\1\\1p",[])), 
    <<"Bp">> = iolist_to_binary(re:replace("xxx0","^xxx[0-9]+$","B\\1\\1\\1p",[global])), 
    <<"xxx1234okNYhxxx1234tobCxxx1234fg">> = iolist_to_binary(re:replace("xxx1234","^xxx[0-9]+$","&okNYh&tobC\\1&fg",[])), 
    <<"xxx1234okNYhxxx1234tobCxxx1234fg">> = iolist_to_binary(re:replace("xxx1234","^xxx[0-9]+$","&okNYh&tobC\\1&fg",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^xxx[0-9]+$","hQ&ULnO\\1\\1\\1nNlLbQ",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^xxx[0-9]+$","hQ&ULnO\\1\\1\\1nNlLbQ",[global])), 
    <<"xxx">> = iolist_to_binary(re:replace("xxx","^xxx[0-9]+$","&KwHk\\1a\\1\\1\\1&&i",[])), 
    <<"xxx">> = iolist_to_binary(re:replace("xxx","^xxx[0-9]+$","&KwHk\\1a\\1\\1\\1&&i",[global])), 
    <<"ohMDx123xpx123mNT">> = iolist_to_binary(re:replace("x123","^.+[0-9][0-9][0-9]$","ohMD&xp\\1&mNT",[])), 
    <<"ohMDx123xpx123mNT">> = iolist_to_binary(re:replace("x123","^.+[0-9][0-9][0-9]$","ohMD&xp\\1&mNT",[global])), 
    <<"gYaxx123xx123XaaNxx123bNU">> = iolist_to_binary(re:replace("xx123","^.+[0-9][0-9][0-9]$","gYa&&XaaN&bNU",[])), 
    <<"gYaxx123xx123XaaNxx123bNU">> = iolist_to_binary(re:replace("xx123","^.+[0-9][0-9][0-9]$","gYa&&XaaN&bNU",[global])), 
    <<"iElVtor">> = iolist_to_binary(re:replace("123456","^.+[0-9][0-9][0-9]$","i\\1ElV\\1tor",[])), 
    <<"iElVtor">> = iolist_to_binary(re:replace("123456","^.+[0-9][0-9][0-9]$","i\\1ElV\\1tor",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+[0-9][0-9][0-9]$","BWxJ\\1uhGy&vgMLA",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+[0-9][0-9][0-9]$","BWxJ\\1uhGy&vgMLA",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^.+[0-9][0-9][0-9]$","xTGS&sW\\1G&NlcW",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^.+[0-9][0-9][0-9]$","xTGS&sW\\1G&NlcW",[global])), 
    <<"Ix1234IUy">> = iolist_to_binary(re:replace("x1234","^.+[0-9][0-9][0-9]$","I\\1&\\1I\\1Uy",[])), 
    <<"Ix1234IUy">> = iolist_to_binary(re:replace("x1234","^.+[0-9][0-9][0-9]$","I\\1&\\1I\\1Uy",[global])), 
    <<"DBYEAgkI">> = iolist_to_binary(re:replace("x123","^.+?[0-9][0-9][0-9]$","DBYE\\1AgkI",[])), 
    <<"DBYEAgkI">> = iolist_to_binary(re:replace("x123","^.+?[0-9][0-9][0-9]$","DBYE\\1AgkI",[global])), 
    <<"EABxx123">> = iolist_to_binary(re:replace("xx123","^.+?[0-9][0-9][0-9]$","EAB&\\1",[])), 
    <<"EABxx123">> = iolist_to_binary(re:replace("xx123","^.+?[0-9][0-9][0-9]$","EAB&\\1",[global])), 
    <<"w">> = iolist_to_binary(re:replace("123456","^.+?[0-9][0-9][0-9]$","w",[])), 
    <<"w">> = iolist_to_binary(re:replace("123456","^.+?[0-9][0-9][0-9]$","w",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+?[0-9][0-9][0-9]$","jiMwkAneSrQ&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+?[0-9][0-9][0-9]$","jiMwkAneSrQ&",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^.+?[0-9][0-9][0-9]$","pg\\1cjQ&&&",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^.+?[0-9][0-9][0-9]$","pg\\1cjQ&&&",[global])), 
    <<"APdx1234Jdelcg">> = iolist_to_binary(re:replace("x1234","^.+?[0-9][0-9][0-9]$","A\\1Pd&Jdelcg",[])), 
    <<"APdx1234Jdelcg">> = iolist_to_binary(re:replace("x1234","^.+?[0-9][0-9][0-9]$","A\\1Pd&Jdelcg",[global])), 
    <<"abcVE">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","\\1VE",[])), 
    <<"abcVE">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","\\1VE",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","ysSa&O\\1ogTi\\1e\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","ysSa&O\\1ogTi\\1e\\1",[global])), 
    <<"!pqr=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","eCQWoiG\\1",[])), 
    <<"!pqr=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","eCQWoiG\\1",[global])), 
    <<"abc!=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","rYbgJDpc",[])), 
    <<"abc!=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","rYbgJDpc",[global])), 
    <<"abc!pqr=apquxz:ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!pqr=apquxz:ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","vkuwBMsxa",[])), 
    <<"abc!pqr=apquxz:ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!pqr=apquxz:ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","vkuwBMsxa",[global])), 
    <<"abc!pqr=apquxz.ixr.zzz.ac.ukk">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.ukk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","e\\1KF&BD\\1C&kxH&rwWnu",[])), 
    <<"abc!pqr=apquxz.ixr.zzz.ac.ukk">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.ukk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","e\\1KF&BD\\1C&kxH&rwWnu",[global])), 
    <<"Well, we need a colongxIksrpvcmlefi:WmR somewhere">> = iolist_to_binary(re:replace("Well, we need a colon: somewhere",":","g\\1xIksrpvcmlefi&WmR",[])), 
    <<"Well, we need a colongxIksrpvcmlefi:WmR somewhere">> = iolist_to_binary(re:replace("Well, we need a colon: somewhere",":","g\\1xIksrpvcmlefi&WmR",[global])), 
    <<"*** Fail if we don't">> = iolist_to_binary(re:replace("*** Fail if we don't",":","g&BggNgoAXIe&s\\1NH",[])), 
    <<"*** Fail if we don't">> = iolist_to_binary(re:replace("*** Fail if we don't",":","g&BggNgoAXIe&s\\1NH",[global])), 
    <<"TkV0abcQpF0abci0abcyiC">> = iolist_to_binary(re:replace("0abc","([\\da-f:]+)$","TkV\\1QpF\\1i&yiC",[caseless])), 
    <<"TkV0abcQpF0abci0abcyiC">> = iolist_to_binary(re:replace("0abc","([\\da-f:]+)$","TkV\\1QpF\\1i&yiC",[caseless,
                                                                                                                                                                                                                  global])), 
    <<"gAHIDgPO">> = iolist_to_binary(re:replace("abc","([\\da-f:]+)$","gAHIDgPO",[caseless])), 
    <<"gAHIDgPO">> = iolist_to_binary(re:replace("abc","([\\da-f:]+)$","gAHIDgPO",[caseless,
                                                                                                                                                                                           global])), 
    <<"QqLxYfedlXtfedNm">> = iolist_to_binary(re:replace("fed","([\\da-f:]+)$","QqLxY&lXt\\1Nm",[caseless])), 
    <<"QqLxYfedlXtfedNm">> = iolist_to_binary(re:replace("fed","([\\da-f:]+)$","QqLxY&lXt\\1Nm",[caseless,
                                                                                                                                                                                                         global])), 
    <<"aXaxRLpEPRwSlQEEw">> = iolist_to_binary(re:replace("E","([\\da-f:]+)$","aXaxRLp\\1PRwSlQ\\1\\1w",[caseless])), 
    <<"aXaxRLpEPRwSlQEEw">> = iolist_to_binary(re:replace("E","([\\da-f:]+)$","aXaxRLp\\1PRwSlQ\\1\\1w",[caseless,
                                                                                                                                                                                                                        global])), 
    <<"srXTndsE::::kfsP::LR">> = iolist_to_binary(re:replace("::","([\\da-f:]+)$","srXTndsE&&kfsP&LR",[caseless])), 
    <<"srXTndsE::::kfsP::LR">> = iolist_to_binary(re:replace("::","([\\da-f:]+)$","srXTndsE&&kfsP&LR",[caseless,
                                                                                                                                                                                                              global])), 
    <<"5f03:12C0::932ejAFV">> = iolist_to_binary(re:replace("5f03:12C0::932e","([\\da-f:]+)$","&jAFV",[caseless])), 
    <<"5f03:12C0::932ejAFV">> = iolist_to_binary(re:replace("5f03:12C0::932e","([\\da-f:]+)$","&jAFV",[caseless,
                                                                                                                                                                                                              global])), 
    <<"fed yjdefSWAl">> = iolist_to_binary(re:replace("fed def","([\\da-f:]+)$","yj&SWAl",[caseless])), 
    <<"fed yjdefSWAl">> = iolist_to_binary(re:replace("fed def","([\\da-f:]+)$","yj&SWAl",[caseless,
                                                                                                                                                                                                  global])), 
    <<"Any old stuqffffafSffkdOlpalffuffR">> = iolist_to_binary(re:replace("Any old stuff","([\\da-f:]+)$","q&\\1afS&kdOlpal&u\\1R",[caseless])), 
    <<"Any old stuqffffafSffkdOlpalffuffR">> = iolist_to_binary(re:replace("Any old stuff","([\\da-f:]+)$","q&\\1afS&kdOlpal&u\\1R",[caseless,
                                                                                                                                                                                                                                                global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","([\\da-f:]+)$","IyKK\\1DBvmhe",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","([\\da-f:]+)$","IyKK\\1DBvmhe",[caseless,
                                                                                                                                                                                                                      global])), 
    <<"0zzz">> = iolist_to_binary(re:replace("0zzz","([\\da-f:]+)$","rdo\\1x&nKGAa",[caseless])), 
    <<"0zzz">> = iolist_to_binary(re:replace("0zzz","([\\da-f:]+)$","rdo\\1x&nKGAa",[caseless,
                                                                                                                                                                                                         global])), 
    <<"gzzz">> = iolist_to_binary(re:replace("gzzz","([\\da-f:]+)$","CUmRDqbGoniV\\1",[caseless])), 
    <<"gzzz">> = iolist_to_binary(re:replace("gzzz","([\\da-f:]+)$","CUmRDqbGoniV\\1",[caseless,
                                                                                                                                                                                                            global])), 
    <<"fed ">> = iolist_to_binary(re:replace("fed ","([\\da-f:]+)$","bMg\\1\\1Smk",[caseless])), 
    <<"fed ">> = iolist_to_binary(re:replace("fed ","([\\da-f:]+)$","bMg\\1\\1Smk",[caseless,
                                                                                                                                                                                                       global])), 
    <<"Any old rubbish">> = iolist_to_binary(re:replace("Any old rubbish","([\\da-f:]+)$","&NxG\\1osbOqKBX\\1UUxiI",[caseless])), 
    <<"Any old rubbish">> = iolist_to_binary(re:replace("Any old rubbish","([\\da-f:]+)$","&NxG\\1osbOqKBX\\1UUxiI",[caseless,
                                                                                                                                                                                                                                                    global])), 
    <<"xn1t">> = iolist_to_binary(re:replace(".1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","xn\\1t",[])), 
    <<"xn1t">> = iolist_to_binary(re:replace(".1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","xn\\1t",[global])), 
    <<"xuA.12.123.0pmID">> = iolist_to_binary(re:replace("A.12.123.0","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","xu&pmID",[])), 
    <<"xuA.12.123.0pmID">> = iolist_to_binary(re:replace("A.12.123.0","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","xu&pmID",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","p&&t\\1\\1M&oKI",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","p&&t\\1\\1M&oKI",[global])), 
    <<".1.2.3333">> = iolist_to_binary(re:replace(".1.2.3333","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","&p",[])), 
    <<".1.2.3333">> = iolist_to_binary(re:replace(".1.2.3333","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","&p",[global])), 
    <<"1.2.3">> = iolist_to_binary(re:replace("1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","\\1&LbVkk&K&F&b",[])), 
    <<"1.2.3">> = iolist_to_binary(re:replace("1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","\\1&LbVkk&K&F&b",[global])), 
    <<"1234.2.3">> = iolist_to_binary(re:replace("1234.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","Paehh\\1",[])), 
    <<"1234.2.3">> = iolist_to_binary(re:replace("1234.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","Paehh\\1",[global])), 
    <<"1LAfJBRwFABikGlQ1 IN SOA non-sp1 non-sp2(jE1 IN SOA non-sp1 non-sp2(">> = iolist_to_binary(re:replace("1 IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","\\1LAfJBRwFABikGlQ&jE&",[])), 
    <<"1LAfJBRwFABikGlQ1 IN SOA non-sp1 non-sp2(jE1 IN SOA non-sp1 non-sp2(">> = iolist_to_binary(re:replace("1 IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","\\1LAfJBRwFABikGlQ&jE&",[global])), 
    <<"vcbW">> = iolist_to_binary(re:replace("1    IN    SOA    non-sp1    non-sp2   (","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","vcbW",[])), 
    <<"vcbW">> = iolist_to_binary(re:replace("1    IN    SOA    non-sp1    non-sp2   (","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","vcbW",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","N",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","N",[global])), 
    <<"1IN SOA non-sp1 non-sp2(">> = iolist_to_binary(re:replace("1IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","F\\1lEQb&&o&c&&",[])), 
    <<"1IN SOA non-sp1 non-sp2(">> = iolist_to_binary(re:replace("1IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","F\\1lEQb&&o&c&&",[global])), 
    <<"csJqaGLOa.a.Ca.Ma.ja.r">> = iolist_to_binary(re:replace("a.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","c\\1s\\1JqaGLO&&C&M&j&r",[])), 
    <<"csJqaGLOa.a.Ca.Ma.ja.r">> = iolist_to_binary(re:replace("a.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","c\\1s\\1JqaGLO&&C&M&j&r",[global])), 
    <<"TBVOOLuZ.Y">> = iolist_to_binary(re:replace("Z.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","TBVOO\\1Lu&Y",[])), 
    <<"TBVOOLuZ.Y">> = iolist_to_binary(re:replace("Z.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","TBVOO\\1Lu&Y",[global])), 
    <<"lAHLHAaNu2.yfAUu">> = iolist_to_binary(re:replace("2.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","lAH\\1LHAaNu\\1&yfAUu",[])), 
    <<"lAHLHAaNu2.yfAUu">> = iolist_to_binary(re:replace("2.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","lAH\\1LHAaNu\\1&yfAUu",[global])), 
    <<"EKpab-c.pq-r.">> = iolist_to_binary(re:replace("ab-c.pq-r.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","EKp&",[])), 
    <<"EKpab-c.pq-r.">> = iolist_to_binary(re:replace("ab-c.pq-r.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","EKp&",[global])), 
    <<"Ersxk.zzz.ac.uk.">> = iolist_to_binary(re:replace("sxk.zzz.ac.uk.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","Er&",[])), 
    <<"Ersxk.zzz.ac.uk.">> = iolist_to_binary(re:replace("sxk.zzz.ac.uk.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","Er&",[global])), 
    <<"Xqs">> = iolist_to_binary(re:replace("x-.y-.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","Xqs",[])), 
    <<"Xqs">> = iolist_to_binary(re:replace("x-.y-.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","Xqs",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","&DsB",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","&DsB",[global])), 
    <<"-abc.peq.">> = iolist_to_binary(re:replace("-abc.peq.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","Kqq&&AIru&&FA\\1gbG",[])), 
    <<"-abc.peq.">> = iolist_to_binary(re:replace("-abc.peq.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","Kqq&&AIru&&FA\\1gbG",[global])), 
    <<"OmWMM*.acuHiylpsiKq">> = iolist_to_binary(re:replace("*.a","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","\\1OmWMM&cuHiylpsiKq",[])), 
    <<"OmWMM*.acuHiylpsiKq">> = iolist_to_binary(re:replace("*.a","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","\\1OmWMM&cuHiylpsiKq",[global])), 
    <<"j0-a0-aXQ">> = iolist_to_binary(re:replace("*.b0-a","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","j\\1\\1XQ",[])), 
    <<"j0-a0-aXQ">> = iolist_to_binary(re:replace("*.b0-a","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","j\\1\\1XQ",[global])), 
    <<"r3-b">> = iolist_to_binary(re:replace("*.c3-b.c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","r\\1",[])), 
    <<"r3-b">> = iolist_to_binary(re:replace("*.c3-b.c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","r\\1",[global])), 
    <<"EAXRf*.c-a.b-cpOaqRe*.c-a.b-c-a*.c-a.b-cpGer*.c-a.b-c">> = iolist_to_binary(re:replace("*.c-a.b-c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","EAXRf&pOaqRe&\\1&pGer&",[])), 
    <<"EAXRf*.c-a.b-cpOaqRe*.c-a.b-c-a*.c-a.b-cpGer*.c-a.b-c">> = iolist_to_binary(re:replace("*.c-a.b-c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","EAXRf&pOaqRe&\\1&pGer&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","RmO\\1XAOA\\1p",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","RmO\\1XAOA\\1p",[global])), 
    <<"*.0">> = iolist_to_binary(re:replace("*.0","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","&&iBqKyU",[])), 
    <<"*.0">> = iolist_to_binary(re:replace("*.0","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","&&iBqKyU",[global])), 
    <<"*.a-">> = iolist_to_binary(re:replace("*.a-","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","sHEtAniwkH&",[])), 
    <<"*.a-">> = iolist_to_binary(re:replace("*.a-","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","sHEtAniwkH&",[global])), 
    <<"*.a-b.c-">> = iolist_to_binary(re:replace("*.a-b.c-","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","qy",[])), 
    <<"*.a-b.c-">> = iolist_to_binary(re:replace("*.a-b.c-","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","qy",[global])), 
    <<"*.c-a.0-c">> = iolist_to_binary(re:replace("*.c-a.0-c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","iH\\1J\\1\\1&iul\\1uosFI",[])), 
    <<"*.c-a.0-c">> = iolist_to_binary(re:replace("*.c-a.0-c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","iH\\1J\\1\\1&iul\\1uosFI",[global])), 
    <<"RW">> = iolist_to_binary(re:replace("abde","^(?=ab(de))(abd)(e)","RW",[])), 
    <<"RW">> = iolist_to_binary(re:replace("abde","^(?=ab(de))(abd)(e)","RW",[global])), 
    <<"xrNrabdft">> = iolist_to_binary(re:replace("abdf","^(?!(ab)de|x)(abd)(f)","xrNr&t",[])), 
    <<"xrNrabdft">> = iolist_to_binary(re:replace("abdf","^(?!(ab)de|x)(abd)(f)","xrNr&t",[global])), 
    <<"PaGpuabSCqabcdabababpbcd">> = iolist_to_binary(re:replace("abcd","^(?=(ab(cd)))(ab)","PaGpu&SCq\\1&&&pb",[])), 
    <<"PaGpuabSCqabcdabababpbcd">> = iolist_to_binary(re:replace("abcd","^(?=(ab(cd)))(ab)","PaGpu&SCq\\1&&&pb",[global])), 
    <<"eB.d.dgKSFa.b.c.dVO">> = iolist_to_binary(re:replace("a.b.c.d","^[\\da-f](\\.[\\da-f])*$","eB\\1\\1gKSF&VO",[caseless])), 
    <<"eB.d.dgKSFa.b.c.dVO">> = iolist_to_binary(re:replace("a.b.c.d","^[\\da-f](\\.[\\da-f])*$","eB\\1\\1gKSF&VO",[caseless,
                                                                                                                                                                                                                                            global])), 
    <<"jpA.B.C.D.Dc.DTWA.B.C.Dl.DKIiy">> = iolist_to_binary(re:replace("A.B.C.D","^[\\da-f](\\.[\\da-f])*$","jp&\\1c\\1TW&l\\1KIiy",[caseless])), 
    <<"jpA.B.C.D.Dc.DTWA.B.C.Dl.DKIiy">> = iolist_to_binary(re:replace("A.B.C.D","^[\\da-f](\\.[\\da-f])*$","jp&\\1c\\1TW&l\\1KIiy",[caseless,
                                                                                                                                                                                                                                                          global])), 
    <<"NToo.Ca.Ca.b.c.1.2.3.C">> = iolist_to_binary(re:replace("a.b.c.1.2.3.C","^[\\da-f](\\.[\\da-f])*$","NToo\\1a\\1&",[caseless])), 
    <<"NToo.Ca.Ca.b.c.1.2.3.C">> = iolist_to_binary(re:replace("a.b.c.1.2.3.C","^[\\da-f](\\.[\\da-f])*$","NToo\\1a\\1&",[caseless,
                                                                                                                                                                                                                                                  global])), 
    <<"EftEvTFmRH">> = iolist_to_binary(re:replace("\"1234\"","^\\\".*\\\"\\s*(;.*)?$","\\1\\1EftEvTFmRH",[])), 
    <<"EftEvTFmRH">> = iolist_to_binary(re:replace("\"1234\"","^\\\".*\\\"\\s*(;.*)?$","\\1\\1EftEvTFmRH",[global])), 
    <<"j\"abcd\" ;Hyx\"abcd\" ;QTtQvYM\"abcd\" ;BK">> = iolist_to_binary(re:replace("\"abcd\" ;","^\\\".*\\\"\\s*(;.*)?$","j&Hyx&QTtQvYM&BK",[])), 
    <<"j\"abcd\" ;Hyx\"abcd\" ;QTtQvYM\"abcd\" ;BK">> = iolist_to_binary(re:replace("\"abcd\" ;","^\\\".*\\\"\\s*(;.*)?$","j&Hyx&QTtQvYM&BK",[global])), 
    <<"nM">> = iolist_to_binary(re:replace("\"\" ; rhubarb","^\\\".*\\\"\\s*(;.*)?$","nM",[])), 
    <<"nM">> = iolist_to_binary(re:replace("\"\" ; rhubarb","^\\\".*\\\"\\s*(;.*)?$","nM",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\\".*\\\"\\s*(;.*)?$","oRWmakO\\1L&pj",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\\".*\\\"\\s*(;.*)?$","oRWmakO\\1L&pj",[global])), 
    <<"\"1234\" : things">> = iolist_to_binary(re:replace("\"1234\" : things","^\\\".*\\\"\\s*(;.*)?$","kLuRd&B",[])), 
    <<"\"1234\" : things">> = iolist_to_binary(re:replace("\"1234\" : things","^\\\".*\\\"\\s*(;.*)?$","kLuRd&B",[global])), 
    <<"ixuQHwgCDVra">> = iolist_to_binary(re:replace("","^$","\\1&i\\1x\\1uQHw&\\1&gCDVra",[])), 
    <<"ixuQHwgCDVra">> = iolist_to_binary(re:replace("","^$","\\1&i\\1x\\1uQHw&\\1&gCDVra",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^$","Rg\\1SwLH\\1bP\\1&&S\\1Xa\\1S&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^$","Rg\\1SwLH\\1bP\\1&&S\\1Xa\\1S&",[global])), 
    <<"bgab cxhab cxfOtXqErdcf">> = iolist_to_binary(re:replace("ab c","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","bg&xh&xfOtXqE\\1rdcf",[extended])), 
    <<"bgab cxhab cxfOtXqErdcf">> = iolist_to_binary(re:replace("ab c","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","bg&xh&xfOtXqE\\1rdcf",[extended,
                                                                                                                                                                                                                                                                                                                                    global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","kltlQqVmioWPcgb\\1",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","kltlQqVmioWPcgb\\1",[extended,
                                                                                                                                                                                                                                                                                                                                            global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","F\\1FmlIs\\1\\1A&gEMuW",[extended])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","F\\1FmlIs\\1\\1A&gEMuW",[extended,
                                                                                                                                                                                                                                                                                                                                       global])), 
    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","&wqEXOys\\1L",[extended])), 
    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","&wqEXOys\\1L",[extended,
                                                                                                                                                                                                                                                                                                                       global])), 
    <<"yxGLPQCju">> = iolist_to_binary(re:replace("ab c","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","yxGLPQCju",[])), 
    <<"yxGLPQCju">> = iolist_to_binary(re:replace("ab c","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","yxGLPQCju",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","JqU&Xjf\\1JY\\1c",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","JqU&Xjf\\1JY\\1c",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","ASnRhMlmWOb\\1Y&&",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","ASnRhMlmWOb\\1Y&&",[global])), 
    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","QcD",[])), 
    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","QcD",[global])), 
    <<"yao">> = iolist_to_binary(re:replace("a bcd","^   a\\ b[c ]d       $","\\1yao",[extended])), 
    <<"yao">> = iolist_to_binary(re:replace("a bcd","^   a\\ b[c ]d       $","\\1yao",[extended,
                                                                                                                                                                                                              global])), 
    <<"TrwOQA">> = iolist_to_binary(re:replace("a b d","^   a\\ b[c ]d       $","TrwOQA",[extended])), 
    <<"TrwOQA">> = iolist_to_binary(re:replace("a b d","^   a\\ b[c ]d       $","TrwOQA",[extended,
                                                                                                                                                                                                             global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^   a\\ b[c ]d       $","&rUS&afjjm&",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^   a\\ b[c ]d       $","&rUS&afjjm&",[extended,
                                                                                                                                                                                                                                      global])), 
    <<"abcd">> = iolist_to_binary(re:replace("abcd","^   a\\ b[c ]d       $","L&XB\\1P",[extended])), 
    <<"abcd">> = iolist_to_binary(re:replace("abcd","^   a\\ b[c ]d       $","L&XB\\1P",[extended,
                                                                                                                                                                                                                 global])), 
    <<"ab d">> = iolist_to_binary(re:replace("ab d","^   a\\ b[c ]d       $","UMS&\\1tPBWwogPDQ&",[extended])), 
    <<"ab d">> = iolist_to_binary(re:replace("ab d","^   a\\ b[c ]d       $","UMS&\\1tPBWwogPDQ&",[extended,
                                                                                                                                                                                                                                      global])), 
    <<"xToOqchxqabch">> = iolist_to_binary(re:replace("abcdefhijklm","^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$","xToOqchxq\\1h",[])), 
    <<"xToOqchxqabch">> = iolist_to_binary(re:replace("abcdefhijklm","^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$","xToOqchxq\\1h",[global])), 
    ok.
run2() ->
    <<"LpAcLI">> = iolist_to_binary(re:replace("abcdefhijklm","^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$","LpAcLI",[])), 
    <<"LpAcLI">> = iolist_to_binary(re:replace("abcdefhijklm","^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$","LpAcLI",[global])), 
    <<"MFa+ Z0+
QQ">> = iolist_to_binary(re:replace("a+ Z0+
","^[\\w][\\W][\\s][\\S][\\d][\\D][\\b][\\n][\\c]][\\022]","MF\\1&QQ",[])), 
    <<"MFa+ Z0+
QQ">> = iolist_to_binary(re:replace("a+ Z0+
","^[\\w][\\W][\\s][\\S][\\d][\\D][\\b][\\n][\\c]][\\022]","MF\\1&QQ",[global])), 
    <<".^$(*+)|{?,?}.^$(*+)|{?,?}suXo">> = iolist_to_binary(re:replace(".^$(*+)|{?,?}","^[.^$|()*+?{,}]+","&&s\\1uX\\1o",[])), 
    <<".^$(*+)|{?,?}.^$(*+)|{?,?}suXo">> = iolist_to_binary(re:replace(".^$(*+)|{?,?}","^[.^$|()*+?{,}]+","&&s\\1uX\\1o",[global])), 
    <<"KDgPpAUcYEXSK">> = iolist_to_binary(re:replace("z","^a*\\w","KDgP\\1pAUcYEX\\1SK",[])), 
    <<"KDgPpAUcYEXSK">> = iolist_to_binary(re:replace("z","^a*\\w","KDgP\\1pAUcYEX\\1SK",[global])), 
    <<"slipoLkQ">> = iolist_to_binary(re:replace("az","^a*\\w","slipoLkQ",[])), 
    <<"slipoLkQ">> = iolist_to_binary(re:replace("az","^a*\\w","slipoLkQ",[global])), 
    <<"ritcgAWBT">> = iolist_to_binary(re:replace("aaaz","^a*\\w","ritcgAWBT",[])), 
    <<"ritcgAWBT">> = iolist_to_binary(re:replace("aaaz","^a*\\w","ritcgAWBT",[global])), 
    <<"XcRsWQyYNjiYwb">> = iolist_to_binary(re:replace("a","^a*\\w","X\\1cRsWQyYNjiYwb",[])), 
    <<"XcRsWQyYNjiYwb">> = iolist_to_binary(re:replace("a","^a*\\w","X\\1cRsWQyYNjiYwb",[global])), 
    <<"MaaFKe">> = iolist_to_binary(re:replace("aa","^a*\\w","M&F\\1\\1K\\1e",[])), 
    <<"MaaFKe">> = iolist_to_binary(re:replace("aa","^a*\\w","M&F\\1\\1K\\1e",[global])), 
    <<"h">> = iolist_to_binary(re:replace("aaaa","^a*\\w","h",[])), 
    <<"h">> = iolist_to_binary(re:replace("aaaa","^a*\\w","h",[global])), 
    <<"qYN+">> = iolist_to_binary(re:replace("a+","^a*\\w","qYN",[])), 
    <<"qYN+">> = iolist_to_binary(re:replace("a+","^a*\\w","qYN",[global])), 
    <<"EfVPxKaaaaewBXaaaawUW+">> = iolist_to_binary(re:replace("aa+","^a*\\w","EfVPx\\1K&&ewBX&&wUW",[])), 
    <<"EfVPxKaaaaewBXaaaawUW+">> = iolist_to_binary(re:replace("aa+","^a*\\w","EfVPx\\1K&&ewBX&&wUW",[global])), 
    <<"hslzzPMpWzzIkdYL">> = iolist_to_binary(re:replace("z","^a*?\\w","hsl&&PMpW&&I\\1kdYL",[])), 
    <<"hslzzPMpWzzIkdYL">> = iolist_to_binary(re:replace("z","^a*?\\w","hsl&&PMpW&&I\\1kdYL",[global])), 
    <<"RBz">> = iolist_to_binary(re:replace("az","^a*?\\w","R\\1B",[])), 
    <<"RBz">> = iolist_to_binary(re:replace("az","^a*?\\w","R\\1B",[global])), 
    <<"IvEhVdavyqnaaz">> = iolist_to_binary(re:replace("aaaz","^a*?\\w","IvEhVd&vy\\1qn",[])), 
    <<"IvEhVdavyqnaaz">> = iolist_to_binary(re:replace("aaaz","^a*?\\w","IvEhVd&vy\\1qn",[global])), 
    <<"JnVaaH">> = iolist_to_binary(re:replace("a","^a*?\\w","JnV&&\\1H\\1",[])), 
    <<"JnVaaH">> = iolist_to_binary(re:replace("a","^a*?\\w","JnV&&\\1H\\1",[global])), 
    <<"JFfVUa">> = iolist_to_binary(re:replace("aa","^a*?\\w","\\1J\\1FfVU",[])), 
    <<"JFfVUa">> = iolist_to_binary(re:replace("aa","^a*?\\w","\\1J\\1FfVU",[global])), 
    <<"aDPvxaYarvWrRabShaHaaa">> = iolist_to_binary(re:replace("aaaa","^a*?\\w","aDPvx&Y&rvWrR&bShaH",[])), 
    <<"aDPvxaYarvWrRabShaHaaa">> = iolist_to_binary(re:replace("aaaa","^a*?\\w","aDPvx&Y&rvWrR&bShaH",[global])), 
    <<"Aih+">> = iolist_to_binary(re:replace("a+","^a*?\\w","Ai\\1h",[])), 
    <<"Aih+">> = iolist_to_binary(re:replace("a+","^a*?\\w","Ai\\1h",[global])), 
    <<"xbMsOXBdaaAa+">> = iolist_to_binary(re:replace("aa+","^a*?\\w","xbMsOXBd&&A",[])), 
    <<"xbMsOXBdaaAa+">> = iolist_to_binary(re:replace("aa+","^a*?\\w","xbMsOXBd&&A",[global])), 
    <<"azvPASpIqMtrikazJ">> = iolist_to_binary(re:replace("az","^a+\\w","&vPASpIq\\1Mt\\1r\\1ik&J",[])), 
    <<"azvPASpIqMtrikazJ">> = iolist_to_binary(re:replace("az","^a+\\w","&vPASpIq\\1Mt\\1r\\1ik&J",[global])), 
    <<"ofnsOlLLpmuNPiXJE">> = iolist_to_binary(re:replace("aaaz","^a+\\w","ofnsOlLLpmuNPiXJE",[])), 
    <<"ofnsOlLLpmuNPiXJE">> = iolist_to_binary(re:replace("aaaz","^a+\\w","ofnsOlLLpmuNPiXJE",[global])), 
    <<"baaDpxe">> = iolist_to_binary(re:replace("aa","^a+\\w","b&D\\1pxe",[])), 
    <<"baaDpxe">> = iolist_to_binary(re:replace("aa","^a+\\w","b&D\\1pxe",[global])), 
    <<"blkOVluqr">> = iolist_to_binary(re:replace("aaaa","^a+\\w","b\\1lkOV\\1luqr",[])), 
    <<"blkOVluqr">> = iolist_to_binary(re:replace("aaaa","^a+\\w","b\\1lkOV\\1luqr",[global])), 
    <<"RNRBD+">> = iolist_to_binary(re:replace("aa+","^a+\\w","RNRBD",[])), 
    <<"RNRBD+">> = iolist_to_binary(re:replace("aa+","^a+\\w","RNRBD",[global])), 
    <<"CyazerWDQaNazazxDT">> = iolist_to_binary(re:replace("az","^a+?\\w","Cy&\\1erWDQaN&&xDT\\1",[])), 
    <<"CyazerWDQaNazazxDT">> = iolist_to_binary(re:replace("az","^a+?\\w","Cy&\\1erWDQaN&&xDT\\1",[global])), 
    <<"pqJrRaaNRaz">> = iolist_to_binary(re:replace("aaaz","^a+?\\w","pq\\1J\\1rR&NR",[])), 
    <<"pqJrRaaNRaz">> = iolist_to_binary(re:replace("aaaz","^a+?\\w","pq\\1J\\1rR&NR",[global])), 
    <<"aaAdj">> = iolist_to_binary(re:replace("aa","^a+?\\w","&Ad\\1j",[])), 
    <<"aaAdj">> = iolist_to_binary(re:replace("aa","^a+?\\w","&Ad\\1j",[global])), 
    <<"JsRWaaEHmuaaFaaArLaNaaaa">> = iolist_to_binary(re:replace("aaaa","^a+?\\w","JsRW&EHmu&F&\\1ArLaN&",[])), 
    <<"JsRWaaEHmuaaFaaArLaNaaaa">> = iolist_to_binary(re:replace("aaaa","^a+?\\w","JsRW&EHmu&F&\\1ArLaN&",[global])), 
    <<"hQmeo+">> = iolist_to_binary(re:replace("aa+","^a+?\\w","hQmeo",[])), 
    <<"hQmeo+">> = iolist_to_binary(re:replace("aa+","^a+?\\w","hQmeo",[global])), 
    <<"tSwgJd1234567890">> = iolist_to_binary(re:replace("1234567890","^\\d{8}\\w{2,}","tSwgJd&",[])), 
    <<"tSwgJd1234567890">> = iolist_to_binary(re:replace("1234567890","^\\d{8}\\w{2,}","tSwgJd&",[global])), 
    <<"u">> = iolist_to_binary(re:replace("12345678ab","^\\d{8}\\w{2,}","u",[])), 
    <<"u">> = iolist_to_binary(re:replace("12345678ab","^\\d{8}\\w{2,}","u",[global])), 
    <<"12345678__JvTBhjF">> = iolist_to_binary(re:replace("12345678__","^\\d{8}\\w{2,}","&JvTBhj\\1F",[])), 
    <<"12345678__JvTBhjF">> = iolist_to_binary(re:replace("12345678__","^\\d{8}\\w{2,}","&JvTBhj\\1F",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8}\\w{2,}","JQw&GNCBooSB",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8}\\w{2,}","JQw&GNCBooSB",[global])), 
    <<"1234567">> = iolist_to_binary(re:replace("1234567","^\\d{8}\\w{2,}","oTp&mFd\\1",[])), 
    <<"1234567">> = iolist_to_binary(re:replace("1234567","^\\d{8}\\w{2,}","oTp&mFd\\1",[global])), 
    <<"truoieVC">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}$","tr&V\\1\\1C",[])), 
    <<"truoieVC">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}$","tr&V\\1\\1C",[global])), 
    <<"SIBB1234a">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}$","SIBB\\1&a",[])), 
    <<"SIBB1234a">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}$","SIBB\\1&a",[global])), 
    <<"12345KiNQWVML12345HyU">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}$","&KiN\\1QWVML&HyU",[])), 
    <<"12345KiNQWVML12345HyU">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}$","&KiN\\1QWVML&HyU",[global])), 
    <<"hxENo">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}$","\\1hxENo\\1",[])), 
    <<"hxENo">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}$","\\1hxENo\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[aeiou\\d]{4,5}$","h&RGpLB\\1hlS&pk\\1&yKh",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[aeiou\\d]{4,5}$","h&RGpLB\\1hlS&pk\\1&yKh",[global])), 
    <<"123456">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}$","&\\1rrEfxa\\1mc",[])), 
    <<"123456">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}$","&\\1rrEfxa\\1mc",[global])), 
    <<"hJscruoieFbuoie">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}?","hJs\\1cr&Fb&",[])), 
    <<"hJscruoieFbuoie">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}?","hJs\\1cr&Fb&",[global])), 
    <<"OK12341234bV">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}?","OK&&bV",[])), 
    <<"OK12341234bV">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}?","OK&&bV",[global])), 
    <<"g5">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}?","g\\1",[])), 
    <<"g5">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}?","g\\1",[global])), 
    <<"MKbLkaaaajjoeeykaaaaa">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}?","MKbLk&jjoeeyk&",[])), 
    <<"MKbLkaaaajjoeeykaaaaa">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}?","MKbLk&jjoeeyk&",[global])), 
    <<"qExB1234GQ56">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}?","qExB&GQ",[])), 
    <<"qExB1234GQ56">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}?","qExB&GQ",[global])), 
    <<"abc=abcabcshRMauJabceabcMabcvDjywabcw">> = iolist_to_binary(re:replace("abc=abcabc","\\A(abc|def)=(\\1){2,3}\\Z","&shRMauJ\\1e\\1M\\1vDjyw\\1w",[])), 
    <<"abc=abcabcshRMauJabceabcMabcvDjywabcw">> = iolist_to_binary(re:replace("abc=abcabc","\\A(abc|def)=(\\1){2,3}\\Z","&shRMauJ\\1e\\1M\\1vDjyw\\1w",[global])), 
    <<"def=defdefdefM">> = iolist_to_binary(re:replace("def=defdefdef","\\A(abc|def)=(\\1){2,3}\\Z","&M",[])), 
    <<"def=defdefdefM">> = iolist_to_binary(re:replace("def=defdefdef","\\A(abc|def)=(\\1){2,3}\\Z","&M",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\A(abc|def)=(\\1){2,3}\\Z","\\1ums",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\A(abc|def)=(\\1){2,3}\\Z","\\1ums",[global])), 
    <<"abc=defdef">> = iolist_to_binary(re:replace("abc=defdef","\\A(abc|def)=(\\1){2,3}\\Z","DkIJLD&Cwg&\\1kq&tsp&&",[])), 
    <<"abc=defdef">> = iolist_to_binary(re:replace("abc=defdef","\\A(abc|def)=(\\1){2,3}\\Z","DkIJLD&Cwg&\\1kq&tsp&&",[global])), 
    <<"uaahabcdefghijkcda2aqkRJhtVuiyWJaG">> = iolist_to_binary(re:replace("abcdefghijkcda2","^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\1(?#)2$","u\\1ah&\\1qkRJhtVuiyWJaG",[])), 
    <<"uaahabcdefghijkcda2aqkRJhtVuiyWJaG">> = iolist_to_binary(re:replace("abcdefghijkcda2","^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\1(?#)2$","u\\1ah&\\1qkRJhtVuiyWJaG",[global])), 
    <<"lBSDdJXabcdefghijkkkkcda2DPEXjc">> = iolist_to_binary(re:replace("abcdefghijkkkkcda2","^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\1(?#)2$","lBSDdJX&DPEXjc",[])), 
    <<"lBSDdJXabcdefghijkkkkcda2DPEXjc">> = iolist_to_binary(re:replace("abcdefghijkkkkcda2","^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\1(?#)2$","lBSDdJX&DPEXjc",[global])), 
    <<"tEYloj">> = iolist_to_binary(re:replace("cataract cataract23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","tEYloj",[])), 
    <<"tEYloj">> = iolist_to_binary(re:replace("cataract cataract23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","tEYloj",[global])), 
    <<"catatonic catatonic23HiXcatatonic catatonic23">> = iolist_to_binary(re:replace("catatonic catatonic23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","&HiX&",[])), 
    <<"catatonic catatonic23HiXcatatonic catatonic23">> = iolist_to_binary(re:replace("catatonic catatonic23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","&HiX&",[global])), 
    <<"EtmqcaterpillarvtVmieDAa">> = iolist_to_binary(re:replace("caterpillar caterpillar23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","Etmq\\1vtVmieDAa",[])), 
    <<"EtmqcaterpillarvtVmieDAa">> = iolist_to_binary(re:replace("caterpillar caterpillar23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","Etmq\\1vtVmieDAa",[global])), 
    <<"rFrom abcd  Mon Sep 01 12:33aThFrom abcd  Mon Sep 01 12:33rJabcd:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep 01 12:33:02 1997","^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]","r&aTh&rJ\\1",[])), 
    <<"rFrom abcd  Mon Sep 01 12:33aThFrom abcd  Mon Sep 01 12:33rJabcd:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep 01 12:33:02 1997","^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]","r&aTh&rJ\\1",[global])), 
    <<"tKjeGYi:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep 01 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","tKjeGYi",[])), 
    <<"tKjeGYi:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep 01 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","tKjeGYi",[global])), 
    <<"From abcd  Mon Sep  1 12:33Sep  WqBFrom abcd  Mon Sep  1 12:33UFrom abcd  Mon Sep  1 12:33MHUFrom abcd  Mon Sep  1 12:33:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep  1 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","&\\1WqB&U&MHU&",[])), 
    <<"From abcd  Mon Sep  1 12:33Sep  WqBFrom abcd  Mon Sep  1 12:33UFrom abcd  Mon Sep  1 12:33MHUFrom abcd  Mon Sep  1 12:33:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep  1 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","&\\1WqB&U&MHU&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","RWw&\\1f",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","RWw&\\1f",[global])), 
    <<"From abcd  Sep 01 12:33:02 1997">> = iolist_to_binary(re:replace("From abcd  Sep 01 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","lDKNKPmMpd",[])), 
    <<"From abcd  Sep 01 12:33:02 1997">> = iolist_to_binary(re:replace("From abcd  Sep 01 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","lDKNKPmMpd",[global])), 
    <<"eNnWbKP">> = iolist_to_binary(re:replace("12
34","^12.34","eNnWbK\\1P",[dotall])), 
    <<"eNnWbKP">> = iolist_to_binary(re:replace("12
34","^12.34","eNnWbK\\1P",[dotall,global])), 
    <<"fI12
34N">> = iolist_to_binary(re:replace("12
34","^12.34","fI&N\\1",[dotall])), 
    <<"fI12
34N">> = iolist_to_binary(re:replace("12
34","^12.34","fI&N\\1",[dotall,
                                                                                                                                                                               global])), 
    <<"the quick jmlgbrownfrbrownIaXThxdySok	 fox">> = iolist_to_binary(re:replace("the quick brown	 fox","\\w+(?=\\t)","j\\1mlg&fr&IaXThxdySok",[])), 
    <<"the quick jmlgbrownfrbrownIaXThxdySok	 fox">> = iolist_to_binary(re:replace("the quick brown	 fox","\\w+(?=\\t)","j\\1mlg&fr&IaXThxdySok",[global])), 
    <<"foobar is vjQvQsKSfoolish see?cmTPlish see?DB">> = iolist_to_binary(re:replace("foobar is foolish see?","foo(?!bar)(.*)","vjQvQsKS&cmTP\\1DB",[])), 
    <<"foobar is vjQvQsKSfoolish see?cmTPlish see?DB">> = iolist_to_binary(re:replace("foobar is foolish see?","foo(?!bar)(.*)","vjQvQsKS&cmTP\\1DB",[global])), 
    <<"foobar cGBmrowbar etcrowbar etcxPCf etc">> = iolist_to_binary(re:replace("foobar crowbar etc","(?:(?!foo)...|^.{0,2})bar(.*)","GBm&&xPCf\\1",[])), 
    <<"foobar cGBmrowbar etcrowbar etcxPCf etc">> = iolist_to_binary(re:replace("foobar crowbar etc","(?:(?!foo)...|^.{0,2})bar(.*)","GBm&&xPCf\\1",[global])), 
    <<"GDErP">> = iolist_to_binary(re:replace("barrel","(?:(?!foo)...|^.{0,2})bar(.*)","GDErP",[])), 
    <<"GDErP">> = iolist_to_binary(re:replace("barrel","(?:(?!foo)...|^.{0,2})bar(.*)","GDErP",[global])), 
    <<"VFDc2barrelqsDrelRKrelbMVIi2barrelb2barrel">> = iolist_to_binary(re:replace("2barrel","(?:(?!foo)...|^.{0,2})bar(.*)","VFDc&qsD\\1RK\\1bMVIi&b&",[])), 
    <<"VFDc2barrelqsDrelRKrelbMVIi2barrelb2barrel">> = iolist_to_binary(re:replace("2barrel","(?:(?!foo)...|^.{0,2})bar(.*)","VFDc&qsD\\1RK\\1bMVIi&b&",[global])), 
    <<"DreltMOOKlgrelMMOgA barrel">> = iolist_to_binary(re:replace("A barrel","(?:(?!foo)...|^.{0,2})bar(.*)","D\\1tMOOKlg\\1MMOg&",[])), 
    <<"DreltMOOKlgrelMMOgA barrel">> = iolist_to_binary(re:replace("A barrel","(?:(?!foo)...|^.{0,2})bar(.*)","D\\1tMOOKlg\\1MMOg&",[global])), 
    <<"DiLKve456">> = iolist_to_binary(re:replace("abc456","^(\\D*)(?=\\d)(?!123)","DiLKve",[])), 
    <<"DiLKve456">> = iolist_to_binary(re:replace("abc456","^(\\D*)(?=\\d)(?!123)","DiLKve",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","BTbC",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","BTbC",[global])), 
    <<"abc123">> = iolist_to_binary(re:replace("abc123","^(\\D*)(?=\\d)(?!123)","DJbM\\1wLxB\\1J&&H\\1&uHc",[])), 
    <<"abc123">> = iolist_to_binary(re:replace("abc123","^(\\D*)(?=\\d)(?!123)","DJbM\\1wLxB\\1J&&H\\1&uHc",[global])), 
    ok.
run3() ->
    <<"1234cNbGaCaxuI">> = iolist_to_binary(re:replace("1234","^1234(?# test newlines
  inside)","&cNbGaCaxuI",[])), 
    <<"1234cNbGaCaxuI">> = iolist_to_binary(re:replace("1234","^1234(?# test newlines
  inside)","&cNbGaCaxuI",[global])), 
    <<"jmCvIAMNV1234nNrfW1234GM">> = iolist_to_binary(re:replace("1234","^1234 #comment in extended re
  ","\\1jmCvIAMNV\\1&nNrfW&GM",[extended])), 
    <<"jmCvIAMNV1234nNrfW1234GM">> = iolist_to_binary(re:replace("1234","^1234 #comment in extended re
  ","\\1jmCvIAMNV\\1&nNrfW&GM",[extended,global])), 
    <<"YyiILRKFjY">> = iolist_to_binary(re:replace("abcd","#rhubarb
  abcd","YyiILRKFjY",[extended])), 
    <<"YyiILRKFjY">> = iolist_to_binary(re:replace("abcd","#rhubarb
  abcd","YyiILRKFjY",[extended,global])), 
    <<"XbpsAef">> = iolist_to_binary(re:replace("abcd","^abcd#rhubarb","Xbps\\1Aef",[extended])), 
    <<"XbpsAef">> = iolist_to_binary(re:replace("abcd","^abcd#rhubarb","Xbps\\1Aef",[extended,
                                                                                                                                                                                                global])), 
    <<"iPHiDDB">> = iolist_to_binary(re:replace("aaab","^(a)\\1{2,3}(.)","iPHiDDB",[])), 
    <<"iPHiDDB">> = iolist_to_binary(re:replace("aaab","^(a)\\1{2,3}(.)","iPHiDDB",[global])), 
    <<"IXEQflgnaWgr">> = iolist_to_binary(re:replace("aaaab","^(a)\\1{2,3}(.)","IXEQflgn\\1Wgr",[])), 
    <<"IXEQflgnaWgr">> = iolist_to_binary(re:replace("aaaab","^(a)\\1{2,3}(.)","IXEQflgn\\1Wgr",[global])), 
    <<"gToJhaaaaaOaaaaaaaaaaaiaaaaaHLaNAWab">> = iolist_to_binary(re:replace("aaaaab","^(a)\\1{2,3}(.)","gToJh&O\\1&&i&HL\\1NAW\\1",[])), 
    <<"gToJhaaaaaOaaaaaaaaaaaiaaaaaHLaNAWab">> = iolist_to_binary(re:replace("aaaaab","^(a)\\1{2,3}(.)","gToJh&O\\1&&i&HL\\1NAW\\1",[global])), 
    <<"aaaaaaGwEYYdXmTRmaaaaasXab">> = iolist_to_binary(re:replace("aaaaaab","^(a)\\1{2,3}(.)","&\\1GwEYYdXmTRm&sX",[])), 
    <<"aaaaaaGwEYYdXmTRmaaaaasXab">> = iolist_to_binary(re:replace("aaaaaab","^(a)\\1{2,3}(.)","&\\1GwEYYdXmTRm&sX",[global])), 
    <<"the abcabcLiXhGXmrloabcEfabcAbS">> = iolist_to_binary(re:replace("the abc","(?!^)abc","&&LiXhGXmrlo&Ef&AbS",[])), 
    <<"the abcabcLiXhGXmrloabcEfabcAbS">> = iolist_to_binary(re:replace("the abc","(?!^)abc","&&LiXhGXmrlo&Ef&AbS",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?!^)abc","uyPPG",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?!^)abc","uyPPG",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?!^)abc","x\\1sgS\\1tB\\1RcyA\\1enf",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?!^)abc","x\\1sgS\\1tB\\1RcyA\\1enf",[global])), 
    <<"abcubl">> = iolist_to_binary(re:replace("abc","(?=^)abc","&ubl",[])), 
    <<"abcubl">> = iolist_to_binary(re:replace("abc","(?=^)abc","&ubl",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=^)abc","NPTqioPj",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=^)abc","NPTqioPj",[global])), 
    <<"the abc">> = iolist_to_binary(re:replace("the abc","(?=^)abc","\\1pNTRQmK\\1Hj",[])), 
    <<"the abc">> = iolist_to_binary(re:replace("the abc","(?=^)abc","\\1pNTRQmK\\1Hj",[global])), 
    <<"QpbbCJcbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*|b)","Qp\\1bCJc",[])), 
    <<"QpbbCJcbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*|b)","Qp\\1bCJc",[global])), 
    <<"PcVuJcWmvIiq">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*|b)","PcVuJcWmvIiq",[])), 
    <<"PcVuJcWmvIiq">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*|b)","PcVuJcWmvIiq",[global])), 
    <<"fwRaaeKbsaanjaKaUaadaaybbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*?|b)","fwR&eKbs&nj\\1K\\1U&d\\1\\1y",[])), 
    <<"fwRaaeKbsaanjaKaUaadaaybbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*?|b)","fwR&eKbs&nj\\1K\\1U&d\\1\\1y",[global])), 
    <<"bblQaabbCsbbeeQvYbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*?|b)","\\1\\1lQ&Cs\\1\\1eeQvY",[])), 
    <<"bblQaabbCsbbeeQvYbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*?|b)","\\1\\1lQ&Cs\\1\\1eeQvY",[global])), 
    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","SOd&j",[extended])), 
    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","SOd&j",[extended,
                                                                         global])), 
    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","Rli",[extended])), 
    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","Rli",[extended,
                                                                       global])), 
    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","g&TWfEDY",[extended])), 
    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","g&TWfEDY",[extended,
                                                                            global])), 
    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","Cw",[extended])), 
    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","Cw",[extended,
                                                                      global])), 
    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","ej",[extended])), 
    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","ej",[extended,
                                                                      global])), 
    <<"\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay">> = iolist_to_binary(re:replace("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","y\\1D",[extended])), 
    <<"\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay">> = iolist_to_binary(re:replace("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","y\\1D",[extended,
                                                                           global])), 
    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","\\1jrwjC",[extended])), 
    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","\\1jrwjC",[extended,
                                                                              global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","&qqjm",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","&qqjm",[extended,
                                                                         global])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","m\\1K&o&&mg&qC&f\\1V\\1i",[extended])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","m\\1K&o&&mg&qC&f\\1V\\1i",[extended,
                                                                                                  global])), 
    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","d\\1&sJD\\1oA\\1Aruv",[extended])), 
    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","d\\1&sJD\\1oA\\1Aruv",[extended,global])), 
    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","HuWGl&iF&NPX&",[extended])), 
    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","HuWGl&iF&NPX&",[extended,global])), 
    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","VhK&cYXg&Bq\\1f&F",[extended])), 
    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","VhK&cYXg&Bq\\1f&F",[extended,global])), 
    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","a\\1&eMwwW",[extended])), 
    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","a\\1&eMwwW",[extended,global])), 
    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","\\1n\\1nYhyxBv&nk&&Sa",[extended])), 
    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","\\1n\\1nYhyxBv&nk&&Sa",[extended,global])), 
    <<"\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay">> = iolist_to_binary(re:replace("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","\\1fdORBWKv\\1&",[extended])), 
    <<"\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay">> = iolist_to_binary(re:replace("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","\\1fdORBWKv\\1&",[extended,global])), 
    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","Utb&\\1l&M\\1aori&\\1&W",[extended])), 
    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","Utb&\\1l&M\\1aori&\\1&W",[extended,global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","\\1&RUPp\\1",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","\\1&RUPp\\1",[extended,global])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","M",[extended])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","M",[extended,global])), 
    <<"abcdefpqrxyz0AB">> = iolist_to_binary(re:replace("abcdefpqrxyz0AB","abc\\0def\\00pqr\\000xyz\\0000AB","\\1\\1giII\\1hWW&bdV&",[])), 
    <<"abcdefpqrxyz0AB">> = iolist_to_binary(re:replace("abcdefpqrxyz0AB","abc\\0def\\00pqr\\000xyz\\0000AB","\\1\\1giII\\1hWW&bdV&",[global])), 
    <<"abc456 abcdefpqrxyz0ABCDE">> = iolist_to_binary(re:replace("abc456 abcdefpqrxyz0ABCDE","abc\\0def\\00pqr\\000xyz\\0000AB","cc\\1IiVp",[])), 
    <<"abc456 abcdefpqrxyz0ABCDE">> = iolist_to_binary(re:replace("abc456 abcdefpqrxyz0ABCDE","abc\\0def\\00pqr\\000xyz\\0000AB","cc\\1IiVp",[global])), 
    <<"abc
efpqr0xyz00AB">> = iolist_to_binary(re:replace("abc
efpqr0xyz00AB","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","prtuhkbIaj&qwHuPpE",[])), 
    <<"abc
efpqr0xyz00AB">> = iolist_to_binary(re:replace("abc
efpqr0xyz00AB","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","prtuhkbIaj&qwHuPpE",[global])), 
    <<"abc456 abc
efpqr0xyz00ABCDE">> = iolist_to_binary(re:replace("abc456 abc
efpqr0xyz00ABCDE","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","&yfjpcn",[])), 
    <<"abc456 abc
efpqr0xyz00ABCDE">> = iolist_to_binary(re:replace("abc456 abc
efpqr0xyz00ABCDE","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","&yfjpcn",[global])), 
    <<"A">> = iolist_to_binary(re:replace("A","^[\\000-\\037]","fNpC&qUvThkjHh",[])), 
    <<"A">> = iolist_to_binary(re:replace("A","^[\\000-\\037]","fNpC&qUvThkjHh",[global])), 
    <<"QyKsB">> = iolist_to_binary(re:replace("B","^[\\000-\\037]","QyKs",[])), 
    <<"QyKsB">> = iolist_to_binary(re:replace("B","^[\\000-\\037]","QyKs",[global])), 
    <<"ESQC">> = iolist_to_binary(re:replace("C","^[\\000-\\037]","ESQ",[])), 
    <<"ESQC">> = iolist_to_binary(re:replace("C","^[\\000-\\037]","ESQ",[global])), 
    <<"aTcfAMkUonvqo">> = iolist_to_binary(re:replace("","\\0*","aT&cfAM&\\1kU\\1onvq&o",[])), 
    <<"aTcfAMkUonvqo">> = iolist_to_binary(re:replace("","\\0*","aT&cfAM&\\1kU\\1onvq&o",[global])), 
    <<"The AZ">> = iolist_to_binary(re:replace("The AZ","A\\x0{2,3}Z","vmgVokP\\1Omhk&",[])), 
    <<"The AZ">> = iolist_to_binary(re:replace("The AZ","A\\x0{2,3}Z","vmgVokP\\1Omhk&",[global])), 
    <<"An AZ">> = iolist_to_binary(re:replace("An AZ","A\\x0{2,3}Z","VQmaqWv&eULrw\\1glxho",[])), 
    <<"An AZ">> = iolist_to_binary(re:replace("An AZ","A\\x0{2,3}Z","VQmaqWv&eULrw\\1glxho",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","A\\x0{2,3}Z","UjPLaoqUhTok\\1&kA\\1G",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","A\\x0{2,3}Z","UjPLaoqUhTok\\1&kA\\1G",[global])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","\\1&y&cuh&VgTD&wTnGp",[])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","\\1&y&cuh&VgTD&wTnGp",[global])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","gEElh\\1ECMKe&HElIjJc",[])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","gEElh\\1ECMKe&HElIjJc",[global])), 
    <<"cowcowbellYcowcowbelludyJcowE">> = iolist_to_binary(re:replace("cowcowbell","^(cow|)\\1(bell)","&Y&udyJ\\1E",[])), 
    <<"cowcowbellYcowcowbelludyJcowE">> = iolist_to_binary(re:replace("cowcowbell","^(cow|)\\1(bell)","&Y&udyJ\\1E",[global])), 
    <<"XIIG">> = iolist_to_binary(re:replace("bell","^(cow|)\\1(bell)","XIIG\\1",[])), 
    <<"XIIG">> = iolist_to_binary(re:replace("bell","^(cow|)\\1(bell)","XIIG\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(cow|)\\1(bell)","FV&UIVc&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(cow|)\\1(bell)","FV&UIVc&",[global])), 
    <<"cowbell">> = iolist_to_binary(re:replace("cowbell","^(cow|)\\1(bell)","C&&\\1YwKbOHQIgm&R\\1\\1t",[])), 
    <<"cowbell">> = iolist_to_binary(re:replace("cowbell","^(cow|)\\1(bell)","C&&\\1YwKbOHQIgm&R\\1\\1t",[global])), 
    <<"ywr abc">> = iolist_to_binary(re:replace(" abc","^\\s","ywr&",[])), 
    <<"ywr abc">> = iolist_to_binary(re:replace(" abc","^\\s","ywr&",[global])), 
    <<"fRabc">> = iolist_to_binary(re:replace("abc","^\\s","&fR",[])), 
    <<"fRabc">> = iolist_to_binary(re:replace("abc","^\\s","&fR",[global])), 
    <<"CHbSJabc">> = iolist_to_binary(re:replace("
abc","^\\s","CHbSJ",[])), 
    <<"CHbSJabc">> = iolist_to_binary(re:replace("
abc","^\\s","CHbSJ",[global])), 
    <<"nivOFemIauK

XVEPabc">> = iolist_to_binary(re:replace("
abc","^\\s","n\\1ivOFemIauK&&XVEP",[])), 
    <<"nivOFemIauK

XVEPabc">> = iolist_to_binary(re:replace("
abc","^\\s","n\\1ivOFemIauK&&XVEP",[global])), 
    <<"Hs	Cwabc">> = iolist_to_binary(re:replace("	abc","^\\s","Hs&Cw",[])), 
    <<"Hs	Cwabc">> = iolist_to_binary(re:replace("	abc","^\\s","Hs&Cw",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\s","wydaKxDrmaSC\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\s","wydaKxDrmaSC\\1",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","^\\s","&mmImPqIRmsQLWtEuv\\1",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","^\\s","&mmImPqIRmsQLWtEuv\\1",[global])), 
    ok.
run4() ->
    <<"KvcEQcubkfx">> = iolist_to_binary(re:replace("abc","^a	b
      c","KvcEQc\\1\\1ubkfx",[extended])), 
    <<"KvcEQcubkfx">> = iolist_to_binary(re:replace("abc","^a	b
      c","KvcEQc\\1\\1ubkfx",[extended,global])), 
    <<"IEabanuYG">> = iolist_to_binary(re:replace("ab","^(a|)\\1*b","IE&\\1nuYG",[])), 
    <<"IEabanuYG">> = iolist_to_binary(re:replace("ab","^(a|)\\1*b","IE&\\1nuYG",[global])), 
    <<"oaVSaaaabg">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1*b","o\\1VS&g",[])), 
    <<"oaVSaaaabg">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1*b","o\\1VS&g",[global])), 
    <<"midgkQDfLoqgoK">> = iolist_to_binary(re:replace("b","^(a|)\\1*b","midgk\\1\\1Q\\1DfLoqgoK",[])), 
    <<"midgkQDfLoqgoK">> = iolist_to_binary(re:replace("b","^(a|)\\1*b","midgk\\1\\1Q\\1DfLoqgoK",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1*b","iq\\1HM&PoX",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1*b","iq\\1HM&PoX",[global])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1*b","pGDNJCvYBCUc&G&\\1\\1nc",[])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1*b","pGDNJCvYBCUc&G&\\1\\1nc",[global])), 
    <<"NFaDYqrUAXIDCar">> = iolist_to_binary(re:replace("aab","^(a|)\\1+b","NFaDYqrUAXIDC\\1r",[])), 
    <<"NFaDYqrUAXIDCar">> = iolist_to_binary(re:replace("aab","^(a|)\\1+b","NFaDYqrUAXIDC\\1r",[global])), 
    <<"rVeVeoaaaabXIMIhaaaaboaRr">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1+b","rVeVeo&XIMIh&o\\1Rr",[])), 
    <<"rVeVeoaaaabXIMIhaaaaboaRr">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1+b","rVeVeo&XIMIh&o\\1Rr",[global])), 
    <<"MOSbVKbFIBNV">> = iolist_to_binary(re:replace("b","^(a|)\\1+b","MOS\\1&VKbFIBNV",[])), 
    <<"MOSbVKbFIBNV">> = iolist_to_binary(re:replace("b","^(a|)\\1+b","MOS\\1&VKbFIBNV",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1+b","&X\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1+b","&X\\1",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1+b","HAk\\1RB",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1+b","HAk\\1RB",[global])), 
    <<"T">> = iolist_to_binary(re:replace("ab","^(a|)\\1?b","T",[])), 
    <<"T">> = iolist_to_binary(re:replace("ab","^(a|)\\1?b","T",[global])), 
    <<"NpaabpafbAIXVrowk">> = iolist_to_binary(re:replace("aab","^(a|)\\1?b","Np&p\\1fbAIXVrowk",[])), 
    <<"NpaabpafbAIXVrowk">> = iolist_to_binary(re:replace("aab","^(a|)\\1?b","Np&p\\1fbAIXVrowk",[global])), 
    <<"bTLqWwDhuNEDr">> = iolist_to_binary(re:replace("b","^(a|)\\1?b","&TLqWwDhuNEDr",[])), 
    <<"bTLqWwDhuNEDr">> = iolist_to_binary(re:replace("b","^(a|)\\1?b","&TLqWwDhuNEDr",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1?b","k&M&WqVpmLKP",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1?b","k&M&WqVpmLKP",[global])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1?b","sukwIjuiB",[])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1?b","sukwIjuiB",[global])), 
    <<"rHnDYYvSYMasyvaMyaaabqJ">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2}b","rHnDYYvSYM\\1syv\\1My&qJ",[])), 
    <<"rHnDYYvSYMasyvaMyaaabqJ">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2}b","rHnDYYvSYM\\1syv\\1My&qJ",[global])), 
    <<"gdeUBJebtvLObDlYQ">> = iolist_to_binary(re:replace("b","^(a|)\\1{2}b","gdeU\\1BJe&tvL\\1ObDlYQ",[])), 
    <<"gdeUBJebtvLObDlYQ">> = iolist_to_binary(re:replace("b","^(a|)\\1{2}b","gdeU\\1BJe&tvL\\1ObDlYQ",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2}b","AVUEjXCeg&i\\1T\\1ejtKi",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2}b","AVUEjXCeg&i\\1T\\1ejtKi",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2}b","E\\1YBlG",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2}b","E\\1YBlG",[global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2}b","&Oq&\\1IcB&LT",[])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2}b","&Oq&\\1IcB&LT",[global])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2}b","Xh",[])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2}b","Xh",[global])), 
    <<"gPaMHaaabaaabnaaOMIaVa">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2,3}b","gP\\1MH&&n\\1aOMI\\1Va",[])), 
    <<"gPaMHaaabaaabnaaOMIaVa">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2,3}b","gP\\1MH&&n\\1aOMI\\1Va",[global])), 
    <<"aaaabWf">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2,3}b","&Wf",[])), 
    <<"aaaabWf">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2,3}b","&Wf",[global])), 
    <<"KKYfigIbbfyLvtL">> = iolist_to_binary(re:replace("b","^(a|)\\1{2,3}b","KKYfigI&&fyL\\1v\\1tL",[])), 
    <<"KKYfigIbbfyLvtL">> = iolist_to_binary(re:replace("b","^(a|)\\1{2,3}b","KKYfigI&&fyL\\1v\\1tL",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2,3}b","NFHl",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2,3}b","NFHl",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2,3}b","ob\\1\\1J&ES\\1av\\1AM",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2,3}b","ob\\1\\1J&ES\\1av\\1AM",[global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2,3}b","\\1viNfcaQTcNH&ggGt",[])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2,3}b","\\1viNfcaQTcNH&ggGt",[global])), 
    <<"aaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a|)\\1{2,3}b","vu",[])), 
    <<"aaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a|)\\1{2,3}b","vu",[global])), 
    <<"aHJVskcmUR">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","\\1aHJVskcmUR",[])), 
    <<"aHJVskcmUR">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","\\1aHJVskcmUR",[global])), 
    <<"Rmabbbccackw">> = iolist_to_binary(re:replace("abbbc","ab{1,3}bc","Rm&cackw",[])), 
    <<"Rmabbbccackw">> = iolist_to_binary(re:replace("abbbc","ab{1,3}bc","Rm&cackw",[global])), 
    <<"VHGaMs">> = iolist_to_binary(re:replace("abbc","ab{1,3}bc","VHGaMs",[])), 
    <<"VHGaMs">> = iolist_to_binary(re:replace("abbc","ab{1,3}bc","VHGaMs",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{1,3}bc","UM&MN\\1&vHpV\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{1,3}bc","UM&MN\\1&vHpV\\1",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","ab{1,3}bc","os&Rm\\1akB\\1pkOAH",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","ab{1,3}bc","os&Rm\\1akB\\1pkOAH",[global])), 
    <<"abbbbbc">> = iolist_to_binary(re:replace("abbbbbc","ab{1,3}bc","oujXAne\\1\\1JsV&Y&I&",[])), 
    <<"abbbbbc">> = iolist_to_binary(re:replace("abbbbbc","ab{1,3}bc","oujXAne\\1\\1JsV&Y&I&",[global])), 
    <<"NCkLQtrack1">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","NCkLQ\\1",[])), 
    <<"NCkLQtrack1">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","NCkLQ\\1",[global])), 
    <<"track1.title:TBlah blah blahOtrack1.title:TBlah blah blahwtrack1fuQWtrack1.title:TBlah blah blahStrack1.title:TBlah blah blahkEFVKOH">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","&O&w\\1fuQW&S&kEFVKOH",[caseless])), 
    <<"track1.title:TBlah blah blahOtrack1.title:TBlah blah blahwtrack1fuQWtrack1.title:TBlah blah blahStrack1.title:TBlah blah blahkEFVKOH">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","&O&w\\1fuQW&S&kEFVKOH",[caseless,
                                                                                                                                                                                                                                                                                                       global])), 
    <<"VWgicEGtrack1">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[t ]+(.*)","VWgicEG\\1",[caseless])), 
    <<"VWgicEGtrack1">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[t ]+(.*)","VWgicEG\\1",[caseless,
                                                                                                                                                                                                                                                                             global])), 
    <<"UKrqsWXY_^abcTa">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","UKr\\1\\1qs&Ta",[])), 
    <<"UKrqsWXY_^abcTa">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","UKr\\1\\1qs&Ta",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-c]+$","LV\\1&\\1&\\1Je&M\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-c]+$","LV\\1&\\1&\\1Je&M\\1",[global])), 
    <<"wxy">> = iolist_to_binary(re:replace("wxy","^[W-c]+$","yqUKKN",[])), 
    <<"wxy">> = iolist_to_binary(re:replace("wxy","^[W-c]+$","yqUKKN",[global])), 
    <<"MxOWXY_^abcqjWXY_^abcWXY_^abcocGDNJgwU">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","MxO&qj&&ocGDNJgwU",[caseless])), 
    <<"MxOWXY_^abcqjWXY_^abcWXY_^abcocGDNJgwU">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","MxO&qj&&ocGDNJgwU",[caseless,
                                                                                                                                                                                                               global])), 
    <<"lgkBEwxy_^ABCC">> = iolist_to_binary(re:replace("wxy_^ABC","^[W-c]+$","\\1lgkBE&C\\1",[caseless])), 
    <<"lgkBEwxy_^ABCC">> = iolist_to_binary(re:replace("wxy_^ABC","^[W-c]+$","\\1lgkBE&C\\1",[caseless,
                                                                                                                                                                                                       global])), 
    <<"QSQrWXY_^abcvBpJUdCPFVxS">> = iolist_to_binary(re:replace("WXY_^abc","^[\\x3f-\\x5F]+$","QSQr&vBpJUdCP\\1F\\1VxS",[caseless])), 
    <<"QSQrWXY_^abcvBpJUdCPFVxS">> = iolist_to_binary(re:replace("WXY_^abc","^[\\x3f-\\x5F]+$","QSQr&vBpJUdCP\\1F\\1VxS",[caseless,
                                                                                                                                                                                                                                             global])), 
    <<"tgwxy_^ABChAjHBwxy_^ABC">> = iolist_to_binary(re:replace("wxy_^ABC","^[\\x3f-\\x5F]+$","tg&hAjHB&",[caseless])), 
    <<"tgwxy_^ABChAjHBwxy_^ABC">> = iolist_to_binary(re:replace("wxy_^ABC","^[\\x3f-\\x5F]+$","tg&hAjHB&",[caseless,
                                                                                                                                                                                                                global])), 
    <<"uyphoJSabcD">> = iolist_to_binary(re:replace("abc","^abc$","uyphoJS&D",[multiline])), 
    <<"uyphoJSabcD">> = iolist_to_binary(re:replace("abc","^abc$","uyphoJS&D",[multiline,
                                                                                                                                                                             global])), 
    <<"qqq
wupoAabcauHHyGGVeUwVabc">> = iolist_to_binary(re:replace("qqq
abc","^abc$","wupoA&au\\1HHyGGVeUwV&",[multiline])), 
    <<"qqq
wupoAabcauHHyGGVeUwVabc">> = iolist_to_binary(re:replace("qqq
abc","^abc$","wupoA&au\\1HHyGGVeUwV&",[multiline,global])), 
    <<"gfEviFcl
zzz">> = iolist_to_binary(re:replace("abc
zzz","^abc$","gf\\1EviFcl",[multiline])), 
    <<"gfEviFcl
zzz">> = iolist_to_binary(re:replace("abc
zzz","^abc$","gf\\1EviFcl",[multiline,global])), 
    <<"qqq
jwoabcabcBysLOHCR
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","^abc$","jwo&&BysLOHC\\1R",[multiline])), 
    <<"qqq
jwoabcabcBysLOHCR
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","^abc$","jwo&&BysLOHC\\1R",[multiline,global])), 
    <<"fPMabcFHNJXabcJChQyabcU">> = iolist_to_binary(re:replace("abc","^abc$","fPM&FHNJX&JCh\\1Qy&U",[])), 
    <<"fPMabcFHNJXabcJChQyabcU">> = iolist_to_binary(re:replace("abc","^abc$","fPM&FHNJX&JCh\\1Qy&U",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","&\\1&R\\1oixQQMrImGsd&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","&\\1&R\\1oixQQMrImGsd&",[global])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","^abc$","rAUAF&gmNHyoIX\\1ymqk",[])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","^abc$","rAUAF&gmNHyoIX\\1ymqk",[global])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","^abc$","&&qL\\1YUdNN\\1\\1\\1O\\1",[])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","^abc$","&&qL\\1YUdNN\\1\\1\\1O\\1",[global])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","^abc$","u",[])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","^abc$","u",[global])), 
    <<"abcRqIabcuWabcabcFN">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","&\\1RqI&uW&&F\\1N",[multiline])), 
    <<"abcRqIabcuWabcabcFN">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","&\\1RqI&uW&&F\\1N",[multiline,
                                                                                                                                                                                                           global])), 
    <<"abciwrfICONabcYabc">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","&iwrf\\1ICON&\\1Y&\\1\\1",[multiline])), 
    <<"abciwrfICONabcYabc">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","&iwrf\\1ICON&\\1Y&\\1\\1",[multiline,
                                                                                                                                                                                                                          global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\Z","RsIorq&kLBrJVt&Dq",[multiline])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\Z","RsIorq&kLBrJVt&Dq",[multiline,
                                                                                                                                                                                                                       global])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","\\Aabc\\Z","bByD\\1yC\\1hlr",[multiline])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","\\Aabc\\Z","bByD\\1yC\\1hlr",[multiline,global])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","\\Aabc\\Z","AuwHER\\1cj\\1XMx\\1jBcr&u",[multiline])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","\\Aabc\\Z","AuwHER\\1cj\\1XMx\\1jBcr&u",[multiline,
                                                              global])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","\\Aabc\\Z","kiYxAVR&jFLIO&t\\1to&",[multiline])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","\\Aabc\\Z","kiYxAVR&jFLIO&t\\1to&",[multiline,global])), 
    <<"DGWRrfDctbIpuofabc
defabc
defHPf">> = iolist_to_binary(re:replace("abc
def","\\A(.)*\\Z","DGWRr\\1DctbIpuo\\1&&HPf",[dotall])), 
    <<"DGWRrfDctbIpuofabc
defabc
defHPf">> = iolist_to_binary(re:replace("abc
def","\\A(.)*\\Z","DGWRr\\1DctbIpuo\\1&&HPf",[dotall,global])), 
    <<"XsHV*** FailerstLRmsk*** FailersMPy">> = iolist_to_binary(re:replace("*** Failers","\\A(.)*\\Z","XsHV&tLRm\\1k&MPy",[multiline])), 
    <<"XsHV*** FailerstLRmsk*** FailersMPy">> = iolist_to_binary(re:replace("*** Failers","\\A(.)*\\Z","XsHV&tLRm\\1k&MPy",[multiline,
                                                                                                                                                                                                                          global])), 
    <<"abc
def">> = iolist_to_binary(re:replace("abc
def","\\A(.)*\\Z","v",[multiline])), 
    <<"abc
def">> = iolist_to_binary(re:replace("abc
def","\\A(.)*\\Z","v",[multiline,global])), 
    <<"RmbbMhEEp::c">> = iolist_to_binary(re:replace("b::c","(?:b)|(?::+)","Rmb&MhEEp",[])), 
    <<"RmbbMhEEpRmb::MhEEpc">> = iolist_to_binary(re:replace("b::c","(?:b)|(?::+)","Rmb&MhEEp",[global])), 
    <<"cYDT::rLb">> = iolist_to_binary(re:replace("c::b","(?:b)|(?::+)","YDT\\1&rL",[])), 
    <<"cYDT::rLYDTbrL">> = iolist_to_binary(re:replace("c::b","(?:b)|(?::+)","YDT\\1&rL",[global])), 
    <<"ehR">> = iolist_to_binary(re:replace("az-","[-az]+","ehR",[])), 
    <<"ehR">> = iolist_to_binary(re:replace("az-","[-az]+","ehR",[global])), 
    <<"*** FsaiTaeaWvwilers">> = iolist_to_binary(re:replace("*** Failers","[-az]+","s&\\1iT\\1&eaWvw",[])), 
    <<"*** FsaiTaeaWvwilers">> = iolist_to_binary(re:replace("*** Failers","[-az]+","s&\\1iT\\1&eaWvw",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","[-az]+","mdHw",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","[-az]+","mdHw",[global])), 
    ok.
run5() ->
    <<"EDUoLiFaCJDko">> = iolist_to_binary(re:replace("za-","[az-]+","EDUoL\\1i\\1FaCJ\\1Dko",[])), 
    <<"EDUoLiFaCJDko">> = iolist_to_binary(re:replace("za-","[az-]+","EDUoL\\1i\\1FaCJ\\1Dko",[global])), 
    <<"*** FapAfSayQoaaFksilers">> = iolist_to_binary(re:replace("*** Failers","[az-]+","&\\1pAfS&yQo&&Fks\\1",[])), 
    <<"*** FapAfSayQoaaFksilers">> = iolist_to_binary(re:replace("*** Failers","[az-]+","&\\1pAfS&yQo&&Fks\\1",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","[az-]+","\\1LDAG\\1JLRNo",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","[az-]+","\\1LDAG\\1JLRNo",[global])), 
    <<"">> = iolist_to_binary(re:replace("a-z","[a\\-z]+","\\1",[])), 
    <<"">> = iolist_to_binary(re:replace("a-z","[a\\-z]+","\\1",[global])), 
    <<"*** FvVgilers">> = iolist_to_binary(re:replace("*** Failers","[a\\-z]+","vVg",[])), 
    <<"*** FvVgilers">> = iolist_to_binary(re:replace("*** Failers","[a\\-z]+","vVg",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","[a\\-z]+","bfgfonbXIj",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","[a\\-z]+","bfgfonbXIj",[global])), 
    <<"QYKd">> = iolist_to_binary(re:replace("abcdxyz","[a-z]+","Q\\1\\1Y\\1Kd\\1",[])), 
    <<"QYKd">> = iolist_to_binary(re:replace("abcdxyz","[a-z]+","Q\\1\\1Y\\1Kd\\1",[global])), 
    <<"UYmP12-3412-34">> = iolist_to_binary(re:replace("12-34","[\\d-]+","U\\1\\1YmP&&",[])), 
    <<"UYmP12-3412-34">> = iolist_to_binary(re:replace("12-34","[\\d-]+","U\\1\\1YmP&&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-]+","JWPgf\\1Eng\\1E\\1n",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-]+","JWPgf\\1Eng\\1E\\1n",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-]+","sRhgqdg&E",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-]+","sRhgqdg&E",[global])), 
    <<"efmQUhkdSK12-34zR12-34z12-34zTb">> = iolist_to_binary(re:replace("12-34z","[\\d-z]+","ef\\1mQUh\\1kdSK&R&&Tb",[])), 
    <<"efmQUhkdSK12-34zR12-34z12-34zTb">> = iolist_to_binary(re:replace("12-34z","[\\d-z]+","ef\\1mQUh\\1kdSK&R&&Tb",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-z]+","PJaMxeM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-z]+","PJaMxeM",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-z]+","My\\1Kbyr&\\1",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-z]+","My\\1Kbyr&\\1",[global])), 
    <<"QpJFT\\cphXBPQ ">> = iolist_to_binary(re:replace("\\ ","\\x5c","QpJF\\1T&cphXBPQ\\1",[])), 
    <<"QpJFT\\cphXBPQ ">> = iolist_to_binary(re:replace("\\ ","\\x5c","QpJF\\1T&cphXBPQ\\1",[global])), 
    <<"theHwjgWjRYr ZofH ZkBtIoo">> = iolist_to_binary(re:replace("the Zoo","\\x20Z","HwjgWjRYr&\\1ofH&kBtI",[])), 
    <<"theHwjgWjRYr ZofH ZkBtIoo">> = iolist_to_binary(re:replace("the Zoo","\\x20Z","HwjgWjRYr&\\1ofH&kBtI",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\x20Z","&STbBPwwLA",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\x20Z","&STbBPwwLA",[global])), 
    <<"Zulu">> = iolist_to_binary(re:replace("Zulu","\\x20Z","buG&ki&QEXQhj\\1\\1W",[])), 
    <<"Zulu">> = iolist_to_binary(re:replace("Zulu","\\x20Z","buG&ki&QEXQhj\\1\\1W",[global])), 
    <<"bhNKmH">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","bhNKmH",[caseless])), 
    <<"bhNKmH">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","bhNKmH",[caseless,
                                                                                                                                                                                  global])), 
    <<"jdFUGABCabcjABCabc">> = iolist_to_binary(re:replace("ABCabc","(abc)\\1","jdFUG&j&",[caseless])), 
    <<"jdFUGABCabcjABCabc">> = iolist_to_binary(re:replace("ABCabc","(abc)\\1","jdFUG&j&",[caseless,
                                                                                                                                                                                        global])), 
    <<"YSEabcsfRWrD">> = iolist_to_binary(re:replace("abcABC","(abc)\\1","YSE\\1sfRWrD",[caseless])), 
    <<"YSEabcsfRWrD">> = iolist_to_binary(re:replace("abcABC","(abc)\\1","YSE\\1sfRWrD",[caseless,
                                                                                                                                                                                               global])), 
    <<"CbQoKIFQqeNT">> = iolist_to_binary(re:replace("ab{3cd","ab{3cd","CbQoKIFQqeNT\\1",[])), 
    <<"CbQoKIFQqeNT">> = iolist_to_binary(re:replace("ab{3cd","ab{3cd","CbQoKIFQqeNT\\1",[global])), 
    <<"rhgUEyXbklwXmp">> = iolist_to_binary(re:replace("ab{3,cd","ab{3,cd","rhgUEyXbk\\1lwXmp",[])), 
    <<"rhgUEyXbklwXmp">> = iolist_to_binary(re:replace("ab{3,cd","ab{3,cd","rhgUEyXbk\\1lwXmp",[global])), 
    <<"Xlab{3,4a}cdcbaPbaKyKQGBb">> = iolist_to_binary(re:replace("ab{3,4a}cd","ab{3,4a}cd","Xl&cbaPbaKyKQG\\1Bb",[])), 
    <<"Xlab{3,4a}cdcbaPbaKyKQGBb">> = iolist_to_binary(re:replace("ab{3,4a}cd","ab{3,4a}cd","Xl&cbaPbaKyKQG\\1Bb",[global])), 
    <<"bSQWjrSvge">> = iolist_to_binary(re:replace("{4,5a}bc","{4,5a}bc","b\\1SQWjr\\1\\1Svge",[])), 
    <<"bSQWjrSvge">> = iolist_to_binary(re:replace("{4,5a}bc","{4,5a}bc","b\\1SQWjr\\1\\1Svge",[global])), 
    <<"SLxoL">> = iolist_to_binary(re:replace("abc","abc$","SLxoL",[])), 
    <<"SLxoL">> = iolist_to_binary(re:replace("abc","abc$","SLxoL",[global])), 
    <<"RJabcnabcqnisabctgJA">> = iolist_to_binary(re:replace("abc","abc$","RJ&n&qnis&tgJA",[])), 
    <<"RJabcnabcqnisabctgJA">> = iolist_to_binary(re:replace("abc","abc$","RJ&n&qnis&tgJA",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","cEO&P&qRklP&Nlb\\1H\\1K",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","cEO&P&qRklP&Nlb\\1H\\1K",[global])), 
    <<"abc
def">> = iolist_to_binary(re:replace("abc
def","abc$","h&&nb\\1&NBSkhYb",[])), 
    <<"abc
def">> = iolist_to_binary(re:replace("abc
def","abc$","h&&nb\\1&NBSkhYb",[global])), 
    <<"trlaTa">> = iolist_to_binary(re:replace("abcS","(abc)\\123","trlaTa",[])), 
    <<"trlaTa">> = iolist_to_binary(re:replace("abcS","(abc)\\123","trlaTa",[global])), 
    <<"Oabc“MWabcjRDvJhyeF">> = iolist_to_binary(re:replace("abc“","(abc)\\223","O&MW\\1jRDvJhyeF",[])), 
    <<"Oabc“MWabcjRDvJhyeF">> = iolist_to_binary(re:replace("abc“","(abc)\\223","O&MW\\1jRDvJhyeF",[global])), 
    <<"uLBUEpabcÓabcjn">> = iolist_to_binary(re:replace("abcÓ","(abc)\\323","uLBUEp&\\1jn",[])), 
    <<"uLBUEpabcÓabcjn">> = iolist_to_binary(re:replace("abcÓ","(abc)\\323","uLBUEp&\\1jn",[global])), 
    <<"Pi">> = iolist_to_binary(re:replace("abc@","(abc)\\100","Pi",[])), 
    <<"Pi">> = iolist_to_binary(re:replace("abc@","(abc)\\100","Pi",[global])), 
    <<"NLS">> = iolist_to_binary(re:replace("abc@","(abc)\\100","NLS",[])), 
    <<"NLS">> = iolist_to_binary(re:replace("abc@","(abc)\\100","NLS",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","gshb&NCwCI&\\1&O\\1Y&OU",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","gshb&NCwCI&\\1&O\\1Y&OU",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","wfQfG",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","wfQfG",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","nlTLMMuUL\\1dek",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","nlTLMMuUL\\1dek",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","VP\\1&nVqym",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","VP\\1&nVqym",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","YmKMMo",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","YmKMMo",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","POFFExkEtjS",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","POFFExkEtjS",[global])), 
    <<"abc81">> = iolist_to_binary(re:replace("abc81","abc\\81","FLXryNI\\1vKW\\1l",[])), 
    <<"abc81">> = iolist_to_binary(re:replace("abc81","abc\\81","FLXryNI\\1vKW\\1l",[global])), 
    <<"abc81">> = iolist_to_binary(re:replace("abc81","abc\\81","xwedFGU&&joLFV",[])), 
    <<"abc81">> = iolist_to_binary(re:replace("abc81","abc\\81","xwedFGU&&joLFV",[global])), 
    <<"abc91">> = iolist_to_binary(re:replace("abc91","abc\\91","QiTym",[])), 
    <<"abc91">> = iolist_to_binary(re:replace("abc91","abc\\91","QiTym",[global])), 
    <<"abc91">> = iolist_to_binary(re:replace("abc91","abc\\91","r",[])), 
    <<"abc91">> = iolist_to_binary(re:replace("abc91","abc\\91","r",[global])), 
    ok.
run6() ->
    <<"JavrrCGIJrabcdefghijkllSabcdefghijkllSRCgujabcdefghijkllSnS">> = iolist_to_binary(re:replace("abcdefghijkllS","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\\12\\123","J\\1vrrCGIJr&&RCguj&nS",[])), 
    <<"JavrrCGIJrabcdefghijkllSabcdefghijkllSRCgujabcdefghijkllSnS">> = iolist_to_binary(re:replace("abcdefghijkllS","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\\12\\123","J\\1vrrCGIJr&&RCguj&nS",[global])), 
    <<"Iabcdefghijk
SoGoIaaBybRYC">> = iolist_to_binary(re:replace("abcdefghijk
S","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\12\\123","I&oGoI\\1\\1BybRYC",[])), 
    <<"Iabcdefghijk
SoGoIaaBybRYC">> = iolist_to_binary(re:replace("abcdefghijk
S","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\12\\123","I&oGoI\\1\\1BybRYC",[global])), 
    <<"RGabidefuGO">> = iolist_to_binary(re:replace("abidef","ab\\idef","RG&u\\1G\\1O",[])), 
    <<"RGabidefuGO">> = iolist_to_binary(re:replace("abidef","ab\\idef","RG&u\\1G\\1O",[global])), 
    <<"khlnfNEs">> = iolist_to_binary(re:replace("bc","a{0}bc","khlnfNEs",[])), 
    <<"khlnfNEs">> = iolist_to_binary(re:replace("bc","a{0}bc","khlnfNEs",[global])), 
    <<"rqJj">> = iolist_to_binary(re:replace("xyz","(a|(bc)){0,0}?xyz","rqJj",[])), 
    <<"rqJj">> = iolist_to_binary(re:replace("xyz","(a|(bc)){0,0}?xyz","rqJj",[global])), 
    <<"lSP">> = iolist_to_binary(re:replace("abcde","abc[\\10]de","lSP",[])), 
    <<"lSP">> = iolist_to_binary(re:replace("abcde","abc[\\10]de","lSP",[global])), 
    <<"CKJxmayjvTnPabcdeFvA">> = iolist_to_binary(re:replace("abcde","abc[\\1]de","CKJxmayjvTnP&FvA",[])), 
    <<"CKJxmayjvTnPabcdeFvA">> = iolist_to_binary(re:replace("abcde","abc[\\1]de","CKJxmayjvTnP&FvA",[global])), 
    <<"WyBabcdeCxJkWabcdeipq">> = iolist_to_binary(re:replace("abcde","(abc)[\\1]de","WyB&CxJkW&ipq",[])), 
    <<"WyBabcdeCxJkWabcdeipq">> = iolist_to_binary(re:replace("abcde","(abc)[\\1]de","WyB&CxJkW&ipq",[global])), 
    <<"Ua
bXVska
bg">> = iolist_to_binary(re:replace("a
b","(?s)a.b","U&XVsk&g",[])), 
    <<"Ua
bXVska
bg">> = iolist_to_binary(re:replace("a
b","(?s)a.b","U&XVsk&g",[global])), 
    <<"WgjbaNOTcccckIbd">> = iolist_to_binary(re:replace("baNOTccccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","Wgj&kI\\1",[])), 
    <<"WgjbaNOTcccckIbd">> = iolist_to_binary(re:replace("baNOTccccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","Wgj&kI\\1",[global])), 
    <<"DoCtbaMWiqd">> = iolist_to_binary(re:replace("baNOTcccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","DoCt\\1aMWiq",[])), 
    <<"DoCtbaMWiqd">> = iolist_to_binary(re:replace("baNOTcccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","DoCt\\1aMWiq",[global])), 
    <<"thYPIiibbhwYvfLkd">> = iolist_to_binary(re:replace("baNOTccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","thYPIii\\1bhwYvfLk",[])), 
    <<"thYPIiibbhwYvfLkd">> = iolist_to_binary(re:replace("baNOTccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","thYPIii\\1bhwYvfLk",[global])), 
    <<"RibMcQxAKFpd">> = iolist_to_binary(re:replace("bacccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","Ri\\1McQxAKFp",[])), 
    <<"RibMcQxAKFpd">> = iolist_to_binary(re:replace("bacccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","Ri\\1McQxAKFp",[global])), 
    <<"vQUa">> = iolist_to_binary(re:replace("*** Failers","^([^a])([^\\b])([^c]*)([^d]{3,4})","vQUa",[])), 
    <<"vQUa">> = iolist_to_binary(re:replace("*** Failers","^([^a])([^\\b])([^c]*)([^d]{3,4})","vQUa",[global])), 
    <<"anything">> = iolist_to_binary(re:replace("anything","^([^a])([^\\b])([^c]*)([^d]{3,4})","bR\\1Bb&yOfWxBSieYBnJ",[])), 
    <<"anything">> = iolist_to_binary(re:replace("anything","^([^a])([^\\b])([^c]*)([^d]{3,4})","bR\\1Bb&yOfWxBSieYBnJ",[global])), 
    <<"bc">> = iolist_to_binary(re:replace("bc","^([^a])([^\\b])([^c]*)([^d]{3,4})","W\\1i\\1DbDlQDP&rWwmD&",[])), 
    <<"bc">> = iolist_to_binary(re:replace("bc","^([^a])([^\\b])([^c]*)([^d]{3,4})","W\\1i\\1DbDlQDP&rWwmD&",[global])), 
    <<"baccd">> = iolist_to_binary(re:replace("baccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ICMQ\\1pRu",[])), 
    <<"baccd">> = iolist_to_binary(re:replace("baccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ICMQ\\1pRu",[global])), 
    <<"eUfAADRbc">> = iolist_to_binary(re:replace("Abc","[^a]","\\1\\1e\\1Uf&&\\1DR",[])), 
    <<"eUfAADReUfbbDReUfccDR">> = iolist_to_binary(re:replace("Abc","[^a]","\\1\\1e\\1Uf&&\\1DR",[global])), 
    <<"AbGc">> = iolist_to_binary(re:replace("Abc","[^a]","\\1&G\\1",[caseless])), 
    <<"AbGcG">> = iolist_to_binary(re:replace("Abc","[^a]","\\1&G\\1",[caseless,
                                                                                                                                                                          global])), 
    <<"AAAGAAAIXPHIaAbc">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","&G&I\\1XPHI\\1",[])), 
    <<"AAAGAAAIXPHIaAbcGAbcIXPHI">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","&G&I\\1XPHI\\1",[global])), 
    <<"AAAaAIxSfS">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","IxSf\\1S",[caseless])), 
    <<"AAAaAIxSfS">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","IxSf\\1S",[caseless,
                                                                                                                                                                                  global])), 
    <<"AfTCbbb
cccEbbb
cccfDUfwWtHuS">> = iolist_to_binary(re:replace("bbb
ccc","[^a]+","AfTC&E&fDUfwWtH\\1uS",[])), 
    <<"AfTCbbb
cccEbbb
cccfDUfwWtHuS">> = iolist_to_binary(re:replace("bbb
ccc","[^a]+","AfTC&E&fDUfwWtH\\1uS",[global])), 
    <<"abUUudTcI">> = iolist_to_binary(re:replace("abc","[^k]$","UUud\\1TcI",[])), 
    <<"abUUudTcI">> = iolist_to_binary(re:replace("abc","[^k]$","UUud\\1TcI",[global])), 
    <<"*** FailerAiOYV">> = iolist_to_binary(re:replace("*** Failers","[^k]$","AiOYV",[])), 
    <<"*** FailerAiOYV">> = iolist_to_binary(re:replace("*** Failers","[^k]$","AiOYV",[global])), 
    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]$","UV&w&TjG&\\1O\\1m",[])), 
    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]$","UV&w&TjG&\\1O\\1m",[global])), 
    <<"cabcH">> = iolist_to_binary(re:replace("abc","[^k]{2,3}$","\\1c&\\1H",[])), 
    <<"cabcH">> = iolist_to_binary(re:replace("abc","[^k]{2,3}$","\\1c&\\1H",[global])), 
    <<"kUyCfbcubJVf">> = iolist_to_binary(re:replace("kbc","[^k]{2,3}$","UyCf&\\1\\1ub\\1JVf",[])), 
    <<"kUyCfbcubJVf">> = iolist_to_binary(re:replace("kbc","[^k]{2,3}$","UyCf&\\1\\1ub\\1JVf",[global])), 
    <<"kgiGjY">> = iolist_to_binary(re:replace("kabc","[^k]{2,3}$","giGj\\1\\1\\1Y",[])), 
    <<"kgiGjY">> = iolist_to_binary(re:replace("kabc","[^k]{2,3}$","giGj\\1\\1\\1Y",[global])), 
    <<"*** FailWjNDersauWgsT">> = iolist_to_binary(re:replace("*** Failers","[^k]{2,3}$","WjND&auWgsT",[])), 
    <<"*** FailWjNDersauWgsT">> = iolist_to_binary(re:replace("*** Failers","[^k]{2,3}$","WjND&auWgsT",[global])), 
    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]{2,3}$","Gu\\1",[])), 
    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]{2,3}$","Gu\\1",[global])), 
    <<"akb">> = iolist_to_binary(re:replace("akb","[^k]{2,3}$","a&Wrx\\1hniTRTJRP\\1",[])), 
    <<"akb">> = iolist_to_binary(re:replace("akb","[^k]{2,3}$","a&Wrx\\1hniTRTJRP\\1",[global])), 
    <<"akk">> = iolist_to_binary(re:replace("akk","[^k]{2,3}$","AkLa&fhMYWpv",[])), 
    <<"akk">> = iolist_to_binary(re:replace("akk","[^k]{2,3}$","AkLa&fhMYWpv",[global])), 
    <<"12345678.b.c.d">> = iolist_to_binary(re:replace("12345678.b.c.d","^\\d{8,}\\@.+[^k]$","HDxYDn",[])), 
    <<"12345678.b.c.d">> = iolist_to_binary(re:replace("12345678.b.c.d","^\\d{8,}\\@.+[^k]$","HDxYDn",[global])), 
    <<"123456789.y.z">> = iolist_to_binary(re:replace("123456789.y.z","^\\d{8,}\\@.+[^k]$","VU\\1D",[])), 
    <<"123456789.y.z">> = iolist_to_binary(re:replace("123456789.y.z","^\\d{8,}\\@.+[^k]$","VU\\1D",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8,}\\@.+[^k]$","GeBqm\\1Dmbs&G\\1vR",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8,}\\@.+[^k]$","GeBqm\\1Dmbs&G\\1vR",[global])), 
    <<"12345678.y.uk">> = iolist_to_binary(re:replace("12345678.y.uk","^\\d{8,}\\@.+[^k]$","a&VS\\1&BvR",[])), 
    <<"12345678.y.uk">> = iolist_to_binary(re:replace("12345678.y.uk","^\\d{8,}\\@.+[^k]$","a&VS\\1&BvR",[global])), 
    <<"1234567.b.c.d">> = iolist_to_binary(re:replace("1234567.b.c.d","^\\d{8,}\\@.+[^k]$","A&Ex&\\1\\1M\\1",[])), 
    <<"1234567.b.c.d">> = iolist_to_binary(re:replace("1234567.b.c.d","^\\d{8,}\\@.+[^k]$","A&Ex&\\1\\1M\\1",[global])), 
    <<"UNaaaaaaaaaASae">> = iolist_to_binary(re:replace("aaaaaaaaa","(a)\\1{8,}","UN&AS\\1e",[])), 
    <<"UNaaaaaaaaaASae">> = iolist_to_binary(re:replace("aaaaaaaaa","(a)\\1{8,}","UN&AS\\1e",[global])), 
    <<"tceAbivVhQav">> = iolist_to_binary(re:replace("aaaaaaaaaa","(a)\\1{8,}","tceAbivVhQ\\1v",[])), 
    <<"tceAbivVhQav">> = iolist_to_binary(re:replace("aaaaaaaaaa","(a)\\1{8,}","tceAbivVhQ\\1v",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a)\\1{8,}","&\\1CR\\1G\\1lXwnVv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a)\\1{8,}","&\\1CR\\1G\\1lXwnVv",[global])), 
    <<"aaaaaaa">> = iolist_to_binary(re:replace("aaaaaaa","(a)\\1{8,}","\\1okyxc\\1yX\\1vEJ&&",[])), 
    <<"aaaaaaa">> = iolist_to_binary(re:replace("aaaaaaa","(a)\\1{8,}","\\1okyxc\\1yX\\1vEJ&&",[global])), 
    <<"aaaaXxrcd">> = iolist_to_binary(re:replace("aaaabcd","[^a]","Xxr",[])), 
    <<"aaaaXxrXxrXxr">> = iolist_to_binary(re:replace("aaaabcd","[^a]","Xxr",[global])), 
    <<"aaarLbBCUOMivTWabcd">> = iolist_to_binary(re:replace("aaAabcd","[^a]","arLbBC\\1UOMivTW",[])), 
    <<"aaarLbBCUOMivTWaarLbBCUOMivTWarLbBCUOMivTWarLbBCUOMivTW">> = iolist_to_binary(re:replace("aaAabcd","[^a]","arLbBC\\1UOMivTW",[global])), 
    ok.
run7() ->
    <<"aaaapwMAbnNcRDBcd">> = iolist_to_binary(re:replace("aaaabcd","[^a]","pwMA&\\1n\\1NcRDB",[caseless])), 
    <<"aaaapwMAbnNcRDBpwMAcnNcRDBpwMAdnNcRDB">> = iolist_to_binary(re:replace("aaaabcd","[^a]","pwMA&\\1n\\1NcRDB",[caseless,
                                                                                                                                                                                                    global])), 
    <<"aaAaUjWwoTQoHtojaVMGDcd">> = iolist_to_binary(re:replace("aaAabcd","[^a]","UjWwoTQoHtoja\\1\\1VMGD\\1",[caseless])), 
    <<"aaAaUjWwoTQoHtojaVMGDUjWwoTQoHtojaVMGDUjWwoTQoHtojaVMGD">> = iolist_to_binary(re:replace("aaAabcd","[^a]","UjWwoTQoHtoja\\1\\1VMGD\\1",[caseless,
                                                                                                                                                                                                                      global])), 
    <<"aaaapmJHbuyrGSgPWcd">> = iolist_to_binary(re:replace("aaaabcd","[^az]","pmJH&uyr\\1GSgPW",[])), 
    <<"aaaapmJHbuyrGSgPWpmJHcuyrGSgPWpmJHduyrGSgPW">> = iolist_to_binary(re:replace("aaaabcd","[^az]","pmJH&uyr\\1GSgPW",[global])), 
    <<"aaYcjbFRuBabcd">> = iolist_to_binary(re:replace("aaAabcd","[^az]","Y\\1cjbFRu\\1B",[])), 
    <<"aaYcjbFRuBaYcjbFRuBYcjbFRuBYcjbFRuB">> = iolist_to_binary(re:replace("aaAabcd","[^az]","Y\\1cjbFRu\\1B",[global])), 
    <<"aaaaBbjBVQSSpboacd">> = iolist_to_binary(re:replace("aaaabcd","[^az]","\\1B&jB\\1VQSSp&\\1\\1o\\1a",[caseless])), 
    <<"aaaaBbjBVQSSpboaBcjBVQSSpcoaBdjBVQSSpdoa">> = iolist_to_binary(re:replace("aaaabcd","[^az]","\\1B&jB\\1VQSSp&\\1\\1o\\1a",[caseless,
                                                                                                                                                                                                                              global])), 
    <<"aaAaibNcd">> = iolist_to_binary(re:replace("aaAabcd","[^az]","i&N",[caseless])), 
    <<"aaAaibNicNidN">> = iolist_to_binary(re:replace("aaAabcd","[^az]","i&N",[caseless,
                                                                                                                                                                        global])), 
    <<"xxxxxxxxxxxyxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,6}?LL","y",[])), 
    <<"xxxxxxxxxxxyxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,6}?LL","y",[global])), 
    <<"xxxxxxxxxxxPSTAIREISLLQxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,}?LL","&Q",[])), 
    <<"xxxxxxxxxxxPSTAIREISLLQxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,}?LL","&Q",[global])), 
    <<"1uJmu.23V.23UHIOGab">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d[1-9]?)\\d+","uJmu\\1V\\1UHIOGab",[])), 
    <<"1uJmu.23V.23UHIOGab">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d[1-9]?)\\d+","uJmu\\1V\\1UHIOGab",[global])), 
    <<"1DI.875.875000282NK.875000282.875j">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d[1-9]?)\\d+","DI\\1&NK&\\1j",[])), 
    <<"1DI.875.875000282NK.875000282.875j">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d[1-9]?)\\d+","DI\\1&NK&\\1j",[global])), 
    <<"1L.235.23HWQNY.23KfHhq.235.23ggY">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d[1-9]?)\\d+","L&\\1HWQNY\\1KfHhq&\\1ggY",[])), 
    <<"1L.235.23HWQNY.23KfHhq.235.23ggY">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d[1-9]?)\\d+","L&\\1HWQNY\\1KfHhq&\\1ggY",[global])), 
    <<"1DSE0003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d((?=0)|\\d(?=\\d)))","DSE",[])), 
    <<"1DSE0003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d((?=0)|\\d(?=\\d)))","DSE",[global])), 
    <<"1LaUySoWUFF.875.875.875000282">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d((?=0)|\\d(?=\\d)))","LaUySoWUFF&&\\1",[])), 
    <<"1LaUySoWUFF.875.875.875000282">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d((?=0)|\\d(?=\\d)))","LaUySoWUFF&&\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\.\\d\\d((?=0)|\\d(?=\\d)))","tRWNXmOIDc\\1&GGpOuk",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\.\\d\\d((?=0)|\\d(?=\\d)))","tRWNXmOIDc\\1&GGpOuk",[global])), 
    <<"1.235">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d((?=0)|\\d(?=\\d)))","lYmo&PAOYv",[])), 
    <<"1.235">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d((?=0)|\\d(?=\\d)))","lYmo&PAOYv",[global])), 
    <<"reSOwDabTAGPdSa">> = iolist_to_binary(re:replace("ab","a(?)b","reSOwD\\1&TAGPdSa",[])), 
    <<"reSOwDabTAGPdSa">> = iolist_to_binary(re:replace("ab","a(?)b","reSOwD\\1&TAGPdSa",[global])), 
    <<"Food is on the OvbQHtTuN">> = iolist_to_binary(re:replace("Food is on the foo table","\\b(foo)\\s+(\\w+)","OvbQHtTuN",[caseless])), 
    <<"Food is on the OvbQHtTuN">> = iolist_to_binary(re:replace("Food is on the foo table","\\b(foo)\\s+(\\w+)","OvbQHtTuN",[caseless,
                                                                                                                                                                                                                                                  global])), 
    <<"The jd is under the bar in the d is under the bar in the food is under the bar in the barRfood is under the bar in the barfood is under the bar in the barjESIDd is under the bar in the GWBDn.">> = iolist_to_binary(re:replace("The food is under the bar in the barn.","foo(.*)bar","j\\1\\1&R&&jESID\\1GWBD",[])), 
    <<"The jd is under the bar in the d is under the bar in the food is under the bar in the barRfood is under the bar in the barfood is under the bar in the barjESIDd is under the bar in the GWBDn.">> = iolist_to_binary(re:replace("The food is under the bar in the barn.","foo(.*)bar","j\\1\\1&R&&jESID\\1GWBD",[global])), 
    <<"The Mtfood is under the bard is under the sCjcC in the barn.">> = iolist_to_binary(re:replace("The food is under the bar in the barn.","foo(.*?)bar","Mt&\\1sCjcC",[])), 
    <<"The Mtfood is under the bard is under the sCjcC in the barn.">> = iolist_to_binary(re:replace("The food is under the bar in the barn.","foo(.*?)bar","Mt&\\1sCjcC",[global])), 
    <<"II have 2 numbers: 53147sQEJI have 2 numbers: 53147I have 2 numbers: 53147QI have 2 numbers: 53147I have 2 numbers: 53147Y">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d*)","I&sQEJ\\1\\1Q\\1\\1Y",[])), 
    <<"II have 2 numbers: 53147sQEJI have 2 numbers: 53147I have 2 numbers: 53147QI have 2 numbers: 53147I have 2 numbers: 53147YIsQEJQY">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d*)","I&sQEJ\\1\\1Q\\1\\1Y",[global])), 
    <<"BjeLtTBnKKfmuI have 2 numbers: 53147Q">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)","BjeLtTBnKKfmu&Q",[])), 
    <<"BjeLtTBnKKfmuI have 2 numbers: 53147Q">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)","BjeLtTBnKKfmu&Q",[global])), 
    <<"XjUoIVWVCosccRPCI have 2 numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d*)","XjUoIVW\\1VCosccRPC&&",[])), 
    <<"XjUoIVWVCosccRPCXjUoIVWIVCosccRPCIIXjUoIVWVCosccRPCXjUoIVW VCosccRPC  XjUoIVWVCosccRPCXjUoIVWhVCosccRPChhXjUoIVWVCosccRPCXjUoIVWaVCosccRPCaaXjUoIVWVCosccRPCXjUoIVWvVCosccRPCvvXjUoIVWVCosccRPCXjUoIVWeVCosccRPCeeXjUoIVWVCosccRPCXjUoIVW VCosccRPC 2 2XjUoIVWVCosccRPCXjUoIVW VCosccRPC  XjUoIVWVCosccRPCXjUoIVWnVCosccRPCnnXjUoIVWVCosccRPCXjUoIVWuVCosccRPCuuXjUoIVWVCosccRPCXjUoIVWmVCosccRPCmmXjUoIVWVCosccRPCXjUoIVWbVCosccRPCbbXjUoIVWVCosccRPCXjUoIVWeVCosccRPCeeXjUoIVWVCosccRPCXjUoIVWrVCosccRPCrrXjUoIVWVCosccRPCXjUoIVWsVCosccRPCssXjUoIVWVCosccRPCXjUoIVW:VCosccRPC::XjUoIVWVCosccRPCXjUoIVW VCosccRPC 53147 53147XjUoIVWVCosccRPC">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d*)","XjUoIVW\\1VCosccRPC&&",[global])), 
    <<"LnetbRUI have woRN numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)","LnetbRU\\1woRN",[])), 
    <<"LnetbRUI have woRNLnetbRU numbers: woRN">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)","LnetbRU\\1woRN",[global])), 
    <<"dD">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)$","dD",[])), 
    <<"dD">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)$","dD",[global])), 
    <<"I have 2 numbers: vpu">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)$","\\1vpu",[])), 
    <<"I have 2 numbers: vpu">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)$","\\1vpu",[global])), 
    <<"rEcQnOiThojYmI have 2 numbers: ysnN">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)\\b(\\d+)$","rEcQnOiThojYm\\1ysnN",[])), 
    <<"rEcQnOiThojYmI have 2 numbers: ysnN">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)\\b(\\d+)$","rEcQnOiThojYm\\1ysnN",[global])), 
    <<"DI have 2 numbers: 53147WrwmlgEQLiI have 2 numbers: 53147NE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*\\D)(\\d+)$","D&WrwmlgEQLi&NE",[])), 
    <<"DI have 2 numbers: 53147WrwmlgEQLiI have 2 numbers: 53147NE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*\\D)(\\d+)$","D&WrwmlgEQLi&NE",[global])), 
    ok.
run8() ->
    <<"ABcsqUeQdAAByYxNC123">> = iolist_to_binary(re:replace("ABC123","^\\D*(?!123)","&csq\\1UeQdA&yYxN",[])), 
    <<"ABcsqUeQdAAByYxNC123">> = iolist_to_binary(re:replace("ABC123","^\\D*(?!123)","&csq\\1UeQdA&yYxN",[global])), 
    <<"KABCABCBP445">> = iolist_to_binary(re:replace("ABC445","^(\\D*)(?=\\d)(?!123)","K\\1&BP",[])), 
    <<"KABCABCBP445">> = iolist_to_binary(re:replace("ABC445","^(\\D*)(?=\\d)(?!123)","K\\1&BP",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","kBiY&gp\\1BUO\\1l",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","kBiY&gp\\1BUO\\1l",[global])), 
    <<"ABC123">> = iolist_to_binary(re:replace("ABC123","^(\\D*)(?=\\d)(?!123)","\\1YYe",[])), 
    <<"ABC123">> = iolist_to_binary(re:replace("ABC123","^(\\D*)(?=\\d)(?!123)","\\1YYe",[global])), 
    <<"W46]pbAIEqJRW46]W46]cNuYW46]789">> = iolist_to_binary(re:replace("W46]789","^[W-]46]","&pbAIEqJ\\1R&&cNuY&",[])), 
    <<"W46]pbAIEqJRW46]W46]cNuYW46]789">> = iolist_to_binary(re:replace("W46]789","^[W-]46]","&pbAIEqJ\\1R&&cNuY&",[global])), 
    <<"AXCFhT-46]LP-46]gILH-46]rA789">> = iolist_to_binary(re:replace("-46]789","^[W-]46]","AXCFhT&LP&gIL\\1H&rA",[])), 
    <<"AXCFhT-46]LP-46]gILH-46]rA789">> = iolist_to_binary(re:replace("-46]789","^[W-]46]","AXCFhT&LP&gIL\\1H&rA",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-]46]","ke&s",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-]46]","ke&s",[global])), 
    <<"Wall">> = iolist_to_binary(re:replace("Wall","^[W-]46]","\\1C\\1VS&grCoMvM\\1",[])), 
    <<"Wall">> = iolist_to_binary(re:replace("Wall","^[W-]46]","\\1C\\1VS&grCoMvM\\1",[global])), 
    <<"Zebra">> = iolist_to_binary(re:replace("Zebra","^[W-]46]","G\\1\\1",[])), 
    <<"Zebra">> = iolist_to_binary(re:replace("Zebra","^[W-]46]","G\\1\\1",[global])), 
    <<"42">> = iolist_to_binary(re:replace("42","^[W-]46]","k\\1p&\\1&E&OlmU",[])), 
    <<"42">> = iolist_to_binary(re:replace("42","^[W-]46]","k\\1p&\\1&E&OlmU",[global])), 
    <<"[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-]46]","BHuM&QWt&V&Fw&R\\1",[])), 
    <<"[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-]46]","BHuM&QWt&V&Fw&R\\1",[global])), 
    <<"]abcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-]46]","bm\\1kBng&&HJv",[])), 
    <<"]abcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-]46]","bm\\1kBng&&HJv",[global])), 
    <<"YiVQVvgWY46]789">> = iolist_to_binary(re:replace("W46]789","^[W-\\]46]","Yi\\1VQVv\\1g&Y",[])), 
    <<"YiVQVvgWY46]789">> = iolist_to_binary(re:replace("W46]789","^[W-\\]46]","Yi\\1VQVv\\1g&Y",[global])), 
    <<"KJall">> = iolist_to_binary(re:replace("Wall","^[W-\\]46]","K\\1J",[])), 
    <<"KJall">> = iolist_to_binary(re:replace("Wall","^[W-\\]46]","K\\1J",[global])), 
    <<"ghebra">> = iolist_to_binary(re:replace("Zebra","^[W-\\]46]","gh",[])), 
    <<"ghebra">> = iolist_to_binary(re:replace("Zebra","^[W-\\]46]","gh",[global])), 
    <<"TQpylophone">> = iolist_to_binary(re:replace("Xylophone","^[W-\\]46]","TQp\\1",[])), 
    <<"TQpylophone">> = iolist_to_binary(re:replace("Xylophone","^[W-\\]46]","TQp\\1",[global])), 
    <<"4yTdgOXvDDmWf2">> = iolist_to_binary(re:replace("42","^[W-\\]46]","&y\\1TdgOXvDDm\\1Wf",[])), 
    <<"4yTdgOXvDDmWf2">> = iolist_to_binary(re:replace("42","^[W-\\]46]","&y\\1TdgOXvDDm\\1Wf",[global])), 
    <<"[OVexyXabcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-\\]46]","&OVexyX",[])), 
    <<"[OVexyXabcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-\\]46]","&OVexyX",[global])), 
    <<"HparACpuFCvG]abcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-\\]46]","HparACp\\1uFCvG&",[])), 
    <<"HparACpuFCvG]abcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-\\]46]","HparACp\\1uFCvG&",[global])), 
    <<"HQnantyI\\wNbackslash">> = iolist_to_binary(re:replace("\\backslash","^[W-\\]46]","HQnantyI&wN",[])), 
    <<"HQnantyI\\wNbackslash">> = iolist_to_binary(re:replace("\\backslash","^[W-\\]46]","HQnantyI&wN",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-\\]46]","AMd&J\\1SokjY\\1\\1nK",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-\\]46]","AMd&J\\1SokjY\\1\\1nK",[global])), 
    <<"-46]789">> = iolist_to_binary(re:replace("-46]789","^[W-\\]46]","RyY&cCj",[])), 
    <<"-46]789">> = iolist_to_binary(re:replace("-46]789","^[W-\\]46]","RyY&cCj",[global])), 
    <<"well">> = iolist_to_binary(re:replace("well","^[W-\\]46]","XPRm\\1VTejwB",[])), 
    <<"well">> = iolist_to_binary(re:replace("well","^[W-\\]46]","XPRm\\1VTejwB",[global])), 
    <<"oroGlaQAqnbI">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark otherword","word (?:[a-zA-Z0-9]+ ){0,10}otherword","oroGlaQAqnbI",[])), 
    <<"oroGlaQAqnbI">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark otherword","word (?:[a-zA-Z0-9]+ ){0,10}otherword","oroGlaQAqnbI",[global])), 
    <<"word cat dog elephant mussel cow horse canary baboon snake shark">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark","word (?:[a-zA-Z0-9]+ ){0,10}otherword","&E\\1",[])), 
    <<"word cat dog elephant mussel cow horse canary baboon snake shark">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark","word (?:[a-zA-Z0-9]+ ){0,10}otherword","&E\\1",[global])), 
    <<"word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope","word (?:[a-zA-Z0-9]+ ){0,300}otherword","b\\1sLq\\1\\1P",[])), 
    <<"word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope","word (?:[a-zA-Z0-9]+ ){0,300}otherword","b\\1sLq\\1\\1P",[global])), 
    <<"fPbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,0}","fP",[])), 
    <<"fPbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,0}","fP",[global])), 
    <<"jFVHnjWvnETRabc">> = iolist_to_binary(re:replace("abc","^(a){0,0}","jFVHn&j&WvnETR",[])), 
    <<"jFVHnjWvnETRabc">> = iolist_to_binary(re:replace("abc","^(a){0,0}","jFVHn&j&WvnETR",[global])), 
    <<"NDaab">> = iolist_to_binary(re:replace("aab","^(a){0,0}","ND",[])), 
    <<"NDaab">> = iolist_to_binary(re:replace("aab","^(a){0,0}","ND",[global])), 
    <<"RNIIKIcNvfeSEvtOPRObcd">> = iolist_to_binary(re:replace("bcd","^(a){0,1}","RNIIKIcNvfeSEvtO\\1PRO",[])), 
    <<"RNIIKIcNvfeSEvtOPRObcd">> = iolist_to_binary(re:replace("bcd","^(a){0,1}","RNIIKIcNvfeSEvtO\\1PRO",[global])), 
    <<"dDaaaaCaSvbc">> = iolist_to_binary(re:replace("abc","^(a){0,1}","dD&&&&C&Sv",[])), 
    <<"dDaaaaCaSvbc">> = iolist_to_binary(re:replace("abc","^(a){0,1}","dD&&&&C&Sv",[global])), 
    <<"cBbGtgJQnrojHMab">> = iolist_to_binary(re:replace("aab","^(a){0,1}","cBbGtgJQnrojHM",[])), 
    <<"cBbGtgJQnrojHMab">> = iolist_to_binary(re:replace("aab","^(a){0,1}","cBbGtgJQnrojHM",[global])), 
    <<"Mhbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,2}","\\1&M\\1h",[])), 
    <<"Mhbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,2}","\\1&M\\1h",[global])), 
    <<"aauJmduMieraXgHfaobc">> = iolist_to_binary(re:replace("abc","^(a){0,2}","&&uJmduMier\\1XgHf&o",[])), 
    <<"aauJmduMieraXgHfaobc">> = iolist_to_binary(re:replace("abc","^(a){0,2}","&&uJmduMier\\1XgHf&o",[global])), 
    <<"aaunb">> = iolist_to_binary(re:replace("aab","^(a){0,2}","&un",[])), 
    <<"aaunb">> = iolist_to_binary(re:replace("aab","^(a){0,2}","&un",[global])), 
    <<"osculgsNbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,3}","osculg&s&N&",[])), 
    <<"osculgsNbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,3}","osculg&s&N&",[global])), 
    <<"gerhgaeJRbnhIdabc">> = iolist_to_binary(re:replace("abc","^(a){0,3}","gerhg&eJRbnhId&",[])), 
    <<"gerhgaeJRbnhIdabc">> = iolist_to_binary(re:replace("abc","^(a){0,3}","gerhg&eJRbnhId&",[global])), 
    <<"emmqaaaesYb">> = iolist_to_binary(re:replace("aab","^(a){0,3}","emmq&\\1esY",[])), 
    <<"emmqaaaesYb">> = iolist_to_binary(re:replace("aab","^(a){0,3}","emmq&\\1esY",[global])), 
    <<"Rfafau">> = iolist_to_binary(re:replace("aaa","^(a){0,3}","Rf\\1f\\1u",[])), 
    <<"Rfafau">> = iolist_to_binary(re:replace("aaa","^(a){0,3}","Rf\\1f\\1u",[global])), 
    <<"Bbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,}","B",[])), 
    <<"Bbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,}","B",[global])), 
    <<"aOlCbc">> = iolist_to_binary(re:replace("abc","^(a){0,}","\\1OlC",[])), 
    <<"aOlCbc">> = iolist_to_binary(re:replace("abc","^(a){0,}","\\1OlC",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("aab","^(a){0,}","\\1",[])), 
    <<"ab">> = iolist_to_binary(re:replace("aab","^(a){0,}","\\1",[global])), 
    <<"ECTqSuTCy">> = iolist_to_binary(re:replace("aaa","^(a){0,}","ECTqSuTCy",[])), 
    <<"ECTqSuTCy">> = iolist_to_binary(re:replace("aaa","^(a){0,}","ECTqSuTCy",[global])), 
    <<"WQhDeFb">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){0,}","WQhDeFb",[])), 
    <<"WQhDeFb">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){0,}","WQhDeFb",[global])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,1}","k&&&pAWV&FHAQeCpc",[])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,1}","k&&&pAWV&FHAQeCpc",[global])), 
    <<"rorUbgMQXaSaYGambc">> = iolist_to_binary(re:replace("abc","^(a){1,1}","rorUbgMQX&S\\1YG\\1m",[])), 
    <<"rorUbgMQXaSaYGambc">> = iolist_to_binary(re:replace("abc","^(a){1,1}","rorUbgMQX&S\\1YG\\1m",[global])), 
    <<"aNaaab">> = iolist_to_binary(re:replace("aab","^(a){1,1}","aN&\\1",[])), 
    <<"aNaaab">> = iolist_to_binary(re:replace("aab","^(a){1,1}","aN&\\1",[global])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,2}","j\\1w\\1UDgbH",[])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,2}","j\\1w\\1UDgbH",[global])), 
    <<"kNacaAaaHgaaWTaWaubc">> = iolist_to_binary(re:replace("abc","^(a){1,2}","kN\\1c\\1Aa&Hg\\1&WT&W&u",[])), 
    <<"kNacaAaaHgaaWTaWaubc">> = iolist_to_binary(re:replace("abc","^(a){1,2}","kN\\1c\\1Aa&Hg\\1&WT&W&u",[global])), 
    <<"AjaaammeJIb">> = iolist_to_binary(re:replace("aab","^(a){1,2}","Aj&\\1mmeJI",[])), 
    <<"AjaaammeJIb">> = iolist_to_binary(re:replace("aab","^(a){1,2}","Aj&\\1mmeJI",[global])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,3}","&&TTjl\\1nt",[])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,3}","&&TTjl\\1nt",[global])), 
    <<"UeMuRbc">> = iolist_to_binary(re:replace("abc","^(a){1,3}","UeMuR",[])), 
    <<"UeMuRbc">> = iolist_to_binary(re:replace("abc","^(a){1,3}","UeMuR",[global])), 
    <<"vFaaaSDjb">> = iolist_to_binary(re:replace("aab","^(a){1,3}","vF\\1&SDj",[])), 
    <<"vFaaaSDjb">> = iolist_to_binary(re:replace("aab","^(a){1,3}","vF\\1&SDj",[global])), 
    <<"CNwXaaa">> = iolist_to_binary(re:replace("aaa","^(a){1,3}","CNwX&",[])), 
    <<"CNwXaaa">> = iolist_to_binary(re:replace("aaa","^(a){1,3}","CNwX&",[global])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,}","E\\1eK",[])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,}","E\\1eK",[global])), 
    <<"IWaNYMwyOaJnfoPPMbc">> = iolist_to_binary(re:replace("abc","^(a){1,}","IW&NYMwyO\\1JnfoPPM",[])), 
    <<"IWaNYMwyOaJnfoPPMbc">> = iolist_to_binary(re:replace("abc","^(a){1,}","IW&NYMwyO\\1JnfoPPM",[global])), 
    <<"SaaafHrCab">> = iolist_to_binary(re:replace("aab","^(a){1,}","S&\\1fHrCa",[])), 
    <<"SaaafHrCab">> = iolist_to_binary(re:replace("aab","^(a){1,}","S&\\1fHrCa",[global])), 
    <<"MaYaaaRaAXUO">> = iolist_to_binary(re:replace("aaa","^(a){1,}","M\\1Y&R\\1AXUO",[])), 
    <<"MaYaaaRaAXUO">> = iolist_to_binary(re:replace("aaa","^(a){1,}","M\\1Y&R\\1AXUO",[global])), 
    <<"BsHaS">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){1,}","BsH\\1S",[])), 
    <<"BsHaS">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){1,}","BsH\\1S",[global])), 
    <<"borfle
nJEnJAvwAybib.gifXvq
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","nJEnJAvwAy&Xvq\\1",[])), 
    <<"borfle
nJEnJAvwAybib.gifXvq
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","nJEnJAvwAy&Xvq\\1",[global])), 
    <<"borfle
Nmmq
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".{0,}\\.gif","Nmmq",[])), 
    <<"borfle
Nmmq
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".{0,}\\.gif","Nmmq",[global])), 
    <<"borfle
BVKBwIDwbib.gifjgEqWxbib.gifEW
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","BVKBwIDw&jgEqW\\1x&EW",[multiline])), 
    <<"borfle
BVKBwIDwbib.gifjgEqWxbib.gifEW
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","BVKBwIDw&jgEqW\\1x&EW",[multiline,global])), 
    <<"borfle
bib.giffF
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","&fF",[dotall])), 
    <<"borfle
bib.giffF
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","&fF",[dotall,global])), 
    ok.
run9() ->
    <<"ARdLYmTSnXAA
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","AR\\1dLYmTSnXAA",[multiline,dotall])), 
    <<"ARdLYmTSnXAA
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","AR\\1dLYmTSnXAA",[multiline,dotall,global])), 
    <<"borfle
bib.gif
anoc">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","a&c",[])), 
    <<"borfle
bib.gif
anocac">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","a&c",[global])), 
    <<"fborfleDas
bib.gif
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","f&Das",[multiline])), 
    <<"fborfleDasfDas
fbib.gifDasfDas
fnoDasfDas">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","f&Das",[multiline,global])), 
    <<"eUveborfle
bib.gif
nopjBhborfle
bib.gif
noEXborfle
bib.gif
nodborfle
bib.gif
noiGXw">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","eUve&pjBh&EX&d&iGXw",[dotall])), 
    <<"eUveborfle
bib.gif
nopjBhborfle
bib.gif
noEXborfle
bib.gif
nodborfle
bib.gif
noiGXweUvepjBhEXdiGXw">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","eUve&pjBh&EX&d&iGXw",[dotall,global])), 
    <<"RIMAHborfle
bib.gif
norborfle
bib.gif
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","R\\1IMAH&\\1r&",[multiline,dotall])), 
    <<"RIMAHborfle
bib.gif
norborfle
bib.gif
noRIMAHr">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","R\\1IMAH&\\1r&",[multiline,dotall,global])), 
    <<"borfle
bib.gif
IXHXnoNO">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","IXHX&NO",[])), 
    <<"borfle
bib.gif
IXHXnoNOIXHXNO">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","IXHX&NO",[global])), 
    <<"iGCnBCJborfleUborflenLutTYS
bib.gif
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","\\1iGCnBC\\1J&U&nL\\1utTYS",[multiline])), 
    <<"iGCnBCJborfleUborflenLutTYSiGCnBCJUnLutTYS
iGCnBCJbib.gifUbib.gifnLutTYSiGCnBCJUnLutTYS
iGCnBCJnoUnonLutTYSiGCnBCJUnLutTYS">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","\\1iGCnBC\\1J&U&nL\\1utTYS",[multiline,global])), 
    <<"dkaborfle
bib.gif
nocxpCSRwborfle
bib.gif
noJQHcx">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","dka&cxpCSRw&JQ\\1Hc\\1x",[dotall])), 
    <<"dkaborfle
bib.gif
nocxpCSRwborfle
bib.gif
noJQHcxdkacxpCSRwJQHcx">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","dka&cxpCSRw&JQ\\1Hc\\1x",[dotall,global])), 
    <<"tnQDxLEhTFjTiWwouU">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","tnQDxLEhTF\\1jTiWwouU",[multiline,dotall])), 
    <<"tnQDxLEhTFjTiWwouUtnQDxLEhTFjTiWwouU">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","tnQDxLEhTF\\1jTiWwouU",[multiline,dotall,global])), 
    <<"abcde
fSiqVi1234Xw1234XWyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","fSiqVi&w\\1W",[])), 
    <<"abcde
fSiqVi1234Xw1234XWyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","fSiqVi&w\\1W",[global])), 
    <<"apCVoPCVMeDBpBBarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","apCVoPCVMeD&p\\1&",[])), 
    <<"apCVoPCVMeDBpBBarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","apCVoPCVMeD&p\\1&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","FiTmKNSyXk",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","FiTmKNSyXk",[global])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","&",[])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","&",[global])), 
    <<"abcde
1234XY1234X1234X1234XiJfcfLjk1234Xyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","&Y\\1\\1\\1iJfcfLjk\\1",[multiline])), 
    <<"abcde
1234XY1234X1234X1234XiJfcfLjk1234Xyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","&Y\\1\\1\\1iJfcfLjk\\1",[multiline,global])), 
    <<"BUrWBJarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","&UrW\\1J",[multiline])), 
    <<"BUrWBJarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","&UrW\\1J",[multiline,
                                                                                                                                                                                       global])), 
    <<"abcde
vpiar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","vpi",[multiline])), 
    <<"abcde
vpiar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","vpi",[multiline,global])), 
    <<"abcde
1234Xabcde
1234Xabcde
1234XOwvyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","\\1\\1&Owv",[dotall])), 
    <<"abcde
1234Xabcde
1234Xabcde
1234XOwvyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","\\1\\1&Owv",[dotall,global])), 
    <<"csBOSrLyBynarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","cs\\1OSrLy\\1yn",[dotall])), 
    <<"csBOSrLyBynarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","cs\\1OSrLy\\1yn",[dotall,
                                                                                                                                                                                                     global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","\\1qVOKf\\1jqa",[dotall])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","\\1qVOKf\\1jqa",[dotall,
                                                                                                                                                                                                             global])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","p",[dotall])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","p",[dotall,global])), 
    <<"YiHiyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","YiHi",[multiline,dotall])), 
    <<"YiHiyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","YiHi",[multiline,dotall,global])), 
    <<"DDQRgXBHBBSBcHarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","DDQRgXBH&&S\\1cH",[multiline,
                                                                                                                                                                                                        dotall])), 
    <<"DDQRgXBHBBSBcHarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","DDQRgXBH&&S\\1cH",[multiline,
                                                                                                                                                                                                         dotall,
                                                                                                                                                                                                         global])), 
    <<"abcde
KTLNdCWtmar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","KTLNdCWtm",[multiline,dotall])), 
    <<"abcde
KTLNdCWtmar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","KTLNdCWtm",[multiline,dotall,global])), 
    <<"UnqSIGfraCIjabcde
1234Xlyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(?s)(.*X|^B)","UnqSIGfraCIj&l",[])), 
    <<"UnqSIGfraCIjabcde
1234Xlyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(?s)(.*X|^B)","UnqSIGfraCIj&l",[global])), 
    <<"aDBarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s)(.*X|^B)","aDB",[])), 
    <<"aDBarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s)(.*X|^B)","aDB",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s)(.*X|^B)","hbfv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s)(.*X|^B)","hbfv",[global])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(?s)(.*X|^B)","&UWQV\\1&\\1\\1E",[])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(?s)(.*X|^B)","&UWQV\\1&\\1\\1E",[global])), 
    <<"KYpUjyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(?s:.*X|^B)","KY\\1\\1pUj\\1",[])), 
    <<"KYpUjyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(?s:.*X|^B)","KY\\1\\1pUj\\1",[global])), 
    <<"BSkyfarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s:.*X|^B)","\\1BSk\\1y\\1\\1f",[])), 
    <<"BSkyfarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s:.*X|^B)","\\1BSk\\1y\\1\\1f",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s:.*X|^B)","IG\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s:.*X|^B)","IG\\1",[global])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(?s:.*X|^B)","&OchEkLBdrDrxVm&",[])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(?s:.*X|^B)","&OchEkLBdrDrxVm&",[global])), 
    <<"**** Failers">> = iolist_to_binary(re:replace("**** Failers","^.*B","cYoDF\\1rwds&i&y&&XoFT",[])), 
    <<"**** Failers">> = iolist_to_binary(re:replace("**** Failers","^.*B","cYoDF\\1rwds&i&y&&XoFT",[global])), 
    <<"abc
B">> = iolist_to_binary(re:replace("abc
B","^.*B","gXmgvN\\1oh",[])), 
    <<"abc
B">> = iolist_to_binary(re:replace("abc
B","^.*B","gXmgvN\\1oh",[global])), 
    <<"EQuXabc
Babc
BcTMO">> = iolist_to_binary(re:replace("abc
B","(?s)^.*B","EQuX&&\\1cTMO",[])), 
    <<"EQuXabc
Babc
BcTMO">> = iolist_to_binary(re:replace("abc
B","(?s)^.*B","EQuX&&\\1cTMO",[global])), 
    <<"abc
gtvPyITnci">> = iolist_to_binary(re:replace("abc
B","(?m)^.*B","\\1gtvPyIT\\1\\1nci\\1",[])), 
    <<"abc
gtvPyITnci">> = iolist_to_binary(re:replace("abc
B","(?m)^.*B","\\1gtvPyIT\\1\\1nci\\1",[global])), 
    <<"Xiabc
BFQs">> = iolist_to_binary(re:replace("abc
B","(?ms)^.*B","Xi&FQs",[])), 
    <<"Xiabc
BFQs">> = iolist_to_binary(re:replace("abc
B","(?ms)^.*B","Xi&FQs",[global])), 
    <<"abc
KEQlgWBJydBXBMDBU">> = iolist_to_binary(re:replace("abc
B","(?ms)^B","KEQlgW&Jy\\1d&X&\\1\\1MD&U",[])), 
    <<"abc
KEQlgWBJydBXBMDBU">> = iolist_to_binary(re:replace("abc
B","(?ms)^B","KEQlgW&Jy\\1d&X&\\1\\1MD&U",[global])), 
    ok.
run10() ->
    <<"eucnXdJhktgj">> = iolist_to_binary(re:replace("B","(?s)B$","eucnXd\\1Jhktgj",[])), 
    <<"eucnXdJhktgj">> = iolist_to_binary(re:replace("B","(?s)B$","eucnXd\\1Jhktgj",[global])), 
    <<"huCb">> = iolist_to_binary(re:replace("123456654321","^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]","huCb",[])), 
    <<"huCb">> = iolist_to_binary(re:replace("123456654321","^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]","huCb",[global])), 
    <<"X123456654321">> = iolist_to_binary(re:replace("123456654321","^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d","X&",[])), 
    <<"X123456654321">> = iolist_to_binary(re:replace("123456654321","^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d","X&",[global])), 
    <<"TYfrdKv123456654321eOFnwwLVc">> = iolist_to_binary(re:replace("123456654321","^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]","TY\\1frdK\\1\\1v&eOFnwwLVc",[])), 
    <<"TYfrdKv123456654321eOFnwwLVc">> = iolist_to_binary(re:replace("123456654321","^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]","TY\\1frdK\\1\\1v&eOFnwwLVc",[global])), 
    <<"ARvxabcabcabcabcbhP">> = iolist_to_binary(re:replace("abcabcabcabc","^[abc]{12}","ARvx&bhP",[])), 
    <<"ARvxabcabcabcabcbhP">> = iolist_to_binary(re:replace("abcabcabcabc","^[abc]{12}","ARvx&bhP",[global])), 
    <<"VtabcabcabcabcaabcabcabcabcoPm">> = iolist_to_binary(re:replace("abcabcabcabc","^[a-c]{12}","V\\1t&a&oPm",[])), 
    <<"VtabcabcabcabcaabcabcabcabcoPm">> = iolist_to_binary(re:replace("abcabcabcabc","^[a-c]{12}","V\\1t&a&oPm",[global])), 
    <<"XSAxPcCWabcabcabcabccaabcabcabcabcC">> = iolist_to_binary(re:replace("abcabcabcabc","^(a|b|c){12}","XSAxPcCW&\\1a&C",[])), 
    <<"XSAxPcCWabcabcabcabccaabcabcabcabcC">> = iolist_to_binary(re:replace("abcabcabcabc","^(a|b|c){12}","XSAxPcCW&\\1a&C",[global])), 
    <<"KlnPsQA">> = iolist_to_binary(re:replace("n","^[abcdefghijklmnopqrstuvwxy0123456789]","Kl&\\1PsQA",[])), 
    <<"KlnPsQA">> = iolist_to_binary(re:replace("n","^[abcdefghijklmnopqrstuvwxy0123456789]","Kl&\\1PsQA",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[abcdefghijklmnopqrstuvwxy0123456789]","\\1fJAGtEidKGXUnys",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[abcdefghijklmnopqrstuvwxy0123456789]","\\1fJAGtEidKGXUnys",[global])), 
    <<"z">> = iolist_to_binary(re:replace("z","^[abcdefghijklmnopqrstuvwxy0123456789]","\\1rHkd&\\1jm&b&RxM\\1SHJ",[])), 
    <<"z">> = iolist_to_binary(re:replace("z","^[abcdefghijklmnopqrstuvwxy0123456789]","\\1rHkd&\\1jm&b&RxM\\1SHJ",[global])), 
    <<"imcGUm">> = iolist_to_binary(re:replace("abcd","abcde{0,0}","imcGUm",[])), 
    <<"imcGUm">> = iolist_to_binary(re:replace("abcd","abcde{0,0}","imcGUm",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abcde{0,0}","Tqn",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abcde{0,0}","Tqn",[global])), 
    <<"abce">> = iolist_to_binary(re:replace("abce","abcde{0,0}","&vfSkYqj",[])), 
    <<"abce">> = iolist_to_binary(re:replace("abce","abcde{0,0}","&vfSkYqj",[global])), 
    <<"DvcVJ">> = iolist_to_binary(re:replace("abe","ab[cd]{0,0}e","D\\1vc\\1VJ",[])), 
    <<"DvcVJ">> = iolist_to_binary(re:replace("abe","ab[cd]{0,0}e","D\\1vc\\1VJ",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab[cd]{0,0}e","fqC",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab[cd]{0,0}e","fqC",[global])), 
    <<"abcde">> = iolist_to_binary(re:replace("abcde","ab[cd]{0,0}e","EVGlB",[])), 
    <<"abcde">> = iolist_to_binary(re:replace("abcde","ab[cd]{0,0}e","EVGlB",[global])), 
    <<"ttqYHXMabdKMHbogw">> = iolist_to_binary(re:replace("abd","ab(c){0,0}d","ttqY\\1HXM&KMHbo\\1gw",[])), 
    <<"ttqYHXMabdKMHbogw">> = iolist_to_binary(re:replace("abd","ab(c){0,0}d","ttqY\\1HXM&KMHbo\\1gw",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab(c){0,0}d","UO\\1n&&dgD&x&puRS\\1PEE",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab(c){0,0}d","UO\\1n&&dgD&x&puRS\\1PEE",[global])), 
    <<"abcd">> = iolist_to_binary(re:replace("abcd","ab(c){0,0}d","AnMJgUHAxI\\1ekAaM",[])), 
    <<"abcd">> = iolist_to_binary(re:replace("abcd","ab(c){0,0}d","AnMJgUHAxI\\1ekAaM",[global])), 
    <<"OXylllC">> = iolist_to_binary(re:replace("a","a(b*)","OX\\1ylllC",[])), 
    <<"OXylllC">> = iolist_to_binary(re:replace("a","a(b*)","OX\\1ylllC",[global])), 
    <<"BDoOabpX">> = iolist_to_binary(re:replace("ab","a(b*)","BDoO&pX",[])), 
    <<"BDoOabpX">> = iolist_to_binary(re:replace("ab","a(b*)","BDoO&pX",[global])), 
    <<"WumvpDmPRlDEFbbbbbbbbw">> = iolist_to_binary(re:replace("abbbb","a(b*)","WumvpDmPRlDEF\\1\\1w",[])), 
    <<"WumvpDmPRlDEFbbbbbbbbw">> = iolist_to_binary(re:replace("abbbb","a(b*)","WumvpDmPRlDEF\\1\\1w",[global])), 
    <<"*** FXEpRailers">> = iolist_to_binary(re:replace("*** Failers","a(b*)","XEpR&",[])), 
    <<"*** FXEpRailers">> = iolist_to_binary(re:replace("*** Failers","a(b*)","XEpR&",[global])), 
    <<"bbbbb">> = iolist_to_binary(re:replace("bbbbb","a(b*)","oxX\\1mji\\1R&A",[])), 
    <<"bbbbb">> = iolist_to_binary(re:replace("bbbbb","a(b*)","oxX\\1mji\\1R&A",[global])), 
    <<"nabehjEWAKJbF">> = iolist_to_binary(re:replace("abe","ab\\d{0}e","n&hjEWA\\1\\1KJbF",[])), 
    <<"nabehjEWAKJbF">> = iolist_to_binary(re:replace("abe","ab\\d{0}e","n&hjEWA\\1\\1KJbF",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab\\d{0}e","IK\\1nN\\1xr",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab\\d{0}e","IK\\1nN\\1xr",[global])), 
    <<"ab1e">> = iolist_to_binary(re:replace("ab1e","ab\\d{0}e","S\\1HX\\1V\\1hjKR",[])), 
    <<"ab1e">> = iolist_to_binary(re:replace("ab1e","ab\\d{0}e","S\\1HX\\1V\\1hjKR",[global])), 
    <<"the quickf\"quick\"cqEH\"quick\"quickWsS brown fox">> = iolist_to_binary(re:replace("the \"quick\" brown fox","\"([^\\\\\"]+|\\\\.)*\"","\\1f&cqEH&\\1WsS",[])), 
    <<"the quickf\"quick\"cqEH\"quick\"quickWsS brown fox">> = iolist_to_binary(re:replace("the \"quick\" brown fox","\"([^\\\\\"]+|\\\\.)*\"","\\1f&cqEH&\\1WsS",[global])), 
    <<"mRaOvRxI">> = iolist_to_binary(re:replace("\"the \\\"quick\\\" brown fox\"","\"([^\\\\\"]+|\\\\.)*\"","mRaOvRxI",[])), 
    <<"mRaOvRxI">> = iolist_to_binary(re:replace("\"the \\\"quick\\\" brown fox\"","\"([^\\\\\"]+|\\\\.)*\"","mRaOvRxI",[global])), 
    <<"OVRmBCabc">> = iolist_to_binary(re:replace("abc","","OVR&m&BC",[])), 
    <<"OVRmBCaOVRmBCbOVRmBCcOVRmBC">> = iolist_to_binary(re:replace("abc","","OVR&m&BC",[global])), 
    <<"lMTacbbGqK">> = iolist_to_binary(re:replace("acb","a[^a]b","lMT&bGq\\1K",[])), 
    <<"lMTacbbGqK">> = iolist_to_binary(re:replace("acb","a[^a]b","lMT&bGq\\1K",[global])), 
    <<"a
ba
bLxcQMea
bHjqB">> = iolist_to_binary(re:replace("a
b","a[^a]b","\\1\\1&&LxcQMe&Hj\\1qB",[])), 
    <<"a
ba
bLxcQMea
bHjqB">> = iolist_to_binary(re:replace("a
b","a[^a]b","\\1\\1&&LxcQMe&Hj\\1qB",[global])), 
    <<"acbVVpcHAOaqv">> = iolist_to_binary(re:replace("acb","a.b","&VVpcHAOaqv",[])), 
    <<"acbVVpcHAOaqv">> = iolist_to_binary(re:replace("acb","a.b","&VVpcHAOaqv",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.b","rP",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.b","rP",[global])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","a.b","rUNVcR\\1i\\1S",[])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","a.b","rUNVcR\\1i\\1S",[global])), 
    <<"UHo">> = iolist_to_binary(re:replace("acb","a[^a]b","UHo",[dotall])), 
    <<"UHo">> = iolist_to_binary(re:replace("acb","a[^a]b","UHo",[dotall,
                                                                                                                                                                 global])), 
    <<"muQa
bDGfm">> = iolist_to_binary(re:replace("a
b","a[^a]b","muQ&DGfm",[dotall])), 
    <<"muQa
bDGfm">> = iolist_to_binary(re:replace("a
b","a[^a]b","muQ&DGfm",[dotall,global])), 
    <<"mPIfJVBacbQacbtacbVacb">> = iolist_to_binary(re:replace("acb","a.b","m\\1PIfJVB&Q&t\\1&V&",[dotall])), 
    <<"mPIfJVBacbQacbtacbVacb">> = iolist_to_binary(re:replace("acb","a.b","m\\1PIfJVB&Q&t\\1&V&",[dotall,
                                                                                                                                                                                                   global])), 
    <<"aNa
bBIrkip">> = iolist_to_binary(re:replace("a
b","a.b","aN&BIrkip",[dotall])), 
    <<"aNa
bBIrkip">> = iolist_to_binary(re:replace("a
b","a.b","aN&BIrkip",[dotall,global])), 
    ok.
run11() ->
    <<"vhgx">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","vhgx",[])), 
    <<"vhgx">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","vhgx",[global])), 
    <<"ybvbbac">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","ybv&",[])), 
    <<"ybvbbac">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","ybv&",[global])), 
    <<"KDBmQaFUbbbbacKDvahagVH">> = iolist_to_binary(re:replace("bbbac","^(b+?|a){1,2}?c","KDBmQ\\1FUb&KDv\\1h\\1gVH",[])), 
    <<"KDBmQaFUbbbbacKDvahagVH">> = iolist_to_binary(re:replace("bbbac","^(b+?|a){1,2}?c","KDBmQ\\1FUb&KDv\\1h\\1gVH",[global])), 
    <<"uPboDyBKbbbbaccsL">> = iolist_to_binary(re:replace("bbbbac","^(b+?|a){1,2}?c","uPboDyBK&csL",[])), 
    <<"uPboDyBKbbbbaccsL">> = iolist_to_binary(re:replace("bbbbac","^(b+?|a){1,2}?c","uPboDyBK&csL",[global])), 
    <<"QeDbbbbbacbbbbbacXxKbbbbbacTlGRhFObbbbbaccF">> = iolist_to_binary(re:replace("bbbbbac","^(b+?|a){1,2}?c","QeD&&XxK&TlGRhFO&cF",[])), 
    <<"QeDbbbbbacbbbbbacXxKbbbbbacTlGRhFObbbbbaccF">> = iolist_to_binary(re:replace("bbbbbac","^(b+?|a){1,2}?c","QeD&&XxK&TlGRhFO&cF",[global])), 
    <<"bacUbacihaieDLiAIBbacGLD">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}?c","&U&ih\\1ieDLiAIB&GLD",[])), 
    <<"bacUbacihaieDLiAIBbacGLD">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}?c","&U&ih\\1ieDLiAIB&GLD",[global])), 
    <<"YFsyGywxuIMvbbacmaha">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}?c","YFsyGywxuIMv&m\\1h\\1",[])), 
    <<"YFsyGywxuIMvbbacmaha">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}?c","YFsyGywxuIMv&m\\1h\\1",[global])), 
    <<"qbbbacaLIOdWFbbbacbbbacJBItjgaqJ">> = iolist_to_binary(re:replace("bbbac","^(b+|a){1,2}?c","q&\\1LIOdWF&&JBItjg\\1qJ",[])), 
    <<"qbbbacaLIOdWFbbbacbbbacJBItjgaqJ">> = iolist_to_binary(re:replace("bbbac","^(b+|a){1,2}?c","q&\\1LIOdWF&&JBItjg\\1qJ",[global])), 
    <<"QqiEfi">> = iolist_to_binary(re:replace("bbbbac","^(b+|a){1,2}?c","QqiEfi",[])), 
    <<"QqiEfi">> = iolist_to_binary(re:replace("bbbbac","^(b+|a){1,2}?c","QqiEfi",[global])), 
    <<"YDPanLeWvajbbbbbacabnHyjk">> = iolist_to_binary(re:replace("bbbbbac","^(b+|a){1,2}?c","YDPanLeWv\\1j&\\1bnHyjk",[])), 
    <<"YDPanLeWvajbbbbbacabnHyjk">> = iolist_to_binary(re:replace("bbbbbac","^(b+|a){1,2}?c","YDPanLeWv\\1j&\\1bnHyjk",[global])), 
    <<"x
b">> = iolist_to_binary(re:replace("x
b","(?!\\A)x","TB&e&lCSta",[multiline])), 
    <<"x
b">> = iolist_to_binary(re:replace("x
b","(?!\\A)x","TB&e&lCSta",[multiline,global])), 
    <<"axHTxRqfqP">> = iolist_to_binary(re:replace("ax","(?!\\A)x","&HT&\\1Rq\\1fqP",[multiline])), 
    <<"axHTxRqfqP">> = iolist_to_binary(re:replace("ax","(?!\\A)x","&HT&\\1Rq\\1fqP",[multiline,
                                                                                                                                                                                                  global])), 
    <<"{ab}">> = iolist_to_binary(re:replace("{ab}","\\x0{ab}","nqnNdxgun\\1T",[])), 
    <<"{ab}">> = iolist_to_binary(re:replace("{ab}","\\x0{ab}","nqnNdxgun\\1T",[global])), 
    <<"OrUCDJnCTtDo">> = iolist_to_binary(re:replace("CD","(A|B)*?CD","OrU&J\\1nCTtDo",[])), 
    <<"OrUCDJnCTtDo">> = iolist_to_binary(re:replace("CD","(A|B)*?CD","OrU&J\\1nCTtDo",[global])), 
    <<"MkLtcbirH">> = iolist_to_binary(re:replace("CD","(A|B)*CD","MkLtcbirH",[])), 
    <<"MkLtcbirH">> = iolist_to_binary(re:replace("CD","(A|B)*CD","MkLtcbirH",[global])), 
    <<"ABABrABABomDFFpAABABSfrABGABVAB">> = iolist_to_binary(re:replace("ABABAB","(AB)*?\\1","\\1\\1r&omDFFpA&Sfr\\1G\\1V",[])), 
    <<"ABABrABABomDFFpAABABSfrABGABVAB">> = iolist_to_binary(re:replace("ABABAB","(AB)*?\\1","\\1\\1r&omDFFpA&Sfr\\1G\\1V",[global])), 
    <<"NpABABABGmqeABABABABrmlyABABABdq">> = iolist_to_binary(re:replace("ABABAB","(AB)*\\1","Np&Gmqe\\1&rmly&dq",[])), 
    <<"NpABABABGmqeABABABABrmlyABABABdq">> = iolist_to_binary(re:replace("ABABAB","(AB)*\\1","Np&Gmqe\\1&rmly&dq",[global])), 
    <<"qRqrQeDLnUtUIooiI">> = iolist_to_binary(re:replace("foo","(?<!bar)foo","q\\1RqrQeDLn\\1UtUIoo\\1iI",[])), 
    <<"qRqrQeDLnUtUIooiI">> = iolist_to_binary(re:replace("foo","(?<!bar)foo","q\\1RqrQeDLn\\1UtUIoo\\1iI",[global])), 
    <<"catOdXBXoDHfooHbldUpfood">> = iolist_to_binary(re:replace("catfood","(?<!bar)foo","OdXBXoDH&HbldUp&",[])), 
    <<"catOdXBXoDHfooHbldUpfood">> = iolist_to_binary(re:replace("catfood","(?<!bar)foo","OdXBXoDH&HbldUp&",[global])), 
    <<"arDtle">> = iolist_to_binary(re:replace("arfootle","(?<!bar)foo","D",[])), 
    <<"arDtle">> = iolist_to_binary(re:replace("arfootle","(?<!bar)foo","D",[global])), 
    <<"rYPYoYugCsh">> = iolist_to_binary(re:replace("rfoosh","(?<!bar)foo","YPYoYug\\1C",[])), 
    <<"rYPYoYugCsh">> = iolist_to_binary(re:replace("rfoosh","(?<!bar)foo","YPYoYug\\1C",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<!bar)foo","i",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<!bar)foo","i",[global])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<!bar)foo","cbUElrx&&\\1\\1YM\\1aBcUl",[])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<!bar)foo","cbUElrx&&\\1\\1YM\\1aBcUl",[global])), 
    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","(?<!bar)foo","saPM\\1\\1OgLT\\1h\\1KWyOtmQ",[])), 
    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","(?<!bar)foo","saPM\\1\\1OgLT\\1h\\1KWyOtmQ",[global])), 
    <<"EPmld">> = iolist_to_binary(re:replace("catfood","\\w{3}(?<!bar)foo","EPml",[])), 
    <<"EPmld">> = iolist_to_binary(re:replace("catfood","\\w{3}(?<!bar)foo","EPml",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\w{3}(?<!bar)foo","MhJ&dGwUuIb\\1JIoqE",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\w{3}(?<!bar)foo","MhJ&dGwUuIb\\1JIoqE",[global])), 
    <<"foo">> = iolist_to_binary(re:replace("foo","\\w{3}(?<!bar)foo","&wjHKW&gb",[])), 
    <<"foo">> = iolist_to_binary(re:replace("foo","\\w{3}(?<!bar)foo","&wjHKW&gb",[global])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","\\w{3}(?<!bar)foo","B",[])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","\\w{3}(?<!bar)foo","B",[global])), 
    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","\\w{3}(?<!bar)foo","Jspqw\\1R\\1ldUs",[])), 
    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","\\w{3}(?<!bar)foo","Jspqw\\1R\\1ldUs",[global])), 
    <<"fooarfooVALbarfooUbfooCrGfoobarhbarlfu">> = iolist_to_binary(re:replace("fooabar","(?<=(foo)a)bar","r\\1VAL&\\1Ub\\1CrG\\1&h&lfu",[])), 
    <<"fooarfooVALbarfooUbfooCrGfoobarhbarlfu">> = iolist_to_binary(re:replace("fooabar","(?<=(foo)a)bar","r\\1VAL&\\1Ub\\1CrG\\1&h&lfu",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo)a)bar","Xup&&F\\1h\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo)a)bar","Xup&&F\\1h\\1",[global])), 
    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=(foo)a)bar","IyyUVRu\\1&J&EmI&",[])), 
    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=(foo)a)bar","IyyUVRu\\1&J&EmI&",[global])), 
    <<"foobbar">> = iolist_to_binary(re:replace("foobbar","(?<=(foo)a)bar","yUdI",[])), 
    <<"foobbar">> = iolist_to_binary(re:replace("foobbar","(?<=(foo)a)bar","yUdI",[global])), 
    <<"TjyabckVlQOnp">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","Tjy&kVlQOnp",[multiline])), 
    <<"TjyabckVlQOnp">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","Tjy&kVlQOnp",[multiline,
                                                                                                                                                                                          global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\z","jAW\\1V&Gcxh&iaRsV\\1",[multiline])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\z","jAW\\1V&Gcxh&iaRsV\\1",[multiline,
                                                                                                                                                                                                                                 global])), 
    <<"xQWabcHT">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","\\1xQW&H\\1T",[multiline])), 
    <<"xQWabcHT">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","\\1xQW&H\\1T",[multiline,
                                                                                                                                                                                              global])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","\\Aabc\\z","Y\\1YcwSrGNHt&\\1bI&",[multiline])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","\\Aabc\\z","Y\\1YcwSrGNHt&\\1bI&",[multiline,global])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","\\Aabc\\z","hxWEtDjrfttJGQ",[multiline])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","\\Aabc\\z","hxWEtDjrfttJGQ",[multiline,global])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","\\Aabc\\z","\\1AYG&TDth",[multiline])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","\\Aabc\\z","\\1AYG&TDth",[multiline,global])), 
    <<"1D">> = iolist_to_binary(re:replace("1.230003938","(?>(\\.\\d\\d[1-9]?))\\d+","D",[])), 
    <<"1D">> = iolist_to_binary(re:replace("1.230003938","(?>(\\.\\d\\d[1-9]?))\\d+","D",[global])), 
    <<"1.875Vkl.875egB.875000282cg">> = iolist_to_binary(re:replace("1.875000282","(?>(\\.\\d\\d[1-9]?))\\d+","\\1Vkl\\1egB&cg",[])), 
    <<"1.875Vkl.875egB.875000282cg">> = iolist_to_binary(re:replace("1.875000282","(?>(\\.\\d\\d[1-9]?))\\d+","\\1Vkl\\1egB&cg",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>(\\.\\d\\d[1-9]?))\\d+","d&&VkB&QYebMC",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>(\\.\\d\\d[1-9]?))\\d+","d&&VkB&QYebMC",[global])), 
    <<"1.235">> = iolist_to_binary(re:replace("1.235","(?>(\\.\\d\\d[1-9]?))\\d+","i\\1S\\1\\1&Yq&Pg&J&\\1",[])), 
    <<"1.235">> = iolist_to_binary(re:replace("1.235","(?>(\\.\\d\\d[1-9]?))\\d+","i\\1S\\1\\1&Yq&Pg&J&\\1",[global])), 
    <<"cjqYdkkpartyparty">> = iolist_to_binary(re:replace("now is the time for all good men to come to the aid of the party","^((?>\\w+)|(?>\\s+))*$","cjqYdkk\\1\\1",[])), 
    <<"cjqYdkkpartyparty">> = iolist_to_binary(re:replace("now is the time for all good men to come to the aid of the party","^((?>\\w+)|(?>\\s+))*$","cjqYdkk\\1\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((?>\\w+)|(?>\\s+))*$","BK",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((?>\\w+)|(?>\\s+))*$","BK",[global])), 
    <<"this is not a line with only words and spaces!">> = iolist_to_binary(re:replace("this is not a line with only words and spaces!","^((?>\\w+)|(?>\\s+))*$","sakHEC\\1tyC",[])), 
    <<"this is not a line with only words and spaces!">> = iolist_to_binary(re:replace("this is not a line with only words and spaces!","^((?>\\w+)|(?>\\s+))*$","sakHEC\\1tyC",[global])), 
    <<"a12345ax12345a">> = iolist_to_binary(re:replace("12345a","(\\d+)(\\w)","a&x&",[])), 
    <<"a12345ax12345a">> = iolist_to_binary(re:replace("12345a","(\\d+)(\\w)","a&x&",[global])), 
    <<"12345Mx1234LDmSq+">> = iolist_to_binary(re:replace("12345+","(\\d+)(\\w)","&Mx\\1LDmSq",[])), 
    <<"12345Mx1234LDmSq+">> = iolist_to_binary(re:replace("12345+","(\\d+)(\\w)","&Mx\\1LDmSq",[global])), 
    <<"kx12345GkJIBKkR12345aIDW12345ar">> = iolist_to_binary(re:replace("12345a","((?>\\d+))(\\w)","kx\\1GkJIBKkR&IDW&r",[])), 
    <<"kx12345GkJIBKkR12345aIDW12345ar">> = iolist_to_binary(re:replace("12345a","((?>\\d+))(\\w)","kx\\1GkJIBKkR&IDW&r",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?>\\d+))(\\w)","AFie\\1JMiAGf&BhuHi\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?>\\d+))(\\w)","AFie\\1JMiAGf&BhuHi\\1",[global])), 
    <<"12345+">> = iolist_to_binary(re:replace("12345+","((?>\\d+))(\\w)","l&&bFVdpjaGHV",[])), 
    <<"12345+">> = iolist_to_binary(re:replace("12345+","((?>\\d+))(\\w)","l&&bFVdpjaGHV",[global])), 
    <<"EqHtaaabaaabaaabSwdBiGUaaab">> = iolist_to_binary(re:replace("aaab","(?>a+)b","EqHt&&&SwdBiGU&",[])), 
    <<"EqHtaaabaaabaaabSwdBiGUaaab">> = iolist_to_binary(re:replace("aaab","(?>a+)b","EqHt&&&SwdBiGU&",[global])), 
    <<"SfjgLalqtcaaabaaablpXe">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","SfjgLalqtc\\1&lpXe",[])), 
    <<"SfjgLalqtcaaabaaablpXe">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","SfjgLalqtc\\1&lpXe",[global])), 
    ok.
run12() ->
    <<"uUMJaaabSIfpB">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","uUMJ&SIfpB",[])), 
    <<"uUMJaaabSIfpB">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","uUMJ&SIfpB",[global])), 
    <<"aaaYgHODtKiOcNErSSbbbccc">> = iolist_to_binary(re:replace("aaabbbccc","(?>b)+","YgHODtKiOcNErSS&\\1",[])), 
    <<"aaaYgHODtKiOcNErSSbbbccc">> = iolist_to_binary(re:replace("aaabbbccc","(?>b)+","YgHODtKiOcNErSS&\\1",[global])), 
    <<"oaaabbbbcaaabbbbcEpdElkPiPeaeLnncccd">> = iolist_to_binary(re:replace("aaabbbbccccd","(?>a+|b+|c+)*c","o\\1&&EpdEl\\1kPiPeaeLnn",[])), 
    <<"oaaabbbbcaaabbbbcEpdElkPiPeaeLnnoccEpdElkPiPeaeLnnoccEpdElkPiPeaeLnnoccEpdElkPiPeaeLnnd">> = iolist_to_binary(re:replace("aaabbbbccccd","(?>a+|b+|c+)*c","o\\1&&EpdEl\\1kPiPeaeLnn",[global])), 
    <<"((HxYTsih">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","HxYTsih",[])), 
    <<"((HxYTsih">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","HxYTsih",[global])), 
    <<"iJnuXdUjqgsabcM(abc)OUgSEW">> = iolist_to_binary(re:replace("(abc)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","iJnuXdUjqgs\\1M&OUgSEW",[])), 
    <<"iJnuXdUjqgsabcM(abc)OUgSEW">> = iolist_to_binary(re:replace("(abc)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","iJnuXdUjqgs\\1M&OUgSEW",[global])), 
    <<"oxyzdq">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","o\\1dq",[])), 
    <<"oxyzdq">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","o\\1dq",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(((?>[^()]+)|\\([^()]+\\))+\\)","RViX",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(((?>[^()]+)|\\([^()]+\\))+\\)","RViX",[global])), 
    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(((?>[^()]+)|\\([^()]+\\))+\\)","H",[])), 
    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(((?>[^()]+)|\\([^()]+\\))+\\)","H",[global])), 
    <<"tbhUMBhabLFA">> = iolist_to_binary(re:replace("ab","a(?-i)b","tbhUMBh&\\1LFA",[caseless])), 
    <<"tbhUMBhabLFA">> = iolist_to_binary(re:replace("ab","a(?-i)b","tbhUMBh&\\1LFA",[caseless,
                                                                                                                                                                                         global])), 
    <<"QUAETVEmTTESUWK">> = iolist_to_binary(re:replace("Ab","a(?-i)b","QUAETVEmTT\\1\\1ESUWK",[caseless])), 
    <<"QUAETVEmTTESUWK">> = iolist_to_binary(re:replace("Ab","a(?-i)b","QUAETVEmTT\\1\\1ESUWK",[caseless,
                                                                                                                                                                                                       global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?-i)b","\\1UHB",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?-i)b","\\1UHB",[caseless,
                                                                                                                                                                                          global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","a(?-i)b","\\1\\1tHVtVAphgcPH",[caseless])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","a(?-i)b","\\1\\1tHVtVAphgcPH",[caseless,
                                                                                                                                                                                                 global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","a(?-i)b","EHcIhNYa\\1KSgqWOK",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","a(?-i)b","EHcIhNYa\\1KSgqWOK",[caseless,
                                                                                                                                                                                                global])), 
    <<"FILLIygQ">> = iolist_to_binary(re:replace("a bcd e","(a (?x)b c)d e","FILLIygQ",[])), 
    <<"FILLIygQ">> = iolist_to_binary(re:replace("a bcd e","(a (?x)b c)d e","FILLIygQ",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a (?x)b c)d e","wJGN&cKBOuESq\\1&Wj",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a (?x)b c)d e","wJGN&cKBOuESq\\1&Wj",[global])), 
    <<"a b cd e">> = iolist_to_binary(re:replace("a b cd e","(a (?x)b c)d e","A\\1AwoRg&BJXQG",[])), 
    <<"a b cd e">> = iolist_to_binary(re:replace("a b cd e","(a (?x)b c)d e","A\\1AwoRg&BJXQG",[global])), 
    <<"abcd e">> = iolist_to_binary(re:replace("abcd e","(a (?x)b c)d e","u",[])), 
    <<"abcd e">> = iolist_to_binary(re:replace("abcd e","(a (?x)b c)d e","u",[global])), 
    <<"a bcde">> = iolist_to_binary(re:replace("a bcde","(a (?x)b c)d e","oNi\\1yapjj\\1GmPvu\\1Y\\1qv",[])), 
    <<"a bcde">> = iolist_to_binary(re:replace("a bcde","(a (?x)b c)d e","oNi\\1yapjj\\1GmPvu\\1Y\\1qv",[global])), 
    <<"Aa bcde fa bcde faa bcde fEL">> = iolist_to_binary(re:replace("a bcde f","(a b(?x)c d (?-x)e f)","A&&a&EL",[])), 
    <<"Aa bcde fa bcde faa bcde fEL">> = iolist_to_binary(re:replace("a bcde f","(a b(?x)c d (?-x)e f)","A&&a&EL",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a b(?x)c d (?-x)e f)","tNNP\\1V&C",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a b(?x)c d (?-x)e f)","tNNP\\1V&C",[global])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","(a b(?x)c d (?-x)e f)","ty&TPg&J\\1hrKvQIX\\1",[])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","(a b(?x)c d (?-x)e f)","ty&TPg&J\\1hrKvQIX\\1",[global])), 
    <<"Bfe">> = iolist_to_binary(re:replace("abc","(a(?i)b)c","Bfe",[])), 
    <<"Bfe">> = iolist_to_binary(re:replace("abc","(a(?i)b)c","Bfe",[global])), 
    <<"aBaBeoqaBaBdaIDJFJSKhel">> = iolist_to_binary(re:replace("aBc","(a(?i)b)c","\\1\\1eoq\\1\\1daIDJFJSKhel",[])), 
    <<"aBaBeoqaBaBdaIDJFJSKhel">> = iolist_to_binary(re:replace("aBc","(a(?i)b)c","\\1\\1eoq\\1\\1daIDJFJSKhel",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)b)c","RRCuLD&CCSP&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)b)c","RRCuLD&CCSP&",[global])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","(a(?i)b)c","&YVGhj",[])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","(a(?i)b)c","&YVGhj",[global])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","(a(?i)b)c","&\\1ABy\\1Tud",[])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","(a(?i)b)c","&\\1ABy\\1Tud",[global])), 
    <<"Abc">> = iolist_to_binary(re:replace("Abc","(a(?i)b)c","vHc&EssOdEtsm",[])), 
    <<"Abc">> = iolist_to_binary(re:replace("Abc","(a(?i)b)c","vHc&EssOdEtsm",[global])), 
    <<"ABc">> = iolist_to_binary(re:replace("ABc","(a(?i)b)c","&&O",[])), 
    <<"ABc">> = iolist_to_binary(re:replace("ABc","(a(?i)b)c","&&O",[global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","(a(?i)b)c","&&&G\\1GLMkRej\\1y\\1aOQ",[])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","(a(?i)b)c","&&&G\\1GLMkRej\\1y\\1aOQ",[global])), 
    <<"AbC">> = iolist_to_binary(re:replace("AbC","(a(?i)b)c","ajN\\1emNFkTh&UCTlp&Y",[])), 
    <<"AbC">> = iolist_to_binary(re:replace("AbC","(a(?i)b)c","ajN\\1emNFkTh&UCTlp&Y",[global])), 
    <<"fabcabcccGlcVpJl">> = iolist_to_binary(re:replace("abc","a(?i:b)c","f&&ccGlcVpJl",[])), 
    <<"fabcabcccGlcVpJl">> = iolist_to_binary(re:replace("abc","a(?i:b)c","f&&ccGlcVpJl",[global])), 
    <<"NeHDaBcCVyaBcpFA">> = iolist_to_binary(re:replace("aBc","a(?i:b)c","Ne\\1\\1\\1HD&C\\1Vy&pFA",[])), 
    <<"NeHDaBcCVyaBcpFA">> = iolist_to_binary(re:replace("aBc","a(?i:b)c","Ne\\1\\1\\1HD&C\\1Vy&pFA",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)c","Sqq",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)c","Sqq",[global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","a(?i:b)c","&FRMp\\1nIrrC\\1IVSckPvd",[])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","a(?i:b)c","&FRMp\\1nIrrC\\1IVSckPvd",[global])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","a(?i:b)c","x\\1WM&dj&&KIBo",[])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","a(?i:b)c","x\\1WM&dj&&KIBo",[global])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)c","XiKEHtEtj",[])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)c","XiKEHtEtj",[global])), 
    <<"SjNSaBcGWaBcwcaBcTf">> = iolist_to_binary(re:replace("aBc","a(?i:b)*c","\\1\\1SjNS&GW&wc&Tf",[])), 
    <<"SjNSaBcGWaBcwcaBcTf">> = iolist_to_binary(re:replace("aBc","a(?i:b)*c","\\1\\1SjNS&GW&wc&Tf",[global])), 
    <<"rOaBBckjJDolGaBBcie">> = iolist_to_binary(re:replace("aBBc","a(?i:b)*c","rO&kjJDolG&\\1ie",[])), 
    <<"rOaBBckjJDolGaBBcie">> = iolist_to_binary(re:replace("aBBc","a(?i:b)*c","rO&kjJDolG&\\1ie",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)*c","rnHfd\\1uJBJn",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)*c","rnHfd\\1uJBJn",[global])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)*c","T",[])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)*c","T",[global])), 
    <<"aBBC">> = iolist_to_binary(re:replace("aBBC","a(?i:b)*c","qC&IV\\1WPwD&&raPOEJG",[])), 
    <<"aBBC">> = iolist_to_binary(re:replace("aBBC","a(?i:b)*c","qC&IV\\1WPwD&&raPOEJG",[global])), 
    <<"fxbDabcdcebhuXknd">> = iolist_to_binary(re:replace("abcd","a(?=b(?i)c)\\w\\wd","fxbD&cebhuX\\1knd",[])), 
    <<"fxbDabcdcebhuXknd">> = iolist_to_binary(re:replace("abcd","a(?=b(?i)c)\\w\\wd","fxbD&cebhuX\\1knd",[global])), 
    <<"hmNjfiwabCdOns">> = iolist_to_binary(re:replace("abCd","a(?=b(?i)c)\\w\\wd","hmN\\1jfiw&On\\1s",[])), 
    <<"hmNjfiwabCdOns">> = iolist_to_binary(re:replace("abCd","a(?=b(?i)c)\\w\\wd","hmN\\1jfiw&On\\1s",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?=b(?i)c)\\w\\wd","l",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?=b(?i)c)\\w\\wd","l",[global])), 
    <<"aBCd">> = iolist_to_binary(re:replace("aBCd","a(?=b(?i)c)\\w\\wd","QVfGTQBraI&PoV&&B\\1B",[])), 
    <<"aBCd">> = iolist_to_binary(re:replace("aBCd","a(?=b(?i)c)\\w\\wd","QVfGTQBraI&PoV&&B\\1B",[global])), 
    <<"abcD">> = iolist_to_binary(re:replace("abcD","a(?=b(?i)c)\\w\\wd","WTVxdU\\1Ql&Ori\\1DCqn&",[])), 
    <<"abcD">> = iolist_to_binary(re:replace("abcD","a(?=b(?i)c)\\w\\wd","WTVxdU\\1Ql&Ori\\1DCqn&",[global])), 
    <<"yHdfkVmore than millionmore than millione">> = iolist_to_binary(re:replace("more than million","(?s-i:more.*than).*million","yHd\\1fkV&&e\\1",[caseless])), 
    <<"yHdfkVmore than millionmore than millione">> = iolist_to_binary(re:replace("more than million","(?s-i:more.*than).*million","yHd\\1fkV&&e\\1",[caseless,
                                                                                                                                                                                                                                                                 global])), 
    <<"mQsFkPLr">> = iolist_to_binary(re:replace("more than MILLION","(?s-i:more.*than).*million","mQsFkPLr",[caseless])), 
    <<"mQsFkPLr">> = iolist_to_binary(re:replace("more than MILLION","(?s-i:more.*than).*million","mQsFkPLr",[caseless,
                                                                                                                                                                                                                                               global])), 
    <<"mvDmore 
 than MillionmVTJEmore 
 than MillionTJNmore 
 than MillionLwu">> = iolist_to_binary(re:replace("more 
 than Million","(?s-i:more.*than).*million","mvD&mVTJE&TJN&Lwu",[caseless])), 
    <<"mvDmore 
 than MillionmVTJEmore 
 than MillionTJNmore 
 than MillionLwu">> = iolist_to_binary(re:replace("more 
 than Million","(?s-i:more.*than).*million","mvD&mVTJE&TJN&Lwu",[caseless,
                                                                      global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s-i:more.*than).*million","t\\1vYtKJq&frCR\\1",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s-i:more.*than).*million","t\\1vYtKJq&frCR\\1",[caseless,
                                                                                                                                                                                                                                                          global])), 
    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?s-i:more.*than).*million","\\1gn&G\\1&",[caseless])), 
    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?s-i:more.*than).*million","\\1gn&G\\1&",[caseless,
                                                                                                                                                                                                                                                         global])), 
    <<"more 
 than 
 million">> = iolist_to_binary(re:replace("more 
 than 
 million","(?s-i:more.*than).*million","WmlNcmK\\1\\1DMpX\\1WToOHF",[caseless])), 
    <<"more 
 than 
 million">> = iolist_to_binary(re:replace("more 
 than 
 million","(?s-i:more.*than).*million","WmlNcmK\\1\\1DMpX\\1WToOHF",[caseless,
                                                                                global])), 
    <<"psmore than millionTuKupIvfmRjB">> = iolist_to_binary(re:replace("more than million","(?:(?s-i)more.*than).*million","ps&T\\1uKupIvfmRjB",[caseless])), 
    <<"psmore than millionTuKupIvfmRjB">> = iolist_to_binary(re:replace("more than million","(?:(?s-i)more.*than).*million","ps&T\\1uKupIvfmRjB",[caseless,
                                                                                                                                                                                                                                                                           global])), 
    <<"IhKcRCpQge">> = iolist_to_binary(re:replace("more than MILLION","(?:(?s-i)more.*than).*million","I\\1\\1hKcRCpQg\\1e",[caseless])), 
    <<"IhKcRCpQge">> = iolist_to_binary(re:replace("more than MILLION","(?:(?s-i)more.*than).*million","I\\1\\1hKcRCpQg\\1e",[caseless,
                                                                                                                                                                                                                                                                              global])), 
    <<"more 
 than MillionOISUnAOTGvtRakU">> = iolist_to_binary(re:replace("more 
 than Million","(?:(?s-i)more.*than).*million","&OISU\\1nAOTGvtRakU\\1",[caseless])), 
    <<"more 
 than MillionOISUnAOTGvtRakU">> = iolist_to_binary(re:replace("more 
 than Million","(?:(?s-i)more.*than).*million","&OISU\\1nAOTGvtRakU\\1",[caseless,
                                                                                  global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?s-i)more.*than).*million","TNips\\1&J\\1mqnbuyC",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?s-i)more.*than).*million","TNips\\1&J\\1mqnbuyC",[caseless,
                                                                                                                                                                                                                                                                    global])), 
    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?:(?s-i)more.*than).*million","\\1qCci&VKLJ&QtwPOr",[caseless])), 
    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?:(?s-i)more.*than).*million","\\1qCci&VKLJ&QtwPOr",[caseless,
                                                                                                                                                                                                                                                                              global])), 
    <<"more 
 than 
 million">> = iolist_to_binary(re:replace("more 
 than 
 million","(?:(?s-i)more.*than).*million","N",[caseless])), 
    <<"more 
 than 
 million">> = iolist_to_binary(re:replace("more 
 than 
 million","(?:(?s-i)more.*than).*million","N",[caseless,global])), 
    <<"dAgcabcrYrHG">> = iolist_to_binary(re:replace("abc","(?>a(?i)b+)+c","dAgc&rYrH\\1\\1G",[])), 
    <<"dAgcabcrYrHG">> = iolist_to_binary(re:replace("abc","(?>a(?i)b+)+c","dAgc&rYrH\\1\\1G",[global])), 
    <<"fXy">> = iolist_to_binary(re:replace("aBbc","(?>a(?i)b+)+c","fXy",[])), 
    <<"fXy">> = iolist_to_binary(re:replace("aBbc","(?>a(?i)b+)+c","fXy",[global])), 
    <<"y">> = iolist_to_binary(re:replace("aBBc","(?>a(?i)b+)+c","y",[])), 
    <<"y">> = iolist_to_binary(re:replace("aBBc","(?>a(?i)b+)+c","y",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>a(?i)b+)+c","riGTl\\1gCN&tFIx",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>a(?i)b+)+c","riGTl\\1gCN&tFIx",[global])), 
    <<"Abc">> = iolist_to_binary(re:replace("Abc","(?>a(?i)b+)+c","QnNFHC\\1\\1AJpJokFLyM",[])), 
    <<"Abc">> = iolist_to_binary(re:replace("Abc","(?>a(?i)b+)+c","QnNFHC\\1\\1AJpJokFLyM",[global])), 
    <<"abAb">> = iolist_to_binary(re:replace("abAb","(?>a(?i)b+)+c","yrdamBD",[])), 
    <<"abAb">> = iolist_to_binary(re:replace("abAb","(?>a(?i)b+)+c","yrdamBD",[global])), 
    <<"abbC">> = iolist_to_binary(re:replace("abbC","(?>a(?i)b+)+c","\\1&a&x",[])), 
    <<"abbC">> = iolist_to_binary(re:replace("abbC","(?>a(?i)b+)+c","\\1&a&x",[global])), 
    <<"WnabchdOabcXw">> = iolist_to_binary(re:replace("abc","(?=a(?i)b)\\w\\wc","Wn\\1\\1&hdO&Xw",[])), 
    <<"WnabchdOabcXw">> = iolist_to_binary(re:replace("abc","(?=a(?i)b)\\w\\wc","Wn\\1\\1&hdO&Xw",[global])), 
    <<"NUnsaGHpA">> = iolist_to_binary(re:replace("aBc","(?=a(?i)b)\\w\\wc","NUnsaGHp\\1A",[])), 
    <<"NUnsaGHpA">> = iolist_to_binary(re:replace("aBc","(?=a(?i)b)\\w\\wc","NUnsaGHp\\1A",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=a(?i)b)\\w\\wc","J",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=a(?i)b)\\w\\wc","J",[global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?=a(?i)b)\\w\\wc","rA\\1tmLWYJdpHtIJ\\1",[])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?=a(?i)b)\\w\\wc","rA\\1tmLWYJdpHtIJ\\1",[global])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","(?=a(?i)b)\\w\\wc","O",[])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","(?=a(?i)b)\\w\\wc","O",[global])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","(?=a(?i)b)\\w\\wc","xrOeHr\\1Ws\\1FvkVpoU",[])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","(?=a(?i)b)\\w\\wc","xrOeHr\\1Ws\\1FvkVpoU",[global])), 
    <<"abcFSPxxcxxctgbJkxxNdQS">> = iolist_to_binary(re:replace("abxxc","(?<=a(?i)b)(\\w\\w)c","cFSP&&tgbJk\\1NdQS",[])), 
    <<"abcFSPxxcxxctgbJkxxNdQS">> = iolist_to_binary(re:replace("abxxc","(?<=a(?i)b)(\\w\\w)c","cFSP&&tgbJk\\1NdQS",[global])), 
    <<"aBQNAt">> = iolist_to_binary(re:replace("aBxxc","(?<=a(?i)b)(\\w\\w)c","QNAt",[])), 
    <<"aBQNAt">> = iolist_to_binary(re:replace("aBxxc","(?<=a(?i)b)(\\w\\w)c","QNAt",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a(?i)b)(\\w\\w)c","inxwegNttyrc",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a(?i)b)(\\w\\w)c","inxwegNttyrc",[global])), 
    <<"Abxxc">> = iolist_to_binary(re:replace("Abxxc","(?<=a(?i)b)(\\w\\w)c","YUsRHD&",[])), 
    <<"Abxxc">> = iolist_to_binary(re:replace("Abxxc","(?<=a(?i)b)(\\w\\w)c","YUsRHD&",[global])), 
    <<"ABxxc">> = iolist_to_binary(re:replace("ABxxc","(?<=a(?i)b)(\\w\\w)c","CXJBefD\\1kemWbn&fyJ",[])), 
    <<"ABxxc">> = iolist_to_binary(re:replace("ABxxc","(?<=a(?i)b)(\\w\\w)c","CXJBefD\\1kemWbn&fyJ",[global])), 
    <<"abxxC">> = iolist_to_binary(re:replace("abxxC","(?<=a(?i)b)(\\w\\w)c","UjT\\1hGcc&\\1K",[])), 
    <<"abxxC">> = iolist_to_binary(re:replace("abxxC","(?<=a(?i)b)(\\w\\w)c","UjT\\1hGcc&\\1K",[global])), 
    <<"e">> = iolist_to_binary(re:replace("aA","(?:(a)|b)(?(1)A|B)","e",[])), 
    <<"e">> = iolist_to_binary(re:replace("aA","(?:(a)|b)(?(1)A|B)","e",[global])), 
    <<"NMcPpQyHaNfjCbBaD">> = iolist_to_binary(re:replace("bB","(?:(a)|b)(?(1)A|B)","\\1NMcPpQyHaNfjC&aD",[])), 
    <<"NMcPpQyHaNfjCbBaD">> = iolist_to_binary(re:replace("bB","(?:(a)|b)(?(1)A|B)","\\1NMcPpQyHaNfjC&aD",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(a)|b)(?(1)A|B)","\\1Q",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(a)|b)(?(1)A|B)","\\1Q",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(a)|b)(?(1)A|B)","&SMEo&XGCCInDGmiby",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(a)|b)(?(1)A|B)","&SMEo&XGCCInDGmiby",[global])), 
    <<"bA">> = iolist_to_binary(re:replace("bA","(?:(a)|b)(?(1)A|B)","UUW&\\1&SC\\1",[])), 
    <<"bA">> = iolist_to_binary(re:replace("bA","(?:(a)|b)(?(1)A|B)","UUW&\\1&SC\\1",[global])), 
    <<"FeSwwOaSaLaaSV">> = iolist_to_binary(re:replace("aa","^(a)?(?(1)a|b)+$","FeSwwO\\1S\\1L&SV",[])), 
    <<"FeSwwOaSaLaaSV">> = iolist_to_binary(re:replace("aa","^(a)?(?(1)a|b)+$","FeSwwO\\1S\\1L&SV",[global])), 
    <<"JTW">> = iolist_to_binary(re:replace("b","^(a)?(?(1)a|b)+$","JTW",[])), 
    <<"JTW">> = iolist_to_binary(re:replace("b","^(a)?(?(1)a|b)+$","JTW",[global])), 
    <<"rbbbbmbfbxJobbhlCHbbbbdR">> = iolist_to_binary(re:replace("bb","^(a)?(?(1)a|b)+$","r&&mbfbxJo&hlCH&&dR\\1",[])), 
    <<"rbbbbmbfbxJobbhlCHbbbbdR">> = iolist_to_binary(re:replace("bb","^(a)?(?(1)a|b)+$","r&&mbfbxJo&hlCH&&dR\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","RLV&s",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","RLV&s",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a)?(?(1)a|b)+$","QoxGv\\1Pa&\\1mowml",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a)?(?(1)a|b)+$","QoxGv\\1Pa&\\1mowml",[global])), 
    <<"cfabc:abc:">> = iolist_to_binary(re:replace("abc:","^(?(?=abc)\\w{3}:|\\d\\d)$","cf&&",[])), 
    <<"cfabc:abc:">> = iolist_to_binary(re:replace("abc:","^(?(?=abc)\\w{3}:|\\d\\d)$","cf&&",[global])), 
    <<"IKeMxScgslGf">> = iolist_to_binary(re:replace("12","^(?(?=abc)\\w{3}:|\\d\\d)$","IKeMxScgsl\\1\\1Gf",[])), 
    <<"IKeMxScgslGf">> = iolist_to_binary(re:replace("12","^(?(?=abc)\\w{3}:|\\d\\d)$","IKeMxScgsl\\1\\1Gf",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?=abc)\\w{3}:|\\d\\d)$","cCGveJFFUHnS\\1S",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?=abc)\\w{3}:|\\d\\d)$","cCGveJFFUHnS\\1S",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^(?(?=abc)\\w{3}:|\\d\\d)$","kudsG&Hdk",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^(?(?=abc)\\w{3}:|\\d\\d)$","kudsG&Hdk",[global])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?=abc)\\w{3}:|\\d\\d)$","&kyqj\\1U\\1\\1\\1",[])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?=abc)\\w{3}:|\\d\\d)$","&kyqj\\1U\\1\\1\\1",[global])), 
    ok.
run13() ->
    <<"yLejabc:ClvDam">> = iolist_to_binary(re:replace("abc:","^(?(?!abc)\\d\\d|\\w{3}:)$","yLej&C\\1lvDa\\1m",[])), 
    <<"yLejabc:ClvDam">> = iolist_to_binary(re:replace("abc:","^(?(?!abc)\\d\\d|\\w{3}:)$","yLej&C\\1lvDa\\1m",[global])), 
    <<"eH12Ase">> = iolist_to_binary(re:replace("12","^(?(?!abc)\\d\\d|\\w{3}:)$","e\\1H&A\\1s\\1\\1e",[])), 
    <<"eH12Ase">> = iolist_to_binary(re:replace("12","^(?(?!abc)\\d\\d|\\w{3}:)$","e\\1H&A\\1s\\1\\1e",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?!abc)\\d\\d|\\w{3}:)$","SMtlNLKd\\1Va",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?!abc)\\d\\d|\\w{3}:)$","SMtlNLKd\\1Va",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^(?(?!abc)\\d\\d|\\w{3}:)$","VsMY&We",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^(?(?!abc)\\d\\d|\\w{3}:)$","VsMY&We",[global])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?!abc)\\d\\d|\\w{3}:)$","j&k\\1tUeAYRn",[])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?!abc)\\d\\d|\\w{3}:)$","j&k\\1tUeAYRn",[global])), 
    <<"fooS">> = iolist_to_binary(re:replace("foobar","(?(?<=foo)bar|cat)","S\\1",[])), 
    <<"fooS">> = iolist_to_binary(re:replace("foobar","(?(?<=foo)bar|cat)","S\\1",[global])), 
    <<"catdEUboccGWTaRjQo">> = iolist_to_binary(re:replace("cat","(?(?<=foo)bar|cat)","&dEU\\1boccGWTaRjQo\\1",[])), 
    <<"catdEUboccGWTaRjQo">> = iolist_to_binary(re:replace("cat","(?(?<=foo)bar|cat)","&dEU\\1boccGWTaRjQo\\1",[global])), 
    <<"fcatrspJwF">> = iolist_to_binary(re:replace("fcat","(?(?<=foo)bar|cat)","\\1&rs\\1pJwF",[])), 
    <<"fcatrspJwF">> = iolist_to_binary(re:replace("fcat","(?(?<=foo)bar|cat)","\\1&rs\\1pJwF",[global])), 
    <<"foncatePTv">> = iolist_to_binary(re:replace("focat","(?(?<=foo)bar|cat)","n&ePTv",[])), 
    <<"foncatePTv">> = iolist_to_binary(re:replace("focat","(?(?<=foo)bar|cat)","n&ePTv",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<=foo)bar|cat)","jI",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<=foo)bar|cat)","jI",[global])), 
    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<=foo)bar|cat)","\\1qBlA\\1veXv",[])), 
    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<=foo)bar|cat)","\\1qBlA\\1veXv",[global])), 
    <<"fooYHnkCeSOb">> = iolist_to_binary(re:replace("foobar","(?(?<!foo)cat|bar)","YHnkCeSOb",[])), 
    <<"fooYHnkCeSOb">> = iolist_to_binary(re:replace("foobar","(?(?<!foo)cat|bar)","YHnkCeSOb",[global])), 
    <<"catcatQAKgfdmvWBVj">> = iolist_to_binary(re:replace("cat","(?(?<!foo)cat|bar)","&&QAK\\1gfdmvWBVj",[])), 
    <<"catcatQAKgfdmvWBVj">> = iolist_to_binary(re:replace("cat","(?(?<!foo)cat|bar)","&&QAK\\1gfdmvWBVj",[global])), 
    <<"fPR">> = iolist_to_binary(re:replace("fcat","(?(?<!foo)cat|bar)","PR",[])), 
    <<"fPR">> = iolist_to_binary(re:replace("fcat","(?(?<!foo)cat|bar)","PR",[global])), 
    <<"fo">> = iolist_to_binary(re:replace("focat","(?(?<!foo)cat|bar)","\\1",[])), 
    <<"fo">> = iolist_to_binary(re:replace("focat","(?(?<!foo)cat|bar)","\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<!foo)cat|bar)","qsIpnmEbaYk\\1H",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<!foo)cat|bar)","qsIpnmEbaYk\\1H",[global])), 
    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<!foo)cat|bar)","B",[])), 
    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<!foo)cat|bar)","B",[global])), 
    <<"bclabcdfaLGxBabcdHtjFC">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) |) ","bcl&faLGxB\\1&HtjFC",[extended])), 
    <<"bclabcdfaLGxBabcdHtjFC">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) |) ","bcl&faLGxB\\1&HtjFC",[extended,
                                                                                                                                                                                                                                                      global])), 
    <<"JpguAHp((E(AF(">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) |) ","JpguAHp\\1\\1E\\1AF\\1",[extended])), 
    <<"JpguAHp((E(AF(">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) |) ","JpguAHp\\1\\1E\\1AF\\1",[extended,
                                                                                                                                                                                                                                                                 global])), 
    <<"yBpRsrthe quick Nr(abcd) fox">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) |) ","yBpRsr&Nr\\1",[extended])), 
    <<"yBpRsrthe quick NryBpRsr(abcd)Nr(yBpRsr foxNr">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) |) ","yBpRsr&Nr\\1",[extended,
                                                                                                                                                                                                                                                                       global])), 
    <<"(dfabcdMfidabcdORabcdXp">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) |) ","df&Mfid\\1\\1&OR&Xp",[extended])), 
    <<"(dfabcdMfidabcdORabcdXp">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) |) ","df&Mfid\\1\\1&OR&Xp",[extended,
                                                                                                                                                                                                                                                          global])), 
    <<"NEKtshVcSbEQreXJUgabcd">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) ) ","NEKtshVcSbEQre\\1XJUg&",[extended])), 
    <<"NEKtshVcSbEQreXJUgabcd">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) ) ","NEKtshVcSbEQre\\1XJUg&",[extended,
                                                                                                                                                                                                                                                         global])), 
    <<"C">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) ) ","C",[extended])), 
    <<"C">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) ) ","C",[extended,
                                                                                                                                                                                                                 global])), 
    <<"VsQthe quick tPGwwMthe quick WRxuthe quick (abcd) fox">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) ) ","VsQ&tP\\1Gww\\1M&WRxu&",[extended])), 
    <<"VsQthe quick tPGwwMthe quick WRxuthe quick VsQ(abcd)tP(Gww(M(abcd)WRxu(abcd)VsQ foxtPGwwM foxWRxu fox">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) ) ","VsQ&tP\\1Gww\\1M&WRxu&",[extended,
                                                                                                                                                                                                                                                                                            global])), 
    <<"(BxtHoabcdhwabcdMSlPc">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) ) ","BxtHo&hw&MSlPc",[extended])), 
    <<"(BxtHoabcdhwabcdMSlPc">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) ) ","BxtHo&hw&MSlPc",[extended,
                                                                                                                                                                                                                                           global])), 
    <<"112MIb11212MLRT11">> = iolist_to_binary(re:replace("12","^(?(2)a|(1)(2))+$","\\1&MIb\\1&&MLRT\\1\\1",[])), 
    <<"112MIb11212MLRT11">> = iolist_to_binary(re:replace("12","^(?(2)a|(1)(2))+$","\\1&MIb\\1&&MLRT\\1\\1",[global])), 
    <<"NKCJyodsYQD">> = iolist_to_binary(re:replace("12a","^(?(2)a|(1)(2))+$","NKCJyodsYQD",[])), 
    <<"NKCJyodsYQD">> = iolist_to_binary(re:replace("12a","^(?(2)a|(1)(2))+$","NKCJyodsYQD",[global])), 
    <<"12aarChjGgkuN">> = iolist_to_binary(re:replace("12aa","^(?(2)a|(1)(2))+$","&rChjGgkuN",[])), 
    <<"12aarChjGgkuN">> = iolist_to_binary(re:replace("12aa","^(?(2)a|(1)(2))+$","&rChjGgkuN",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(2)a|(1)(2))+$","\\1\\1be\\1ix",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(2)a|(1)(2))+$","\\1\\1be\\1ix",[global])), 
    <<"1234">> = iolist_to_binary(re:replace("1234","^(?(2)a|(1)(2))+$","cLDE&D",[])), 
    <<"1234">> = iolist_to_binary(re:replace("1234","^(?(2)a|(1)(2))+$","cLDE&D",[global])), 
    <<"kNHtojblahPblahcuUuarKNnoK">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+\\1","kNHtoj\\1P\\1cuUuarKNnoK",[])), 
    <<"kNHtojblahPblahcuUuarKNnoK">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+\\1","kNHtoj\\1P\\1cuUuarKNnoK",[global])), 
    <<"eNBLAHlXaMBLAH BLAH">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+\\1","eN\\1lXaM&",[])), 
    <<"eNBLAHlXaMBLAH BLAH">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+\\1","eN\\1lXaM&",[global])), 
    <<"rBlah BlahSGW">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+\\1","r&SGW",[])), 
    <<"rBlah BlahSGW">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+\\1","r&SGW",[global])), 
    <<"fUTblaH blaHblaH blaHtHeblaH blaHDlblaH blaHwQonyN">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+\\1","fUT&&tHe&Dl&wQonyN",[])), 
    <<"fUTblaH blaHblaH blaHtHeblaH blaHDlblaH blaHwQonyN">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+\\1","fUT&&tHe&Dl&wQonyN",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)blah)\\s+\\1","rjKWYO&gqg",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)blah)\\s+\\1","rjKWYO&gqg",[global])), 
    <<"blah BLAH">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+\\1","\\1PJEx&&NqPQ",[])), 
    <<"blah BLAH">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+\\1","\\1PJEx&&NqPQ",[global])), 
    <<"Blah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+\\1","&IAtxxKcfurkyev\\1nvDJ",[])), 
    <<"Blah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+\\1","&IAtxxKcfurkyev\\1nvDJ",[global])), 
    <<"blaH blah">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+\\1","\\1\\1H&YJdrM\\1qcj&&",[])), 
    <<"blaH blah">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+\\1","\\1\\1H&YJdrM\\1qcj&&",[global])), 
    <<"QROIQmblah blahmblahblah blahDWblahJ">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+(?i:\\1)","QROIQm&m\\1&DW\\1J",[])), 
    <<"QROIQmblah blahmblahblah blahDWblahJ">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+(?i:\\1)","QROIQm&m\\1&DW\\1J",[global])), 
    <<"vmvjMIXCFx">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+(?i:\\1)","vmvjMIXCFx",[])), 
    <<"vmvjMIXCFx">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+(?i:\\1)","vmvjMIXCFx",[global])), 
    <<"FBlahSrBlah BlahfdMtkYBlah Blah">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+(?i:\\1)","F\\1Sr&fdMtkY&",[])), 
    <<"FBlahSrBlah BlahfdMtkYBlah Blah">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+(?i:\\1)","F\\1Sr&fdMtkY&",[global])), 
    <<"cblaH blaHfGEblaHwablaH blaHDGblaH blaHblaH blaHLcblaHVyTC">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+(?i:\\1)","c&fGE\\1wa&DG&&Lc\\1VyTC",[])), 
    <<"cblaH blaHfGEblaHwablaH blaHDGblaH blaHblaH blaHLcblaHVyTC">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+(?i:\\1)","c&fGE\\1wa&DG&&Lc\\1VyTC",[global])), 
    <<"blahaefgWblah">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+(?i:\\1)","\\1aefgW\\1",[])), 
    <<"blahaefgWblah">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+(?i:\\1)","\\1aefgW\\1",[global])), 
    <<"Blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+(?i:\\1)","\\1",[])), 
    <<"Blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+(?i:\\1)","\\1",[global])), 
    <<"RXsblaHe">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+(?i:\\1)","RXs\\1e",[])), 
    <<"RXsblaHe">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+(?i:\\1)","RXs\\1e",[global])), 
    <<"lanoXtvE">> = iolist_to_binary(re:replace("a","(?>a*)*","lano\\1Xt\\1vE",[])), 
    <<"lanoXtvElanoXtvE">> = iolist_to_binary(re:replace("a","(?>a*)*","lano\\1Xt\\1vE",[global])), 
    <<"EfuiyyaaybkaaVI">> = iolist_to_binary(re:replace("aa","(?>a*)*","Ef\\1uiyy&ybk&VI",[])), 
    <<"EfuiyyaaybkaaVIEfuiyyybkVI">> = iolist_to_binary(re:replace("aa","(?>a*)*","Ef\\1uiyy&ybk&VI",[global])), 
    <<"DFPlAS">> = iolist_to_binary(re:replace("aaaa","(?>a*)*","DFPlAS",[])), 
    <<"DFPlASDFPlAS">> = iolist_to_binary(re:replace("aaaa","(?>a*)*","DFPlAS",[global])), 
    <<"swvEIpc">> = iolist_to_binary(re:replace("abc","(abc|)+","sw\\1vEIpc",[])), 
    <<"swvEIpcswvEIpc">> = iolist_to_binary(re:replace("abc","(abc|)+","sw\\1vEIpc",[global])), 
    <<"Vm">> = iolist_to_binary(re:replace("abcabc","(abc|)+","Vm",[])), 
    <<"VmVm">> = iolist_to_binary(re:replace("abcabc","(abc|)+","Vm",[global])), 
    <<"vabcabcabcIecAabcabcabcvabcabcabcabcabcabcPMS">> = iolist_to_binary(re:replace("abcabcabc","(abc|)+","v&\\1IecA&v\\1&&PMS",[])), 
    <<"vabcabcabcIecAabcabcabcvabcabcabcabcabcabcPMSvIecAvPMS">> = iolist_to_binary(re:replace("abcabcabc","(abc|)+","v&\\1IecA&v\\1&&PMS",[global])), 
    <<"YpHLvbPebgHxyz">> = iolist_to_binary(re:replace("xyz","(abc|)+","YpH&LvbPebgH\\1",[])), 
    <<"YpHLvbPebgHxYpHLvbPebgHyYpHLvbPebgHzYpHLvbPebgH">> = iolist_to_binary(re:replace("xyz","(abc|)+","YpH&LvbPebgH\\1",[global])), 
    <<"aaUe">> = iolist_to_binary(re:replace("a","([a]*)*","&&Ue",[])), 
    <<"aaUeUe">> = iolist_to_binary(re:replace("a","([a]*)*","&&Ue",[global])), 
    <<"PaaaaapgFufTSYIkBuaaaaabKYVD">> = iolist_to_binary(re:replace("aaaaa","([a]*)*","P&pgFufTSYIkBu&bKYVD",[])), 
    <<"PaaaaapgFufTSYIkBuaaaaabKYVDPpgFufTSYIkBubKYVD">> = iolist_to_binary(re:replace("aaaaa","([a]*)*","P&pgFufTSYIkBu&bKYVD",[global])), 
    <<"qFRFDX">> = iolist_to_binary(re:replace("a","([ab]*)*","qFRFDX",[])), 
    <<"qFRFDXqFRFDX">> = iolist_to_binary(re:replace("a","([ab]*)*","qFRFDX",[global])), 
    <<"rcPIcjqP">> = iolist_to_binary(re:replace("b","([ab]*)*","rcP\\1IcjqP",[])), 
    <<"rcPIcjqPrcPIcjqP">> = iolist_to_binary(re:replace("b","([ab]*)*","rcP\\1IcjqP",[global])), 
    <<"sRJuN">> = iolist_to_binary(re:replace("ababab","([ab]*)*","s\\1R\\1JuN",[])), 
    <<"sRJuNsRJuN">> = iolist_to_binary(re:replace("ababab","([ab]*)*","s\\1R\\1JuN",[global])), 
    <<"GIaaaabFaYFbcde">> = iolist_to_binary(re:replace("aaaabcde","([ab]*)*","GI&FaYFb",[])), 
    <<"GIaaaabFaYFbGIFaYFbcGIFaYFbdGIFaYFbeGIFaYFb">> = iolist_to_binary(re:replace("aaaabcde","([ab]*)*","GI&FaYFb",[global])), 
    <<"meTmwKOIyGCbbbbANbbbbbbbbH">> = iolist_to_binary(re:replace("bbbb","([ab]*)*","meTmwK\\1OIy\\1GC&AN&&H",[])), 
    <<"meTmwKOIyGCbbbbANbbbbbbbbHmeTmwKOIyGCANH">> = iolist_to_binary(re:replace("bbbb","([ab]*)*","meTmwK\\1OIy\\1GC&AN&&H",[global])), 
    <<"nbjCbhrDRrlgSUiVJ">> = iolist_to_binary(re:replace("b","([^a]*)*","nbjC&hrDRrlgSUiV\\1J",[])), 
    <<"nbjCbhrDRrlgSUiVJnbjChrDRrlgSUiVJ">> = iolist_to_binary(re:replace("b","([^a]*)*","nbjC&hrDRrlgSUiV\\1J",[global])), 
    <<"EDtjVbbbbKGDbbbbmbbbbwKLjiR">> = iolist_to_binary(re:replace("bbbb","([^a]*)*","EDtjV&KGD&m&wK\\1Lj\\1iR",[])), 
    <<"EDtjVbbbbKGDbbbbmbbbbwKLjiREDtjVKGDmwKLjiR">> = iolist_to_binary(re:replace("bbbb","([^a]*)*","EDtjV&KGD&m&wK\\1Lj\\1iR",[global])), 
    <<"HlaUYcKUiWycCnKHNaaa">> = iolist_to_binary(re:replace("aaa","([^a]*)*","HlaUYcKUiWycCnKH\\1N",[])), 
    <<"HlaUYcKUiWycCnKHNaHlaUYcKUiWycCnKHNaHlaUYcKUiWycCnKHNaHlaUYcKUiWycCnKHN">> = iolist_to_binary(re:replace("aaa","([^a]*)*","HlaUYcKUiWycCnKH\\1N",[global])), 
    <<"eaccccgCccccOYNUlccccTcccc">> = iolist_to_binary(re:replace("cccc","([^ab]*)*","ea&g\\1C&OYNUl&\\1T&",[])), 
    <<"eaccccgCccccOYNUlccccTcccceagCOYNUlT">> = iolist_to_binary(re:replace("cccc","([^ab]*)*","ea&g\\1C&OYNUl&\\1T&",[global])), 
    <<"JyKBqDRhnabab">> = iolist_to_binary(re:replace("abab","([^ab]*)*","Jy&\\1KBqDRhn",[])), 
    <<"JyKBqDRhnaJyKBqDRhnbJyKBqDRhnaJyKBqDRhnbJyKBqDRhn">> = iolist_to_binary(re:replace("abab","([^ab]*)*","Jy&\\1KBqDRhn",[global])), 
    <<"vnligHISDuDiBa">> = iolist_to_binary(re:replace("a","([a]*?)*","v\\1nli&\\1gHISDuD\\1iB",[])), 
    <<"vnligHISDuDiBvnliagHISDuDiBvnligHISDuDiB">> = iolist_to_binary(re:replace("a","([a]*?)*","v\\1nli&\\1gHISDuD\\1iB",[global])), 
    <<"CrarAftguXnYNULohKyaaaa">> = iolist_to_binary(re:replace("aaaa","([a]*?)*","CrarAftguXnYN&ULohKy",[])), 
    <<"CrarAftguXnYNULohKyCrarAftguXnYNaULohKyCrarAftguXnYNULohKyCrarAftguXnYNaULohKyCrarAftguXnYNULohKyCrarAftguXnYNaULohKyCrarAftguXnYNULohKyCrarAftguXnYNaULohKyCrarAftguXnYNULohKy">> = iolist_to_binary(re:replace("aaaa","([a]*?)*","CrarAftguXnYN&ULohKy",[global])), 
    <<"BOfINa">> = iolist_to_binary(re:replace("a","([ab]*?)*","B&OfIN&",[])), 
    <<"BOfINBaOfINaBOfIN">> = iolist_to_binary(re:replace("a","([ab]*?)*","B&OfIN&",[global])), 
    <<"HBxFab">> = iolist_to_binary(re:replace("b","([ab]*?)*","H\\1\\1BxF\\1a",[])), 
    <<"HBxFaHBxFaHBxFa">> = iolist_to_binary(re:replace("b","([ab]*?)*","H\\1\\1BxF\\1a",[global])), 
    <<"rkuWEckrabab">> = iolist_to_binary(re:replace("abab","([ab]*?)*","rkuWEc\\1kr",[])), 
    <<"rkuWEckrrkuWEckrrkuWEckrrkuWEckrrkuWEckrrkuWEckrrkuWEckrrkuWEckrrkuWEckr">> = iolist_to_binary(re:replace("abab","([ab]*?)*","rkuWEc\\1kr",[global])), 
    <<"dedrbsbaba">> = iolist_to_binary(re:replace("baba","([ab]*?)*","dedrbs",[])), 
    <<"dedrbsdedrbsdedrbsdedrbsdedrbsdedrbsdedrbsdedrbsdedrbs">> = iolist_to_binary(re:replace("baba","([ab]*?)*","dedrbs",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","([^a]*?)*","\\1",[])), 
    <<"">> = iolist_to_binary(re:replace("b","([^a]*?)*","\\1",[global])), 
    <<"rrARQqtjsbbbb">> = iolist_to_binary(re:replace("bbbb","([^a]*?)*","rr&ARQq\\1\\1tjs",[])), 
    <<"rrARQqtjsrrbARQqtjsrrARQqtjsrrbARQqtjsrrARQqtjsrrbARQqtjsrrARQqtjsrrbARQqtjsrrARQqtjs">> = iolist_to_binary(re:replace("bbbb","([^a]*?)*","rr&ARQq\\1\\1tjs",[global])), 
    <<"PGcsmlReJQeaaa">> = iolist_to_binary(re:replace("aaa","([^a]*?)*","PGcsm&&lReJQe&",[])), 
    <<"PGcsmlReJQeaPGcsmlReJQeaPGcsmlReJQeaPGcsmlReJQe">> = iolist_to_binary(re:replace("aaa","([^a]*?)*","PGcsm&&lReJQe&",[global])), 
    <<"nuspMpmvVOsyyChRc">> = iolist_to_binary(re:replace("c","([^ab]*?)*","nusp&Mp\\1mvVOsyyChR",[])), 
    <<"nuspMpmvVOsyyChRnuspcMpmvVOsyyChRnuspMpmvVOsyyChR">> = iolist_to_binary(re:replace("c","([^ab]*?)*","nusp&Mp\\1mvVOsyyChR",[global])), 
    <<"GbhjrQmJMQvcccc">> = iolist_to_binary(re:replace("cccc","([^ab]*?)*","Gbhj&rQmJMQv",[])), 
    <<"GbhjrQmJMQvGbhjcrQmJMQvGbhjrQmJMQvGbhjcrQmJMQvGbhjrQmJMQvGbhjcrQmJMQvGbhjrQmJMQvGbhjcrQmJMQvGbhjrQmJMQv">> = iolist_to_binary(re:replace("cccc","([^ab]*?)*","Gbhj&rQmJMQv",[global])), 
    <<"qlNFbaba">> = iolist_to_binary(re:replace("baba","([^ab]*?)*","qlNF",[])), 
    <<"qlNFbqlNFaqlNFbqlNFaqlNF">> = iolist_to_binary(re:replace("baba","([^ab]*?)*","qlNF",[global])), 
    <<"KQaNecIrOxNy">> = iolist_to_binary(re:replace("a","(?>a*)*","KQ\\1&NecIrOxNy",[])), 
    <<"KQaNecIrOxNyKQNecIrOxNy">> = iolist_to_binary(re:replace("a","(?>a*)*","KQ\\1&NecIrOxNy",[global])), 
    <<"VSaaaJEKwmaaaUrFoAmveCbcde">> = iolist_to_binary(re:replace("aaabcde","(?>a*)*","VS&JEKwm&UrFoAmv\\1eC",[])), 
    <<"VSaaaJEKwmaaaUrFoAmveCVSJEKwmUrFoAmveCbVSJEKwmUrFoAmveCcVSJEKwmUrFoAmveCdVSJEKwmUrFoAmveCeVSJEKwmUrFoAmveC">> = iolist_to_binary(re:replace("aaabcde","(?>a*)*","VS&JEKwm&UrFoAmv\\1eC",[global])), 
    <<"UCWWaaaaaSi">> = iolist_to_binary(re:replace("aaaaa","((?>a*))*","UCW\\1W&Si",[])), 
    <<"UCWWaaaaaSiUCWWSi">> = iolist_to_binary(re:replace("aaaaa","((?>a*))*","UCW\\1W&Si",[global])), 
    <<"Ynbbaa">> = iolist_to_binary(re:replace("aabbaa","((?>a*))*","Yn",[])), 
    <<"YnYnbYnbYnYn">> = iolist_to_binary(re:replace("aabbaa","((?>a*))*","Yn",[global])), 
    ok.
run14() ->
    <<"MLgsOWdfTvaaaaa">> = iolist_to_binary(re:replace("aaaaa","((?>a*?))*","MLgs&OW\\1df&T&v",[])), 
    <<"MLgsOWdfTvaMLgsOWdfTvaMLgsOWdfTvaMLgsOWdfTvaMLgsOWdfTvaMLgsOWdfTv">> = iolist_to_binary(re:replace("aaaaa","((?>a*?))*","MLgs&OW\\1df&T&v",[global])), 
    <<"aabbaa">> = iolist_to_binary(re:replace("aabbaa","((?>a*?))*","&",[])), 
    <<"aabbaa">> = iolist_to_binary(re:replace("aabbaa","((?>a*?))*","&",[global])), 
    <<"gTBVcFPFf12-sep-98nd">> = iolist_to_binary(re:replace("12-sep-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","gTBVcFPFf&\\1nd",[extended])), 
    <<"gTBVcFPFf12-sep-98nd">> = iolist_to_binary(re:replace("12-sep-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","gTBVcFPFf&\\1nd",[extended,
                                                                                                                                                                                                                                                                                                                                            global])), 
    <<"12-09-98h12-09-98Vrh12-09-98">> = iolist_to_binary(re:replace("12-09-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","&h&\\1Vrh\\1&",[extended])), 
    <<"12-09-98h12-09-98Vrh12-09-98">> = iolist_to_binary(re:replace("12-09-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","&h&\\1Vrh\\1&",[extended,
                                                                                                                                                                                                                                                                                                                                         global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","W&ve&i&",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","W&ve&i&",[extended,
                                                                                                                                                                                                                                                                                                                                 global])), 
    <<"sep-12-98">> = iolist_to_binary(re:replace("sep-12-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","UrC",[extended])), 
    <<"sep-12-98">> = iolist_to_binary(re:replace("sep-12-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","UrC",[extended,
                                                                                                                                                                                                                                                                                                                  global])), 
    <<"foodfooCEjVBAfoo">> = iolist_to_binary(re:replace("foobarfoo","(?<=(foo))bar\\1","d\\1CEjVBA\\1",[])), 
    <<"foodfooCEjVBAfoo">> = iolist_to_binary(re:replace("foobarfoo","(?<=(foo))bar\\1","d\\1CEjVBA\\1",[global])), 
    <<"foovctling">> = iolist_to_binary(re:replace("foobarfootling","(?<=(foo))bar\\1","vc",[])), 
    <<"foovctling">> = iolist_to_binary(re:replace("foobarfootling","(?<=(foo))bar\\1","vc",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo))bar\\1","UXvqXj\\1yXDrW\\1&UV&aD",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo))bar\\1","UXvqXj\\1yXDrW\\1&UV&aD",[global])), 
    <<"foobar">> = iolist_to_binary(re:replace("foobar","(?<=(foo))bar\\1","VWpBPnVuwGDg",[])), 
    <<"foobar">> = iolist_to_binary(re:replace("foobar","(?<=(foo))bar\\1","VWpBPnVuwGDg",[global])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<=(foo))bar\\1","&jX",[])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<=(foo))bar\\1","&jX",[global])), 
    <<"sQWfkfUNJnPcyC">> = iolist_to_binary(re:replace("saturday","(?i:saturday|sunday)","sQ\\1Wf\\1kfUNJnPcyC",[])), 
    <<"sQWfkfUNJnPcyC">> = iolist_to_binary(re:replace("saturday","(?i:saturday|sunday)","sQ\\1Wf\\1kfUNJnPcyC",[global])), 
    <<"xWJnRsundayofsundayP">> = iolist_to_binary(re:replace("sunday","(?i:saturday|sunday)","xWJn\\1R&of\\1&P",[])), 
    <<"xWJnRsundayofsundayP">> = iolist_to_binary(re:replace("sunday","(?i:saturday|sunday)","xWJn\\1R&of\\1&P",[global])), 
    <<"SaturdayWo">> = iolist_to_binary(re:replace("Saturday","(?i:saturday|sunday)","&W\\1o",[])), 
    <<"SaturdayWo">> = iolist_to_binary(re:replace("Saturday","(?i:saturday|sunday)","&W\\1o",[global])), 
    <<"TdQtxuqoDxI">> = iolist_to_binary(re:replace("Sunday","(?i:saturday|sunday)","TdQtxuqoDxI",[])), 
    <<"TdQtxuqoDxI">> = iolist_to_binary(re:replace("Sunday","(?i:saturday|sunday)","TdQtxuqoDxI",[global])), 
    <<"tSATURDAYpA">> = iolist_to_binary(re:replace("SATURDAY","(?i:saturday|sunday)","t&\\1pA",[])), 
    <<"tSATURDAYpA">> = iolist_to_binary(re:replace("SATURDAY","(?i:saturday|sunday)","t&\\1pA",[global])), 
    <<"PSUNDAYVdHPKeqeCHsbPht">> = iolist_to_binary(re:replace("SUNDAY","(?i:saturday|sunday)","P&VdHPKeqeCH\\1sbPht",[])), 
    <<"PSUNDAYVdHPKeqeCHsbPht">> = iolist_to_binary(re:replace("SUNDAY","(?i:saturday|sunday)","P&VdHPKeqeCH\\1sbPht",[global])), 
    <<"ADh">> = iolist_to_binary(re:replace("SunDay","(?i:saturday|sunday)","A\\1D\\1h\\1",[])), 
    <<"ADh">> = iolist_to_binary(re:replace("SunDay","(?i:saturday|sunday)","A\\1D\\1h\\1",[global])), 
    <<"mGKtRabcxPabcxJ">> = iolist_to_binary(re:replace("abcx","(a(?i)bc|BB)x","mGKtR&P&J",[])), 
    <<"mGKtRabcxPabcxJ">> = iolist_to_binary(re:replace("abcx","(a(?i)bc|BB)x","mGKtR&P&J",[global])), 
    <<"oaBCxMk">> = iolist_to_binary(re:replace("aBCx","(a(?i)bc|BB)x","o&Mk",[])), 
    <<"oaBCxMk">> = iolist_to_binary(re:replace("aBCx","(a(?i)bc|BB)x","o&Mk",[global])), 
    <<"BbbxAbbbbw">> = iolist_to_binary(re:replace("bbx","(a(?i)bc|BB)x","B&A\\1\\1w",[])), 
    <<"BbbxAbbbbw">> = iolist_to_binary(re:replace("bbx","(a(?i)bc|BB)x","B&A\\1\\1w",[global])), 
    <<"mJcBBAxatfogiBBBBOBBxw">> = iolist_to_binary(re:replace("BBx","(a(?i)bc|BB)x","mJc\\1Axatfogi\\1\\1O&w",[])), 
    <<"mJcBBAxatfogiBBBBOBBxw">> = iolist_to_binary(re:replace("BBx","(a(?i)bc|BB)x","mJc\\1Axatfogi\\1\\1O&w",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)bc|BB)x","snLiVTr\\1v&GcLOx",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)bc|BB)x","snLiVTr\\1v&GcLOx",[global])), 
    <<"abcX">> = iolist_to_binary(re:replace("abcX","(a(?i)bc|BB)x","cUgeDoMeUddk\\1X&",[])), 
    <<"abcX">> = iolist_to_binary(re:replace("abcX","(a(?i)bc|BB)x","cUgeDoMeUddk\\1X&",[global])), 
    <<"aBCX">> = iolist_to_binary(re:replace("aBCX","(a(?i)bc|BB)x","x\\1a&yaxHWdGs&udxU",[])), 
    <<"aBCX">> = iolist_to_binary(re:replace("aBCX","(a(?i)bc|BB)x","x\\1a&yaxHWdGs&udxU",[global])), 
    <<"bbX">> = iolist_to_binary(re:replace("bbX","(a(?i)bc|BB)x","AmUQ&rURn&&",[])), 
    <<"bbX">> = iolist_to_binary(re:replace("bbX","(a(?i)bc|BB)x","AmUQ&rURn&&",[global])), 
    <<"BBX">> = iolist_to_binary(re:replace("BBX","(a(?i)bc|BB)x","&\\1bNvEcoUrediWbu&Pbp",[])), 
    <<"BBX">> = iolist_to_binary(re:replace("BBX","(a(?i)bc|BB)x","&\\1bNvEcoUrediWbu&Pbp",[global])), 
    <<"UvDhoExRiacBIgOkt">> = iolist_to_binary(re:replace("ac","^([ab](?i)[cd]|[ef])","UvDhoExRi&BIgOkt",[])), 
    <<"UvDhoExRiacBIgOkt">> = iolist_to_binary(re:replace("ac","^([ab](?i)[cd]|[ef])","UvDhoExRi&BIgOkt",[global])), 
    <<"xPaCaCRDAtETUaCMGcb">> = iolist_to_binary(re:replace("aC","^([ab](?i)[cd]|[ef])","xP&\\1RDAtETU\\1MGcb",[])), 
    <<"xPaCaCRDAtETUaCMGcb">> = iolist_to_binary(re:replace("aC","^([ab](?i)[cd]|[ef])","xP&\\1RDAtETU\\1MGcb",[global])), 
    <<"YrbDPg">> = iolist_to_binary(re:replace("bD","^([ab](?i)[cd]|[ef])","Yr&Pg",[])), 
    <<"YrbDPg">> = iolist_to_binary(re:replace("bD","^([ab](?i)[cd]|[ef])","Yr&Pg",[global])), 
    <<"vxPeqqmHlephant">> = iolist_to_binary(re:replace("elephant","^([ab](?i)[cd]|[ef])","vxP&qqmH",[])), 
    <<"vxPeqqmHlephant">> = iolist_to_binary(re:replace("elephant","^([ab](?i)[cd]|[ef])","vxP&qqmH",[global])), 
    <<"CXttEDburope">> = iolist_to_binary(re:replace("Europe","^([ab](?i)[cd]|[ef])","CXtt\\1Db",[])), 
    <<"CXttEDburope">> = iolist_to_binary(re:replace("Europe","^([ab](?i)[cd]|[ef])","CXtt\\1Db",[global])), 
    <<"ckdAsOrog">> = iolist_to_binary(re:replace("frog","^([ab](?i)[cd]|[ef])","ckdAsO",[])), 
    <<"ckdAsOrog">> = iolist_to_binary(re:replace("frog","^([ab](?i)[cd]|[ef])","ckdAsO",[global])), 
    <<"FLAarance">> = iolist_to_binary(re:replace("France","^([ab](?i)[cd]|[ef])","\\1LAa",[])), 
    <<"FLAarance">> = iolist_to_binary(re:replace("France","^([ab](?i)[cd]|[ef])","\\1LAa",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([ab](?i)[cd]|[ef])","&dK",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([ab](?i)[cd]|[ef])","&dK",[global])), 
    <<"Africa">> = iolist_to_binary(re:replace("Africa","^([ab](?i)[cd]|[ef])","he&mN&m",[])), 
    <<"Africa">> = iolist_to_binary(re:replace("Africa","^([ab](?i)[cd]|[ef])","he&mN&m",[global])), 
    <<"QwnababababWRxgc">> = iolist_to_binary(re:replace("ab","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","Qwn&\\1\\1&WRxgc",[])), 
    <<"QwnababababWRxgc">> = iolist_to_binary(re:replace("ab","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","Qwn&\\1\\1&WRxgc",[global])), 
    <<"alixQPHvMhCA">> = iolist_to_binary(re:replace("aBd","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","alixQPHvMhCA",[])), 
    <<"alixQPHvMhCA">> = iolist_to_binary(re:replace("aBd","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","alixQPHvMhCA",[global])), 
    <<"fRTxgJVEjxyBxyliXrOuh">> = iolist_to_binary(re:replace("xy","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","fRTxgJVEj\\1B\\1liXrOuh",[])), 
    <<"fRTxgJVEjxyBxyliXrOuh">> = iolist_to_binary(re:replace("xy","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","fRTxgJVEj\\1B\\1liXrOuh",[global])), 
    <<"xYRFpytKCFxYlEt">> = iolist_to_binary(re:replace("xY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","&RFpytKCF&lEt",[])), 
    <<"xYRFpytKCFxYlEt">> = iolist_to_binary(re:replace("xY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","&RFpytKCF&lEt",[global])), 
    <<"vgzjebra">> = iolist_to_binary(re:replace("zebra","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","vg&j",[])), 
    <<"vgzjebra">> = iolist_to_binary(re:replace("zebra","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","vg&j",[global])), 
    <<"eZFmjyambesi">> = iolist_to_binary(re:replace("Zambesi","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","e&Fmjy",[])), 
    <<"eZFmjyambesi">> = iolist_to_binary(re:replace("Zambesi","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","e&Fmjy",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","a",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","a",[global])), 
    <<"aCD">> = iolist_to_binary(re:replace("aCD","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","gEOo",[])), 
    <<"aCD">> = iolist_to_binary(re:replace("aCD","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","gEOo",[global])), 
    <<"XY">> = iolist_to_binary(re:replace("XY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","&OrTvY&r\\1a\\1tNgO\\1",[])), 
    <<"XY">> = iolist_to_binary(re:replace("XY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","&OrTvY&r\\1a\\1tNgO\\1",[global])), 
    <<"foo
sutSyiAVbardY">> = iolist_to_binary(re:replace("foo
bar","(?<=foo\\n)^bar","sutSyiAV&dY",[multiline])), 
    <<"foo
sutSyiAVbardY">> = iolist_to_binary(re:replace("foo
bar","(?<=foo\\n)^bar","sutSyiAV&dY",[multiline,global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=foo\\n)^bar","SbD\\1F&CKeqGUc\\1&",[multiline])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=foo\\n)^bar","SbD\\1F&CKeqGUc\\1&",[multiline,
                                                                                                                                                                                                                                        global])), 
    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=foo\\n)^bar","yi&DP",[multiline])), 
    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=foo\\n)^bar","yi&DP",[multiline,
                                                                                                                                                                                         global])), 
    <<"baz
bar">> = iolist_to_binary(re:replace("baz
bar","(?<=foo\\n)^bar","hGG",[multiline])), 
    <<"baz
bar">> = iolist_to_binary(re:replace("baz
bar","(?<=foo\\n)^bar","hGG",[multiline,global])), 
    <<"barTsM">> = iolist_to_binary(re:replace("barbaz","(?<=(?<!foo)bar)baz","TsM",[])), 
    <<"barTsM">> = iolist_to_binary(re:replace("barbaz","(?<=(?<!foo)bar)baz","TsM",[global])), 
    <<"barbarbazJYNeeiOkukbazbaze">> = iolist_to_binary(re:replace("barbarbaz","(?<=(?<!foo)bar)baz","&JYNeeiOkuk&&e",[])), 
    <<"barbarbazJYNeeiOkukbazbaze">> = iolist_to_binary(re:replace("barbarbaz","(?<=(?<!foo)bar)baz","&JYNeeiOkuk&&e",[global])), 
    <<"koobarbazJDRvnHPtlJvlqbazha">> = iolist_to_binary(re:replace("koobarbaz","(?<=(?<!foo)bar)baz","&JD\\1RvnHPtlJvlq&ha",[])), 
    <<"koobarbazJDRvnHPtlJvlqbazha">> = iolist_to_binary(re:replace("koobarbaz","(?<=(?<!foo)bar)baz","&JD\\1RvnHPtlJvlq&ha",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?<!foo)bar)baz","se&q\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?<!foo)bar)baz","se&q\\1",[global])), 
    <<"baz">> = iolist_to_binary(re:replace("baz","(?<=(?<!foo)bar)baz","\\1FnT\\1ncG\\1qiLitBVlR",[])), 
    <<"baz">> = iolist_to_binary(re:replace("baz","(?<=(?<!foo)bar)baz","\\1FnT\\1ncG\\1qiLitBVlR",[global])), 
    <<"foobarbaz">> = iolist_to_binary(re:replace("foobarbaz","(?<=(?<!foo)bar)baz","TGjyDWNaukC\\1D",[])), 
    <<"foobarbaz">> = iolist_to_binary(re:replace("foobarbaz","(?<=(?<!foo)bar)baz","TGjyDWNaukC\\1D",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?){4}$","PqtMwjvc&wXddSH",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?){4}$","PqtMwjvc&wXddSH",[global])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?){4}$","GgSSdPHMYJhXx",[])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?){4}$","GgSSdPHMYJhXx",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?){4}$","ucLn&Fx&kXfW",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?){4}$","ucLn&Fx&kXfW",[global])), 
    <<"naaaaaaQNEaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?){4}$","n&\\1QNE&&&",[])), 
    <<"naaaaaaQNEaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?){4}$","n&\\1QNE&&&",[global])), 
    <<"ielIaAaXNwripBgIaHTa">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?){4}$","ielI\\1A\\1XNwripBgI\\1HT\\1",[])), 
    <<"ielIaAaXNwripBgIaHTa">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?){4}$","ielI\\1A\\1XNwripBgI\\1HT\\1",[global])), 
    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?){4}$","HRYVEqqIFqY&Dl",[])), 
    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?){4}$","HRYVEqqIFqY&Dl",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","&&t\\1s",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","&&t\\1s",[global])), 
    <<"NaaaadLeaaaaxAL">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","N\\1dLe\\1xAL",[])), 
    <<"NaaaadLeaaaaxAL">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","N\\1dLe\\1xAL",[global])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","\\1jr",[])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","\\1jr",[global])), 
    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?){4}$","N\\1",[])), 
    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?){4}$","N\\1",[global])), 
    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?){4}$","sQ&xSjdecK&&rSQkA",[])), 
    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?){4}$","sQ&xSjdecK&&rSQkA",[global])), 
    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?){4}$","CsOa",[])), 
    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?){4}$","CsOa",[global])), 
    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?){4}$","&pAEvtoqYnBxGT&Uox",[])), 
    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?){4}$","&pAEvtoqYnBxGT&Uox",[global])), 
    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?){4}$","&icuBLN",[])), 
    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?){4}$","&icuBLN",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","wxtPJAs&D\\1V&xlkaXy&",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","wxtPJAs&D\\1V&xlkaXy&",[global])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","GO\\1&NlEm",[])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","GO\\1&NlEm",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","trMv\\1vGRRdT&L",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","trMv\\1vGRRdT&L",[global])), 
    <<"dtEvrhKayRa">> = iolist_to_binary(re:replace("aaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","dtEvrhK\\1yR\\1",[])), 
    <<"dtEvrhKayRa">> = iolist_to_binary(re:replace("aaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","dtEvrhK\\1yR\\1",[global])), 
    <<"swnY">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","swnY",[])), 
    <<"swnY">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","swnY",[global])), 
    <<"aaaaaarinTIDxAHEMa">> = iolist_to_binary(re:replace("aaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&rinTIDxAHEM\\1",[])), 
    <<"aaaaaarinTIDxAHEMa">> = iolist_to_binary(re:replace("aaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&rinTIDxAHEM\\1",[global])), 
    <<"UBvaoaaaaaaaaDUiX">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","UBvao\\1&DUiX",[])), 
    <<"UBvaoaaaaaaaaDUiX">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","UBvao\\1&DUiX",[global])), 
    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","H\\1aLBBEpEaB",[])), 
    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","H\\1aLBBEpEaB",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","dpC",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","dpC",[global])), 
    <<"taaaaaaaaaahaaaaaaaaaaf">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","t&h&f",[])), 
    <<"taaaaaaaaaahaaaaaaaaaaf">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","t&h&f",[global])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","rgxaXLiOHjVaKNJyPJ",[])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","rgxaXLiOHjVaKNJyPJ",[global])), 
    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","a\\1UVnCvM\\1bOy",[])), 
    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","a\\1UVnCvM\\1bOy",[global])), 
    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","mnxwE",[])), 
    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","mnxwE",[global])), 
    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","R",[])), 
    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","R",[global])), 
    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","CKEn&",[])), 
    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","CKEn&",[global])), 
    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","dr\\1B\\1G&W\\1\\1\\1",[])), 
    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","dr\\1B\\1G&W\\1\\1\\1",[global])), 
    <<"mTTwWHMeBAnTMAy">> = iolist_to_binary(re:replace("abc","abc","mTTwWHMe\\1B\\1AnTMAy",[])), 
    <<"mTTwWHMeBAnTMAy">> = iolist_to_binary(re:replace("abc","abc","mTTwWHMe\\1B\\1AnTMAy",[global])), 
    <<"xFRFntrFXSabcyBabcRky">> = iolist_to_binary(re:replace("xabcy","abc","FRFntrFXS&yB&\\1Rk",[])), 
    <<"xFRFntrFXSabcyBabcRky">> = iolist_to_binary(re:replace("xabcy","abc","FRFntrFXS&yB&\\1Rk",[global])), 
    <<"abmabceyJl">> = iolist_to_binary(re:replace("ababc","abc","m&eyJl",[])), 
    <<"abmabceyJl">> = iolist_to_binary(re:replace("ababc","abc","m&eyJl",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","\\1kN",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","\\1kN",[global])), 
    <<"xbc">> = iolist_to_binary(re:replace("xbc","abc","Rd",[])), 
    <<"xbc">> = iolist_to_binary(re:replace("xbc","abc","Rd",[global])), 
    <<"axc">> = iolist_to_binary(re:replace("axc","abc","qQP\\1gBdX&cfJfv&f",[])), 
    <<"axc">> = iolist_to_binary(re:replace("axc","abc","qQP\\1gBdX&cfJfv&f",[global])), 
    <<"abx">> = iolist_to_binary(re:replace("abx","abc","VMtbG",[])), 
    <<"abx">> = iolist_to_binary(re:replace("abx","abc","VMtbG",[global])), 
    <<"jNyOabclmQAUUabcabcabcM">> = iolist_to_binary(re:replace("abc","ab*c","jNyO&lmQA\\1UU&&&M",[])), 
    <<"jNyOabclmQAUUabcabcabcM">> = iolist_to_binary(re:replace("abc","ab*c","jNyO&lmQA\\1UU&&&M",[global])), 
    <<"NuNKaVVP">> = iolist_to_binary(re:replace("abc","ab*bc","NuNKaVV\\1\\1P",[])), 
    <<"NuNKaVVP">> = iolist_to_binary(re:replace("abc","ab*bc","NuNKaVV\\1\\1P",[global])), 
    <<"v">> = iolist_to_binary(re:replace("abbc","ab*bc","v",[])), 
    <<"v">> = iolist_to_binary(re:replace("abbc","ab*bc","v",[global])), 
    <<"IabbbbcLNYRgEvYHyabbbbctwq">> = iolist_to_binary(re:replace("abbbbc","ab*bc","I&LNYRgEvYHy&tw\\1q",[])), 
    <<"IabbbbcLNYRgEvYHyabbbbctwq">> = iolist_to_binary(re:replace("abbbbc","ab*bc","I&LNYRgEvYHy&tw\\1q",[global])), 
    <<"dcWrPQwrWtCeinonDembbbbc">> = iolist_to_binary(re:replace("abbbbc",".{1}","dcWrPQwrWtCeinonDem",[])), 
    <<"dcWrPQwrWtCeinonDemdcWrPQwrWtCeinonDemdcWrPQwrWtCeinonDemdcWrPQwrWtCeinonDemdcWrPQwrWtCeinonDemdcWrPQwrWtCeinonDem">> = iolist_to_binary(re:replace("abbbbc",".{1}","dcWrPQwrWtCeinonDem",[global])), 
    <<"NwOwabbbabbbCOvabbbenaNbc">> = iolist_to_binary(re:replace("abbbbc",".{3,4}","NwOw&&COv&e\\1naN",[])), 
    <<"NwOwabbbabbbCOvabbbenaNbc">> = iolist_to_binary(re:replace("abbbbc",".{3,4}","NwOw&&COv&e\\1naN",[global])), 
    <<"abbbbcCeTetSKDvAvrabbbbcpa">> = iolist_to_binary(re:replace("abbbbc","ab{0,}bc","&CeTetSKDvAvr&pa",[])), 
    <<"abbbbcCeTetSKDvAvrabbbbcpa">> = iolist_to_binary(re:replace("abbbbc","ab{0,}bc","&CeTetSKDvAvr&pa",[global])), 
    <<"TbtqfbcUrEcTU">> = iolist_to_binary(re:replace("abbc","ab+bc","Tb\\1tqfb\\1cUrEcTU",[])), 
    <<"TbtqfbcUrEcTU">> = iolist_to_binary(re:replace("abbc","ab+bc","Tb\\1tqfb\\1cUrEcTU",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","TeS\\1\\1F",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","TeS\\1\\1F",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","ab+bc","EHEtuOC&GTMRx",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","ab+bc","EHEtuOC&GTMRx",[global])), 
    <<"abq">> = iolist_to_binary(re:replace("abq","ab+bc","\\1ywtK\\1hfkEVdoXy\\1eH",[])), 
    <<"abq">> = iolist_to_binary(re:replace("abq","ab+bc","\\1ywtK\\1hfkEVdoXy\\1eH",[global])), 
    <<"GlETcsroCIlRt">> = iolist_to_binary(re:replace("abbbbc","ab+bc","GlETcsro\\1CIlRt\\1",[])), 
    <<"GlETcsroCIlRt">> = iolist_to_binary(re:replace("abbbbc","ab+bc","GlETcsro\\1CIlRt\\1",[global])), 
    ok.
run15() ->
    <<"GjnPRabbbbcabbbbcANabbbbcH">> = iolist_to_binary(re:replace("abbbbc","ab{1,}bc","Gj\\1nPR&&A\\1N&H",[])), 
    <<"GjnPRabbbbcabbbbcANabbbbcH">> = iolist_to_binary(re:replace("abbbbc","ab{1,}bc","Gj\\1nPR&&A\\1N&H",[global])), 
    <<"iPhrUY">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","i\\1Phr\\1UY\\1",[])), 
    <<"iPhrUY">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","i\\1Phr\\1UY\\1",[global])), 
    <<"oBEnPKpabbbbcAUrXVFQn">> = iolist_to_binary(re:replace("abbbbc","ab{3,4}bc","oBEnPK\\1p&AUr\\1X\\1VFQn\\1",[])), 
    <<"oBEnPKpabbbbcAUrXVFQn">> = iolist_to_binary(re:replace("abbbbc","ab{3,4}bc","oBEnPK\\1p&AUr\\1X\\1VFQn\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}bc","VJPhAjJ&qt&R",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}bc","VJPhAjJ&qt&R",[global])), 
    <<"abq">> = iolist_to_binary(re:replace("abq","ab{4,5}bc","\\1issDnwN",[])), 
    <<"abq">> = iolist_to_binary(re:replace("abq","ab{4,5}bc","\\1issDnwN",[global])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{4,5}bc","&ty&x",[])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{4,5}bc","&ty&x",[global])), 
    <<"UWGc">> = iolist_to_binary(re:replace("abbc","ab?bc","UWGc",[])), 
    <<"UWGc">> = iolist_to_binary(re:replace("abbc","ab?bc","UWGc",[global])), 
    <<"QpFXHqWog">> = iolist_to_binary(re:replace("abc","ab?bc","QpFXHqWog",[])), 
    <<"QpFXHqWog">> = iolist_to_binary(re:replace("abc","ab?bc","QpFXHqWog",[global])), 
    <<"lFwRabc">> = iolist_to_binary(re:replace("abc","ab{0,1}bc","lFwR&\\1",[])), 
    <<"lFwRabc">> = iolist_to_binary(re:replace("abc","ab{0,1}bc","lFwR&\\1",[global])), 
    <<"abcmabcJvgabcabco">> = iolist_to_binary(re:replace("abc","ab?c","&m&Jvg&&\\1\\1o",[])), 
    <<"abcmabcJvgabcabco">> = iolist_to_binary(re:replace("abc","ab?c","&m&Jvg&&\\1\\1o",[global])), 
    <<"jJ">> = iolist_to_binary(re:replace("abc","ab{0,1}c","jJ",[])), 
    <<"jJ">> = iolist_to_binary(re:replace("abc","ab{0,1}c","jJ",[global])), 
    <<"uPAtKYsKtqCBkkp">> = iolist_to_binary(re:replace("abc","^abc$","uPAtKYsKtqCBkkp\\1",[])), 
    <<"uPAtKYsKtqCBkkp">> = iolist_to_binary(re:replace("abc","^abc$","uPAtKYsKtqCBkkp\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","e\\1XAs",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","e\\1XAs",[global])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","^abc$","\\1o&fsbP\\1pwbiIRIGb\\1UD",[])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","^abc$","\\1o&fsbP\\1pwbiIRIGb\\1UD",[global])), 
    <<"abcc">> = iolist_to_binary(re:replace("abcc","^abc$","WJthAfXWWmv\\1IWjIe",[])), 
    <<"abcc">> = iolist_to_binary(re:replace("abcc","^abc$","WJthAfXWWmv\\1IWjIe",[global])), 
    <<"UTlfrQeHrOQCMnfc">> = iolist_to_binary(re:replace("abcc","^abc","UTlfr\\1QeH\\1rOQCMnf",[])), 
    <<"UTlfrQeHrOQCMnfc">> = iolist_to_binary(re:replace("abcc","^abc","UTlfr\\1QeH\\1rOQCMnf",[global])), 
    <<"aARabcppSYabcEIbcGwjE">> = iolist_to_binary(re:replace("aabc","abc$","\\1AR&ppSY&EIbc\\1G\\1wjE",[])), 
    <<"aARabcppSYabcEIbcGwjE">> = iolist_to_binary(re:replace("aabc","abc$","\\1AR&ppSY&EIbc\\1G\\1wjE",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","FnSwJ&tmv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","FnSwJ&tmv",[global])), 
    <<"aAmIBNLxa">> = iolist_to_binary(re:replace("aabc","abc$","Am\\1IB\\1NLxa",[])), 
    <<"aAmIBNLxa">> = iolist_to_binary(re:replace("aabc","abc$","Am\\1IB\\1NLxa",[global])), 
    <<"aabcd">> = iolist_to_binary(re:replace("aabcd","abc$","&EuxC&eEGEWnwI",[])), 
    <<"aabcd">> = iolist_to_binary(re:replace("aabcd","abc$","&EuxC&eEGEWnwI",[global])), 
    <<"cOryAkFNmtoLruabc">> = iolist_to_binary(re:replace("abc","^","cO\\1r&yAkFNmto\\1Lru&",[])), 
    <<"cOryAkFNmtoLruabc">> = iolist_to_binary(re:replace("abc","^","cO\\1r&yAkFNmto\\1Lru&",[global])), 
    <<"abcKpXarNeriGOdu">> = iolist_to_binary(re:replace("abc","$","Kp\\1XarNeriGOdu&",[])), 
    <<"abcKpXarNeriGOdu">> = iolist_to_binary(re:replace("abc","$","Kp\\1XarNeriGOdu&",[global])), 
    <<"FIusabcabcceEbtWBabc">> = iolist_to_binary(re:replace("abc","a.c","FIus&&ceEb\\1tWB&",[])), 
    <<"FIusabcabcceEbtWBabc">> = iolist_to_binary(re:replace("abc","a.c","FIus&&ceEb\\1tWB&",[global])), 
    <<"KqevmaxcVysaxcPaxc">> = iolist_to_binary(re:replace("axc","a.c","Kqevm&Vys&\\1\\1P&",[])), 
    <<"KqevmaxcVysaxcPaxc">> = iolist_to_binary(re:replace("axc","a.c","Kqevm&Vys&\\1\\1P&",[global])), 
    <<"xUdGxhaJQaxyzc">> = iolist_to_binary(re:replace("axyzc","a.*c","x\\1UdGxhaJQ&",[])), 
    <<"xUdGxhaJQaxyzc">> = iolist_to_binary(re:replace("axyzc","a.*c","x\\1UdGxhaJQ&",[global])), 
    <<"abdHpbYpV">> = iolist_to_binary(re:replace("abd","a[bc]d","&Hp\\1bYpV",[])), 
    <<"abdHpbYpV">> = iolist_to_binary(re:replace("abd","a[bc]d","&Hp\\1bYpV",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bc]d","J&dGU\\1rioQPR\\1&S&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bc]d","J&dGU\\1rioQPR\\1&S&",[global])), 
    <<"axyzd">> = iolist_to_binary(re:replace("axyzd","a[bc]d","LF\\1QgQx\\1kUO&\\1",[])), 
    <<"axyzd">> = iolist_to_binary(re:replace("axyzd","a[bc]d","LF\\1QgQx\\1kUO&\\1",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","a[bc]d","tiUJYyxfVfeAM",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","a[bc]d","tiUJYyxfVfeAM",[global])), 
    <<"lSBTQLYWjuaceCjDace">> = iolist_to_binary(re:replace("ace","a[b-d]e","lSBTQLYWju&CjD&",[])), 
    <<"lSBTQLYWjuaceCjDace">> = iolist_to_binary(re:replace("ace","a[b-d]e","lSBTQLYWju&CjD&",[global])), 
    <<"aWEgjXuNyAacQTNVqSl">> = iolist_to_binary(re:replace("aac","a[b-d]","WEgjXuNyA&QTNVqSl",[])), 
    <<"aWEgjXuNyAacQTNVqSl">> = iolist_to_binary(re:replace("aac","a[b-d]","WEgjXuNyA&QTNVqSl",[global])), 
    ok.
run16() ->
    <<"qQmna-Ga-a-rA">> = iolist_to_binary(re:replace("a-","a[-b]","q\\1Qmn&G&&rA",[])), 
    <<"qQmna-Ga-a-rA">> = iolist_to_binary(re:replace("a-","a[-b]","q\\1Qmn&G&&rA",[global])), 
    <<"QJ">> = iolist_to_binary(re:replace("a-","a[b-]","QJ",[])), 
    <<"QJ">> = iolist_to_binary(re:replace("a-","a[b-]","QJ",[global])), 
    <<"yia]ao">> = iolist_to_binary(re:replace("a]","a]","\\1yi&ao",[])), 
    <<"yia]ao">> = iolist_to_binary(re:replace("a]","a]","\\1yi&ao",[global])), 
    <<"FfC">> = iolist_to_binary(re:replace("a]b","a[]]b","FfC",[])), 
    <<"FfC">> = iolist_to_binary(re:replace("a]b","a[]]b","FfC",[global])), 
    <<"oXfcTOWQKFAlvTaedi">> = iolist_to_binary(re:replace("aed","a[^bc]d","oXfcTOWQKFAlvT\\1\\1&i",[])), 
    <<"oXfcTOWQKFAlvTaedi">> = iolist_to_binary(re:replace("aed","a[^bc]d","oXfcTOWQKFAlvT\\1\\1&i",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^bc]d","&bDyTqTc",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^bc]d","&bDyTqTc",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","FjC&R\\1",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","FjC&R\\1",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","aENw",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","aENw",[global])), 
    <<"adcdOJ">> = iolist_to_binary(re:replace("adc","a[^-b]c","&dOJ",[])), 
    <<"adcdOJ">> = iolist_to_binary(re:replace("adc","a[^-b]c","&dOJ",[global])), 
    <<"ANuydyM">> = iolist_to_binary(re:replace("adc","a[^]b]c","ANuydyM",[])), 
    <<"ANuydyM">> = iolist_to_binary(re:replace("adc","a[^]b]c","ANuydyM",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^]b]c","SweRAVF\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^]b]c","SweRAVF\\1",[global])), 
    <<"UoNrja-cLOLdIhqaTGLt">> = iolist_to_binary(re:replace("a-c","a[^]b]c","UoNrj&LOLdIhqaTGLt",[])), 
    <<"UoNrja-cLOLdIhqaTGLt">> = iolist_to_binary(re:replace("a-c","a[^]b]c","UoNrj&LOLdIhqaTGLt",[global])), 
    <<"a]c">> = iolist_to_binary(re:replace("a]c","a[^]b]c","w&UlR&\\1\\1Oo&I&",[])), 
    <<"a]c">> = iolist_to_binary(re:replace("a]c","a[^]b]c","w&UlR&\\1\\1Oo&I&",[global])), 
    <<"keSyyVigJfGa-">> = iolist_to_binary(re:replace("a-","\\ba\\b","\\1keSyy\\1VigJfG&",[])), 
    <<"keSyyVigJfGa-">> = iolist_to_binary(re:replace("a-","\\ba\\b","\\1keSyy\\1VigJfG&",[global])), 
    <<"-QajTaYNwiaOblsalRbJ">> = iolist_to_binary(re:replace("-a","\\ba\\b","Q&jT&YNwiaOb\\1ls&lRbJ",[])), 
    <<"-QajTaYNwiaOblsalRbJ">> = iolist_to_binary(re:replace("-a","\\ba\\b","Q&jT&YNwiaOb\\1ls&lRbJ",[global])), 
    <<"-jrLliKmS-">> = iolist_to_binary(re:replace("-a-","\\ba\\b","jrLliKm\\1S",[])), 
    <<"-jrLliKmS-">> = iolist_to_binary(re:replace("-a-","\\ba\\b","jrLliKm\\1S",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\by\\b","tFe\\1K\\1&P&w",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\by\\b","tFe\\1K\\1&P&w",[global])), 
    <<"xy">> = iolist_to_binary(re:replace("xy","\\by\\b","&&cw&p\\1BkixXR",[])), 
    <<"xy">> = iolist_to_binary(re:replace("xy","\\by\\b","&&cw&p\\1BkixXR",[global])), 
    <<"yz">> = iolist_to_binary(re:replace("yz","\\by\\b","Mlv\\1O",[])), 
    <<"yz">> = iolist_to_binary(re:replace("yz","\\by\\b","Mlv\\1O",[global])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","\\by\\b","o&V\\1\\1&vaBPhc&YhjA\\1Hl",[])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","\\by\\b","o&V\\1\\1&vaBPhc&YhjA\\1Hl",[global])), 
    <<"*** FEnnRHgdUlleafatdRwilers">> = iolist_to_binary(re:replace("*** Failers","\\Ba\\B","EnnRHgdUlle&f&tdRw",[])), 
    <<"*** FEnnRHgdUlleafatdRwilers">> = iolist_to_binary(re:replace("*** Failers","\\Ba\\B","EnnRHgdUlle&f&tdRw",[global])), 
    <<"a-">> = iolist_to_binary(re:replace("a-","\\Ba\\B","wXKR&jlEbdM&QBJmvK",[])), 
    <<"a-">> = iolist_to_binary(re:replace("a-","\\Ba\\B","wXKR&jlEbdM&QBJmvK",[global])), 
    <<"-a">> = iolist_to_binary(re:replace("-a","\\Ba\\B","f\\1dQc",[])), 
    <<"-a">> = iolist_to_binary(re:replace("-a","\\Ba\\B","f\\1dQc",[global])), 
    <<"-a-">> = iolist_to_binary(re:replace("-a-","\\Ba\\B","WTMu\\1drSum",[])), 
    <<"-a-">> = iolist_to_binary(re:replace("-a-","\\Ba\\B","WTMu\\1drSum",[global])), 
    <<"xheOtJ">> = iolist_to_binary(re:replace("xy","\\By\\b","\\1heOtJ\\1",[])), 
    <<"xheOtJ">> = iolist_to_binary(re:replace("xy","\\By\\b","\\1heOtJ\\1",[global])), 
    <<"xYHVuz">> = iolist_to_binary(re:replace("yz","\\by\\B","xYH\\1\\1Vu",[])), 
    <<"xYHVuz">> = iolist_to_binary(re:replace("yz","\\by\\B","xYH\\1\\1Vu",[global])), 
    <<"xUyfxgltgVyjPz">> = iolist_to_binary(re:replace("xyz","\\By\\B","\\1Uyf\\1xglt\\1gV\\1\\1&jP",[])), 
    <<"xUyfxgltgVyjPz">> = iolist_to_binary(re:replace("xyz","\\By\\B","\\1Uyf\\1xglt\\1gV\\1\\1&jP",[global])), 
    <<"PqSMLiChcHwx">> = iolist_to_binary(re:replace("a","\\w","PqSMLiChcHwx",[])), 
    <<"PqSMLiChcHwx">> = iolist_to_binary(re:replace("a","\\w","PqSMLiChcHwx",[global])), 
    <<"Bl">> = iolist_to_binary(re:replace("-","\\W","Bl",[])), 
    <<"Bl">> = iolist_to_binary(re:replace("-","\\W","Bl",[global])), 
    <<"**rPBnOGDkc** Failers">> = iolist_to_binary(re:replace("*** Failers","\\W","&&\\1rPBnOGDkc",[])), 
    <<"**rPBnOGDkc**rPBnOGDkc**rPBnOGDkc  rPBnOGDkcFailers">> = iolist_to_binary(re:replace("*** Failers","\\W","&&\\1rPBnOGDkc",[global])), 
    <<"rI">> = iolist_to_binary(re:replace("-","\\W","rI",[])), 
    <<"rI">> = iolist_to_binary(re:replace("-","\\W","rI",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","\\W","N&\\1h&mf\\1eJ&T",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","\\W","N&\\1h&mf\\1eJ&T",[global])), 
    <<"Ia bHMFKnjmeDa bNCX">> = iolist_to_binary(re:replace("a b","a\\sb","I&HMFKnjm\\1eD&NCX",[])), 
    <<"Ia bHMFKnjmeDa bNCX">> = iolist_to_binary(re:replace("a b","a\\sb","I&HMFKnjm\\1eD&NCX",[global])), 
    <<"a-ba-ba-bnaNLABX">> = iolist_to_binary(re:replace("a-b","a\\Sb","&&&naN\\1LABX\\1",[])), 
    <<"a-ba-ba-bnaNLABX">> = iolist_to_binary(re:replace("a-b","a\\Sb","&&&naN\\1LABX\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Sb","\\1bI&cDB\\1Bpe",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Sb","\\1bI&cDB\\1Bpe",[global])), 
    <<"ILRpJeKfXTxFTY">> = iolist_to_binary(re:replace("a-b","a\\Sb","I\\1L\\1RpJe\\1KfXTxFTY",[])), 
    <<"ILRpJeKfXTxFTY">> = iolist_to_binary(re:replace("a-b","a\\Sb","I\\1L\\1RpJe\\1KfXTxFTY",[global])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a\\Sb","\\1ngH\\1OgaFGbI",[])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a\\Sb","\\1ngH\\1OgaFGbI",[global])), 
    <<"oOycwxv1FKdF">> = iolist_to_binary(re:replace("1","\\d","oOycwxv&FK\\1dF\\1",[])), 
    <<"oOycwxv1FKdF">> = iolist_to_binary(re:replace("1","\\d","oOycwxv&FK\\1dF\\1",[global])), 
    <<"YdKRXgdlJSvnIO">> = iolist_to_binary(re:replace("-","\\D","YdKRXgdl\\1JSvnIO",[])), 
    <<"YdKRXgdlJSvnIO">> = iolist_to_binary(re:replace("-","\\D","YdKRXgdl\\1JSvnIO",[global])), 
    <<"lxE*lk*V** Failers">> = iolist_to_binary(re:replace("*** Failers","\\D","lx\\1E&lk&V",[])), 
    <<"lxE*lk*VlxE*lk*VlxE*lk*VlxE lk VlxEFlkFVlxEalkaVlxEilkiVlxEllklVlxEelkeVlxErlkrVlxEslksV">> = iolist_to_binary(re:replace("*** Failers","\\D","lx\\1E&lk&V",[global])), 
    <<"JRKLvPGXEGf-a">> = iolist_to_binary(re:replace("-","\\D","JRK\\1LvPG\\1XEGf&a",[])), 
    <<"JRKLvPGXEGf-a">> = iolist_to_binary(re:replace("-","\\D","JRK\\1LvPG\\1XEGf&a",[global])), 
    <<"1">> = iolist_to_binary(re:replace("1","\\D","aTH&MPmaOF\\1\\1r",[])), 
    <<"1">> = iolist_to_binary(re:replace("1","\\D","aTH&MPmaOF\\1\\1r",[global])), 
    <<"MGKXIbaJcyWbp">> = iolist_to_binary(re:replace("a","[\\w]","MGKXIb&Jc\\1yWbp",[])), 
    <<"MGKXIbaJcyWbp">> = iolist_to_binary(re:replace("a","[\\w]","MGKXIb&Jc\\1yWbp",[global])), 
    ok.
run17() ->
    <<"YqG">> = iolist_to_binary(re:replace("-","[\\W]","YqG",[])), 
    <<"YqG">> = iolist_to_binary(re:replace("-","[\\W]","YqG",[global])), 
    <<"*nxdd*geTTc** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\W]","&nx\\1dd&geTTc",[])), 
    <<"*nxdd*geTTc*nxdd*geTTc*nxdd*geTTc nxdd geTTcFailers">> = iolist_to_binary(re:replace("*** Failers","[\\W]","&nx\\1dd&geTTc",[global])), 
    <<"iqqe">> = iolist_to_binary(re:replace("-","[\\W]","iqqe",[])), 
    <<"iqqe">> = iolist_to_binary(re:replace("-","[\\W]","iqqe",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","[\\W]","wwF\\1Q",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","[\\W]","wwF\\1Q",[global])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a[\\s]b","&",[])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a[\\s]b","&",[global])), 
    <<"SPqkyVa-bP">> = iolist_to_binary(re:replace("a-b","a[\\S]b","SPqkyV&P",[])), 
    <<"SPqkyVa-bP">> = iolist_to_binary(re:replace("a-b","a[\\S]b","SPqkyV&P",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[\\S]b","\\1FDeRsoK&IAJD&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[\\S]b","\\1FDeRsoK&IAJD&",[global])), 
    <<"VDpMoFi">> = iolist_to_binary(re:replace("a-b","a[\\S]b","VDpMoFi",[])), 
    <<"VDpMoFi">> = iolist_to_binary(re:replace("a-b","a[\\S]b","VDpMoFi",[global])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a[\\S]b","r&\\1C&XvsB&",[])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a[\\S]b","r&\\1C&XvsB&",[global])), 
    <<"oHYpsb1fsM1IhN1n">> = iolist_to_binary(re:replace("1","[\\d]","oHY\\1psb&fsM&IhN\\1&n",[])), 
    <<"oHYpsb1fsM1IhN1n">> = iolist_to_binary(re:replace("1","[\\d]","oHY\\1psb&fsM&IhN\\1&n",[global])), 
    <<"-KJX">> = iolist_to_binary(re:replace("-","[\\D]","&KJX",[])), 
    <<"-KJX">> = iolist_to_binary(re:replace("-","[\\D]","&KJX",[global])), 
    <<"S*I*KU** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\D]","S&\\1I&KU",[])), 
    <<"S*I*KUS*I*KUS*I*KUS I KUSFIFKUSaIaKUSiIiKUSlIlKUSeIeKUSrIrKUSsIsKU">> = iolist_to_binary(re:replace("*** Failers","[\\D]","S&\\1I&KU",[global])), 
    <<"WSKtUY">> = iolist_to_binary(re:replace("-","[\\D]","WSKtUY",[])), 
    <<"WSKtUY">> = iolist_to_binary(re:replace("-","[\\D]","WSKtUY",[global])), 
    <<"1">> = iolist_to_binary(re:replace("1","[\\D]","B\\1iB",[])), 
    <<"1">> = iolist_to_binary(re:replace("1","[\\D]","B\\1iB",[global])), 
    <<"bkabprVc">> = iolist_to_binary(re:replace("abc","ab|cd","bk&prV",[])), 
    <<"bkabprVc">> = iolist_to_binary(re:replace("abc","ab|cd","bk&prV",[global])), 
    <<"oxPHxnpgpabTabDdTmMcd">> = iolist_to_binary(re:replace("abcd","ab|cd","oxPHxnpgp&T&DdTmM",[])), 
    <<"oxPHxnpgpabTabDdTmMoxPHxnpgpcdTcdDdTmM">> = iolist_to_binary(re:replace("abcd","ab|cd","oxPHxnpgp&T&DdTmM",[global])), 
    <<"dpfHboradY">> = iolist_to_binary(re:replace("def","()ef","pfH\\1bor\\1adY",[])), 
    <<"dpfHboradY">> = iolist_to_binary(re:replace("def","()ef","pfH\\1bor\\1adY",[global])), 
    <<"Uma(b">> = iolist_to_binary(re:replace("a(b","a\\(b","Um&",[])), 
    <<"Uma(b">> = iolist_to_binary(re:replace("a(b","a\\(b","Um&",[global])), 
    <<"YyxabuKXMauxXBpkrd">> = iolist_to_binary(re:replace("ab","a\\(*b","Yyx&uKXMauxXBpkrd",[])), 
    <<"YyxabuKXMauxXBpkrd">> = iolist_to_binary(re:replace("ab","a\\(*b","Yyx&uKXMauxXBpkrd",[global])), 
    <<"pDTwGyKkiLEWnnefa((b">> = iolist_to_binary(re:replace("a((b","a\\(*b","pDTwGyKkiLEWnnef&",[])), 
    <<"pDTwGyKkiLEWnnefa((b">> = iolist_to_binary(re:replace("a((b","a\\(*b","pDTwGyKkiLEWnnef&",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","a\\\\b","G\\1H\\1qrOi&\\1&aUty",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","a\\\\b","G\\1H\\1qrOi&\\1&aUty",[global])), 
    <<"eaywaaaVSCBcjnuIfRXabc">> = iolist_to_binary(re:replace("abc","((a))","e&yw&\\1&VSCBcjnuIfRX\\1",[])), 
    <<"eaywaaaVSCBcjnuIfRXabc">> = iolist_to_binary(re:replace("abc","((a))","e&yw&\\1&VSCBcjnuIfRX\\1",[global])), 
    <<"IbabcEabc">> = iolist_to_binary(re:replace("abc","(a)b(c)","Ib&E&",[])), 
    <<"IbabcEabc">> = iolist_to_binary(re:replace("abc","(a)b(c)","Ib&E&",[global])), 
    <<"aabbgflabcrIsYKabcUvEj">> = iolist_to_binary(re:replace("aabbabc","a+b+c","gf\\1\\1l&rIsYK&UvEj",[])), 
    <<"aabbgflabcrIsYKabcUvEj">> = iolist_to_binary(re:replace("aabbabc","a+b+c","gf\\1\\1l&rIsYK&UvEj",[global])), 
    <<"aabbUMebt">> = iolist_to_binary(re:replace("aabbabc","a{1,}b{1,}c","UMeb\\1t",[])), 
    <<"aabbUMebt">> = iolist_to_binary(re:replace("aabbabc","a{1,}b{1,}c","UMeb\\1t",[global])), 
    <<"pPfLrjPUFRjvuHjcjabc">> = iolist_to_binary(re:replace("abcabc","a.+?c","pPf\\1LrjPUFRjvuH\\1jcj\\1",[])), 
    <<"pPfLrjPUFRjvuHjcjpPfLrjPUFRjvuHjcj">> = iolist_to_binary(re:replace("abcabc","a.+?c","pPf\\1LrjPUFRjvuH\\1jcj\\1",[global])), 
    <<"abocUabav">> = iolist_to_binary(re:replace("ab","(a+|b)*","&ocU&av",[])), 
    <<"abocUabavocUav">> = iolist_to_binary(re:replace("ab","(a+|b)*","&ocU&av",[global])), 
    <<"FWabLo">> = iolist_to_binary(re:replace("ab","(a+|b){0,}","FW&Lo",[])), 
    <<"FWabLoFWLo">> = iolist_to_binary(re:replace("ab","(a+|b){0,}","FW&Lo",[global])), 
    <<"EGbhiYYab">> = iolist_to_binary(re:replace("ab","(a+|b)+","EG\\1hiYY&",[])), 
    <<"EGbhiYYab">> = iolist_to_binary(re:replace("ab","(a+|b)+","EG\\1hiYY&",[global])), 
    <<"jbtiMbbNbCoAUbUC">> = iolist_to_binary(re:replace("ab","(a+|b){1,}","j\\1tiM\\1\\1N\\1CoAU\\1UC",[])), 
    <<"jbtiMbbNbCoAUbUC">> = iolist_to_binary(re:replace("ab","(a+|b){1,}","j\\1tiM\\1\\1N\\1CoAU\\1UC",[global])), 
    ok.
run18() ->
    <<"aLWaSkPahb">> = iolist_to_binary(re:replace("ab","(a+|b)?","\\1LW\\1SkP&h",[])), 
    <<"aLWaSkPahbLWbSkPbhLWSkPh">> = iolist_to_binary(re:replace("ab","(a+|b)?","\\1LW\\1SkP&h",[global])), 
    <<"Aab">> = iolist_to_binary(re:replace("ab","(a+|b){0,1}","A\\1",[])), 
    <<"AaAbA">> = iolist_to_binary(re:replace("ab","(a+|b){0,1}","A\\1",[global])), 
    <<"QOcdemOcded">> = iolist_to_binary(re:replace("cde","[^ab]*","QO&mO&d",[])), 
    <<"QOcdemOcdedQOmOd">> = iolist_to_binary(re:replace("cde","[^ab]*","QO&mO&d",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","iTWYAHkkEiJ&r",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","iTWYAHkkEiJ&r",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","abc","Q",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","abc","Q",[global])), 
    <<"nboabbbcdffWetJfpMLDkabbbcdjOabbbcd">> = iolist_to_binary(re:replace("abbbcd","([abc])*d","nbo&ffWetJfpMLDk&jO&",[])), 
    <<"nboabbbcdffWetJfpMLDkabbbcdjOabbbcd">> = iolist_to_binary(re:replace("abbbcd","([abc])*d","nbo&ffWetJfpMLDk&jO&",[global])), 
    <<"JaabcduaabcdVPsa">> = iolist_to_binary(re:replace("abcd","([abc])*bcd","J\\1&ua&VPs\\1",[])), 
    <<"JaabcduaabcdVPsa">> = iolist_to_binary(re:replace("abcd","([abc])*bcd","J\\1&ua&VPs\\1",[global])), 
    <<"e">> = iolist_to_binary(re:replace("e","a|b|c|d|e","&",[])), 
    <<"e">> = iolist_to_binary(re:replace("e","a|b|c|d|e","&",[global])), 
    <<"kefefAeXq">> = iolist_to_binary(re:replace("ef","(a|b|c|d|e)f","k&&A\\1Xq",[])), 
    <<"kefefAeXq">> = iolist_to_binary(re:replace("ef","(a|b|c|d|e)f","k&&A\\1Xq",[global])), 
    <<"fsGDN">> = iolist_to_binary(re:replace("abcdefg","abcd*efg","fsG\\1D\\1\\1N\\1",[])), 
    <<"fsGDN">> = iolist_to_binary(re:replace("abcdefg","abcd*efg","fsG\\1D\\1\\1N\\1",[global])), 
    <<"xThMpLDjpnyabbbz">> = iolist_to_binary(re:replace("xabyabbbz","ab*","T\\1hMpLDjpn",[])), 
    <<"xThMpLDjpnyThMpLDjpnz">> = iolist_to_binary(re:replace("xabyabbbz","ab*","T\\1hMpLDjpn",[global])), 
    <<"xqjaJaVJVyabbbz">> = iolist_to_binary(re:replace("xayabbbz","ab*","qj&J&VJV",[])), 
    <<"xqjaJaVJVyqjabbbJabbbVJVz">> = iolist_to_binary(re:replace("xayabbbz","ab*","qj&J&VJV",[global])), 
    <<"abCcdeQnNecduqUkMSfcdGcdecdeh">> = iolist_to_binary(re:replace("abcde","(ab|cd)e","C&QnNe\\1uqUkMSf\\1G&&h",[])), 
    <<"abCcdeQnNecduqUkMSfcdGcdecdeh">> = iolist_to_binary(re:replace("abcde","(ab|cd)e","C&QnNe\\1uqUkMSf\\1G&&h",[global])), 
    <<"gJyOb">> = iolist_to_binary(re:replace("hij","[abhgefdc]ij","gJyOb",[])), 
    <<"gJyOb">> = iolist_to_binary(re:replace("hij","[abhgefdc]ij","gJyOb",[global])), 
    <<"abcdGbYcPqM">> = iolist_to_binary(re:replace("abcdef","(abc|)ef","GbY\\1cPqM",[])), 
    <<"abcdGbYcPqM">> = iolist_to_binary(re:replace("abcdef","(abc|)ef","GbY\\1cPqM",[global])), 
    <<"aUbcdUBbcdAUpIFAbVerWgt">> = iolist_to_binary(re:replace("abcd","(a|b)c*d","U&UB&AUpIFA\\1VerWgt",[])), 
    <<"aUbcdUBbcdAUpIFAbVerWgt">> = iolist_to_binary(re:replace("abcd","(a|b)c*d","U&UB&AUpIFA\\1VerWgt",[global])), 
    <<"abckK">> = iolist_to_binary(re:replace("abc","(ab|ab*)bc","&kK",[])), 
    <<"abckK">> = iolist_to_binary(re:replace("abc","(ab|ab*)bc","&kK",[global])), 
    <<"MFabcMbcbcabcXbcGWabcbc">> = iolist_to_binary(re:replace("abc","a([bc]*)c*","MF&M\\1\\1&X\\1GW&\\1",[])), 
    <<"MFabcMbcbcabcXbcGWabcbc">> = iolist_to_binary(re:replace("abc","a([bc]*)c*","MF&M\\1\\1&X\\1GW&\\1",[global])), 
    <<"bcEbcyv">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c*d)","\\1E\\1yv",[])), 
    <<"bcEbcyv">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c*d)","\\1E\\1yv",[global])), 
    <<"HJx">> = iolist_to_binary(re:replace("abcd","a([bc]+)(c*d)","HJx",[])), 
    <<"HJx">> = iolist_to_binary(re:replace("abcd","a([bc]+)(c*d)","HJx",[global])), 
    ok.
run19() ->
    <<"HdbW">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c+d)","Hd\\1W",[])), 
    <<"HdbW">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c+d)","Hd\\1W",[global])), 
    <<"FqCeJOadcdcdeIvQpadcdcdeadcdcdeadcdcdeH">> = iolist_to_binary(re:replace("adcdcde","a[bcd]*dcdcde","FqCeJO&IvQp\\1\\1&&&H",[])), 
    <<"FqCeJOadcdcdeIvQpadcdcdeadcdcdeadcdcdeH">> = iolist_to_binary(re:replace("adcdcde","a[bcd]*dcdcde","FqCeJO&IvQp\\1\\1&&&H",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bcd]+dcdcde","\\1&TNEyDw",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bcd]+dcdcde","\\1&TNEyDw",[global])), 
    <<"abcde">> = iolist_to_binary(re:replace("abcde","a[bcd]+dcdcde","PqeS\\1GQJ&vSq&YhS",[])), 
    <<"abcde">> = iolist_to_binary(re:replace("abcde","a[bcd]+dcdcde","PqeS\\1GQJ&vSq&YhS",[global])), 
    <<"adcdcde">> = iolist_to_binary(re:replace("adcdcde","a[bcd]+dcdcde","vdBav\\1Ild",[])), 
    <<"adcdcde">> = iolist_to_binary(re:replace("adcdcde","a[bcd]+dcdcde","vdBav\\1Ild",[global])), 
    <<"GIjXVoAJXroabclW">> = iolist_to_binary(re:replace("abc","(ab|a)b*c","GIjXVoAJXro&lW",[])), 
    <<"GIjXVoAJXroabclW">> = iolist_to_binary(re:replace("abc","(ab|a)b*c","GIjXVoAJXro&lW",[global])), 
    <<"pKabcabctabcdqabcdaAabcdpgPtdK">> = iolist_to_binary(re:replace("abcd","((a)(b)c)(d)","pK\\1\\1t&q&aA&pgPtdK",[])), 
    <<"pKabcabctabcdqabcdaAabcdpgPtdK">> = iolist_to_binary(re:replace("abcd","((a)(b)c)(d)","pK\\1\\1t&q&aA&pgPtdK",[global])), 
    <<"XrxalphaplnalphaMFGv">> = iolist_to_binary(re:replace("alpha","[a-zA-Z_][a-zA-Z0-9_]*","Xrx&pln&MFG\\1v",[])), 
    <<"XrxalphaplnalphaMFGv">> = iolist_to_binary(re:replace("alpha","[a-zA-Z_][a-zA-Z0-9_]*","Xrx&pln&MFG\\1v",[global])), 
    <<"ajbhHEObuuuMEIegbh">> = iolist_to_binary(re:replace("abh","^a(bc+|b[eh])g|.h$","j&HEObuu\\1uMEIeg&",[])), 
    <<"ajbhHEObuuuMEIegbh">> = iolist_to_binary(re:replace("abh","^a(bc+|b[eh])g|.h$","j&HEObuu\\1uMEIeg&",[global])), 
    <<"effgzFiGeffgzUwqI">> = iolist_to_binary(re:replace("effgz","(bc+d$|ef*g.|h?i(j|k))","&FiG\\1UwqI",[])), 
    <<"effgzFiGeffgzUwqI">> = iolist_to_binary(re:replace("effgz","(bc+d$|ef*g.|h?i(j|k))","&FiG\\1UwqI",[global])), 
    <<"ijJMstbxCWsijpVijVwQav">> = iolist_to_binary(re:replace("ij","(bc+d$|ef*g.|h?i(j|k))","&JMstbxCWs&pV\\1VwQav",[])), 
    <<"ijJMstbxCWsijpVijVwQav">> = iolist_to_binary(re:replace("ij","(bc+d$|ef*g.|h?i(j|k))","&JMstbxCWs&pV\\1VwQav",[global])), 
    <<"rqYdteffgzVIpOoenIHdd">> = iolist_to_binary(re:replace("reffgz","(bc+d$|ef*g.|h?i(j|k))","qYdt&VIpOoenIHdd",[])), 
    <<"rqYdteffgzVIpOoenIHdd">> = iolist_to_binary(re:replace("reffgz","(bc+d$|ef*g.|h?i(j|k))","qYdt&VIpOoenIHdd",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","aq",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","aq",[global])), 
    <<"effg">> = iolist_to_binary(re:replace("effg","(bc+d$|ef*g.|h?i(j|k))","yHtJLFej\\1yYR\\1sQo&np",[])), 
    <<"effg">> = iolist_to_binary(re:replace("effg","(bc+d$|ef*g.|h?i(j|k))","yHtJLFej\\1yYR\\1sQo&np",[global])), 
    <<"bcdd">> = iolist_to_binary(re:replace("bcdd","(bc+d$|ef*g.|h?i(j|k))","y\\1WeuT\\1",[])), 
    <<"bcdd">> = iolist_to_binary(re:replace("bcdd","(bc+d$|ef*g.|h?i(j|k))","y\\1WeuT\\1",[global])), 
    <<"wodvWYlegweBrV">> = iolist_to_binary(re:replace("a","((((((((((a))))))))))","wodvWYlegweBrV",[])), 
    <<"wodvWYlegweBrV">> = iolist_to_binary(re:replace("a","((((((((((a))))))))))","wodvWYlegweBrV",[global])), 
    <<"gqasCpaas">> = iolist_to_binary(re:replace("aa","((((((((((a))))))))))\\10","gq\\1sCp\\1\\1s",[])), 
    <<"gqasCpaas">> = iolist_to_binary(re:replace("aa","((((((((((a))))))))))\\10","gq\\1sCp\\1\\1s",[global])), 
    <<"GwagSDfa">> = iolist_to_binary(re:replace("a","(((((((((a)))))))))","Gw&gSDf&",[])), 
    <<"GwagSDfa">> = iolist_to_binary(re:replace("a","(((((((((a)))))))))","Gw&gSDf&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","qj&H&TFbc&WmR",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","qj&H&TFbc&WmR",[global])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","multiple words of text","FwU",[])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","multiple words of text","FwU",[global])), 
    <<"uh-uh">> = iolist_to_binary(re:replace("uh-uh","multiple words of text","Tf&&&bwM&KOaXHg\\1WRNk",[])), 
    <<"uh-uh">> = iolist_to_binary(re:replace("uh-uh","multiple words of text","Tf&&&bwM&KOaXHg\\1WRNk",[global])), 
    <<"RdXXlExbAbHAgDE, yeah">> = iolist_to_binary(re:replace("multiple words, yeah","multiple words","R\\1dXXl\\1ExbAbHAgDE",[])), 
    <<"RdXXlExbAbHAgDE, yeah">> = iolist_to_binary(re:replace("multiple words, yeah","multiple words","R\\1dXXl\\1ExbAbHAgDE",[global])), 
    <<"ababcCxabsCTYB">> = iolist_to_binary(re:replace("abcde","(.*)c(.*)","\\1\\1cCx\\1sCTYB",[])), 
    <<"ababcCxabsCTYB">> = iolist_to_binary(re:replace("abcde","(.*)c(.*)","\\1\\1cCx\\1sCTYB",[global])), 
    <<"rW">> = iolist_to_binary(re:replace("(a, b)","\\((.*), (.*)\\)","rW",[])), 
    <<"rW">> = iolist_to_binary(re:replace("(a, b)","\\((.*), (.*)\\)","rW",[global])), 
    <<"dabcd">> = iolist_to_binary(re:replace("abcd","abcd","d&",[])), 
    <<"dabcd">> = iolist_to_binary(re:replace("abcd","abcd","d&",[global])), 
    <<"bclAbcTn">> = iolist_to_binary(re:replace("abcd","a(bc)d","\\1lA\\1Tn",[])), 
    <<"bclAbcTn">> = iolist_to_binary(re:replace("abcd","a(bc)d","\\1lA\\1Tn",[global])), 
    <<"waf">> = iolist_to_binary(re:replace("ac","a[-]?c","waf",[])), 
    <<"waf">> = iolist_to_binary(re:replace("ac","a[-]?c","waf",[global])), 
    <<"HpOuFXbFnUEO">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","HpOuFXbFnUEO",[])), 
    <<"HpOuFXbFnUEO">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","HpOuFXbFnUEO",[global])), 
    ok.
run20() ->
    <<"XvCLIKabcabcohl">> = iolist_to_binary(re:replace("abcabc","([a-c]*)\\1","XvCLIK&ohl",[])), 
    <<"XvCLIKabcabcohlXvCLIKohl">> = iolist_to_binary(re:replace("abcabc","([a-c]*)\\1","XvCLIK&ohl",[global])), 
    <<"THmLVdxHpEOamaQ">> = iolist_to_binary(re:replace("a","(a)|\\1","THmLVdxHpEOam\\1Q",[])), 
    <<"THmLVdxHpEOamaQ">> = iolist_to_binary(re:replace("a","(a)|\\1","THmLVdxHpEOam\\1Q",[global])), 
    <<"*** FjGfKKSoilers">> = iolist_to_binary(re:replace("*** Failers","(a)|\\1","jGfKKSo",[])), 
    <<"*** FjGfKKSoilers">> = iolist_to_binary(re:replace("*** Failers","(a)|\\1","jGfKKSo",[global])), 
    <<"pCab">> = iolist_to_binary(re:replace("ab","(a)|\\1","pC&",[])), 
    <<"pCab">> = iolist_to_binary(re:replace("ab","(a)|\\1","pC&",[global])), 
    <<"x">> = iolist_to_binary(re:replace("x","(a)|\\1","U",[])), 
    <<"x">> = iolist_to_binary(re:replace("x","(a)|\\1","U",[global])), 
    <<"nwvlinqmgabbLababbvbcbc">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2)*","nwvlinqmga\\1L&v",[])), 
    <<"nwvlinqmgabbLababbvnwvlinqmgaLvbnwvlinqmgacbcLcbcvnwvlinqmgaLv">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2)*","nwvlinqmga\\1L&v",[global])), 
    <<"XEababbbcbccbcnoei">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2){3}","XE&\\1noei",[])), 
    <<"XEababbbcbccbcnoei">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2){3}","XE&\\1noei",[global])), 
    <<"aaaxabaxbaaxbbaxQHJip">> = iolist_to_binary(re:replace("aaaxabaxbaaxbbax","((\\3|b)\\2(a)x)+","&QHJip",[])), 
    <<"aaaxabaxbaaxbbaxQHJip">> = iolist_to_binary(re:replace("aaaxabaxbaaxbbax","((\\3|b)\\2(a)x)+","&QHJip",[global])), 
    <<"bbaababbabaaaaaFjrtkQstbbaaaabbabbaaaabbaRobbaaaabbaQwbbaJbbaaaabbabbaaaabba">> = iolist_to_binary(re:replace("bbaababbabaaaaabbaaaabba","((\\3|b)\\2(a)){2,}","FjrtkQst&&Ro&Qw\\1J&&",[])), 
    <<"bbaababbabaaaaaFjrtkQstbbaaaabbabbaaaabbaRobbaaaabbaQwbbaJbbaaaabbabbaaaabba">> = iolist_to_binary(re:replace("bbaababbabaaaaabbaaaabba","((\\3|b)\\2(a)){2,}","FjrtkQst&&Ro&Qw\\1J&&",[global])), 
    <<"hryRShiLJ">> = iolist_to_binary(re:replace("ABC","abc","hryRShiL\\1J",[caseless])), 
    <<"hryRShiLJ">> = iolist_to_binary(re:replace("ABC","abc","hryRShiL\\1J",[caseless,
                                                                                                                                                                              global])), 
    <<"XHUenvABCCmAOuuCY">> = iolist_to_binary(re:replace("XABCY","abc","HUenv&C\\1mAOuuC",[caseless])), 
    <<"XHUenvABCCmAOuuCY">> = iolist_to_binary(re:replace("XABCY","abc","HUenv&C\\1mAOuuC",[caseless,
                                                                                                                                                                                           global])), 
    <<"AB">> = iolist_to_binary(re:replace("ABABC","abc","\\1",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("ABABC","abc","\\1",[caseless,
                                                                                                                                                                global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","qc&a\\1M&&\\1qqO&&YaV",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","qc&a\\1M&&\\1qqO&&YaV",[caseless,
                                                                                                                                                                                                                      global])), 
    <<"aaxabxbaxbbx">> = iolist_to_binary(re:replace("aaxabxbaxbbx","abc","YoMmmB&v\\1N\\1voc",[caseless])), 
    <<"aaxabxbaxbbx">> = iolist_to_binary(re:replace("aaxabxbaxbbx","abc","YoMmmB&v\\1N\\1voc",[caseless,
                                                                                                                                                                                                              global])), 
    <<"XBC">> = iolist_to_binary(re:replace("XBC","abc","\\1gwN\\1pcAL\\1le&B",[caseless])), 
    <<"XBC">> = iolist_to_binary(re:replace("XBC","abc","\\1gwN\\1pcAL\\1le&B",[caseless,
                                                                                                                                                                                                 global])), 
    <<"AXC">> = iolist_to_binary(re:replace("AXC","abc","vQ&&a\\1Kw",[caseless])), 
    <<"AXC">> = iolist_to_binary(re:replace("AXC","abc","vQ&&a\\1Kw",[caseless,
                                                                                                                                                                            global])), 
    <<"ABX">> = iolist_to_binary(re:replace("ABX","abc","pSJJqa&TbyEb",[caseless])), 
    <<"ABX">> = iolist_to_binary(re:replace("ABX","abc","pSJJqa&TbyEb",[caseless,
                                                                                                                                                                              global])), 
    <<"ABCYSKriNcABCxqw">> = iolist_to_binary(re:replace("ABC","ab*c","&YSKriNc&xqw",[caseless])), 
    <<"ABCYSKriNcABCxqw">> = iolist_to_binary(re:replace("ABC","ab*c","&YSKriNc&xqw",[caseless,
                                                                                                                                                                                 global])), 
    <<"">> = iolist_to_binary(re:replace("ABC","ab*bc","\\1",[caseless])), 
    <<"">> = iolist_to_binary(re:replace("ABC","ab*bc","\\1",[caseless,
                                                                                                                                                                global])), 
    <<"xd">> = iolist_to_binary(re:replace("ABBC","ab*bc","xd",[caseless])), 
    <<"xd">> = iolist_to_binary(re:replace("ABBC","ab*bc","xd",[caseless,
                                                                                                                                                               global])), 
    <<"fSNABBBBCXyDgO">> = iolist_to_binary(re:replace("ABBBBC","ab*?bc","fSN&\\1\\1XyDgO\\1",[caseless])), 
    <<"fSNABBBBCXyDgO">> = iolist_to_binary(re:replace("ABBBBC","ab*?bc","fSN&\\1\\1XyDgO\\1",[caseless,
                                                                                                                                                                                                         global])), 
    <<"kp">> = iolist_to_binary(re:replace("ABBBBC","ab{0,}?bc","kp",[caseless])), 
    <<"kp">> = iolist_to_binary(re:replace("ABBBBC","ab{0,}?bc","kp",[caseless,
                                                                                                                                                                           global])), 
    <<"TjPcYlpdNDABBCAJoFsABBC">> = iolist_to_binary(re:replace("ABBC","ab+?bc","TjPcYlpdND\\1\\1&AJoFs&",[caseless])), 
    <<"TjPcYlpdNDABBCAJoFsABBC">> = iolist_to_binary(re:replace("ABBC","ab+?bc","TjPcYlpdND\\1\\1&AJoFs&",[caseless,
                                                                                                                                                                                                               global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","WWQXKaM\\1xLF&",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","WWQXKaM\\1xLF&",[caseless,
                                                                                                                                                                                                       global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","ab+bc","w",[caseless])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","ab+bc","w",[caseless,
                                                                                                                                                           global])), 
    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab+bc","SYdD",[caseless])), 
    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab+bc","SYdD",[caseless,
                                                                                                                                                                 global])), 
    <<"TABBBBC">> = iolist_to_binary(re:replace("ABBBBC","ab+bc","T&",[caseless])), 
    <<"TABBBBC">> = iolist_to_binary(re:replace("ABBBBC","ab+bc","T&",[caseless,
                                                                                                                                                                    global])), 
    <<"grMABBBBCABBBBCnRD">> = iolist_to_binary(re:replace("ABBBBC","ab{1,}?bc","grM&&nRD",[caseless])), 
    <<"grMABBBBCABBBBCnRD">> = iolist_to_binary(re:replace("ABBBBC","ab{1,}?bc","grM&&nRD",[caseless,
                                                                                                                                                                                         global])), 
    <<"JJtIBfABBBBCaKtYmqwv">> = iolist_to_binary(re:replace("ABBBBC","ab{1,3}?bc","\\1JJtIBf&\\1aKtYmqwv",[caseless])), 
    <<"JJtIBfABBBBCaKtYmqwv">> = iolist_to_binary(re:replace("ABBBBC","ab{1,3}?bc","\\1JJtIBf&\\1aKtYmqwv",[caseless,
                                                                                                                                                                                                                      global])), 
    <<"gwAlxwDfABBBBCNQKABBBBClABBBBCLxf">> = iolist_to_binary(re:replace("ABBBBC","ab{3,4}?bc","gw\\1AlxwDf&NQK&l\\1&Lxf",[caseless])), 
    <<"gwAlxwDfABBBBCNQKABBBBClABBBBCLxf">> = iolist_to_binary(re:replace("ABBBBC","ab{3,4}?bc","gw\\1AlxwDf&NQK&l\\1&Lxf",[caseless,
                                                                                                                                                                                                                              global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}?bc","qiwoP\\1bmIlc\\1&",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}?bc","qiwoP\\1bmIlc\\1&",[caseless,
                                                                                                                                                                                                                        global])), 
    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab{4,5}?bc","aBG\\1YIvTYXxiuDt&",[caseless])), 
    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab{4,5}?bc","aBG\\1YIvTYXxiuDt&",[caseless,
                                                                                                                                                                                                         global])), 
    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","ab{4,5}?bc","T\\1d&vifs\\1n\\1Jvt",[caseless])), 
    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","ab{4,5}?bc","T\\1d&vifs\\1n\\1Jvt",[caseless,
                                                                                                                                                                                                                     global])), 
    <<"MvyHLhAABBCiABBCN">> = iolist_to_binary(re:replace("ABBC","ab??bc","M\\1vyHLhA\\1&\\1i&N",[caseless])), 
    <<"MvyHLhAABBCiABBCN">> = iolist_to_binary(re:replace("ABBC","ab??bc","M\\1vyHLhA\\1&\\1i&N",[caseless,
                                                                                                                                                                                                          global])), 
    <<"mlLABCgtDiemoB">> = iolist_to_binary(re:replace("ABC","ab??bc","mlL&gtDiemoB",[caseless])), 
    <<"mlLABCgtDiemoB">> = iolist_to_binary(re:replace("ABC","ab??bc","mlL&gtDiemoB",[caseless,
                                                                                                                                                                                    global])), 
    ok.
run21() ->
    <<"aMKJBABCqBQrABCWvqqJABCVi">> = iolist_to_binary(re:replace("ABC","ab{0,1}?bc","aMKJB&qBQr&WvqqJ&Vi",[caseless])), 
    <<"aMKJBABCqBQrABCWvqqJABCVi">> = iolist_to_binary(re:replace("ABC","ab{0,1}?bc","aMKJB&qBQr&WvqqJ&Vi",[caseless,
                                                                                                                                                                                                            global])), 
    <<"KABCqKjWXyABC">> = iolist_to_binary(re:replace("ABC","ab??c","K\\1&qKjWXy\\1&",[caseless])), 
    <<"KABCqKjWXyABC">> = iolist_to_binary(re:replace("ABC","ab??c","K\\1&qKjWXy\\1&",[caseless,
                                                                                                                                                                                           global])), 
    <<"t">> = iolist_to_binary(re:replace("ABC","ab{0,1}?c","t",[caseless])), 
    <<"t">> = iolist_to_binary(re:replace("ABC","ab{0,1}?c","t",[caseless,
                                                                                                                                                                   global])), 
    <<"djnySdABCABCxQAR">> = iolist_to_binary(re:replace("ABC","^abc$","djnyS\\1d&&\\1\\1x\\1QAR",[caseless])), 
    <<"djnySdABCABCxQAR">> = iolist_to_binary(re:replace("ABC","^abc$","djnyS\\1d&&\\1\\1x\\1QAR",[caseless,
                                                                                                                                                                                                                global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","&cOwCIe",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","&cOwCIe",[caseless,
                                                                                                                                                                                         global])), 
    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","^abc$","DTRA&tGT\\1WCjF\\1\\1",[caseless])), 
    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","^abc$","DTRA&tGT\\1WCjF\\1\\1",[caseless,
                                                                                                                                                                                                              global])), 
    <<"ABCC">> = iolist_to_binary(re:replace("ABCC","^abc$","YC\\1",[caseless])), 
    <<"ABCC">> = iolist_to_binary(re:replace("ABCC","^abc$","YC\\1",[caseless,
                                                                                                                                                                       global])), 
    <<"oCxwvYlagrHYCUNjC">> = iolist_to_binary(re:replace("ABCC","^abc","oC\\1xwvYlagrHYCUN\\1j",[caseless])), 
    <<"oCxwvYlagrHYCUNjC">> = iolist_to_binary(re:replace("ABCC","^abc","oC\\1xwvYlagrHYCUN\\1j",[caseless,
                                                                                                                                                                                                       global])), 
    <<"AABCYOABCqABCABCXABCKHJVXnu">> = iolist_to_binary(re:replace("AABC","abc$","&YO&q&&X&\\1KHJVXnu",[caseless])), 
    <<"AABCYOABCqABCABCXABCKHJVXnu">> = iolist_to_binary(re:replace("AABC","abc$","&YO&q&&X&\\1KHJVXnu",[caseless,
                                                                                                                                                                                                      global])), 
    <<"YKSscFvdcxhKQAABC">> = iolist_to_binary(re:replace("ABC","^","YKSscFvdcx\\1hKQA\\1",[caseless])), 
    <<"YKSscFvdcxhKQAABC">> = iolist_to_binary(re:replace("ABC","^","YKSscFvdcx\\1hKQA\\1",[caseless,
                                                                                                                                                                                           global])), 
    <<"ABCJPmJKxRqaJn">> = iolist_to_binary(re:replace("ABC","$","JPmJ&K\\1\\1x\\1RqaJ\\1n",[caseless])), 
    <<"ABCJPmJKxRqaJn">> = iolist_to_binary(re:replace("ABC","$","JPmJ&K\\1\\1x\\1RqaJ\\1n",[caseless,
                                                                                                                                                                                                       global])), 
    <<"KovmYABCBPABCY">> = iolist_to_binary(re:replace("ABC","a.c","KovmY&BP&Y",[caseless])), 
    <<"KovmYABCBPABCY">> = iolist_to_binary(re:replace("ABC","a.c","KovmY&BP&Y",[caseless,
                                                                                                                                                                           global])), 
    <<"tnMtqk">> = iolist_to_binary(re:replace("AXC","a.c","t\\1\\1n\\1Mtqk",[caseless])), 
    <<"tnMtqk">> = iolist_to_binary(re:replace("AXC","a.c","t\\1\\1n\\1Mtqk",[caseless,
                                                                                                                                                                                      global])), 
    <<"PTEd">> = iolist_to_binary(re:replace("AXYZC","a.*?c","PTEd",[caseless])), 
    <<"PTEd">> = iolist_to_binary(re:replace("AXYZC","a.*?c","PTEd",[caseless,
                                                                                                                                                                     global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.*c","\\1XFiq\\1uvPbLR",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.*c","\\1XFiq\\1uvPbLR",[caseless,
                                                                                                                                                                                                         global])), 
    <<"cqlTAABCy">> = iolist_to_binary(re:replace("AABC","a.*c","cqlT&\\1y",[caseless])), 
    <<"cqlTAABCy">> = iolist_to_binary(re:replace("AABC","a.*c","cqlT&\\1y",[caseless,
                                                                                                                                                                             global])), 
    <<"AXYZD">> = iolist_to_binary(re:replace("AXYZD","a.*c","nHl&b\\1Xh",[caseless])), 
    <<"AXYZD">> = iolist_to_binary(re:replace("AXYZD","a.*c","nHl&b\\1Xh",[caseless,
                                                                                                                                                                                 global])), 
    <<"ABDABDdC">> = iolist_to_binary(re:replace("ABD","a[bc]d","&&dC",[caseless])), 
    <<"ABDABDdC">> = iolist_to_binary(re:replace("ABD","a[bc]d","&&dC",[caseless,
                                                                                                                                                                     global])), 
    <<"UqQFWlGkACEBdlidOCI">> = iolist_to_binary(re:replace("ACE","a[b-d]e","UqQF\\1WlGk&BdlidOCI\\1",[caseless])), 
    <<"UqQFWlGkACEBdlidOCI">> = iolist_to_binary(re:replace("ACE","a[b-d]e","UqQF\\1WlGk&BdlidOCI\\1",[caseless,
                                                                                                                                                                                                              global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[b-d]e","UKuM",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[b-d]e","UKuM",[caseless,
                                                                                                                                                                                     global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","a[b-d]e","W",[caseless])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","a[b-d]e","W",[caseless,
                                                                                                                                                               global])), 
    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[b-d]e","HF",[caseless])), 
    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[b-d]e","HF",[caseless,
                                                                                                                                                                 global])), 
    <<"AFX">> = iolist_to_binary(re:replace("AAC","a[b-d]","FX",[caseless])), 
    <<"AFX">> = iolist_to_binary(re:replace("AAC","a[b-d]","FX",[caseless,
                                                                                                                                                               global])), 
    <<"aWjCeJjBuA-eA-wLdnI">> = iolist_to_binary(re:replace("A-","a[-b]","aWjCeJj\\1Bu&e&wLdnI",[caseless])), 
    <<"aWjCeJjBuA-eA-wLdnI">> = iolist_to_binary(re:replace("A-","a[-b]","aWjCeJj\\1Bu&e&wLdnI",[caseless,
                                                                                                                                                                                                  global])), 
    <<"vEBoA-A-hhUA-oyIbqdTA">> = iolist_to_binary(re:replace("A-","a[b-]","vEBo&&hhU&oyIbq\\1d\\1TA",[caseless])), 
    <<"vEBoA-A-hhUA-oyIbqdTA">> = iolist_to_binary(re:replace("A-","a[b-]","vEBo&&hhU&oyIbq\\1d\\1TA",[caseless,
                                                                                                                                                                                                            global])), 
    <<"lxsWAAwljA]">> = iolist_to_binary(re:replace("A]","a]","lxsW\\1AAwlj&",[caseless])), 
    <<"lxsWAAwljA]">> = iolist_to_binary(re:replace("A]","a]","lxsW\\1AAwlj&",[caseless,
                                                                                                                                                                             global])), 
    <<"A]BBA]BwueRHPvA]BFaS">> = iolist_to_binary(re:replace("A]B","a[]]b","&B&\\1wueRHPv&FaS",[caseless])), 
    <<"A]BBA]BwueRHPvA]BFaS">> = iolist_to_binary(re:replace("A]B","a[]]b","&B&\\1wueRHPv&FaS",[caseless,
                                                                                                                                                                                               global])), 
    ok.
run22() ->
    <<"UTPAEDUuRpFvTKUIXNAEDH">> = iolist_to_binary(re:replace("AED","a[^bc]d","U\\1TP&UuRpFvTKUIXN&H",[caseless])), 
    <<"UTPAEDUuRpFvTKUIXNAEDH">> = iolist_to_binary(re:replace("AED","a[^bc]d","U\\1TP&UuRpFvTKUIXN&H",[caseless,
                                                                                                                                                                                                          global])), 
    <<"EEkBKqX">> = iolist_to_binary(re:replace("ADC","a[^-b]c","EEk\\1BKqX",[caseless])), 
    <<"EEkBKqX">> = iolist_to_binary(re:replace("ADC","a[^-b]c","EEk\\1BKqX",[caseless,
                                                                                                                                                                                  global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^-b]c","W&hcyn\\1LTFcrP",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^-b]c","W&hcyn\\1LTFcrP",[caseless,
                                                                                                                                                                                                             global])), 
    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[^-b]c","l&hDcBVR&&P\\1HyoS&",[caseless])), 
    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[^-b]c","l&hDcBVR&&P\\1HyoS&",[caseless,
                                                                                                                                                                                                        global])), 
    <<"A-C">> = iolist_to_binary(re:replace("A-C","a[^-b]c","r&\\1",[caseless])), 
    <<"A-C">> = iolist_to_binary(re:replace("A-C","a[^-b]c","r&\\1",[caseless,
                                                                                                                                                                         global])), 
    <<"wsKsChmsBbyoCwJGFq">> = iolist_to_binary(re:replace("ADC","a[^]b]c","wsKsChm\\1sB\\1byoCwJGFq",[caseless])), 
    <<"wsKsChmsBbyoCwJGFq">> = iolist_to_binary(re:replace("ADC","a[^]b]c","wsKsChm\\1sB\\1byoCwJGFq",[caseless,
                                                                                                                                                                                                               global])), 
    <<"AdCuC">> = iolist_to_binary(re:replace("ABC","ab|cd","AdCu",[caseless])), 
    <<"AdCuC">> = iolist_to_binary(re:replace("ABC","ab|cd","AdCu",[caseless,
                                                                                                                                                                 global])), 
    <<"kPjHRmkRWABOFqNCD">> = iolist_to_binary(re:replace("ABCD","ab|cd","kPjHRm\\1k\\1RW&OFqN",[caseless])), 
    <<"kPjHRmkRWABOFqNkPjHRmkRWCDOFqN">> = iolist_to_binary(re:replace("ABCD","ab|cd","kPjHRm\\1k\\1RW&OFqN",[caseless,
                                                                                                                                                                                                      global])), 
    <<"DipEFEFNEFXjXNBJMTG">> = iolist_to_binary(re:replace("DEF","()ef","ip&&N&XjXNBJMTG\\1",[caseless])), 
    <<"DipEFEFNEFXjXNBJMTG">> = iolist_to_binary(re:replace("DEF","()ef","ip&&N&XjXNBJMTG\\1",[caseless,
                                                                                                                                                                                               global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","$b","jl",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","$b","jl",[caseless,
                                                                                                                                                                         global])), 
    <<"A]C">> = iolist_to_binary(re:replace("A]C","$b","Ghx\\1\\1nMcXP&D\\1hXTKGqJ",[caseless])), 
    <<"A]C">> = iolist_to_binary(re:replace("A]C","$b","Ghx\\1\\1nMcXP&D\\1hXTKGqJ",[caseless,
                                                                                                                                                                                                             global])), 
    <<"B">> = iolist_to_binary(re:replace("B","$b","&CU&s",[caseless])), 
    <<"B">> = iolist_to_binary(re:replace("B","$b","&CU&s",[caseless,
                                                                                                                                                             global])), 
    <<"q">> = iolist_to_binary(re:replace("A(B","a\\(b","q",[caseless])), 
    <<"q">> = iolist_to_binary(re:replace("A(B","a\\(b","q",[caseless,
                                                                                                                                                            global])), 
    <<"LbAKAddxuaGFABjds">> = iolist_to_binary(re:replace("AB","a\\(*b","LbAKAddx\\1\\1uaGF&jd\\1s",[caseless])), 
    <<"LbAKAddxuaGFABjds">> = iolist_to_binary(re:replace("AB","a\\(*b","LbAKAddx\\1\\1uaGF&jd\\1s",[caseless,
                                                                                                                                                                                                                global])), 
    <<"WcHNHA((BeLNHyhL">> = iolist_to_binary(re:replace("A((B","a\\(*b","WcH\\1\\1\\1NH&\\1\\1eLNHy\\1hL",[caseless])), 
    <<"WcHNHA((BeLNHyhL">> = iolist_to_binary(re:replace("A((B","a\\(*b","WcH\\1\\1\\1NH&\\1\\1eLNHy\\1hL",[caseless,
                                                                                                                                                                                                                                   global])), 
    <<"A">> = iolist_to_binary(re:replace("A","a\\\\b","FD\\1dW",[caseless,
                                                                                                                                                                       notbol])), 
    <<"A">> = iolist_to_binary(re:replace("A","a\\\\b","FD\\1dW",[caseless,
                                                                                                                                                                        notbol,
                                                                                                                                                                        global])), 
    <<"AojAgACCaWeAfuBC">> = iolist_to_binary(re:replace("ABC","((a))","\\1oj&g\\1CCaWe\\1fu",[caseless])), 
    <<"AojAgACCaWeAfuBC">> = iolist_to_binary(re:replace("ABC","((a))","\\1oj&g\\1CCaWe\\1fu",[caseless,
                                                                                                                                                                                                     global])), 
    <<"xSJDAQoInQAfBNwlABCJAO">> = iolist_to_binary(re:replace("ABC","(a)b(c)","xSJD\\1QoInQ\\1fBNwl&J\\1O",[caseless])), 
    <<"xSJDAQoInQAfBNwlABCJAO">> = iolist_to_binary(re:replace("ABC","(a)b(c)","xSJD\\1QoInQ\\1fBNwl&J\\1O",[caseless,
                                                                                                                                                                                                                     global])), 
    <<"AABBABCWpU">> = iolist_to_binary(re:replace("AABBABC","a+b+c","&W\\1pU",[caseless])), 
    <<"AABBABCWpU">> = iolist_to_binary(re:replace("AABBABC","a+b+c","&W\\1pU",[caseless,
                                                                                                                                                                                 global])), 
    <<"AABBvuHyJYABClhsNABCABC">> = iolist_to_binary(re:replace("AABBABC","a{1,}b{1,}c","vuHyJY&lhsN&&",[caseless])), 
    <<"AABBvuHyJYABClhsNABCABC">> = iolist_to_binary(re:replace("AABBABC","a{1,}b{1,}c","vuHyJY&lhsN&&",[caseless,
                                                                                                                                                                                                          global])), 
    <<"PuUbOABC">> = iolist_to_binary(re:replace("ABCABC","a.+?c","Pu\\1UbO",[caseless])), 
    <<"PuUbOPuUbO">> = iolist_to_binary(re:replace("ABCABC","a.+?c","Pu\\1UbO",[caseless,
                                                                                                                                                                                global])), 
    <<"FGYfABCDdRACwIXABC">> = iolist_to_binary(re:replace("ABCABC","a.*?c","FGYf&DdRA\\1C\\1\\1wIX",[caseless])), 
    <<"FGYfABCDdRACwIXFGYfABCDdRACwIX">> = iolist_to_binary(re:replace("ABCABC","a.*?c","FGYf&DdRA\\1C\\1\\1wIX",[caseless,
                                                                                                                                                                                                               global])), 
    <<"hfyssBtPoqABC">> = iolist_to_binary(re:replace("ABCABC","a.{0,5}?c","\\1hfyssBt\\1Poq",[caseless])), 
    <<"hfyssBtPoqhfyssBtPoq">> = iolist_to_binary(re:replace("ABCABC","a.{0,5}?c","\\1hfyssBt\\1Poq",[caseless,
                                                                                                                                                                                                         global])), 
    <<"aoHgobCXYeRwABSXtABB">> = iolist_to_binary(re:replace("AB","(a+|b)*","aoHgobCXYeRw&SXt&\\1",[caseless])), 
    <<"aoHgobCXYeRwABSXtABBaoHgobCXYeRwSXt">> = iolist_to_binary(re:replace("AB","(a+|b)*","aoHgobCXYeRw&SXt&\\1",[caseless,
                                                                                                                                                                                                      global])), 
    <<"LYWAHKusKAgrXKh">> = iolist_to_binary(re:replace("AB","(a+|b){0,}","LYWAHKusKAgrXKh",[caseless])), 
    <<"LYWAHKusKAgrXKhLYWAHKusKAgrXKh">> = iolist_to_binary(re:replace("AB","(a+|b){0,}","LYWAHKusKAgrXKh",[caseless,
                                                                                                                                                                                               global])), 
    <<"UVXSWR">> = iolist_to_binary(re:replace("AB","(a+|b)+","UVXSWR",[caseless])), 
    <<"UVXSWR">> = iolist_to_binary(re:replace("AB","(a+|b)+","UVXSWR",[caseless,
                                                                                                                                                                       global])), 
    <<"lXCwBqLtjKMQjABBokVR">> = iolist_to_binary(re:replace("AB","(a+|b){1,}","lXCw\\1qLtjKMQj&\\1okVR",[caseless])), 
    <<"lXCwBqLtjKMQjABBokVR">> = iolist_to_binary(re:replace("AB","(a+|b){1,}","lXCw\\1qLtjKMQj&\\1okVR",[caseless,
                                                                                                                                                                                                                  global])), 
    ok.
run23() ->
    <<"MAFkB">> = iolist_to_binary(re:replace("AB","(a+|b)?","M\\1Fk",[caseless])), 
    <<"MAFkMBFkMFk">> = iolist_to_binary(re:replace("AB","(a+|b)?","M\\1Fk",[caseless,
                                                                                                                                                                        global])), 
    <<"STYCeRAuyArB">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}","STYCeR\\1uy\\1r",[caseless])), 
    <<"STYCeRAuyArSTYCeRBuyBrSTYCeRuyr">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}","STYCeR\\1uy\\1r",[caseless,
                                                                                                                                                                                                   global])), 
    <<"WBHxgnNQAB">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}?","W&BH\\1&\\1x&gnNQ",[caseless])), 
    <<"WBHxgnNQWABHAAAxAgnNQWBHxgnNQWBBHBBBxBgnNQWBHxgnNQ">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}?","W&BH\\1&\\1x&gnNQ",[caseless,
                                                                                                                                                                                                            global])), 
    <<"MbLbSWbCDEggiClWfEM">> = iolist_to_binary(re:replace("CDE","[^ab]*","MbLbSWb&ggiClWfEM",[caseless])), 
    <<"MbLbSWbCDEggiClWfEMMbLbSWbggiClWfEM">> = iolist_to_binary(re:replace("CDE","[^ab]*","MbLbSWb&ggiClWfEM",[caseless,
                                                                                                                                                                                              global])), 
    <<"rjABBBCDfICJABBBCDABBBCDEjJ">> = iolist_to_binary(re:replace("ABBBCD","([abc])*d","rj&fICJ&&EjJ",[caseless])), 
    <<"rjABBBCDfICJABBBCDABBBCDEjJ">> = iolist_to_binary(re:replace("ABBBCD","([abc])*d","rj&fICJ&&EjJ",[caseless,
                                                                                                                                                                                                  global])), 
    <<"xQ">> = iolist_to_binary(re:replace("ABCD","([abc])*bcd","xQ",[caseless])), 
    <<"xQ">> = iolist_to_binary(re:replace("ABCD","([abc])*bcd","xQ",[caseless,
                                                                                                                                                                           global])), 
    <<"AllmaUiAaKG">> = iolist_to_binary(re:replace("E","a|b|c|d|e","AllmaUiAa\\1KG",[caseless])), 
    <<"AllmaUiAaKG">> = iolist_to_binary(re:replace("E","a|b|c|d|e","AllmaUiAa\\1KG",[caseless,
                                                                                                                                                                                          global])), 
    <<"QdfE">> = iolist_to_binary(re:replace("EF","(a|b|c|d|e)f","Qdf\\1",[caseless])), 
    <<"QdfE">> = iolist_to_binary(re:replace("EF","(a|b|c|d|e)f","Qdf\\1",[caseless,
                                                                                                                                                                                  global])), 
    <<"ABCDEFGTvQSeJABCDEFGWMXdIOTh">> = iolist_to_binary(re:replace("ABCDEFG","abcd*efg","\\1&TvQSeJ&\\1WMXdIO\\1Th",[caseless])), 
    <<"ABCDEFGTvQSeJABCDEFGWMXdIOTh">> = iolist_to_binary(re:replace("ABCDEFG","abcd*efg","\\1&TvQSeJ&\\1WMXdIO\\1Th",[caseless,
                                                                                                                                                                                                                              global])), 
    <<"XlSgABJHbKHRjUuNjOrYABBBZ">> = iolist_to_binary(re:replace("XABYABBBZ","ab*","lSg&JHbKHRjUuNjOr",[caseless])), 
    <<"XlSgABJHbKHRjUuNjOrYlSgABBBJHbKHRjUuNjOrZ">> = iolist_to_binary(re:replace("XABYABBBZ","ab*","lSg&JHbKHRjUuNjOr",[caseless,
                                                                                                                                                                                                    global])), 
    <<"XNjAAesIAgAYABBBZ">> = iolist_to_binary(re:replace("XAYABBBZ","ab*","Nj&&esI&g&",[caseless])), 
    <<"XNjAAesIAgAYNjABBBABBBesIABBBgABBBZ">> = iolist_to_binary(re:replace("XAYABBBZ","ab*","Nj&&esI&g&",[caseless,
                                                                                                                                                                                       global])), 
    <<"ABpvCDEayXCDEDCDSCDECDEwh">> = iolist_to_binary(re:replace("ABCDE","(ab|cd)e","pv&ayX&D\\1S&&wh",[caseless])), 
    <<"ABpvCDEayXCDEDCDSCDECDEwh">> = iolist_to_binary(re:replace("ABCDE","(ab|cd)e","pv&ayX&D\\1S&&wh",[caseless,
                                                                                                                                                                                                        global])), 
    <<"HIJAJ">> = iolist_to_binary(re:replace("HIJ","[abhgefdc]ij","&A\\1J\\1",[caseless])), 
    <<"HIJAJ">> = iolist_to_binary(re:replace("HIJ","[abhgefdc]ij","&A\\1J\\1",[caseless,
                                                                                                                                                                                            global])), 
    <<"ABCDE">> = iolist_to_binary(re:replace("ABCDE","^(ab|cd)e","y&gKEPudO&f\\1Vf",[caseless])), 
    <<"ABCDE">> = iolist_to_binary(re:replace("ABCDE","^(ab|cd)e","y&gKEPudO&f\\1Vf",[caseless,
                                                                                                                                                                                                        global])), 
    <<"ABCDsEFmkoWgwo">> = iolist_to_binary(re:replace("ABCDEF","(abc|)ef","s&mkoWgwo",[caseless])), 
    <<"ABCDsEFmkoWgwo">> = iolist_to_binary(re:replace("ABCDEF","(abc|)ef","s&mkoWgwo",[caseless,
                                                                                                                                                                                        global])), 
    <<"AEKBBQPBA">> = iolist_to_binary(re:replace("ABCD","(a|b)c*d","EK\\1\\1QP\\1A",[caseless])), 
    <<"AEKBBQPBA">> = iolist_to_binary(re:replace("ABCD","(a|b)c*d","EK\\1\\1QP\\1A",[caseless,
                                                                                                                                                                                                global])), 
    <<"NnxIEABC">> = iolist_to_binary(re:replace("ABC","(ab|ab*)bc","NnxIE&",[caseless])), 
    <<"NnxIEABC">> = iolist_to_binary(re:replace("ABC","(ab|ab*)bc","NnxIE&",[caseless,
                                                                                                                                                                                global])), 
    <<"owDpyYBCHVgp">> = iolist_to_binary(re:replace("ABC","a([bc]*)c*","owDpyY\\1HVgp",[caseless])), 
    <<"owDpyYBCHVgp">> = iolist_to_binary(re:replace("ABC","a([bc]*)c*","owDpyY\\1HVgp",[caseless,
                                                                                                                                                                                              global])), 
    <<"ABCDABCDaSWTqABCDBCABCDKOABCD">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c*d)","&&aSWTq&\\1&KO&",[caseless])), 
    <<"ABCDABCDaSWTqABCDBCABCDKOABCD">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c*d)","&&aSWTq&\\1&KO&",[caseless,
                                                                                                                                                                                                               global])), 
    ok.
run24() ->
    <<"llhYIK">> = iolist_to_binary(re:replace("ABCD","a([bc]+)(c*d)","llhYIK",[caseless])), 
    <<"llhYIK">> = iolist_to_binary(re:replace("ABCD","a([bc]+)(c*d)","llhYIK",[caseless,
                                                                                                                                                                                       global])), 
    <<"qBhyABCDRsUdeBABCDcnABCDJOj">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c+d)","q\\1hy&RsUde\\1&cn&JOj",[caseless])), 
    <<"qBhyABCDRsUdeBABCDcnABCDJOj">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c+d)","q\\1hy&RsUde\\1&cn&JOj",[caseless,
                                                                                                                                                                                                                            global])), 
    <<"sXpCRWnaew">> = iolist_to_binary(re:replace("ADCDCDE","a[bcd]*dcdcde","sXpCRWnae\\1w",[caseless])), 
    <<"sXpCRWnaew">> = iolist_to_binary(re:replace("ADCDCDE","a[bcd]*dcdcde","sXpCRWnae\\1w",[caseless,
                                                                                                                                                                                                            global])), 
    <<"PKABCMuYNABCABCXtIsm">> = iolist_to_binary(re:replace("ABC","(ab|a)b*c","PK&MuYN&&XtIsm",[caseless])), 
    <<"PKABCMuYNABCABCXtIsm">> = iolist_to_binary(re:replace("ABC","(ab|a)b*c","PK&MuYN&&XtIsm",[caseless,
                                                                                                                                                                                                global])), 
    <<"pMOU">> = iolist_to_binary(re:replace("ABCD","((a)(b)c)(d)","pMOU",[caseless])), 
    <<"pMOU">> = iolist_to_binary(re:replace("ABCD","((a)(b)c)(d)","pMOU",[caseless,
                                                                                                                                                                                 global])), 
    <<"bnFWpQALPHAjXlptg">> = iolist_to_binary(re:replace("ALPHA","[a-zA-Z_][a-zA-Z0-9_]*","bnFW\\1pQ&jXl\\1ptg\\1",[caseless])), 
    <<"bnFWpQALPHAjXlptg">> = iolist_to_binary(re:replace("ALPHA","[a-zA-Z_][a-zA-Z0-9_]*","bnFW\\1pQ&jXl\\1ptg\\1",[caseless,
                                                                                                                                                                                                                                               global])), 
    <<"ARTSHBHAfemfBHJIBHBHBH">> = iolist_to_binary(re:replace("ABH","^a(bc+|b[eh])g|.h$","RT\\1SH&Afemf&JI&&&",[caseless])), 
    <<"ARTSHBHAfemfBHJIBHBHBH">> = iolist_to_binary(re:replace("ABH","^a(bc+|b[eh])g|.h$","RT\\1SH&Afemf&JI&&&",[caseless,
                                                                                                                                                                                                                                global])), 
    <<"lEFFGZichPjsHBEFFGZe">> = iolist_to_binary(re:replace("EFFGZ","(bc+d$|ef*g.|h?i(j|k))","l\\1ichPjsHB\\1e",[caseless])), 
    <<"lEFFGZichPjsHBEFFGZe">> = iolist_to_binary(re:replace("EFFGZ","(bc+d$|ef*g.|h?i(j|k))","l\\1ichPjsHB\\1e",[caseless,
                                                                                                                                                                                                                                  global])), 
    <<"IJnqeTnhpIJ">> = iolist_to_binary(re:replace("IJ","(bc+d$|ef*g.|h?i(j|k))","&nqeTnhp\\1",[caseless])), 
    <<"IJnqeTnhpIJ">> = iolist_to_binary(re:replace("IJ","(bc+d$|ef*g.|h?i(j|k))","&nqeTnhp\\1",[caseless,
                                                                                                                                                                                                                  global])), 
    <<"RTAEFFGZEFFGZtiL">> = iolist_to_binary(re:replace("REFFGZ","(bc+d$|ef*g.|h?i(j|k))","TA\\1&tiL",[caseless])), 
    <<"RTAEFFGZEFFGZtiL">> = iolist_to_binary(re:replace("REFFGZ","(bc+d$|ef*g.|h?i(j|k))","TA\\1&tiL",[caseless,
                                                                                                                                                                                                                      global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","QSIQtF",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","QSIQtF",[caseless,
                                                                                                                                                                                                                        global])), 
    <<"ADCDCDE">> = iolist_to_binary(re:replace("ADCDCDE","(bc+d$|ef*g.|h?i(j|k))","hkkg&\\1M",[caseless])), 
    <<"ADCDCDE">> = iolist_to_binary(re:replace("ADCDCDE","(bc+d$|ef*g.|h?i(j|k))","hkkg&\\1M",[caseless,
                                                                                                                                                                                                                        global])), 
    <<"EFFG">> = iolist_to_binary(re:replace("EFFG","(bc+d$|ef*g.|h?i(j|k))","b",[caseless])), 
    <<"EFFG">> = iolist_to_binary(re:replace("EFFG","(bc+d$|ef*g.|h?i(j|k))","b",[caseless,
                                                                                                                                                                                                global])), 
    <<"BCDD">> = iolist_to_binary(re:replace("BCDD","(bc+d$|ef*g.|h?i(j|k))","TW&UdGE\\1S&N\\1u&LM",[caseless])), 
    <<"BCDD">> = iolist_to_binary(re:replace("BCDD","(bc+d$|ef*g.|h?i(j|k))","TW&UdGE\\1S&N\\1u&LM",[caseless,
                                                                                                                                                                                                                                           global])), 
    <<"APvAegF">> = iolist_to_binary(re:replace("A","((((((((((a))))))))))","\\1Pv\\1egF",[caseless])), 
    <<"APvAegF">> = iolist_to_binary(re:replace("A","((((((((((a))))))))))","\\1Pv\\1egF",[caseless,
                                                                                                                                                                                                             global])), 
    <<"vCaAAVsbLoAAcsIToC">> = iolist_to_binary(re:replace("AA","((((((((((a))))))))))\\10","vCa&VsbLo&csIToC",[caseless])), 
    <<"vCaAAVsbLoAAcsIToC">> = iolist_to_binary(re:replace("AA","((((((((((a))))))))))\\10","vCa&VsbLo&csIToC",[caseless,
                                                                                                                                                                                                                                  global])), 
    <<"ADAqIbKy">> = iolist_to_binary(re:replace("A","(((((((((a)))))))))","\\1D\\1qIbKy",[caseless])), 
    <<"ADAqIbKy">> = iolist_to_binary(re:replace("A","(((((((((a)))))))))","\\1D\\1qIbKy",[caseless,
                                                                                                                                                                                                           global])), 
    <<"HdAAToxA">> = iolist_to_binary(re:replace("A","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))","Hd\\1\\1Tox&",[caseless])), 
    <<"HdAAToxA">> = iolist_to_binary(re:replace("A","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))","Hd\\1\\1Tox&",[caseless,
                                                                                                                                                                                                                                                    global])), 
    <<"FoLn">> = iolist_to_binary(re:replace("C","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))","FoLn",[caseless])), 
    <<"FoLn">> = iolist_to_binary(re:replace("C","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))","FoLn",[caseless,
                                                                                                                                                                                                                                         global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","eKwT&ytF",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","eKwT&ytF",[caseless,
                                                                                                                                                                                                                            global])), 
    <<"AA">> = iolist_to_binary(re:replace("AA","multiple words of text","&&naWXBUAJEX&uN\\1eWT&",[caseless])), 
    <<"AA">> = iolist_to_binary(re:replace("AA","multiple words of text","&&naWXBUAJEX&uN\\1eWT&",[caseless,
                                                                                                                                                                                                                                          global])), 
    <<"UH-UH">> = iolist_to_binary(re:replace("UH-UH","multiple words of text","AxWlS&OyQU",[caseless])), 
    <<"UH-UH">> = iolist_to_binary(re:replace("UH-UH","multiple words of text","AxWlS&OyQU",[caseless,
                                                                                                                                                                                                                    global])), 
    <<"WkAfGvMULTIPLE WORDSvMULTIPLE WORDS, YEAH">> = iolist_to_binary(re:replace("MULTIPLE WORDS, YEAH","multiple words","WkAfGv&v&\\1",[caseless])), 
    <<"WkAfGvMULTIPLE WORDSvMULTIPLE WORDS, YEAH">> = iolist_to_binary(re:replace("MULTIPLE WORDS, YEAH","multiple words","WkAfGv&v&\\1",[caseless,
                                                                                                                                                                                                                                        global])), 
    <<"KN">> = iolist_to_binary(re:replace("ABCDE","(.*)c(.*)","KN",[caseless])), 
    <<"KN">> = iolist_to_binary(re:replace("ABCDE","(.*)c(.*)","KN",[caseless,
                                                                                                                                                                         global])), 
    <<"TMyXAYMUnYaLqLp">> = iolist_to_binary(re:replace("(A, B)","\\((.*), (.*)\\)","TMyX\\1YMUnYaLqLp",[caseless])), 
    <<"TMyXAYMUnYaLqLp">> = iolist_to_binary(re:replace("(A, B)","\\((.*), (.*)\\)","TMyX\\1YMUnYaLqLp",[caseless,
                                                                                                                                                                                                                          global])), 
    <<"trKKABCDSCXABCDotxTyYR">> = iolist_to_binary(re:replace("ABCD","abcd","t\\1rKK&SCX&otxTyY\\1R",[caseless])), 
    <<"trKKABCDSCXABCDotxTyYR">> = iolist_to_binary(re:replace("ABCD","abcd","t\\1rKK&SCX&otxTyY\\1R",[caseless,
                                                                                                                                                                                                         global])), 
    ok.
run25() ->
    <<"DMHBCoABCDlywnlEABCDj">> = iolist_to_binary(re:replace("ABCD","a(bc)d","DMH\\1o&lywnlE&j",[caseless])), 
    <<"DMHBCoABCDlywnlEABCDj">> = iolist_to_binary(re:replace("ABCD","a(bc)d","DMH\\1o&lywnlE&j",[caseless,
                                                                                                                                                                                                global])), 
    <<"T">> = iolist_to_binary(re:replace("AC","a[-]?c","T",[caseless])), 
    <<"T">> = iolist_to_binary(re:replace("AC","a[-]?c","T",[caseless,
                                                                                                                                                           global])), 
    <<"ABCsVoEdFABCABCABCABCpABCyABCABCWmPtsF">> = iolist_to_binary(re:replace("ABCABC","(abc)\\1","\\1sVoEdF&&p\\1y&WmPtsF",[caseless])), 
    <<"ABCsVoEdFABCABCABCABCpABCyABCABCWmPtsF">> = iolist_to_binary(re:replace("ABCABC","(abc)\\1","\\1sVoEdF&&p\\1y&WmPtsF",[caseless,
                                                                                                                                                                                                                         global])), 
    <<"KfsABCABCeufABC">> = iolist_to_binary(re:replace("ABCABC","([a-c]*)\\1","Kfs&euf\\1",[caseless])), 
    <<"KfsABCABCeufABCKfseuf">> = iolist_to_binary(re:replace("ABCABC","([a-c]*)\\1","Kfs&euf\\1",[caseless,
                                                                                                                                                                                                  global])), 
    <<"abfexgBadad">> = iolist_to_binary(re:replace("abad","a(?!b).","fexg\\1B&&",[])), 
    <<"abfexgBadad">> = iolist_to_binary(re:replace("abad","a(?!b).","fexg\\1B&&",[global])), 
    <<"abArfxtCIjx">> = iolist_to_binary(re:replace("abad","a(?=d).","ArfxtCIjx",[])), 
    <<"abArfxtCIjx">> = iolist_to_binary(re:replace("abad","a(?=d).","ArfxtCIjx",[global])), 
    <<"abQluadxad">> = iolist_to_binary(re:replace("abad","a(?=c|d).","Qlu&x&",[])), 
    <<"abQluadxad">> = iolist_to_binary(re:replace("abad","a(?=c|d).","Qlu&x&",[global])), 
    <<"YMKqcsWCacepOaceeY">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)(.)","YMKqcsWC&pO&\\1Y",[])), 
    <<"YMKqcsWCacepOaceeY">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)(.)","YMKqcsWC&pO&\\1Y",[global])), 
    <<"HHmlgyeRvN">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)*(.)","HHmlgyeRvN",[])), 
    <<"HHmlgyeRvN">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)*(.)","HHmlgyeRvN",[global])), 
    <<"xdTgRuweeyuwdlSacepeacee">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)+?(.)","xdTgRuw\\1\\1yuwdlS&p\\1&\\1",[])), 
    <<"xdTgRuweeyuwdlSacepeacee">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)+?(.)","xdTgRuw\\1\\1yuwdlS&p\\1&\\1",[global])), 
    <<"TYYAdCdfMbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+?(.)","TYYA\\1CdfM",[])), 
    <<"TYYAdCdfMbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+?(.)","TYYA\\1CdfM",[global])), 
    <<"rHwRaCuUc">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+(.)","rHwRaCuUc",[])), 
    <<"rHwRaCuUc">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+(.)","rHwRaCuUc",[global])), 
    <<"acdbWhFfMbSbtdcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){2}(.)","&WhFfM\\1S\\1td",[])), 
    <<"acdbWhFfMbSbtdcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){2}(.)","&WhFfM\\1S\\1td",[global])), 
    <<"bXacdbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}(.)","\\1X&",[])), 
    <<"bXacdbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}(.)","\\1X&",[global])), 
    <<"bCacdbcdobe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}?(.)","bC&o",[])), 
    <<"bCacdbcdobe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}?(.)","bC&o",[global])), 
    <<"barYfoobarsbxTHafoobarIbm">> = iolist_to_binary(re:replace("foobar","((foo)|(bar))*","\\1Y&sbxTHa&Ibm",[])), 
    <<"barYfoobarsbxTHafoobarIbmYsbxTHaIbm">> = iolist_to_binary(re:replace("foobar","((foo)|(bar))*","\\1Y&sbxTHa&Ibm",[global])), 
    <<"eeBieacdbcdbeeIHacdbcdbeNPRhLo">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}(.)","\\1\\1Bi\\1&\\1IH&NPRhLo",[])), 
    <<"eeBieacdbcdbeeIHacdbcdbeNPRhLo">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}(.)","\\1\\1Bi\\1&\\1IH&NPRhLo",[global])), 
    <<"acdbcdbeiacdbcdbevacdbcdbeorW">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}?(.)","&i&v&orW",[])), 
    <<"acdbcdbeiacdbcdbevacdbcdbeorW">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}?(.)","&i&v&orW",[global])), 
    <<"LeePacdbcdbeacdbcdbeCth">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}(.)","L\\1\\1P&&Cth",[])), 
    <<"LeePacdbcdbeacdbcdbeCth">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}(.)","L\\1\\1P&&Cth",[global])), 
    <<"uVacdbcdbWhMacdbcdbNbEue">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}?(.)","uV&WhM&N\\1Eu",[])), 
    <<"uVacdbcdbWhMacdbcdbNbEue">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}?(.)","uV&WhM&N\\1Eu",[global])), 
    <<"acdbcdbeuqWHNeI">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}(.)","&uqWHNeI",[])), 
    <<"acdbcdbeuqWHNeI">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}(.)","&uqWHNeI",[global])), 
    ok.
run26() ->
    <<"GacdbcdbbbPbGFTve">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}?(.)","G&\\1\\1P\\1GFTv",[])), 
    <<"GacdbcdbbbPbGFTve">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}?(.)","G&\\1\\1P\\1GFTv",[global])), 
    <<"taceacecgacefBmaHeYaceuace">> = iolist_to_binary(re:replace("ace","a(?:b|(c|e){1,2}?|d)+?(.)","t&&\\1g&fBmaHeY&u&",[])), 
    <<"taceacecgacefBmaHeYaceuace">> = iolist_to_binary(re:replace("ace","a(?:b|(c|e){1,2}?|d)+?(.)","t&&\\1g&fBmaHeY&u&",[global])), 
    <<"FcNioABABQKKAbfVA">> = iolist_to_binary(re:replace("AB","^(.+)?B","FcNio&&QKK\\1bfV\\1",[])), 
    <<"FcNioABABQKKAbfVA">> = iolist_to_binary(re:replace("AB","^(.+)?B","FcNio&&QKK\\1bfV\\1",[global])), 
    <<"QpJsSlDdk">> = iolist_to_binary(re:replace(".","^([^a-z])|(\\^)$","QpJsSlDdk",[])), 
    <<"QpJsSlDdk">> = iolist_to_binary(re:replace(".","^([^a-z])|(\\^)$","QpJsSlDdk",[global])), 
    <<"YtMLJWT<&GSA<&jOUT">> = iolist_to_binary(re:replace("<&OUT","^[<>]&","Y\\1tMLJWT&GSA&j",[])), 
    <<"YtMLJWT<&GSA<&jOUT">> = iolist_to_binary(re:replace("<&OUT","^[<>]&","Y\\1tMLJWT&GSA&j",[global])), 
    <<"RBbN">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","RBbN",[])), 
    <<"RBbN">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","RBbN",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a\\1?){4}$","FHwc\\1\\1biSR",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a\\1?){4}$","FHwc\\1\\1biSR",[global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","^(a\\1?){4}$","rqMyo&\\1IoOAjaJ\\1vY",[])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","^(a\\1?){4}$","rqMyo&\\1IoOAjaJ\\1vY",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","ebuyIYAaCuRmxbiVR",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","ebuyIYAaCuRmxbiVR",[global])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","U&\\1R&jmiM\\1\\1W",[])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","U&\\1R&jmiM\\1\\1W",[global])), 
    <<"SyepNqAqGr">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a(?(1)\\1)){4}$","SyepNqAqGr",[])), 
    <<"SyepNqAqGr">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a(?(1)\\1)){4}$","SyepNqAqGr",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a(?(1)\\1)){4}$","idrNArkV&XUmhWGrp\\1rN",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a(?(1)\\1)){4}$","idrNArkV&XUmhWGrp\\1rN",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a(?(1)\\1)){4}$","dVYMTCeoR",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a(?(1)\\1)){4}$","dVYMTCeoR",[global])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a(?(1)\\1)){4}$","wtDhOT\\1Pu\\1xOt&P&&&",[])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a(?(1)\\1)){4}$","wtDhOT\\1Pu\\1xOt&P&&&",[global])), 
    <<"oUbvLQMfrfVt">> = iolist_to_binary(re:replace("foobar","(?:(f)(o)(o)|(b)(a)(r))*","oUbvLQMfr\\1Vt",[])), 
    <<"oUbvLQMfrfVtoUbvLQMfrVt">> = iolist_to_binary(re:replace("foobar","(?:(f)(o)(o)|(b)(a)(r))*","oUbvLQMfr\\1Vt",[global])), 
    <<"aIbOkhquTbuWHx">> = iolist_to_binary(re:replace("ab","(?<=a)b","I&OkhquT&uWH\\1x",[])), 
    <<"aIbOkhquTbuWHx">> = iolist_to_binary(re:replace("ab","(?<=a)b","I&OkhquT&uWH\\1x",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a)b","BQobLoQagH&I&Gf",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a)b","BQobLoQagH&I&Gf",[global])), 
    <<"cb">> = iolist_to_binary(re:replace("cb","(?<=a)b","\\1qi\\1cF&xVKJl\\1&HHO&TH",[])), 
    <<"cb">> = iolist_to_binary(re:replace("cb","(?<=a)b","\\1qi\\1cF&xVKJl\\1&HHO&TH",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","(?<=a)b","aRw&xSWDbr\\1wsnnJ&G",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","(?<=a)b","aRw&xSWDbr\\1wsnnJ&G",[global])), 
    <<"albBEJPbhoUqwpHlyll">> = iolist_to_binary(re:replace("ab","(?<!c)b","l&BEJPbhoUqwpHlyll",[])), 
    <<"albBEJPbhoUqwpHlyll">> = iolist_to_binary(re:replace("ab","(?<!c)b","l&BEJPbhoUqwpHlyll",[global])), 
    <<"iNbLxxT">> = iolist_to_binary(re:replace("b","(?<!c)b","iN&LxxT",[])), 
    <<"iNbLxxT">> = iolist_to_binary(re:replace("b","(?<!c)b","iN&LxxT",[global])), 
    <<"byOfPd">> = iolist_to_binary(re:replace("b","(?<!c)b","&yOfPd",[])), 
    <<"byOfPd">> = iolist_to_binary(re:replace("b","(?<!c)b","&yOfPd",[global])), 
    <<"IblabamNFubVS">> = iolist_to_binary(re:replace("aba","(?:..)*a","Ibl&mNFubVS",[])), 
    <<"IblabamNFubVS">> = iolist_to_binary(re:replace("aba","(?:..)*a","Ibl&mNFubVS",[global])), 
    <<"wvNuoyarrAWFba">> = iolist_to_binary(re:replace("aba","(?:..)*?a","wvNuo\\1y&rrAWF",[])), 
    <<"wvNuoyarrAWFbwvNuoyarrAWF">> = iolist_to_binary(re:replace("aba","(?:..)*?a","wvNuo\\1y&rrAWF",[global])), 
    <<"abVmnPSDabPXSc">> = iolist_to_binary(re:replace("abc","^(?:b|a(?=(.)))*\\1","&VmnPSD&PXS",[])), 
    <<"abVmnPSDabPXSc">> = iolist_to_binary(re:replace("abc","^(?:b|a(?=(.)))*\\1","&VmnPSD&PXS",[global])), 
    <<"MNhLuKuRgFcjoiabc">> = iolist_to_binary(re:replace("abc","^(){3,5}","MNhL\\1uK&uRgFcj\\1o&i\\1\\1",[])), 
    <<"MNhLuKuRgFcjoiabc">> = iolist_to_binary(re:replace("abc","^(){3,5}","MNhL\\1uK&uRgFcj\\1o&i\\1\\1",[global])), 
    <<"aax">> = iolist_to_binary(re:replace("aax","^(a+)*ax","&",[])), 
    <<"aax">> = iolist_to_binary(re:replace("aax","^(a+)*ax","&",[global])), 
    <<"aax">> = iolist_to_binary(re:replace("aax","^((a|b)+)*ax","&",[])), 
    <<"aax">> = iolist_to_binary(re:replace("aax","^((a|b)+)*ax","&",[global])), 
    <<"UaaxEVMyUJoaafaaxbXAGlnX">> = iolist_to_binary(re:replace("aax","^((a|bc)+)*ax","U&EVMyUJoa\\1f&bXAGlnX",[])), 
    <<"UaaxEVMyUJoaafaaxbXAGlnX">> = iolist_to_binary(re:replace("aax","^((a|bc)+)*ax","U&EVMyUJoa\\1f&bXAGlnX",[global])), 
    <<"cHRavababj">> = iolist_to_binary(re:replace("cab","(a|x)*ab","HR\\1av&&j",[])), 
    <<"cHRavababj">> = iolist_to_binary(re:replace("cab","(a|x)*ab","HR\\1av&&j",[global])), 
    <<"ceqqArfabLqGjflabab">> = iolist_to_binary(re:replace("cab","(a)*ab","eqqA\\1rf&LqGjfl&&",[])), 
    <<"ceqqArfabLqGjflabab">> = iolist_to_binary(re:replace("cab","(a)*ab","eqqA\\1rf&LqGjfl&&",[global])), 
    <<"aMdQQ">> = iolist_to_binary(re:replace("ab","(?:(?i)a)b","aMdQQ",[])), 
    <<"aMdQQ">> = iolist_to_binary(re:replace("ab","(?:(?i)a)b","aMdQQ",[global])), 
    ok.
run27() ->
    <<"qpLuqQJ">> = iolist_to_binary(re:replace("ab","((?i)a)b","qpLuqQJ",[])), 
    <<"qpLuqQJ">> = iolist_to_binary(re:replace("ab","((?i)a)b","qpLuqQJ",[global])), 
    <<"KU">> = iolist_to_binary(re:replace("Ab","(?:(?i)a)b","KU\\1",[])), 
    <<"KU">> = iolist_to_binary(re:replace("Ab","(?:(?i)a)b","KU\\1",[global])), 
    <<"HbAbcmtA">> = iolist_to_binary(re:replace("Ab","((?i)a)b","Hb&cmt\\1",[])), 
    <<"HbAbcmtA">> = iolist_to_binary(re:replace("Ab","((?i)a)b","Hb&cmt\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?i)a)b","\\1&d\\1h",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?i)a)b","\\1&d\\1h",[global])), 
    <<"cb">> = iolist_to_binary(re:replace("cb","(?:(?i)a)b","QGy\\1\\1s",[])), 
    <<"cb">> = iolist_to_binary(re:replace("cb","(?:(?i)a)b","QGy\\1\\1s",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(?i)a)b","h&LcJB&\\1koG",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(?i)a)b","h&LcJB&\\1koG",[global])), 
    <<"hQoabBcSA">> = iolist_to_binary(re:replace("ab","(?i:a)b","h\\1Qo&B\\1cSA",[])), 
    <<"hQoabBcSA">> = iolist_to_binary(re:replace("ab","(?i:a)b","h\\1Qo&B\\1cSA",[global])), 
    <<"C">> = iolist_to_binary(re:replace("ab","((?i:a))b","C",[])), 
    <<"C">> = iolist_to_binary(re:replace("ab","((?i:a))b","C",[global])), 
    <<"GAMAbeosONsSFAblyS">> = iolist_to_binary(re:replace("Ab","(?i:a)b","GAM&eos\\1O\\1Ns\\1SF&lyS",[])), 
    <<"GAMAbeosONsSFAblyS">> = iolist_to_binary(re:replace("Ab","(?i:a)b","GAM&eos\\1O\\1Ns\\1SF&lyS",[global])), 
    <<"AbASQYAbA">> = iolist_to_binary(re:replace("Ab","((?i:a))b","&\\1SQY&\\1",[])), 
    <<"AbASQYAbA">> = iolist_to_binary(re:replace("Ab","((?i:a))b","&\\1SQY&\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i:a)b","EW&tEN\\1\\1&\\1\\1yd",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i:a)b","EW&tEN\\1\\1&\\1\\1yd",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","bK&xdvtcfqVCo",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","bK&xdvtcfqVCo",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","rU",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","rU",[global])), 
    <<"fabvvabeKvWlUCaababk">> = iolist_to_binary(re:replace("ab","(?:(?-i)a)b","f&vv&eKvWlUC\\1\\1a&\\1&k",[caseless])), 
    <<"fabvvabeKvWlUCaababk">> = iolist_to_binary(re:replace("ab","(?:(?-i)a)b","f&vv&eKvWlUC\\1\\1a&\\1&k",[caseless,
                                                                                                                                                                                                                            global])), 
    <<"a">> = iolist_to_binary(re:replace("ab","((?-i)a)b","a",[caseless])), 
    <<"a">> = iolist_to_binary(re:replace("ab","((?-i)a)b","a",[caseless,
                                                                                                                                                                 global])), 
    <<"YgwHaBaBEobvWdcKm">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","YgwH&&E\\1o\\1bvWdcKm",[caseless])), 
    <<"YgwHaBaBEobvWdcKm">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","YgwH&&E\\1o\\1bvWdcKm",[caseless,
                                                                                                                                                                                                                 global])), 
    <<"gPQtaBiM">> = iolist_to_binary(re:replace("aB","((?-i)a)b","gPQt\\1BiM",[caseless])), 
    <<"gPQtaBiM">> = iolist_to_binary(re:replace("aB","((?-i)a)b","gPQt\\1BiM",[caseless,
                                                                                                                                                                                    global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","dAPB\\1lhgJnXJM\\1",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","dAPB\\1lhgJnXJM\\1",[caseless,
                                                                                                                                                                                                                           global])), 
    <<"cpmMjqeoMjqXPSCxgaB">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","cpmMjqeoMjqXPSC\\1xg&",[caseless])), 
    <<"cpmMjqeoMjqXPSCxgaB">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","cpmMjqeoMjqXPSC\\1xg&",[caseless,
                                                                                                                                                                                                               global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","ehCMjHfdoLOUT",[caseless])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","ehCMjHfdoLOUT",[caseless,
                                                                                                                                                                                             global])), 
    <<"aBaBXheDmRWIj">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","&&XheDmRW\\1Ij",[caseless])), 
    <<"aBaBXheDmRWIj">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","&&XheDmRW\\1Ij",[caseless,
                                                                                                                                                                                                  global])), 
    <<"HaBaBwaBaBarQLsPaLaBH">> = iolist_to_binary(re:replace("aB","((?-i)a)b","H&&w&&\\1rQLsP\\1L&H",[caseless])), 
    <<"HaBaBwaBaBarQLsPaLaBH">> = iolist_to_binary(re:replace("aB","((?-i)a)b","H&&w&&\\1rQLsP\\1L&H",[caseless,
                                                                                                                                                                                                              global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","rA&&\\1Ox\\1x",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","rA&&\\1Ox\\1x",[caseless,
                                                                                                                                                                                                                   global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","qU\\1qgKirHcB",[caseless])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","qU\\1qgKirHcB",[caseless,
                                                                                                                                                                                              global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?:(?-i)a)b","rtc&FUes&I&&V\\1Wi&o",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?:(?-i)a)b","rtc&FUes&I&&V\\1Wi&o",[caseless,
                                                                                                                                                                                                                 global])), 
    ok.
run28() ->
    <<"gGfbP">> = iolist_to_binary(re:replace("ab","(?-i:a)b","\\1gGfbP",[caseless])), 
    <<"gGfbP">> = iolist_to_binary(re:replace("ab","(?-i:a)b","\\1gGfbP",[caseless,
                                                                                                                                                                              global])), 
    <<"oibsT">> = iolist_to_binary(re:replace("ab","((?-i:a))b","oibsT",[caseless])), 
    <<"oibsT">> = iolist_to_binary(re:replace("ab","((?-i:a))b","oibsT",[caseless,
                                                                                                                                                                           global])), 
    <<"erLkRe">> = iolist_to_binary(re:replace("aB","(?-i:a)b","erLkRe",[caseless])), 
    <<"erLkRe">> = iolist_to_binary(re:replace("aB","(?-i:a)b","erLkRe",[caseless,
                                                                                                                                                                         global])), 
    <<"NcuVaBaPaBqlgVJaaAMaBjt">> = iolist_to_binary(re:replace("aB","((?-i:a))b","NcuV&aP&qlgVJ\\1\\1AM&jt",[caseless])), 
    <<"NcuVaBaPaBqlgVJaaAMaBjt">> = iolist_to_binary(re:replace("aB","((?-i:a))b","NcuV&aP&qlgVJ\\1\\1AM&jt",[caseless,
                                                                                                                                                                                                                      global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","xW",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","xW",[caseless,
                                                                                                                                                                                   global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","rBT\\1&D&jmNXx",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","rBT\\1&D&jmNXx",[caseless,
                                                                                                                                                                                            global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","oyAx&&hEq\\1",[caseless])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","oyAx&&hEq\\1",[caseless,
                                                                                                                                                                                        global])), 
    <<"shG">> = iolist_to_binary(re:replace("aB","(?-i:a)b","\\1shG",[caseless])), 
    <<"shG">> = iolist_to_binary(re:replace("aB","(?-i:a)b","\\1shG",[caseless,
                                                                                                                                                                          global])), 
    <<"OKLO">> = iolist_to_binary(re:replace("aB","((?-i:a))b","OKLO",[caseless])), 
    <<"OKLO">> = iolist_to_binary(re:replace("aB","((?-i:a))b","OKLO",[caseless,
                                                                                                                                                                         global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","DV\\1NmsJ&bJn&F",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","DV\\1NmsJ&bJn&F",[caseless,
                                                                                                                                                                                                                global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","I",[caseless])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","I",[caseless,
                                                                                                                                                               global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","WVyTncmcNoIfn\\1B",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","WVyTncmcNoIfn\\1B",[caseless,
                                                                                                                                                                                                global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?-i:a.))b","&UW\\1PRmJQx\\1inQ\\1o&&C",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?-i:a.))b","&UW\\1PRmJQx\\1inQ\\1o&&C",[caseless,
                                                                                                                                                                                                                                             global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","((?-i:a.))b","xFK&bFAyoLB\\1F",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","((?-i:a.))b","xFK&bFAyoLB\\1F",[caseless,
                                                                                                                                                                                                   global])), 
    <<"a
B">> = iolist_to_binary(re:replace("a
B","((?-i:a.))b","\\1E\\1AL\\1QP",[caseless])), 
    <<"a
B">> = iolist_to_binary(re:replace("a
B","((?-i:a.))b","\\1E\\1AL\\1QP",[caseless,global])), 
    <<"bja
Ba
wRNOa
LMvela
w">> = iolist_to_binary(re:replace("a
B","((?s-i:a.))b","bj&\\1wRNO\\1LMvel\\1w",[caseless])), 
    <<"bja
Ba
wRNOa
LMvela
w">> = iolist_to_binary(re:replace("a
B","((?s-i:a.))b","bj&\\1wRNO\\1LMvel\\1w",[caseless,global])), 
    <<"oi">> = iolist_to_binary(re:replace("cabbbb","(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))","oi",[])), 
    <<"oi">> = iolist_to_binary(re:replace("cabbbb","(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))","oi",[global])), 
    <<"LPIaGAjcBB">> = iolist_to_binary(re:replace("caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))","LPIaGAjc\\1B\\1B",[])), 
    <<"LPIaGAjcBB">> = iolist_to_binary(re:replace("caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))","LPIaGAjc\\1B\\1B",[global])), 
    <<"Ab4abmaeqLAb4abK">> = iolist_to_binary(re:replace("Ab4ab","(ab)\\d\\1","&maeqL&K",[caseless])), 
    <<"Ab4abmaeqLAb4abK">> = iolist_to_binary(re:replace("Ab4ab","(ab)\\d\\1","&maeqL&K",[caseless,
                                                                                                                                                                                           global])), 
    <<"AUMabjlQ">> = iolist_to_binary(re:replace("ab4Ab","(ab)\\d\\1","AUM\\1jlQ",[caseless])), 
    <<"AUMabjlQ">> = iolist_to_binary(re:replace("ab4Ab","(ab)\\d\\1","AUM\\1jlQ",[caseless,
                                                                                                                                                                                            global])), 
    <<"XmYfoobar1234bazkhCJfoobar1234bazrE">> = iolist_to_binary(re:replace("foobar1234baz","foo\\w*\\d{4}baz","\\1\\1XmY&khCJ&rE",[])), 
    <<"XmYfoobar1234bazkhCJfoobar1234bazrE">> = iolist_to_binary(re:replace("foobar1234baz","foo\\w*\\d{4}baz","\\1\\1XmY&khCJ&rE",[global])), 
    <<"j">> = iolist_to_binary(re:replace("x~~","x(~~)*(?:(?:F)?)?","j",[])), 
    <<"j">> = iolist_to_binary(re:replace("x~~","x(~~)*(?:(?:F)?)?","j",[global])), 
    <<"dvmR">> = iolist_to_binary(re:replace("aaac","^a(?#xxx){3}c","dvmR",[])), 
    <<"dvmR">> = iolist_to_binary(re:replace("aaac","^a(?#xxx){3}c","dvmR",[global])), 
    <<"TcvCihggCC">> = iolist_to_binary(re:replace("aaac","^a (?#xxx) (?#yyy) {3}c","TcvCihggCC\\1",[extended])), 
    <<"TcvCihggCC">> = iolist_to_binary(re:replace("aaac","^a (?#xxx) (?#yyy) {3}c","TcvCihggCC\\1",[extended,
                                                                                                                                                                                                                          global])), 
    ok.
run29() ->
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<![cd])b","aDLvRLT\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<![cd])b","aDLvRLT\\1",[global])), 
    <<"B
B">> = iolist_to_binary(re:replace("B
B","(?<![cd])b","&rX",[])), 
    <<"B
B">> = iolist_to_binary(re:replace("B
B","(?<![cd])b","&rX",[global])), 
    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","(?<![cd])b","RAdHe",[])), 
    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","(?<![cd])b","RAdHe",[global])), 
    <<"dbLDvFpkRnyKFiqpapacb">> = iolist_to_binary(re:replace("dbaacb","(?<![cd])[ab]","LDvFpkRnyKFiqpap",[])), 
    <<"dbLDvFpkRnyKFiqpapLDvFpkRnyKFiqpapcb">> = iolist_to_binary(re:replace("dbaacb","(?<![cd])[ab]","LDvFpkRnyKFiqpap",[global])), 
    <<"dbpCgFRSanfBwdBHacb">> = iolist_to_binary(re:replace("dbaacb","(?<!(c|d))[ab]","pCgFRS&\\1nfBwdBH",[])), 
    <<"dbpCgFRSanfBwdBHpCgFRSanfBwdBHcb">> = iolist_to_binary(re:replace("dbaacb","(?<!(c|d))[ab]","pCgFRS&\\1nfBwdBH",[global])), 
    <<"cdaccJYb">> = iolist_to_binary(re:replace("cdaccb","(?<!cd)[ab]","J\\1Yb",[])), 
    <<"cdaccJYb">> = iolist_to_binary(re:replace("cdaccb","(?<!cd)[ab]","J\\1Yb",[global])), 
    <<"QQBKENcxCtDv">> = iolist_to_binary(re:replace("","^(?:a?b?)*$","\\1&QQ\\1BKENcxCtD&v",[])), 
    <<"QQBKENcxCtDv">> = iolist_to_binary(re:replace("","^(?:a?b?)*$","\\1&QQ\\1BKENcxCtD&v",[global])), 
    <<"EUVqGakpKtkaa">> = iolist_to_binary(re:replace("a","^(?:a?b?)*$","EUVqG&kp\\1\\1Ktk&&",[])), 
    <<"EUVqGakpKtkaa">> = iolist_to_binary(re:replace("a","^(?:a?b?)*$","EUVqG&kp\\1\\1Ktk&&",[global])), 
    <<"PJebYabVrwtUnyyi">> = iolist_to_binary(re:replace("ab","^(?:a?b?)*$","PJebY&Vrw\\1tUnyyi",[])), 
    <<"PJebYabVrwtUnyyi">> = iolist_to_binary(re:replace("ab","^(?:a?b?)*$","PJebY&Vrw\\1tUnyyi",[global])), 
    <<"TaaaaJgnBHpNaaaqW">> = iolist_to_binary(re:replace("aaa","^(?:a?b?)*$","Ta&JgnBHpN&qW",[])), 
    <<"TaaaaJgnBHpNaaaqW">> = iolist_to_binary(re:replace("aaa","^(?:a?b?)*$","Ta&JgnBHpN&qW",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:a?b?)*$","s",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:a?b?)*$","s",[global])), 
    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","^(?:a?b?)*$","D",[])), 
    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","^(?:a?b?)*$","D",[global])), 
    <<"a--">> = iolist_to_binary(re:replace("a--","^(?:a?b?)*$","xqeccmA\\1PK&\\1j\\1QcQv&",[])), 
    <<"a--">> = iolist_to_binary(re:replace("a--","^(?:a?b?)*$","xqeccmA\\1PK&\\1j\\1QcQv&",[global])), 
    <<"aa--">> = iolist_to_binary(re:replace("aa--","^(?:a?b?)*$","&y&JYUp&omM",[])), 
    <<"aa--">> = iolist_to_binary(re:replace("aa--","^(?:a?b?)*$","&y&JYUp&omM",[global])), 
    <<"suK
c">> = iolist_to_binary(re:replace("a
b
c","((?s)^a(.))((?m)^b$)","suK",[])), 
    <<"suK
c">> = iolist_to_binary(re:replace("a
b
c","((?s)^a(.))((?m)^b$)","suK",[global])), 
    <<"a
bsbrmbHobdxBbb
c">> = iolist_to_binary(re:replace("a
b
c","((?m)^b$)","\\1s&rm\\1Ho&dxB&\\1",[])), 
    <<"a
bsbrmbHobdxBbb
c">> = iolist_to_binary(re:replace("a
b
c","((?m)^b$)","\\1s&rm\\1Ho&dxB&\\1",[global])), 
    <<"a
DbLxnGxIyQMiaCJKYa">> = iolist_to_binary(re:replace("a
b","(?m)^b","D&LxnGxIyQMiaCJKYa\\1",[])), 
    <<"a
DbLxnGxIyQMiaCJKYa">> = iolist_to_binary(re:replace("a
b","(?m)^b","D&LxnGxIyQMiaCJKYa\\1",[global])), 
    <<"a
TbTgrAWgAV">> = iolist_to_binary(re:replace("a
b","(?m)^(b)","T\\1TgrAWgAV",[])), 
    <<"a
TbTgrAWgAV">> = iolist_to_binary(re:replace("a
b","(?m)^(b)","T\\1TgrAWgAV",[global])), 
    <<"a
KvbbbEUIbCFmvpdpI">> = iolist_to_binary(re:replace("a
b","((?m)^b)","Kv\\1&&EUI&CFmvpdpI",[])), 
    <<"a
KvbbbEUIbCFmvpdpI">> = iolist_to_binary(re:replace("a
b","((?m)^b)","Kv\\1&&EUI&CFmvpdpI",[global])), 
    <<"amFIqrSY
bYBDTRTmIb">> = iolist_to_binary(re:replace("a
b","\\n((?m)^b)","mFIqrSY&YBDTRTmI\\1",[])), 
    <<"amFIqrSY
bYBDTRTmIb">> = iolist_to_binary(re:replace("a
b","\\n((?m)^b)","mFIqrSY&YBDTRTmI\\1",[global])), 
    <<"a
bGyvT
WAEIfT
">> = iolist_to_binary(re:replace("a
b
c","((?s).)c(?!.)","GyvT\\1WAEIfT\\1",[])), 
    <<"a
bGyvT
WAEIfT
">> = iolist_to_binary(re:replace("a
b
c","((?s).)c(?!.)","GyvT\\1WAEIfT\\1",[global])), 
    <<"a
bu

ciY
ONSatC
q
cgqg">> = iolist_to_binary(re:replace("a
b
c","((?s).)c(?!.)","u\\1&iY\\1ONSatC\\1q&gqg",[])), 
    <<"a
bu

ciY
ONSatC
q
cgqg">> = iolist_to_binary(re:replace("a
b
c","((?s).)c(?!.)","u\\1&iY\\1ONSatC\\1q&gqg",[global])), 
    <<"a
EaHhNb
cc">> = iolist_to_binary(re:replace("a
b
c","((?s)b.)c(?!.)","EaHhN&c",[])), 
    <<"a
EaHhNb
cc">> = iolist_to_binary(re:replace("a
b
c","((?s)b.)c(?!.)","EaHhN&c",[global])), 
    <<"a
Qyf">> = iolist_to_binary(re:replace("a
b
c","((?s)b.)c(?!.)","Qyf",[])), 
    <<"a
Qyf">> = iolist_to_binary(re:replace("a
b
c","((?s)b.)c(?!.)","Qyf",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","()^b","uPupHDfyOM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","()^b","uPupHDfyOM",[global])), 
    <<"a
b
c">> = iolist_to_binary(re:replace("a
b
c","()^b","ie",[])), 
    <<"a
b
c">> = iolist_to_binary(re:replace("a
b
c","()^b","ie",[global])), 
    <<"a
b
c">> = iolist_to_binary(re:replace("a
b
c","()^b","XOjtYTE&",[])), 
    <<"a
b
c">> = iolist_to_binary(re:replace("a
b
c","()^b","XOjtYTE&",[global])), 
    <<"a
up
c">> = iolist_to_binary(re:replace("a
b
c","((?m)^b)","up",[])), 
    <<"a
up
c">> = iolist_to_binary(re:replace("a
b
c","((?m)^b)","up",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(x)?(?(1)a|b)","Q&VpBvd&HCANVl",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(x)?(?(1)a|b)","Q&VpBvd&HCANVl",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","PJENMvR\\1&\\1nkq\\1j&P&",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","PJENMvR\\1&\\1nkq\\1j&P&",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","hStdV\\1o",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","hStdV\\1o",[global])), 
    <<"bpiiYpjmbL">> = iolist_to_binary(re:replace("a","(x)?(?(1)b|a)","bpiiYpjmbL",[])), 
    <<"bpiiYpjmbL">> = iolist_to_binary(re:replace("a","(x)?(?(1)b|a)","bpiiYpjmbL",[global])), 
    <<"ldpcm">> = iolist_to_binary(re:replace("a","()?(?(1)b|a)","ldpc\\1m",[])), 
    <<"ldpcm">> = iolist_to_binary(re:replace("a","()?(?(1)b|a)","ldpc\\1m",[global])), 
    ok.
run30() ->
    <<"XVaoQoPYY">> = iolist_to_binary(re:replace("a","()?(?(1)a|b)","\\1X\\1V&oQoPYY",[])), 
    <<"XVaoQoPYY">> = iolist_to_binary(re:replace("a","()?(?(1)a|b)","\\1X\\1V&oQoPYY",[global])), 
    <<"NIfcW(blah)G">> = iolist_to_binary(re:replace("(blah)","^(\\()?blah(?(1)(\\)))$","NIfcW&G",[])), 
    <<"NIfcW(blah)G">> = iolist_to_binary(re:replace("(blah)","^(\\()?blah(?(1)(\\)))$","NIfcW&G",[global])), 
    <<"pnblahSJOoELoLblah">> = iolist_to_binary(re:replace("blah","^(\\()?blah(?(1)(\\)))$","pn&SJOoELoL&",[])), 
    <<"pnblahSJOoELoLblah">> = iolist_to_binary(re:replace("blah","^(\\()?blah(?(1)(\\)))$","pn&SJOoELoL&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\()?blah(?(1)(\\)))$","&qo&jitI",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\()?blah(?(1)(\\)))$","&qo&jitI",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(\\()?blah(?(1)(\\)))$","nvEsX\\1dtIq",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(\\()?blah(?(1)(\\)))$","nvEsX\\1dtIq",[global])), 
    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\()?blah(?(1)(\\)))$","QkLbrxtPSiEFXY",[])), 
    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\()?blah(?(1)(\\)))$","QkLbrxtPSiEFXY",[global])), 
    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\()?blah(?(1)(\\)))$","lAP",[])), 
    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\()?blah(?(1)(\\)))$","lAP",[global])), 
    <<"(LsJwkbg(bfkt(NulbXR">> = iolist_to_binary(re:replace("(blah)","^(\\(+)?blah(?(1)(\\)))$","\\1LsJwkbg\\1bfkt\\1NulbXR",[])), 
    <<"(LsJwkbg(bfkt(NulbXR">> = iolist_to_binary(re:replace("(blah)","^(\\(+)?blah(?(1)(\\)))$","\\1LsJwkbg\\1bfkt\\1NulbXR",[global])), 
    <<"d">> = iolist_to_binary(re:replace("blah","^(\\(+)?blah(?(1)(\\)))$","\\1d",[])), 
    <<"d">> = iolist_to_binary(re:replace("blah","^(\\(+)?blah(?(1)(\\)))$","\\1d",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\(+)?blah(?(1)(\\)))$","EMgTAXywJ\\1sx",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\(+)?blah(?(1)(\\)))$","EMgTAXywJ\\1sx",[global])), 
    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\(+)?blah(?(1)(\\)))$","LdpE",[])), 
    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\(+)?blah(?(1)(\\)))$","LdpE",[global])), 
    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\(+)?blah(?(1)(\\)))$","x",[])), 
    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\(+)?blah(?(1)(\\)))$","x",[global])), 
    <<"DTG">> = iolist_to_binary(re:replace("a","(?(?!a)b|a)","DT\\1G\\1",[])), 
    <<"DTG">> = iolist_to_binary(re:replace("a","(?(?!a)b|a)","DT\\1G\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=a)b|a)","d\\1lnf&YLYNM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=a)b|a)","d\\1lnf&YLYNM",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","\\1SGC\\1&hP&OBDNrG",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","\\1SGC\\1&hP&OBDNrG",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","\\1O",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","\\1O",[global])), 
    <<"ToKaPapJTYo">> = iolist_to_binary(re:replace("a","(?(?=a)a|b)","\\1ToKaP&pJTYo",[])), 
    <<"ToKaPapJTYo">> = iolist_to_binary(re:replace("a","(?(?=a)a|b)","\\1ToKaP&pJTYo",[global])), 
    <<"aaYfA">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","\\1YfA",[])), 
    <<"aaYfA">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","\\1YfA",[global])), 
    <<"Oone:LVumwJGPxKone:">> = iolist_to_binary(re:replace("one:","(\\w+:)+","O&LVumwJGPxK\\1",[])), 
    <<"Oone:LVumwJGPxKone:">> = iolist_to_binary(re:replace("one:","(\\w+:)+","O&LVumwJGPxK\\1",[global])), 
    <<"axOGBQtmfLikDGlXSft">> = iolist_to_binary(re:replace("a","$(?<=^(a))","xOGBQtmfLikDGlXSft",[])), 
    <<"axOGBQtmfLikDGlXSft">> = iolist_to_binary(re:replace("a","$(?<=^(a))","xOGBQtmfLikDGlXSft",[global])), 
    <<"auQKtSaabLmmqtekWvRQaWJ">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","uQKtS&LmmqtekWvRQ\\1WJ",[])), 
    <<"auQKtSaabLmmqtekWvRQaWJ">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","uQKtS&LmmqtekWvRQ\\1WJ",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?=(a+?))\\1ab","&&USoct\\1R",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?=(a+?))\\1ab","&&USoct\\1R",[global])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","nNyoTw&TuS\\1oXos",[])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","nNyoTw&TuS\\1oXos",[global])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","MAutXFUx",[])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","MAutXFUx",[global])), 
    <<"cXabcdPLyeVVq">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","c\\1X&\\1PLyeV\\1Vq",[])), 
    <<"cXabcdPLyeVVq">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","c\\1X&\\1PLyeV\\1Vq",[global])), 
    <<"jxy:z:::abcdYDxy:z:::Ixy:z:::abcdA">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","j&YD\\1I&A",[])), 
    <<"jxy:z:::abcdYDxy:z:::Ixy:z:::abcdA">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","j&YD\\1I&A",[global])), 
    <<"IbkqaaexycIVtbd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","Ibkqa&IVtb",[])), 
    <<"IbkqaaexycIVtbd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","Ibkqa&IVtb",[global])), 
    <<"cSLuXFBaavfbUaahyxuWowk">> = iolist_to_binary(re:replace("caab","(a*)b+","SLuXFB\\1vfbU\\1hyxuWowk",[])), 
    <<"cSLuXFBaavfbUaahyxuWowk">> = iolist_to_binary(re:replace("caab","(a*)b+","SLuXFB\\1vfbU\\1hyxuWowk",[global])), 
    <<"n">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","n",[])), 
    <<"n">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","n",[global])), 
    <<"xy:z:::abcdSfCyKxy:z:::abcdxy:z:::rOIxy:z:::qaXJV">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","&SfCyK&\\1rOI\\1qaXJV",[])), 
    <<"xy:z:::abcdSfCyKxy:z:::abcdxy:z:::rOIxy:z:::qaXJV">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","&SfCyK&\\1rOI\\1qaXJV",[global])), 
    <<"*** FDIubo">> = iolist_to_binary(re:replace("*** Failers","([\\w:]+::)?(\\w+)$","FDIubo",[])), 
    <<"*** FDIubo">> = iolist_to_binary(re:replace("*** Failers","([\\w:]+::)?(\\w+)$","FDIubo",[global])), 
    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","\\1\\1FqKhObWFBLnW",[])), 
    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","\\1\\1FqKhObWFBLnW",[global])), 
    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","\\1\\1\\1JSX&vwHeWnyicJH",[])), 
    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","\\1\\1\\1JSX&vwHeWnyicJH",[global])), 
    <<"bsuraexycHejcJAclcd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","bsur&HejcJA\\1l\\1",[])), 
    <<"bsuraexycHejcJAclcd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","bsur&HejcJA\\1l\\1",[global])), 
    ok.
run31() ->
    <<"C">> = iolist_to_binary(re:replace("aaab","(?>a+)b","\\1C",[])), 
    <<"C">> = iolist_to_binary(re:replace("aaab","(?>a+)b","\\1C",[global])), 
    <<"aNO:[pGn:[:[Hb]:">> = iolist_to_binary(re:replace("a:[b]:","([[:]+)","NO\\1pGn&\\1H",[])), 
    <<"aNO:[pGn:[:[Hb]NO:pGn::H">> = iolist_to_binary(re:replace("a:[b]:","([[:]+)","NO\\1pGn&\\1H",[global])), 
    <<"aUSAUCBri=[uNyXKFxsgAib]=">> = iolist_to_binary(re:replace("a=[b]=","([[=]+)","USAUCBri&uNyXKFxsgAi",[])), 
    <<"aUSAUCBri=[uNyXKFxsgAib]USAUCBri=uNyXKFxsgAi">> = iolist_to_binary(re:replace("a=[b]=","([[=]+)","USAUCBri&uNyXKFxsgAi",[global])), 
    <<"alNmxCu.[.[iUB.[.[b].">> = iolist_to_binary(re:replace("a.[b].","([[.]+)","lNmxCu&&iUB&\\1",[])), 
    <<"alNmxCu.[.[iUB.[.[b]lNmxCu..iUB..">> = iolist_to_binary(re:replace("a.[b].","([[.]+)","lNmxCu&&iUB&\\1",[global])), 
    <<"gGaaab">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","gG&",[])), 
    <<"gGaaab">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","gG&",[global])), 
    <<"XaaaSaaaFUaaabJnaaabMCaaabedCQAgh">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","X\\1S\\1FU&Jn&MC&edCQAgh",[])), 
    <<"XaaaSaaaFUaaabJnaaabMCaaabedCQAgh">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","X\\1S\\1FU&Jn&MC&edCQAgh",[global])), 
    <<"((nxgvJb">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","n\\1gvJb",[])), 
    <<"((nxgvJb">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","n\\1gvJb",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Z","dnHcIc\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Z","dnHcIc\\1",[global])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","a\\Z","TMH",[])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","a\\Z","TMH",[global])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","a\\Z","Dt\\1LIek",[])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","a\\Z","Dt\\1LIek",[global])), 
    <<"a
ihO">> = iolist_to_binary(re:replace("a
b","b\\Z","ihO",[])), 
    <<"a
ihO">> = iolist_to_binary(re:replace("a
b","b\\Z","ihO",[global])), 
    <<"a
xaybR">> = iolist_to_binary(re:replace("a
b","b\\Z","xaybR",[])), 
    <<"a
xaybR">> = iolist_to_binary(re:replace("a
b","b\\Z","xaybR",[global])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","b\\z","&",[])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","b\\z","&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","b\\z","L\\1\\1ffT&Q\\1\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","b\\z","L\\1\\1ffT&Q\\1\\1",[global])), 
    <<"lKtonNambJv">> = iolist_to_binary(re:replace("a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","lKt\\1onN&mbJ\\1v",[])), 
    <<"lKtonNambJv">> = iolist_to_binary(re:replace("a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","lKt\\1onN&mbJ\\1v",[global])), 
    <<"pabcYFSdblfLabcy">> = iolist_to_binary(re:replace("abc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","p&\\1YFSdbl\\1fL&y",[])), 
    <<"pabcYFSdblfLabcy">> = iolist_to_binary(re:replace("abc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","p&\\1YFSdbl\\1fL&y",[global])), 
    <<"Ta-bKyCljTYNdT">> = iolist_to_binary(re:replace("a-b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","T&KyCljTYN\\1dT",[])), 
    <<"Ta-bKyCljTYNdT">> = iolist_to_binary(re:replace("a-b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","T&KyCljTYN\\1dT",[global])), 
    <<"RHSJc">> = iolist_to_binary(re:replace("0-9","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","RHSJc",[])), 
    <<"RHSJc">> = iolist_to_binary(re:replace("0-9","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","RHSJc",[global])), 
    <<"dMwhrVYNNa.ba.bGa.br">> = iolist_to_binary(re:replace("a.b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","\\1dMwhrVYNN&&G&r",[])), 
    <<"dMwhrVYNNa.ba.bGa.br">> = iolist_to_binary(re:replace("a.b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","\\1dMwhrVYNN&&G&r",[global])), 
    <<"kPaiiQUiPl">> = iolist_to_binary(re:replace("5.6.7","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","kPaiiQUiPl\\1",[])), 
    <<"kPaiiQUiPl">> = iolist_to_binary(re:replace("5.6.7","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","kPaiiQUiPl\\1",[global])), 
    <<"wvQrLEJUiDlAr">> = iolist_to_binary(re:replace("the.quick.brown.fox","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","wvQ\\1rLEJUi\\1DlAr",[])), 
    <<"wvQrLEJUiDlAr">> = iolist_to_binary(re:replace("the.quick.brown.fox","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","wvQ\\1rLEJUi\\1DlAr",[global])), 
    <<"iHa100.b200.300cGyVda100.b200.300cekCw">> = iolist_to_binary(re:replace("a100.b200.300c","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","iH&GyVd&\\1ekCw",[])), 
    <<"iHa100.b200.300cGyVda100.b200.300cekCw">> = iolist_to_binary(re:replace("a100.b200.300c","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","iH&GyVd&\\1ekCw",[global])), 
    <<"O">> = iolist_to_binary(re:replace("12-ab.1245","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","O",[])), 
    <<"O">> = iolist_to_binary(re:replace("12-ab.1245","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","O",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","HUtU\\1hwSyIT&Oh\\1&&y",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","HUtU\\1hwSyIT&Oh\\1&&y",[global])), 
    <<"">> = iolist_to_binary(re:replace("","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hNvuQF&Qs&",[])), 
    <<"">> = iolist_to_binary(re:replace("","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hNvuQF&Qs&",[global])), 
    <<".a">> = iolist_to_binary(re:replace(".a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","QqXr&DuJWM",[])), 
    <<".a">> = iolist_to_binary(re:replace(".a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","QqXr&DuJWM",[global])), 
    <<"-a">> = iolist_to_binary(re:replace("-a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","sk\\1IEt",[])), 
    <<"-a">> = iolist_to_binary(re:replace("-a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","sk\\1IEt",[global])), 
    <<"a-">> = iolist_to_binary(re:replace("a-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","q&NPicpE",[])), 
    <<"a-">> = iolist_to_binary(re:replace("a-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","q&NPicpE",[global])), 
    <<"a.">> = iolist_to_binary(re:replace("a.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","CQXy",[])), 
    <<"a.">> = iolist_to_binary(re:replace("a.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","CQXy",[global])), 
    <<"a_b">> = iolist_to_binary(re:replace("a_b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","LYXq",[])), 
    <<"a_b">> = iolist_to_binary(re:replace("a_b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","LYXq",[global])), 
    <<"a.-">> = iolist_to_binary(re:replace("a.-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","MD\\1",[])), 
    <<"a.-">> = iolist_to_binary(re:replace("a.-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","MD\\1",[global])), 
    <<"a..">> = iolist_to_binary(re:replace("a..","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","L",[])), 
    <<"a..">> = iolist_to_binary(re:replace("a..","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","L",[global])), 
    <<"ab..bc">> = iolist_to_binary(re:replace("ab..bc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","BCKwcl\\1kueBcjj",[])), 
    <<"ab..bc">> = iolist_to_binary(re:replace("ab..bc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","BCKwcl\\1kueBcjj",[global])), 
    <<"the.quick.brown.fox-">> = iolist_to_binary(re:replace("the.quick.brown.fox-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","JT&&v&ADCCjyxv",[])), 
    <<"the.quick.brown.fox-">> = iolist_to_binary(re:replace("the.quick.brown.fox-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","JT&&v&ADCCjyxv",[global])), 
    <<"the.quick.brown.fox.">> = iolist_to_binary(re:replace("the.quick.brown.fox.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","ss",[])), 
    <<"the.quick.brown.fox.">> = iolist_to_binary(re:replace("the.quick.brown.fox.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","ss",[global])), 
    <<"the.quick.brown.fox_">> = iolist_to_binary(re:replace("the.quick.brown.fox_","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","oN\\1QUG",[])), 
    <<"the.quick.brown.fox_">> = iolist_to_binary(re:replace("the.quick.brown.fox_","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","oN\\1QUG",[global])), 
    <<"the.quick.brown.fox+">> = iolist_to_binary(re:replace("the.quick.brown.fox+","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","dOn\\1&jl\\1b&",[])), 
    <<"the.quick.brown.fox+">> = iolist_to_binary(re:replace("the.quick.brown.fox+","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","dOn\\1&jl\\1b&",[global])), 
    <<"fkIx">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd|wxyz))","fkIx",[])), 
    <<"fkIxfkIx">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd|wxyz))","fkIx",[global])), 
    <<"endingwxyzendingwxyzuyEXDtendingwxyzFCFendingwxyzgoLpALi">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd|wxyz))","&&uyEXDt&FCF&goLpALi",[])), 
    <<"endingwxyzendingwxyzuyEXDtendingwxyzFCFendingwxyzgoLpALiuyEXDtFCFgoLpALi">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd|wxyz))","&&uyEXDt&FCF&goLpALi",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>.*)(?<=(abcd|wxyz))","ElH",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>.*)(?<=(abcd|wxyz))","ElH",[global])), 
    <<"a rather long string that doesn't end with one of them">> = iolist_to_binary(re:replace("a rather long string that doesn't end with one of them","(?>.*)(?<=(abcd|wxyz))","&GVy",[])), 
    <<"a rather long string that doesn't end with one of them">> = iolist_to_binary(re:replace("a rather long string that doesn't end with one of them","(?>.*)(?<=(abcd|wxyz))","&GVy",[global])), 
    <<"IpFbERword cat dog elephant mussel cow horse canary baboon snake shark otherwordvjword cat dog elephant mussel cow horse canary baboon snake shark otherwordaul">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark otherword","word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword","IpFbER&vj&aul",[])), 
    <<"IpFbERword cat dog elephant mussel cow horse canary baboon snake shark otherwordvjword cat dog elephant mussel cow horse canary baboon snake shark otherwordaul">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark otherword","word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword","IpFbER&vj&aul",[global])), 
    <<"word cat dog elephant mussel cow horse canary baboon snake shark">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark","word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword","JMrCXcb\\1Q&T\\1ypBy",[])), 
    <<"word cat dog elephant mussel cow horse canary baboon snake shark">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark","word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword","JMrCXcb\\1Q&T\\1ypBy",[global])), 
    <<"word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope","word (?>[a-zA-Z0-9]+ ){0,30}otherword","TD&O",[])), 
    <<"word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope","word (?>[a-zA-Z0-9]+ ){0,30}otherword","TD&O",[global])), 
    <<"999fooKfooJ">> = iolist_to_binary(re:replace("999foo","(?<=\\d{3}(?!999))foo","&K&J",[])), 
    <<"999fooKfooJ">> = iolist_to_binary(re:replace("999foo","(?<=\\d{3}(?!999))foo","&K&J",[global])), 
    <<"123999ncsryomxOKBBikcY">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999))foo","\\1ncsry\\1omxOKBBikcY",[])), 
    <<"123999ncsryomxOKBBikcY">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999))foo","\\1ncsry\\1omxOKBBikcY",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999))foo","NMXv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999))foo","NMXv",[global])), 
    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999))foo","B\\1\\1",[])), 
    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999))foo","B\\1\\1",[global])), 
    <<"999faWvYAfooyphbfooC">> = iolist_to_binary(re:replace("999foo","(?<=(?!...999)\\d{3})foo","f\\1aW\\1vYA\\1&yphb&C",[])), 
    <<"999faWvYAfooyphbfooC">> = iolist_to_binary(re:replace("999foo","(?<=(?!...999)\\d{3})foo","f\\1aW\\1vYA\\1&yphb&C",[global])), 
    <<"123999D">> = iolist_to_binary(re:replace("123999foo","(?<=(?!...999)\\d{3})foo","D",[])), 
    <<"123999D">> = iolist_to_binary(re:replace("123999foo","(?<=(?!...999)\\d{3})foo","D",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?!...999)\\d{3})foo","xk\\1&NP",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?!...999)\\d{3})foo","xk\\1&NP",[global])), 
    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=(?!...999)\\d{3})foo","Cpoo",[])), 
    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=(?!...999)\\d{3})foo","Cpoo",[global])), 
    <<"123abcKgjBJrwxNA">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999)...)foo","KgjBJrwxNA",[])), 
    <<"123abcKgjBJrwxNA">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999)...)foo","KgjBJrwxNA",[global])), 
    <<"123456foomfooUfooUg">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}(?!999)...)foo","&m&U&Ug\\1",[])), 
    <<"123456foomfooUfooUg">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}(?!999)...)foo","&m&U&Ug\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999)...)foo","Ccj\\1&vjH&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999)...)foo","Ccj\\1&vjH&",[global])), 
    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999)...)foo","&MeuE&",[])), 
    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999)...)foo","&MeuE&",[global])), 
    <<"123abcMdRfooqtYhLSo">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}...)(?<!999)foo","Md\\1R&qtYhLSo",[])), 
    <<"123abcMdRfooqtYhLSo">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}...)(?<!999)foo","Md\\1R&qtYhLSo",[global])), 
    <<"123456IfooHfooFgGWfoobS">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}...)(?<!999)foo","I&H\\1\\1&\\1FgGW&bS",[])), 
    <<"123456IfooHfooFgGWfoobS">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}...)(?<!999)foo","I&H\\1\\1&\\1FgGW&bS",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}...)(?<!999)foo","x&KVkVB\\1mIkDO\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}...)(?<!999)foo","x&KVkVB\\1mIkDO\\1",[global])), 
    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}...)(?<!999)foo","imQyT&\\1",[])), 
    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}...)(?<!999)foo","imQyT&\\1",[global])), 
    ok.
run32() ->
    <<"YXkVs xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","YX\\1kVs",[caseless,
                                                                                             dotall,
                                                                                             extended])), 
    <<"YXkVs xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","YX\\1kVs",[caseless,
                                                                                             dotall,
                                                                                             extended,
                                                                                             global])), 
    <<"j\"rurrrUhbILCWDO<a href=\"abcd xyz pqr\" cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","j\\1rurrrUhbILCWDO&",[caseless,
                                                                                                        dotall,
                                                                                                        extended])), 
    <<"j\"rurrrUhbILCWDO<a href=\"abcd xyz pqr\" cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","j\\1rurrrUhbILCWDO&",[caseless,
                                                                                                        dotall,
                                                                                                        extended,
                                                                                                        global])), 
    <<"KHDcRniMHRJEBi cats">> = iolist_to_binary(re:replace("<a href='abcd xyz pqr' cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","KHDcRniMHRJEBi",[caseless,
                                                                                                 dotall,
                                                                                                 extended])), 
    <<"KHDcRniMHRJEBi cats">> = iolist_to_binary(re:replace("<a href='abcd xyz pqr' cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","KHDcRniMHRJEBi",[caseless,
                                                                                                 dotall,
                                                                                                 extended,
                                                                                                 global])), 
    <<"DRkc<a href=abcd xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href\\s*=\\s*                # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","DRkc&\\1",[caseless,
                                                                                             dotall,
                                                                                             extended])), 
    <<"DRkc<a href=abcd xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href\\s*=\\s*                # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","DRkc&\\1",[caseless,
                                                                                             dotall,
                                                                                             extended,
                                                                                             global])), 
    <<"M\"b\"cG cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href\\s*=\\s*                # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","M\\1b\\1cG",[caseless,
                                                                                                 dotall,
                                                                                                 extended])), 
    <<"M\"b\"cG cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href\\s*=\\s*                # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","M\\1b\\1cG",[caseless,
                                                                                                 dotall,
                                                                                                 extended,
                                                                                                 global])), 
    <<"<a href       =       'abcd xyz pqr'K'RAApBAC'TjXhwL cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href\\s*=\\s*                # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","&K\\1RAApBAC\\1TjXhwL",[caseless,
                                                                                                            dotall,
                                                                                                            extended])), 
    <<"<a href       =       'abcd xyz pqr'K'RAApBAC'TjXhwL cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href\\s*=\\s*                # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","&K\\1RAApBAC\\1TjXhwL",[caseless,
                                                                                                            dotall,
                                                                                                            extended,
                                                                                                            global])), 
    <<"udPf<a href=abcd<a href=abcdVmHT xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","\\1udPf&&VmHT\\1",[caseless,
                                                                                                       dotall,
                                                                                                       extended])), 
    <<"udPf<a href=abcd<a href=abcdVmHT xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","\\1udPf&&VmHT\\1",[caseless,
                                                                                                       dotall,
                                                                                                       extended,
                                                                                                       global])), 
    <<"lO<a href=\"abcd xyz pqr\"C<a href=\"abcd xyz pqr\"dAuVMQlg cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","lO&C&dAuVMQlg",[caseless,
                                                                                                dotall,
                                                                                                extended])), 
    <<"lO<a href=\"abcd xyz pqr\"C<a href=\"abcd xyz pqr\"dAuVMQlg cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","lO&C&dAuVMQlg",[caseless,
                                                                                                dotall,
                                                                                                extended,
                                                                                                global])), 
    <<"kNUDBNNpwgKs'j cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","kNUDBNNpwgKs\\1j",[caseless,
                                                                                                     dotall,
                                                                                                     extended])), 
    <<"kNUDBNNpwgKs'j cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","kNUDBNNpwgKs\\1j",[caseless,
                                                                                                     dotall,
                                                                                                     extended,
                                                                                                     global])), 
    <<"SBBCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","((Z)+|A)*","SB",[])), 
    <<"SBSBBSBCSBDSBESBFSBGSB">> = iolist_to_binary(re:replace("ZABCDEFG","((Z)+|A)*","SB",[global])), 
    <<"TGWhfNtEZAQBCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","(Z()|A)*","TGWhfNtE&Q",[])), 
    <<"TGWhfNtEZAQTGWhfNtEQBTGWhfNtEQCTGWhfNtEQDTGWhfNtEQETGWhfNtEQFTGWhfNtEQGTGWhfNtEQ">> = iolist_to_binary(re:replace("ZABCDEFG","(Z()|A)*","TGWhfNtE&Q",[global])), 
    <<"QATmcAAZABCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","(Z(())|A)*","Q\\1Tmc\\1\\1&",[])), 
    <<"QATmcAAZAQTmcBQTmcCQTmcDQTmcEQTmcFQTmcGQTmc">> = iolist_to_binary(re:replace("ZABCDEFG","(Z(())|A)*","Q\\1Tmc\\1\\1&",[global])), 
    <<"LUBCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","((?>Z)+|A)*","LU",[])), 
    <<"LULUBLUCLUDLUELUFLUGLU">> = iolist_to_binary(re:replace("ZABCDEFG","((?>Z)+|A)*","LU",[global])), 
    <<"YLMbVmHKJJdvuAVZABCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","((?>)+|A)*","YL&MbVmHKJJdv\\1&uAV",[])), 
    <<"YLMbVmHKJJdvuAVZYLMbVmHKJJdvuAVYLAMbVmHKJJdvAuAVYLMbVmHKJJdvuAVBYLMbVmHKJJdvuAVCYLMbVmHKJJdvuAVDYLMbVmHKJJdvuAVEYLMbVmHKJJdvuAVFYLMbVmHKJJdvuAVGYLMbVmHKJJdvuAV">> = iolist_to_binary(re:replace("ZABCDEFG","((?>)+|A)*","YL&MbVmHKJJdv\\1&uAV",[global])), 
    <<"qewqabbab">> = iolist_to_binary(re:replace("abbab","a*","qewq&",[])), 
    <<"qewqaqewqbqewqbqewqaqewqbqewq">> = iolist_to_binary(re:replace("abbab","a*","qewq&",[global])), 
    <<"Nabcde">> = iolist_to_binary(re:replace("abcde","^[a-\\d]","N&",[])), 
    <<"Nabcde">> = iolist_to_binary(re:replace("abcde","^[a-\\d]","N&",[global])), 
    <<"sg-aOs-tithings">> = iolist_to_binary(re:replace("-things","^[a-\\d]","sg&a\\1Os&ti",[])), 
    <<"sg-aOs-tithings">> = iolist_to_binary(re:replace("-things","^[a-\\d]","sg&a\\1Os&ti",[global])), 
    <<"DtMdigit">> = iolist_to_binary(re:replace("0digit","^[a-\\d]","DtM",[])), 
    <<"DtMdigit">> = iolist_to_binary(re:replace("0digit","^[a-\\d]","DtM",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[a-\\d]","dJiX",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[a-\\d]","dJiX",[global])), 
    <<"bcdef">> = iolist_to_binary(re:replace("bcdef","^[a-\\d]","AGDlhSs&Gk&u\\1L",[])), 
    <<"bcdef">> = iolist_to_binary(re:replace("bcdef","^[a-\\d]","AGDlhSs&Gk&u\\1L",[global])), 
    <<"crLvRhrTbcde">> = iolist_to_binary(re:replace("abcde","^[\\d-a]","crLvRhrT",[])), 
    <<"crLvRhrTbcde">> = iolist_to_binary(re:replace("abcde","^[\\d-a]","crLvRhrT",[global])), 
    <<"XaUtelthings">> = iolist_to_binary(re:replace("-things","^[\\d-a]","XaUtel",[])), 
    <<"XaUtelthings">> = iolist_to_binary(re:replace("-things","^[\\d-a]","XaUtel",[global])), 
    <<"0digit">> = iolist_to_binary(re:replace("0digit","^[\\d-a]","&",[])), 
    <<"0digit">> = iolist_to_binary(re:replace("0digit","^[\\d-a]","&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[\\d-a]","E&gL&oOMM&E",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[\\d-a]","E&gL&oOMM&E",[global])), 
    <<"bcdef">> = iolist_to_binary(re:replace("bcdef","^[\\d-a]","\\1kIKJw&Id",[])), 
    <<"bcdef">> = iolist_to_binary(re:replace("bcdef","^[\\d-a]","\\1kIKJw&Id",[global])), 
    <<">Qi<">> = iolist_to_binary(re:replace("> 	

<","[[:space:]]+","\\1Qi",[])), 
    <<">Qi<">> = iolist_to_binary(re:replace("> 	

<","[[:space:]]+","\\1Qi",[global])), 
    <<">VYrL 	AlFvYN

<">> = iolist_to_binary(re:replace("> 	

<","[[:blank:]]+","VYrL&AlFvYN",[])), 
    <<">VYrL 	AlFvYN

<">> = iolist_to_binary(re:replace("> 	

<","[[:blank:]]+","VYrL&AlFvYN",[global])), 
    <<">HJRfpOlI<">> = iolist_to_binary(re:replace("> 	

<","[\\s]+","HJRfpOlI",[])), 
    <<">HJRfpOlI<">> = iolist_to_binary(re:replace("> 	

<","[\\s]+","HJRfpOlI",[global])), 
    <<"> 	

t 	

FtuuC<">> = iolist_to_binary(re:replace("> 	

<","\\s+","&\\1t&FtuuC",[])), 
    <<"> 	

t 	

FtuuC<">> = iolist_to_binary(re:replace("> 	

<","\\s+","&\\1t&FtuuC",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","ab","&lH\\1E&J\\1&L&&Rx",[extended])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","ab","&lH\\1E&J\\1&L&&Rx",[extended,
                                                                                                                                                                                              global])), 
    <<"a
xWxKmxNIb">> = iolist_to_binary(re:replace("a
xb","(?!\\A)x","&W&Km&NI",[multiline])), 
    <<"a
xWxKmxNIb">> = iolist_to_binary(re:replace("a
xb","(?!\\A)x","&W&Km&NI",[multiline,global])), 
    <<"a
xb">> = iolist_to_binary(re:replace("a
xb","(?!^)x","jRLFoYEov&K",[multiline])), 
    <<"a
xb">> = iolist_to_binary(re:replace("a
xb","(?!^)x","jRLFoYEov&K",[multiline,global])), 
    <<"JVoGaFQQ">> = iolist_to_binary(re:replace("abcabcabc","abc\\Qabc\\Eabc","JVoGaFQQ",[])), 
    <<"JVoGaFQQ">> = iolist_to_binary(re:replace("abcabcabc","abc\\Qabc\\Eabc","JVoGaFQQ",[global])), 
    <<"DSeVu">> = iolist_to_binary(re:replace("abc(*+|abc","abc\\Q(*+|\\Eabc","DSeVu",[])), 
    <<"DSeVu">> = iolist_to_binary(re:replace("abc(*+|abc","abc\\Q(*+|\\Eabc","DSeVu",[global])), 
    ok.
run33() ->
    <<"Li">> = iolist_to_binary(re:replace("abc abcabc","   abc\\Q abc\\Eabc","Li",[extended])), 
    <<"Li">> = iolist_to_binary(re:replace("abc abcabc","   abc\\Q abc\\Eabc","Li",[extended,
                                                                                                                                                                                                         global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   abc\\Q abc\\Eabc","njPc\\1Go\\1Mf&&HbU\\1&",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   abc\\Q abc\\Eabc","njPc\\1Go\\1Mf&&HbU\\1&",[extended,
                                                                                                                                                                                                                                                           global])), 
    <<"abcabcabc">> = iolist_to_binary(re:replace("abcabcabc","   abc\\Q abc\\Eabc","&xP&fFtGb&mNes\\1GI\\1",[extended])), 
    <<"abcabcabc">> = iolist_to_binary(re:replace("abcabcabc","   abc\\Q abc\\Eabc","&xP&fFtGb&mNes\\1GI\\1",[extended,
                                                                                                                                                                                                                                                    global])), 
    <<"gKHkeQRUc">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E","gKHkeQRUc",[extended])), 
    <<"gKHkeQRUc">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E","gKHkeQRUc",[extended,global])), 
    <<"gmgWrrxBneXj">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal","gmgWrrxBneXj",[extended])), 
    <<"gmgWrrxBneXj">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal","gmgWrrxBneXj",[extended,global])), 
    <<"JetiXL">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E #more comment
    ","J\\1etiX\\1L",[extended])), 
    <<"JetiXL">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E #more comment
    ","J\\1etiX\\1L",[extended,global])), 
    <<"nxvXs">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E #more comment","\\1nxvXs",[extended])), 
    <<"nxvXs">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E #more comment","\\1nxvXs",[extended,global])), 
    <<"NHOqEFFabc\\$xyzj">> = iolist_to_binary(re:replace("abc\\$xyz","\\Qabc\\$xyz\\E","NHOqEFF&j",[])), 
    <<"NHOqEFFabc\\$xyzj">> = iolist_to_binary(re:replace("abc\\$xyz","\\Qabc\\$xyz\\E","NHOqEFF&j",[global])), 
    <<"DjW">> = iolist_to_binary(re:replace("abc$xyz","\\Qabc\\E\\$\\Qxyz\\E","DjW",[])), 
    <<"DjW">> = iolist_to_binary(re:replace("abc$xyz","\\Qabc\\E\\$\\Qxyz\\E","DjW",[global])), 
    <<"WAnMpAVfX">> = iolist_to_binary(re:replace("abc","\\Gabc","W\\1AnMpAV\\1f\\1X",[])), 
    <<"WAnMpAVfX">> = iolist_to_binary(re:replace("abc","\\Gabc","W\\1AnMpAV\\1f\\1X",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Gabc","rW&&AVMSknoPI&&w",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Gabc","rW&&AVMSknoPI&&w",[global])), 
    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","\\Gabc","DFp\\1NhU&",[])), 
    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","\\Gabc","DFp\\1NhU&",[global])), 
    <<"abc1ifEabc1hgAabc2xyzabc3">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","\\Gabc.","\\1&ifE&hgA",[])), 
    <<"abc1ifEabc1hgAabc2ifEabc2hgAxyzabc3">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","\\Gabc.","\\1&ifE&hgA",[global])), 
    <<"QCUPbyyjrEabc2xyzabc3">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","abc.","QC\\1\\1UPbyyj\\1rE",[])), 
    <<"QCUPbyyjrEQCUPbyyjrExyzQCUPbyyjrE">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","abc.","QC\\1\\1UPbyyj\\1rE",[global])), 
    <<"XJIJfY">> = iolist_to_binary(re:replace("XabcdY","a(?x: b c )d","JIJf",[])), 
    <<"XJIJfY">> = iolist_to_binary(re:replace("XabcdY","a(?x: b c )d","JIJf",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?x: b c )d","i&J&NwHJGVUFHoXlLB",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?x: b c )d","i&J&NwHJGVUFHoXlLB",[global])), 
    <<"Xa b c d Y">> = iolist_to_binary(re:replace("Xa b c d Y","a(?x: b c )d","y&kXPnw&sN&&BHba",[])), 
    <<"Xa b c d Y">> = iolist_to_binary(re:replace("Xa b c d Y","a(?x: b c )d","y&kXPnw&sN&&BHba",[global])), 
    <<"XUQRabcabcUrY">> = iolist_to_binary(re:replace("XabcY","((?x)x y z | a b c)","UQR&\\1Ur",[])), 
    <<"XUQRabcabcUrY">> = iolist_to_binary(re:replace("XabcY","((?x)x y z | a b c)","UQR&\\1Ur",[global])), 
    <<"AgqfObHxyztxyzMXSCB">> = iolist_to_binary(re:replace("AxyzB","((?x)x y z | a b c)","gqfObH\\1t&MXSC",[])), 
    <<"AgqfObHxyztxyzMXSCB">> = iolist_to_binary(re:replace("AxyzB","((?x)x y z | a b c)","gqfObH\\1t&MXSC",[global])), 
    <<"XAAvVabCAjGTsabCPBY">> = iolist_to_binary(re:replace("XabCY","(?i)AB(?-i)C","AAvV&AjGTs&\\1PB",[])), 
    <<"XAAvVabCAjGTsabCPBY">> = iolist_to_binary(re:replace("XabCY","(?i)AB(?-i)C","AAvV&AjGTs&\\1PB",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i)AB(?-i)C","UmCr&Vrv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i)AB(?-i)C","UmCr&Vrv",[global])), 
    <<"XabcY">> = iolist_to_binary(re:replace("XabcY","(?i)AB(?-i)C","qxteX",[])), 
    <<"XabcY">> = iolist_to_binary(re:replace("XabcY","(?i)AB(?-i)C","qxteX",[global])), 
    <<"ai">> = iolist_to_binary(re:replace("abCE","((?i)AB(?-i)C|D)E","ai",[])), 
    <<"ai">> = iolist_to_binary(re:replace("abCE","((?i)AB(?-i)C|D)E","ai",[global])), 
    <<"qRLDKtDtqTDE">> = iolist_to_binary(re:replace("DE","((?i)AB(?-i)C|D)E","qRL\\1Kt\\1tqT&",[])), 
    <<"qRLDKtDtqTDE">> = iolist_to_binary(re:replace("DE","((?i)AB(?-i)C|D)E","qRL\\1Kt\\1tqT&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)AB(?-i)C|D)E","tJGWHuAQJuV\\1ohL",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)AB(?-i)C|D)E","tJGWHuAQJuV\\1ohL",[global])), 
    <<"abcE">> = iolist_to_binary(re:replace("abcE","((?i)AB(?-i)C|D)E","SL",[])), 
    <<"abcE">> = iolist_to_binary(re:replace("abcE","((?i)AB(?-i)C|D)E","SL",[global])), 
    <<"abCe">> = iolist_to_binary(re:replace("abCe","((?i)AB(?-i)C|D)E","INyHgcjBTk",[])), 
    <<"abCe">> = iolist_to_binary(re:replace("abCe","((?i)AB(?-i)C|D)E","INyHgcjBTk",[global])), 
    <<"dE">> = iolist_to_binary(re:replace("dE","((?i)AB(?-i)C|D)E","x\\1",[])), 
    <<"dE">> = iolist_to_binary(re:replace("dE","((?i)AB(?-i)C|D)E","x\\1",[global])), 
    <<"De">> = iolist_to_binary(re:replace("De","((?i)AB(?-i)C|D)E","pgmpT&v&DORqu&",[])), 
    <<"De">> = iolist_to_binary(re:replace("De","((?i)AB(?-i)C|D)E","pgmpT&v&DORqu&",[global])), 
    <<"abcpy">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","\\1py",[])), 
    <<"abcpy">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","\\1py",[global])), 
    <<"aeCYXPUlXbcjXWbcK">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","eCYXPUlX\\1jXW\\1K",[])), 
    <<"aeCYXPUlXbcjXWbcK">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","eCYXPUlX\\1jXW\\1K",[global])), 
    <<"hxyLlgCxwsHwpLlIYe">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","hxyLlgCxwsHwpLlIYe",[dotall])), 
    <<"hxyLlgCxwsHwpLlIYe">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","hxyLlgCxwsHwpLlIYe",[dotall,
                                                                                                                                                                                                                       global])), 
    <<"aubcbcBbcJobcFXYl">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","u\\1\\1B\\1Jo\\1FXYl",[dotall])), 
    <<"aubcbcBbcJobcFXYl">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","u\\1\\1B\\1Jo\\1FXYl",[dotall,
                                                                                                                                                                                                                             global])), 
    <<"BSBMIqq">> = iolist_to_binary(re:replace("abc123abc","((.*))\\d+\\1","BSBMIqq",[])), 
    <<"BSBMIqq">> = iolist_to_binary(re:replace("abc123abc","((.*))\\d+\\1","BSBMIqq",[global])), 
    <<"aWbc123bcnWkNJItYcGAvsDNYbW">> = iolist_to_binary(re:replace("abc123bc","((.*))\\d+\\1","W&nWkNJItYcGAvsDNYbW",[])), 
    <<"aWbc123bcnWkNJItYcGAvsDNYbW">> = iolist_to_binary(re:replace("abc123bc","((.*))\\d+\\1","W&nWkNJItYcGAvsDNYbW",[global])), 
    <<"kDSa123::a123Tp">> = iolist_to_binary(re:replace("a123::a123","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","kDS&T\\1p",[extended,caseless])), 
    <<"kDSa123::a123Tp">> = iolist_to_binary(re:replace("a123::a123","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","kDS&T\\1p",[extended,caseless,global])), 
    <<"r">> = iolist_to_binary(re:replace("a123:b342::abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","r",[extended,caseless])), 
    <<"r">> = iolist_to_binary(re:replace("a123:b342::abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","r",[extended,caseless,global])), 
    <<"ia123:b342::324e:abcd">> = iolist_to_binary(re:replace("a123:b342::324e:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","i&",[extended,caseless])), 
    <<"ia123:b342::324e:abcd">> = iolist_to_binary(re:replace("a123:b342::324e:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","i&",[extended,caseless,global])), 
    <<"eYuTiBYPtHa123:ddde:b342::324e:abcdJHIw">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","eYuTiBYPtH&J\\1HIw",[extended,caseless])), 
    <<"eYuTiBYPtHa123:ddde:b342::324e:abcdJHIw">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","eYuTiBYPtH&J\\1HIw",[extended,caseless,global])), 
    <<"">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","\\1",[extended,caseless])), 
    <<"">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","\\1",[extended,caseless,global])), 
    <<"a123:ddde:9999:b342::324e:dcba:abcdoLIelBa123:ddde:9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","&oLIelB&",[extended,caseless])), 
    <<"a123:ddde:9999:b342::324e:dcba:abcdoLIelBa123:ddde:9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","&oLIelB&",[extended,caseless,global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","&f\\1I",[extended,caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","&f\\1I",[extended,caseless,global])), 
    <<"1:2:3:4:5:6:7:8">> = iolist_to_binary(re:replace("1:2:3:4:5:6:7:8","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","yUIYbm&\\1qdJb",[extended,caseless])), 
    <<"1:2:3:4:5:6:7:8">> = iolist_to_binary(re:replace("1:2:3:4:5:6:7:8","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","yUIYbm&\\1qdJb",[extended,caseless,global])), 
    <<"a123:bce:ddde:9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123:bce:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","Xhy\\1&M",[extended,caseless])), 
    <<"a123:bce:ddde:9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123:bce:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","Xhy\\1&M",[extended,caseless,global])), 
    <<"a123::9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123::9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","sw",[extended,caseless])), 
    <<"a123::9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123::9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","sw",[extended,caseless,global])), 
    <<"abcde:2:3:4:5:6:7:8">> = iolist_to_binary(re:replace("abcde:2:3:4:5:6:7:8","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","pCUAeIjhQXp\\1K",[extended,caseless])), 
    <<"abcde:2:3:4:5:6:7:8">> = iolist_to_binary(re:replace("abcde:2:3:4:5:6:7:8","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","pCUAeIjhQXp\\1K",[extended,caseless,global])), 
    <<"::1">> = iolist_to_binary(re:replace("::1","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","rN\\1Dti&",[extended,caseless])), 
    <<"::1">> = iolist_to_binary(re:replace("::1","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","rN\\1Dti&",[extended,caseless,global])), 
    <<"abcd:fee0:123::">> = iolist_to_binary(re:replace("abcd:fee0:123::","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","eRNkqHK\\1RXNGFgu",[extended,caseless])), 
    <<"abcd:fee0:123::">> = iolist_to_binary(re:replace("abcd:fee0:123::","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","eRNkqHK\\1RXNGFgu",[extended,caseless,global])), 
    <<":1">> = iolist_to_binary(re:replace(":1","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","mbx",[extended,caseless])), 
    <<":1">> = iolist_to_binary(re:replace(":1","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","mbx",[extended,caseless,global])), 
    <<"1:">> = iolist_to_binary(re:replace("1:","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","WJB",[extended,caseless])), 
    <<"1:">> = iolist_to_binary(re:replace("1:","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","WJB",[extended,caseless,global])), 
    <<"NdcuJzCbxTd">> = iolist_to_binary(re:replace("z","[z\\Qa-d]\\E]","NdcuJ\\1&CbxTd",[])), 
    <<"NdcuJzCbxTd">> = iolist_to_binary(re:replace("z","[z\\Qa-d]\\E]","NdcuJ\\1&CbxTd",[global])), 
    <<"VLxNqfjwruLh">> = iolist_to_binary(re:replace("a","[z\\Qa-d]\\E]","VL\\1xNqfj\\1wruLh",[])), 
    <<"VLxNqfjwruLh">> = iolist_to_binary(re:replace("a","[z\\Qa-d]\\E]","VL\\1xNqfj\\1wruLh",[global])), 
    <<"jX">> = iolist_to_binary(re:replace("-","[z\\Qa-d]\\E]","jX",[])), 
    <<"jX">> = iolist_to_binary(re:replace("-","[z\\Qa-d]\\E]","jX",[global])), 
    <<"XRHLEUuwPyRxGJEv">> = iolist_to_binary(re:replace("d","[z\\Qa-d]\\E]","X\\1RHLEUuwP\\1yRxGJEv",[])), 
    <<"XRHLEUuwPyRxGJEv">> = iolist_to_binary(re:replace("d","[z\\Qa-d]\\E]","X\\1RHLEUuwP\\1yRxGJEv",[global])), 
    <<"Gtcd">> = iolist_to_binary(re:replace("]","[z\\Qa-d]\\E]","Gt\\1cd",[])), 
    <<"Gtcd">> = iolist_to_binary(re:replace("]","[z\\Qa-d]\\E]","Gt\\1cd",[global])), 
    <<"*** FCaQDFtaYgknvailers">> = iolist_to_binary(re:replace("*** Failers","[z\\Qa-d]\\E]","C&Q\\1\\1\\1DF\\1t&Ygknv&\\1",[])), 
    <<"*** FCaQDFtaYgknvailers">> = iolist_to_binary(re:replace("*** Failers","[z\\Qa-d]\\E]","C&Q\\1\\1\\1DF\\1t&Ygknv&\\1",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","[z\\Qa-d]\\E]","rUhPPBvokQvYvRC",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","[z\\Qa-d]\\E]","rUhPPBvokQvYvRC",[global])), 
    ok.
run34() ->
    <<"jOKAO">> = iolist_to_binary(re:replace("z","[\\z\\C]","jOKAO",[])), 
    <<"jOKAO">> = iolist_to_binary(re:replace("z","[\\z\\C]","jOKAO",[global])), 
    <<"UIfGQohtPCcNiR">> = iolist_to_binary(re:replace("C","[\\z\\C]","\\1UIfGQohtP&c\\1\\1NiR",[])), 
    <<"UIfGQohtPCcNiR">> = iolist_to_binary(re:replace("C","[\\z\\C]","\\1UIfGQohtP&c\\1\\1NiR",[global])), 
    <<"xjHNUJliwGsC">> = iolist_to_binary(re:replace("M","\\M","xjHNUJ\\1liwGsC",[])), 
    <<"xjHNUJliwGsC">> = iolist_to_binary(re:replace("M","\\M","xjHNUJ\\1liwGsC",[global])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a+)*b","ss\\1vxH\\1fmwG",[])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a+)*b","ss\\1vxH\\1fmwG",[global])), 
    <<"„XAZXS">> = iolist_to_binary(re:replace("„XAZXB","(?<=Z)X.","XS",[])), 
    <<"„XAZXS">> = iolist_to_binary(re:replace("„XAZXB","(?<=Z)X.","XS",[global])), 
    <<"fU">> = iolist_to_binary(re:replace("ab cd defg","ab cd (?x) de fg","fU",[])), 
    <<"fU">> = iolist_to_binary(re:replace("ab cd defg","ab cd (?x) de fg","fU",[global])), 
    <<"ditab cddefg">> = iolist_to_binary(re:replace("ab cddefg","ab cd(?x) de fg","\\1dit&",[])), 
    <<"ditab cddefg">> = iolist_to_binary(re:replace("ab cddefg","ab cd(?x) de fg","\\1dit&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","ab cd(?x) de fg","&Kr&\\1EgsvGfRsKlm",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","ab cd(?x) de fg","&Kr&\\1EgsvGfRsKlm",[global])), 
    <<"abcddefg">> = iolist_to_binary(re:replace("abcddefg","ab cd(?x) de fg","\\1",[])), 
    <<"abcddefg">> = iolist_to_binary(re:replace("abcddefg","ab cd(?x) de fg","\\1",[global])), 
    <<"fooXSbarrbNX">> = iolist_to_binary(re:replace("foobarX","(?<![^f]oo)(bar)","XS\\1rbN",[])), 
    <<"fooXSbarrbNX">> = iolist_to_binary(re:replace("foobarX","(?<![^f]oo)(bar)","XS\\1rbN",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f]oo)(bar)","P\\1\\1\\1&C\\1N\\1DLnhU&T",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f]oo)(bar)","P\\1\\1\\1&C\\1N\\1DLnhU&T",[global])), 
    <<"boobarX">> = iolist_to_binary(re:replace("boobarX","(?<![^f]oo)(bar)","S&HuDj&pl&\\1K",[])), 
    <<"boobarX">> = iolist_to_binary(re:replace("boobarX","(?<![^f]oo)(bar)","S&HuDj&pl&\\1K",[global])), 
    <<"offAWvYjHsJodXLI">> = iolist_to_binary(re:replace("offX","(?<![^f])X","AWvYjHs\\1J\\1od&LI",[])), 
    <<"offAWvYjHsJodXLI">> = iolist_to_binary(re:replace("offX","(?<![^f])X","AWvYjHs\\1J\\1od&LI",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f])X","\\1on",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f])X","\\1on",[global])), 
    <<"onyX">> = iolist_to_binary(re:replace("onyX","(?<![^f])X","&f&D",[])), 
    <<"onyX">> = iolist_to_binary(re:replace("onyX","(?<![^f])X","&f&D",[global])), 
    <<"onyE">> = iolist_to_binary(re:replace("onyX","(?<=[^f])X","E",[])), 
    <<"onyE">> = iolist_to_binary(re:replace("onyX","(?<=[^f])X","E",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^f])X","lEuucWp\\1&m",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^f])X","lEuucWp\\1&m",[global])), 
    <<"offX">> = iolist_to_binary(re:replace("offX","(?<=[^f])X","QNevBRs\\1&OKqB&\\1\\1H",[])), 
    <<"offX">> = iolist_to_binary(re:replace("offX","(?<=[^f])X","QNevBRs\\1&OKqB&\\1\\1H",[global])), 
    <<"lHqgba
b
c">> = iolist_to_binary(re:replace("a
b
c","^","lHqg&b&",[multiline])), 
    <<"lHqgba
lHqgbb
lHqgbc">> = iolist_to_binary(re:replace("a
b
c","^","lHqg&b&",[multiline,global])), 
    <<"VDMcObuOyb">> = iolist_to_binary(re:replace("","^","VDM&cObuOy\\1b",[multiline])), 
    <<"VDMcObuOyb">> = iolist_to_binary(re:replace("","^","VDM&cObuOy\\1b",[multiline,
                                                                                                                                                                         global])), 
    <<"A
C
luYGJMVrKYIkybC">> = iolist_to_binary(re:replace("A
C
C","(?<=C\\n)^","lu\\1Y&GJM\\1VrKY&Ikyb\\1",[multiline])), 
    <<"A
C
luYGJMVrKYIkybC">> = iolist_to_binary(re:replace("A
C
C","(?<=C\\n)^","lu\\1Y&GJM\\1VrKY&Ikyb\\1",[multiline,global])), 
    <<"siXpqbXaXURhpboidbXaXRg">> = iolist_to_binary(re:replace("bXaX","(?:(?(1)a|b)(X))+","si\\1pq&URhpboid&Rg",[])), 
    <<"siXpqbXaXURhpboidbXaXRg">> = iolist_to_binary(re:replace("bXaX","(?:(?(1)a|b)(X))+","si\\1pq&URhpboid&Rg",[global])), 
    <<"AmhmmmbXXaYYaYAOkoG">> = iolist_to_binary(re:replace("bXXaYYaY","(?:(?(1)\\1a|b)(X|Y))+","Amhmmm&AOkoG",[])), 
    <<"AmhmmmbXXaYYaYAOkoG">> = iolist_to_binary(re:replace("bXXaYYaY","(?:(?(1)\\1a|b)(X|Y))+","Amhmmm&AOkoG",[global])), 
    <<"PtXQXEwjfhYaXXaX">> = iolist_to_binary(re:replace("bXYaXXaX","(?:(?(1)\\1a|b)(X|Y))+","PtXQ\\1Ewjfh",[])), 
    <<"PtXQXEwjfhYaXXaX">> = iolist_to_binary(re:replace("bXYaXXaX","(?:(?(1)\\1a|b)(X|Y))+","PtXQ\\1Ewjfh",[global])), 
    <<"qpflyycYXuQXaYYaY">> = iolist_to_binary(re:replace("bXXaYYaY","()()()()()()()()()(?:(?(10)\\10a|b)(X|Y))+","q\\1pflyycY\\1XuQ",[])), 
    <<"qpflyycYXuQXaYYaY">> = iolist_to_binary(re:replace("bXXaYYaY","()()()()()()()()()(?:(?(10)\\10a|b)(X|Y))+","q\\1pflyycY\\1XuQ",[global])), 
    <<"abc]GgJESKfdixjabc]">> = iolist_to_binary(re:replace("abc]","[[,abc,]+]","&GgJESKf\\1di\\1xj&",[])), 
    <<"abc]GgJESKfdixjabc]">> = iolist_to_binary(re:replace("abc]","[[,abc,]+]","&GgJESKf\\1di\\1xj&",[global])), 
    <<"wa,b]a,b]hta,b]NQ">> = iolist_to_binary(re:replace("a,b]","[[,abc,]+]","w&&ht&N\\1Q",[])), 
    <<"wa,b]a,b]hta,b]NQ">> = iolist_to_binary(re:replace("a,b]","[[,abc,]+]","w&&ht&N\\1Q",[global])), 
    <<"aDIlRnUPE[a,b,c]VAaV[a,b,c]V">> = iolist_to_binary(re:replace("[a,b,c]","[[,abc,]+]","aDIlRnU\\1PE&VAaV&V",[])), 
    <<"aDIlRnUPE[a,b,c]VAaV[a,b,c]V">> = iolist_to_binary(re:replace("[a,b,c]","[[,abc,]+]","aDIlRnU\\1PE&VAaV&V",[global])), 
    <<"AVNFmY XbCfJ B">> = iolist_to_binary(re:replace("A B","(?-x: )","V\\1NFmY\\1&X\\1bC\\1fJ&",[extended])), 
    <<"AVNFmY XbCfJ B">> = iolist_to_binary(re:replace("A B","(?-x: )","V\\1NFmY\\1&X\\1bC\\1fJ&",[extended,
                                                                                                                                                                                                                   global])), 
    <<"ABB">> = iolist_to_binary(re:replace("A # B","(?x)(?-x: \\s*#\\s*)","B",[])), 
    <<"ABB">> = iolist_to_binary(re:replace("A # B","(?x)(?-x: \\s*#\\s*)","B",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x)(?-x: \\s*#\\s*)","&CgSC",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x)(?-x: \\s*#\\s*)","&CgSC",[global])), 
    <<"#">> = iolist_to_binary(re:replace("#","(?x)(?-x: \\s*#\\s*)","&&VXAaYSEf",[])), 
    <<"#">> = iolist_to_binary(re:replace("#","(?x)(?-x: \\s*#\\s*)","&&VXAaYSEf",[global])), 
    <<"A #includeu">> = iolist_to_binary(re:replace("A #include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","&u",[])), 
    <<"A #includeu">> = iolist_to_binary(re:replace("A #include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","&u",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x-is)(?:(?-ixs) \\s*#\\s*) include","KyMhf",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x-is)(?:(?-ixs) \\s*#\\s*) include","KyMhf",[global])), 
    <<"A#include">> = iolist_to_binary(re:replace("A#include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","PFlBaBuo\\1\\1\\1&Uu",[])), 
    <<"A#include">> = iolist_to_binary(re:replace("A#include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","PFlBaBuo\\1\\1\\1&Uu",[global])), 
    <<"A #Include">> = iolist_to_binary(re:replace("A #Include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","D\\1SrsbvVOeg\\1OC&Wy",[])), 
    <<"A #Include">> = iolist_to_binary(re:replace("A #Include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","D\\1SrsbvVOeg\\1OC&Wy",[global])), 
    ok.
run35() ->
    <<"AYafQSUNhFRibaaabbbbT">> = iolist_to_binary(re:replace("aaabbbb","a*b*\\w","AYafQSUNhFRib&T",[])), 
    <<"AYafQSUNhFRibaaabbbbT">> = iolist_to_binary(re:replace("aaabbbb","a*b*\\w","AYafQSUNhFRib&T",[global])), 
    <<"vKBXMQS">> = iolist_to_binary(re:replace("aaaa","a*b*\\w","vKBXMQS\\1",[])), 
    <<"vKBXMQS">> = iolist_to_binary(re:replace("aaaa","a*b*\\w","vKBXMQS\\1",[global])), 
    <<"atbBVaRw">> = iolist_to_binary(re:replace("a","a*b*\\w","&tbBV&Rw",[])), 
    <<"atbBVaRw">> = iolist_to_binary(re:replace("a","a*b*\\w","&tbBV&Rw",[global])), 
    <<"QDXPfbb">> = iolist_to_binary(re:replace("aaabbbb","a*b?\\w","QDXPf\\1",[])), 
    <<"QDXPfQDXPf">> = iolist_to_binary(re:replace("aaabbbb","a*b?\\w","QDXPf\\1",[global])), 
    <<"qIIJaaaafyqkXQdN">> = iolist_to_binary(re:replace("aaaa","a*b?\\w","qIIJ&fyqkXQ\\1dN",[])), 
    <<"qIIJaaaafyqkXQdN">> = iolist_to_binary(re:replace("aaaa","a*b?\\w","qIIJ&fyqkXQ\\1dN",[global])), 
    <<"aqAJFQ">> = iolist_to_binary(re:replace("a","a*b?\\w","&qAJFQ",[])), 
    <<"aqAJFQ">> = iolist_to_binary(re:replace("a","a*b?\\w","&qAJFQ",[global])), 
    <<"qVNjOTqaaabbbbQfis">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,4}\\w","qV\\1NjOTq\\1&Qf\\1is\\1",[])), 
    <<"qVNjOTqaaabbbbQfis">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,4}\\w","qV\\1NjOTq\\1&Qf\\1is\\1",[global])), 
    <<"caaaaIqaaaa">> = iolist_to_binary(re:replace("aaaa","a*b{0,4}\\w","c&I\\1q&",[])), 
    <<"caaaaIqaaaa">> = iolist_to_binary(re:replace("aaaa","a*b{0,4}\\w","c&I\\1q&",[global])), 
    <<"MJLlapba">> = iolist_to_binary(re:replace("a","a*b{0,4}\\w","MJLl&\\1pb&",[])), 
    <<"MJLlapba">> = iolist_to_binary(re:replace("a","a*b{0,4}\\w","MJLl&\\1pb&",[global])), 
    <<"Uxbbm">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,}\\w","Uxbbm\\1",[])), 
    <<"Uxbbm">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,}\\w","Uxbbm\\1",[global])), 
    <<"fHXfIxomDIMBKtdig">> = iolist_to_binary(re:replace("aaaa","a*b{0,}\\w","f\\1HXfIxomD\\1\\1IMBKtdig",[])), 
    <<"fHXfIxomDIMBKtdig">> = iolist_to_binary(re:replace("aaaa","a*b{0,}\\w","f\\1HXfIxomD\\1\\1IMBKtdig",[global])), 
    <<"hdaYrYD">> = iolist_to_binary(re:replace("a","a*b{0,}\\w","\\1hd&YrYD\\1",[])), 
    <<"hdaYrYD">> = iolist_to_binary(re:replace("a","a*b{0,}\\w","\\1hd&YrYD\\1",[global])), 
    <<"xIjjbHXKSKRKUhwCer">> = iolist_to_binary(re:replace("0a","a*\\d*\\w","xIjjbHXKSKRKUhwCer",[])), 
    <<"xIjjbHXKSKRKUhwCer">> = iolist_to_binary(re:replace("0a","a*\\d*\\w","xIjjbHXKSKRKUhwCer",[global])), 
    <<"aklRHKO">> = iolist_to_binary(re:replace("a","a*\\d*\\w","&klRHK\\1O",[])), 
    <<"aklRHKO">> = iolist_to_binary(re:replace("a","a*\\d*\\w","&klRHK\\1O",[global])), 
    <<"aaaTxVbkRpu">> = iolist_to_binary(re:replace("a","a*b *\\w","&&&TxVbk\\1Rpu",[extended])), 
    <<"aaaTxVbkRpu">> = iolist_to_binary(re:replace("a","a*b *\\w","&&&TxVbk\\1Rpu",[extended,
                                                                                                                                                                                            global])), 
    <<"ekWkPj">> = iolist_to_binary(re:replace("a","a*b#comment
  *\\w","ekWkPj",[extended])), 
    <<"ekWkPj">> = iolist_to_binary(re:replace("a","a*b#comment
  *\\w","ekWkPj",[extended,global])), 
    <<"XxA">> = iolist_to_binary(re:replace("a","a* b *\\w","XxA",[extended])), 
    <<"XxA">> = iolist_to_binary(re:replace("a","a* b *\\w","XxA",[extended,
                                                                                                                                                                    global])), 
    <<"FL
pqr">> = iolist_to_binary(re:replace("abc=xyz\\
pqr","^\\w+=.*(\\\\\\n.*)*","FL",[])), 
    <<"FL
pqr">> = iolist_to_binary(re:replace("abc=xyz\\
pqr","^\\w+=.*(\\\\\\n.*)*","FL",[global])), 
    <<"KDabcd:abcdSabcd:">> = iolist_to_binary(re:replace("abcd:","(?=(\\w+))\\1:","KD&\\1S&",[])), 
    <<"KDabcd:abcdSabcd:">> = iolist_to_binary(re:replace("abcd:","(?=(\\w+))\\1:","KD&\\1S&",[global])), 
    <<"CFNabcd:xwKNSfsabcd">> = iolist_to_binary(re:replace("abcd:","^(?=(\\w+))\\1:","CFN&xwKNSfs\\1",[])), 
    <<"CFNabcd:xwKNSfsabcd">> = iolist_to_binary(re:replace("abcd:","^(?=(\\w+))\\1:","CFN&xwKNSfs\\1",[global])), 
    <<"UabcWq">> = iolist_to_binary(re:replace("abc","^\\Eabc","U&Wq",[])), 
    <<"UabcWq">> = iolist_to_binary(re:replace("abc","^\\Eabc","U&Wq",[global])), 
    <<"yamyDjNjvdapUq">> = iolist_to_binary(re:replace("a","^[\\Eabc]","y&myDjNjvd&pUq\\1",[])), 
    <<"yamyDjNjvdapUq">> = iolist_to_binary(re:replace("a","^[\\Eabc]","y&myDjNjvd&pUq\\1",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\Eabc]","YWGNdA&XaWp\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\Eabc]","YWGNdA&XaWp\\1",[global])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[\\Eabc]","qtud&GONs\\1W\\1I",[])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[\\Eabc]","qtud&GONs\\1W\\1I",[global])), 
    <<"kj">> = iolist_to_binary(re:replace("b","^[a-\\Ec]","kj",[])), 
    <<"kj">> = iolist_to_binary(re:replace("b","^[a-\\Ec]","kj",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a-\\Ec]","U\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a-\\Ec]","U\\1",[global])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[a-\\Ec]","dluKDBOTsxDtQKaGXQn",[])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[a-\\Ec]","dluKDBOTsxDtQKaGXQn",[global])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[a-\\Ec]","j\\1KKHVDRF&\\1hBX\\1nerh",[])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[a-\\Ec]","j\\1KKHVDRF&\\1hBX\\1nerh",[global])), 
    <<"eU">> = iolist_to_binary(re:replace("b","^[a\\E\\E-\\Ec]","\\1eU",[])), 
    <<"eU">> = iolist_to_binary(re:replace("b","^[a\\E\\E-\\Ec]","\\1eU",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a\\E\\E-\\Ec]","Gp\\1hoe\\1ft",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a\\E\\E-\\Ec]","Gp\\1hoe\\1ft",[global])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[a\\E\\E-\\Ec]","&\\1&\\1dsAR\\1R&kfYLY&Nx",[])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[a\\E\\E-\\Ec]","&\\1&\\1dsAR\\1R&kfYLY&Nx",[global])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[a\\E\\E-\\Ec]","OmwiowAjJ&dB",[])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[a\\E\\E-\\Ec]","OmwiowAjJ&dB",[global])), 
    <<"bLBVEBlTbNy">> = iolist_to_binary(re:replace("b","^[\\E\\Qa\\E-\\Qz\\E]+","&LBVEBlT&Ny",[])), 
    <<"bLBVEBlTbNy">> = iolist_to_binary(re:replace("b","^[\\E\\Qa\\E-\\Qz\\E]+","&LBVEBlT&Ny",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\E\\Qa\\E-\\Qz\\E]+","&DGXW&\\1G",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\E\\Qa\\E-\\Qz\\E]+","&DGXW&\\1G",[global])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[\\E\\Qa\\E-\\Qz\\E]+","uh&tV&",[])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[\\E\\Qa\\E-\\Qz\\E]+","uh&tV&",[global])), 
    <<"IgYyaXYfkYHvCal">> = iolist_to_binary(re:replace("a","^[a\\Q]bc\\E]","IgYy&XYf\\1kYH\\1vC&\\1l",[])), 
    <<"IgYyaXYfkYHvCal">> = iolist_to_binary(re:replace("a","^[a\\Q]bc\\E]","IgYy&XYf\\1kYH\\1vC&\\1l",[global])), 
    <<"DGTyeUFsoeifQI">> = iolist_to_binary(re:replace("]","^[a\\Q]bc\\E]","DGTyeUFsoeifQI",[])), 
    <<"DGTyeUFsoeifQI">> = iolist_to_binary(re:replace("]","^[a\\Q]bc\\E]","DGTyeUFsoeifQI",[global])), 
    <<"cdPJxbdO">> = iolist_to_binary(re:replace("c","^[a\\Q]bc\\E]","&dPJxb\\1dO",[])), 
    <<"cdPJxbdO">> = iolist_to_binary(re:replace("c","^[a\\Q]bc\\E]","&dPJxb\\1dO",[global])), 
    <<"achHbHOkynhnR">> = iolist_to_binary(re:replace("a","^[a-\\Q\\E]","&chHbHOkynhnR",[])), 
    <<"achHbHOkynhnR">> = iolist_to_binary(re:replace("a","^[a-\\Q\\E]","&chHbHOkynhnR",[global])), 
    <<"uu-MgaUIMliYd--">> = iolist_to_binary(re:replace("-","^[a-\\Q\\E]","uu\\1&MgaU\\1IMliYd&&",[])), 
    <<"uu-MgaUIMliYd--">> = iolist_to_binary(re:replace("-","^[a-\\Q\\E]","uu\\1&MgaU\\1IMliYd&&",[global])), 
    <<"CP">> = iolist_to_binary(re:replace("aaaa","^(a()*)*","CP",[])), 
    <<"CP">> = iolist_to_binary(re:replace("aaaa","^(a()*)*","CP",[global])), 
    <<"wQTHtaaaakYek">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))*)*","w\\1QTH\\1\\1t&kYe\\1k",[])), 
    <<"wQTHtaaaakYek">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))*)*","w\\1QTH\\1\\1t&kYe\\1k",[global])), 
    ok.
run36() ->
    <<"RGaXfvItI">> = iolist_to_binary(re:replace("aaaa","^(a()+)+","RG\\1XfvItI",[])), 
    <<"RGaXfvItI">> = iolist_to_binary(re:replace("aaaa","^(a()+)+","RG\\1XfvItI",[global])), 
    <<"dMSiHuvxupxlcaaaax">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))+)+","dMSiHuvxupxl\\1c&x",[])), 
    <<"dMSiHuvxupxlcaaaax">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))+)+","dMSiHuvxupxl\\1c&x",[global])), 
    <<"iP">> = iolist_to_binary(re:replace("abbD","(a){0,3}(?(1)b|(c|))*D","iP",[])), 
    <<"iP">> = iolist_to_binary(re:replace("abbD","(a){0,3}(?(1)b|(c|))*D","iP",[global])), 
    <<"ccccDXbTvQpvdoaW">> = iolist_to_binary(re:replace("ccccD","(a){0,3}(?(1)b|(c|))*D","&XbTvQ\\1p\\1vd\\1o\\1\\1\\1aW",[])), 
    <<"ccccDXbTvQpvdoaW">> = iolist_to_binary(re:replace("ccccD","(a){0,3}(?(1)b|(c|))*D","&XbTvQ\\1p\\1vd\\1o\\1\\1\\1aW",[global])), 
    <<"RVoDDTkMDjhW">> = iolist_to_binary(re:replace("D","(a){0,3}(?(1)b|(c|))*D","RVo&&TkM&jhW",[])), 
    <<"RVoDDTkMDjhW">> = iolist_to_binary(re:replace("D","(a){0,3}(?(1)b|(c|))*D","RVo&&TkM&jhW",[global])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a|)*\\d","&\\1DGFkfxXGJ\\1yJ",[])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a|)*\\d","&\\1DGFkfxXGJ\\1yJ",[global])), 
    <<"Kaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4GiaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4jWNATt">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(a|)*\\d","K&GiaQ&jWNATt",[])), 
    <<"Kaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4GiaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4jWNATt">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(a|)*\\d","K&GiaQ&jWNATt",[global])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?>a|)*\\d","qHVMyR\\1g\\1",[])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?>a|)*\\d","qHVMyR\\1g\\1",[global])), 
    <<"kGFBeTsPIf">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?>a|)*\\d","kGFBeTsPI\\1f",[])), 
    <<"kGFBeTsPIf">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?>a|)*\\d","kGFBeTsPI\\1f",[global])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?:a|)*\\d","Yx",[])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?:a|)*\\d","Yx",[global])), 
    <<"wkl">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?:a|)*\\d","wkl",[])), 
    <<"wkl">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?:a|)*\\d","wkl",[global])), 
    <<"abcqXmkEhjC">> = iolist_to_binary(re:replace("abc","\\Z","qXmkEhjC",[])), 
    <<"abcqXmkEhjC">> = iolist_to_binary(re:replace("abc","\\Z","qXmkEhjC",[global])), 
    <<"RdSYAact">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","RdSYAact",[])), 
    <<"RdSYAact">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","RdSYAact",[global])), 
    <<"JvTabcqFTcnkmyFJ">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","\\1JvT&qFTcnk\\1my\\1FJ",[])), 
    <<"JvTabcqFTcnkmyFJ">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","\\1JvT&qFTcnk\\1my\\1FJ",[global])), 
    <<"cqXXOeFFGVUWkMabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","cqXXOeFF\\1GVUW\\1kM",[])), 
    <<"cqXXOeFFGVUWkMabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","cqXXOeFF\\1GVUW\\1kM",[global])), 
    <<"JbxrWfegLobSfGKabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","\\1Jbx&rWfe&gLobSfGK",[])), 
    <<"JbxrWfegLobSfGKabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","\\1Jbx&rWfe&gLobSfGK",[global])), 
    <<"abceDUDjJoFtrgMYDo">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","eDUDjJoFtrgMYD&o",[])), 
    <<"abceDUDjJoFtrgMYDo">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","eDUDjJoFtrgMYD&o",[global])), 
    <<"abcL">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","L",[])), 
    <<"abcL">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","L",[global])), 
    <<"abcdddXku">> = iolist_to_binary(re:replace("abcd","(.*(.)?)*","&dd\\1\\1Xku",[])), 
    <<"abcdddXkuddXku">> = iolist_to_binary(re:replace("abcd","(.*(.)?)*","&dd\\1\\1Xku",[global])), 
    <<"pkdLVDscUDDEBUBabcd">> = iolist_to_binary(re:replace("abcd","( (A | (?(1)0|) )*   )","pkd&L&VD&scUDDEBUB",[extended])), 
    <<"pkdLVDscUDDEBUBapkdLVDscUDDEBUBbpkdLVDscUDDEBUBcpkdLVDscUDDEBUBdpkdLVDscUDDEBUB">> = iolist_to_binary(re:replace("abcd","( (A | (?(1)0|) )*   )","pkd&L&VD&scUDDEBUB",[extended,
                                                                                                                                                                                                                                    global])), 
    <<"AuDgWsdmnqYhabcd">> = iolist_to_binary(re:replace("abcd","( ( (?(1)0|) )*   )","AuDgW&s&dm&nqYh",[extended])), 
    <<"AuDgWsdmnqYhaAuDgWsdmnqYhbAuDgWsdmnqYhcAuDgWsdmnqYhdAuDgWsdmnqYh">> = iolist_to_binary(re:replace("abcd","( ( (?(1)0|) )*   )","AuDgW&s&dm&nqYh",[extended,
                                                                                                                                                                                                                        global])), 
    <<"efinTcnmBlVFabcd">> = iolist_to_binary(re:replace("abcd","(  (?(1)0|)*   )","efinTc&nmB&\\1lV\\1F",[extended])), 
    <<"efinTcnmBlVFaefinTcnmBlVFbefinTcnmBlVFcefinTcnmBlVFdefinTcnmBlVF">> = iolist_to_binary(re:replace("abcd","(  (?(1)0|)*   )","efinTc&nmB&\\1lV\\1F",[extended,
                                                                                                                                                                                                                             global])), 
    <<"EDiUXiAlYBAmCeNc">> = iolist_to_binary(re:replace("a]","[[:abcd:xyz]]","EDiUXiAlYBA\\1mCeNc",[])), 
    <<"EDiUXiAlYBAmCeNc">> = iolist_to_binary(re:replace("a]","[[:abcd:xyz]]","EDiUXiAlYBA\\1mCeNc",[global])), 
    <<"k:]h">> = iolist_to_binary(re:replace(":]","[[:abcd:xyz]]","k&h",[])), 
    <<"k:]h">> = iolist_to_binary(re:replace(":]","[[:abcd:xyz]]","k&h",[global])), 
    <<"hwNfUgfOoCtFayhAXX">> = iolist_to_binary(re:replace("a","[abc[:x\\]pqr]","hwNfUgfOo\\1CtF&yhA\\1XX",[])), 
    <<"hwNfUgfOoCtFayhAXX">> = iolist_to_binary(re:replace("a","[abc[:x\\]pqr]","hwNfUgfOo\\1CtF&yhA\\1XX",[global])), 
    <<"">> = iolist_to_binary(re:replace("[","[abc[:x\\]pqr]","\\1\\1",[])), 
    <<"">> = iolist_to_binary(re:replace("[","[abc[:x\\]pqr]","\\1\\1",[global])), 
    <<"fWMiJLaBnsaYQ">> = iolist_to_binary(re:replace(":","[abc[:x\\]pqr]","fWMiJLaBns\\1aYQ",[])), 
    <<"fWMiJLaBnsaYQ">> = iolist_to_binary(re:replace(":","[abc[:x\\]pqr]","fWMiJLaBns\\1aYQ",[global])), 
    <<"IlPjDF">> = iolist_to_binary(re:replace("]","[abc[:x\\]pqr]","IlPjDF\\1",[])), 
    <<"IlPjDF">> = iolist_to_binary(re:replace("]","[abc[:x\\]pqr]","IlPjDF\\1",[global])), 
    <<"jXFpSOncoxfPi">> = iolist_to_binary(re:replace("p","[abc[:x\\]pqr]","\\1jX\\1F&SOncoxf\\1Pi",[])), 
    <<"jXFpSOncoxfPi">> = iolist_to_binary(re:replace("p","[abc[:x\\]pqr]","\\1jX\\1F&SOncoxf\\1Pi",[global])), 
    <<"fooabcfoo">> = iolist_to_binary(re:replace("fooabcfoo",".*[op][xyz]","rU&wHuSyHLW\\1WUJxg\\1",[])), 
    <<"fooabcfoo">> = iolist_to_binary(re:replace("fooabcfoo",".*[op][xyz]","rU&wHuSyHLW\\1WUJxg\\1",[global])), 
    <<"Yadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)","\\1\\1Y",[])), 
    <<"Yadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)","\\1\\1Y",[global])), 
    <<"asQWunbuTsJvhIUbTxKxbc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)","sQWun&uTsJvhIU&TxKx&",[])), 
    <<"asQWunbuTsJvhIUbTxKxbc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)","sQWun&uTsJvhIU&TxKx&",[global])), 
    <<"WsShpCMbadc">> = iolist_to_binary(re:replace("adc","(?(?=^.*b)b|^)","WsShp\\1\\1C\\1Mb",[])), 
    <<"WsShpCMbadc">> = iolist_to_binary(re:replace("adc","(?(?=^.*b)b|^)","WsShp\\1\\1C\\1Mb",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?(?=^.*b)b|^)","PkFnM\\1TJjij\\1s",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?(?=^.*b)b|^)","PkFnM\\1TJjij\\1s",[global])), 
    <<"QgracuqfskDadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)*","Qg\\1r\\1\\1acuqfskD\\1&",[])), 
    <<"QgracuqfskDaQgracuqfskDdQgracuqfskDcQgracuqfskD">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)*","Qg\\1r\\1\\1acuqfskD\\1&",[global])), 
    <<"NOaxcgWJQdJabc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)*","NOaxc\\1\\1gWJQdJ&",[])), 
    <<"NOaxcgWJQdJaNOaxcgWJQdJbNOaxcgWJQdJcNOaxcgWJQdJ">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)*","NOaxc\\1\\1gWJQdJ&",[global])), 
    ok.
run37() ->
    <<"egMccJuvVmsJadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)+","egMccJu&\\1vVmsJ",[])), 
    <<"egMccJuvVmsJadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)+","egMccJu&\\1vVmsJ",[global])), 
    <<"awbKLc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)+","wbKL",[])), 
    <<"awbKLc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)+","wbKL",[global])), 
    <<"aaOKbMsgbwbYMvqpaKc">> = iolist_to_binary(re:replace("abc","(?(?=b).*b|^d)","aOK\\1&Msg&w&YMvqpaK",[])), 
    <<"aaOKbMsgbwbYMvqpaKc">> = iolist_to_binary(re:replace("abc","(?(?=b).*b|^d)","aOK\\1&Msg&w&YMvqpaK",[global])), 
    <<"deMQjInIpkdMc">> = iolist_to_binary(re:replace("abc","(?(?=.*b).*b|^d)","deMQjInI\\1\\1pk\\1dM",[])), 
    <<"deMQjInIpkdMc">> = iolist_to_binary(re:replace("abc","(?(?=.*b).*b|^d)","deMQjInI\\1\\1pk\\1dM",[global])), 
    <<"xONBt%ab%fkt">> = iolist_to_binary(re:replace("%ab%","^%((?(?=[a])[^%])|b)*%$","xONBt\\1&fkt",[])), 
    <<"xONBt%ab%fkt">> = iolist_to_binary(re:replace("%ab%","^%((?(?=[a])[^%])|b)*%$","xONBt\\1&fkt",[global])), 
    <<"XtGNvTytylTOX">> = iolist_to_binary(re:replace("XabX","(?i)a(?-i)b|c","tGN\\1\\1vT\\1yty\\1lTO",[])), 
    <<"XtGNvTytylTOX">> = iolist_to_binary(re:replace("XabX","(?i)a(?-i)b|c","tGN\\1\\1vT\\1yty\\1lTO",[global])), 
    <<"XAbMBAbVAbatgNrMNMDX">> = iolist_to_binary(re:replace("XAbX","(?i)a(?-i)b|c","&MB\\1&V&\\1atgNrMNMD",[])), 
    <<"XAbMBAbVAbatgNrMNMDX">> = iolist_to_binary(re:replace("XAbX","(?i)a(?-i)b|c","&MB\\1&V&\\1atgNrMNMD",[global])), 
    <<"CIeFFRMtpcC">> = iolist_to_binary(re:replace("CcC","(?i)a(?-i)b|c","IeFFRMtp&",[])), 
    <<"CIeFFRMtpcC">> = iolist_to_binary(re:replace("CcC","(?i)a(?-i)b|c","IeFFRMtp&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?i)a(?-i)b|c","sJoTR\\1agT&QVpj&oo",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?i)a(?-i)b|c","sJoTR\\1agT&QVpj&oo",[global])), 
    <<"XABX">> = iolist_to_binary(re:replace("XABX","(?i)a(?-i)b|c","Bx\\1L&vYQ&o",[])), 
    <<"XABX">> = iolist_to_binary(re:replace("XABX","(?i)a(?-i)b|c","Bx\\1L&vYQ&o",[global])), 
    <<"bPwO">> = iolist_to_binary(re:replace("

","[\\x00-\\xff\\s]+","bPwO",[])), 
    <<"bPwO">> = iolist_to_binary(re:replace("

","[\\x00-\\xff\\s]+","bPwO",[global])), 
    <<"tNnUXVoKd">> = iolist_to_binary(re:replace("?","^\\c","tNnUXVoKd\\1",[])), 
    <<"tNnUXVoKd">> = iolist_to_binary(re:replace("?","^\\c","tNnUXVoKd\\1",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","Xcx",[caseless])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","Xcx",[caseless,
                                                                                                                                                                      global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","yV\\1&bIy&bf",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","yV\\1&bIy&bf",[global])), 
    <<"12llNQ12abc">> = iolist_to_binary(re:replace("12abc","[^a]*","&llNQ\\1&\\1",[caseless])), 
    <<"12llNQ12llNQabcllNQbcllNQ">> = iolist_to_binary(re:replace("12abc","[^a]*","&llNQ\\1&\\1",[caseless,
                                                                                                                                                                                         global])), 
    <<"gDpABC">> = iolist_to_binary(re:replace("12ABC","[^a]*","gDp",[caseless])), 
    <<"gDpgDpAgDpgDp">> = iolist_to_binary(re:replace("12ABC","[^a]*","gDp",[caseless,
                                                                                                                                                                   global])), 
    <<"DTxabc">> = iolist_to_binary(re:replace("12abc","[^a]*+","D\\1T\\1x",[caseless])), 
    <<"DTxDTxaDTxDTx">> = iolist_to_binary(re:replace("12abc","[^a]*+","D\\1T\\1x",[caseless,
                                                                                                                                                                                   global])), 
    <<"KJ12jqgNXmTv12lyEP12SABC">> = iolist_to_binary(re:replace("12ABC","[^a]*+","KJ&jqgNXm\\1Tv&lyE\\1P&S",[caseless])), 
    <<"KJ12jqgNXmTv12lyEP12SKJjqgNXmTvlyEPSAKJBCjqgNXmTvBClyEPBCSKJjqgNXmTvlyEPS">> = iolist_to_binary(re:replace("12ABC","[^a]*+","KJ&jqgNXm\\1Tv&lyE\\1P&S",[caseless,
                                                                                                                                                                                                                    global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]*?X","Px&vXsBEFCysfMhDqV\\1P",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]*?X","Px&vXsBEFCysfMhDqV\\1P",[caseless,
                                                                                                                                                                                                                         global])), 
    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]*?X","q\\1a\\1jtOoCrLWAYsie",[caseless])), 
    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]*?X","q\\1a\\1jtOoCrLWAYsie",[caseless,
                                                                                                                                                                                                             global])), 
    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*?X","LCDXsQB\\1&fP&vNDlCH\\1",[caseless])), 
    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*?X","LCDXsQB\\1&fP&vNDlCH\\1",[caseless,
                                                                                                                                                                                                                   global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]+?X","g&\\1\\1wRCp",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]+?X","g&\\1\\1wRCp",[caseless,
                                                                                                                                                                                                      global])), 
    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]+?X","PO&\\1NINrfwP&\\1AcHiEa",[caseless])), 
    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]+?X","PO&\\1NINrfwP&\\1AcHiEa",[caseless,
                                                                                                                                                                                                                   global])), 
    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]+?X","LesucI&TIspq&O\\1AkOp",[caseless])), 
    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]+?X","LesucI&TIspq&O\\1AkOp",[caseless,
                                                                                                                                                                                                              global])), 
    <<"12arSestlSfXbcX">> = iolist_to_binary(re:replace("12aXbcX","[^a]?X","\\1rSestlSf\\1&",[caseless])), 
    <<"12arSestlSfXbrSestlSfcX">> = iolist_to_binary(re:replace("12aXbcX","[^a]?X","\\1rSestlSf\\1&",[caseless,
                                                                                                                                                                                                    global])), 
    <<"12AVBtPBCX">> = iolist_to_binary(re:replace("12AXBCX","[^a]?X","VBtP",[caseless])), 
    <<"12AVBtPBVBtP">> = iolist_to_binary(re:replace("12AXBCX","[^a]?X","VBtP",[caseless,
                                                                                                                                                                           global])), 
    <<"BCXcYCXS">> = iolist_to_binary(re:replace("BCX","[^a]?X","&cY&S\\1",[caseless])), 
    <<"BCXcYCXS">> = iolist_to_binary(re:replace("BCX","[^a]?X","&cY&S\\1",[caseless,
                                                                                                                                                                              global])), 
    <<"12aMPavbiGCbcX">> = iolist_to_binary(re:replace("12aXbcX","[^a]??X","MPavbi\\1GC",[caseless])), 
    <<"12aMPavbiGCbMPavbiGC">> = iolist_to_binary(re:replace("12aXbcX","[^a]??X","MPavbi\\1GC",[caseless,
                                                                                                                                                                                            global])), 
    <<"12AOTaIyfCCPBCX">> = iolist_to_binary(re:replace("12AXBCX","[^a]??X","OTaIy\\1fC\\1CP",[caseless])), 
    <<"12AOTaIyfCCPBOTaIyfCCP">> = iolist_to_binary(re:replace("12AXBCX","[^a]??X","OTaIy\\1fC\\1CP",[caseless,
                                                                                                                                                                                                     global])), 
    <<"BCXlQqcJ">> = iolist_to_binary(re:replace("BCX","[^a]??X","&\\1l\\1QqcJ",[caseless])), 
    <<"BCXlQqcJ">> = iolist_to_binary(re:replace("BCX","[^a]??X","&\\1l\\1QqcJ",[caseless,
                                                                                                                                                                                        global])), 
    <<"12aXbEPWWBEweltvRcX">> = iolist_to_binary(re:replace("12aXbcX","[^a]?+X","EPWWBEweltvR&",[caseless])), 
    <<"12aXbEPWWBEweltvRcX">> = iolist_to_binary(re:replace("12aXbcX","[^a]?+X","EPWWBEweltvR&",[caseless,
                                                                                                                                                                                                global])), 
    <<"12AXBLDKxRfr">> = iolist_to_binary(re:replace("12AXBCX","[^a]?+X","LD\\1KxRfr",[caseless])), 
    <<"12AXBLDKxRfr">> = iolist_to_binary(re:replace("12AXBCX","[^a]?+X","LD\\1KxRfr",[caseless,
                                                                                                                                                                                          global])), 
    <<"BaWkje">> = iolist_to_binary(re:replace("BCX","[^a]?+X","aWkje",[caseless])), 
    <<"BaWkje">> = iolist_to_binary(re:replace("BCX","[^a]?+X","aWkje",[caseless,
                                                                                                                                                                       global])), 
    <<"alsDrlAVvgef">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}","lsDrlAVvg",[caseless])), 
    <<"alsDrlAVvglsDrlAVvg">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}","lsDrlAVvg",[caseless,
                                                                                                                                                                                         global])), 
    <<"AWnBBhxrEF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}","WnBBhxr\\1",[caseless])), 
    <<"AWnBBhxrWnBBhxr">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}","WnBBhxr\\1",[caseless,
                                                                                                                                                                                            global])), 
    <<"aQlBRWDWodef">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}?","QlBRWDWo",[caseless])), 
    <<"aQlBRWDWoQlBRWDWof">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}?","QlBRWDWo",[caseless,
                                                                                                                                                                                         global])), 
    <<"ADysgJSywfPBCKKUUWYDEF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}?","DysgJSywfP\\1&KKUUWY",[caseless])), 
    <<"ADysgJSywfPBCKKUUWYDysgJSywfPDEKKUUWYF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}?","DysgJSywfP\\1&KKUUWY",[caseless,
                                                                                                                                                                                                                   global])), 
    <<"aWjgnJGWef">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}+","WjgnJ\\1GW",[caseless])), 
    <<"aWjgnJGWWjgnJGW">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}+","WjgnJ\\1GW",[caseless,
                                                                                                                                                                                              global])), 
    <<"ArlhBCDwHgMHHwjEiAEF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}+","rlh&wHgMHHwjEiA",[caseless])), 
    <<"ArlhBCDwHgMHHwjEiArlhEFwHgMHHwjEiA">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}+","rlh&wHgMHHwjEiA",[caseless,
                                                                                                                                                                                                        global])), 
    <<"JdTSxtdMYhvAoaO">> = iolist_to_binary(re:replace("Z","((a|)+)+Z","JdTSxtdMYhv\\1AoaO",[])), 
    <<"JdTSxtdMYhvAoaO">> = iolist_to_binary(re:replace("Z","((a|)+)+Z","JdTSxtdMYhv\\1AoaO",[global])), 
    ok.
run38() ->
    <<"dAWFejmOJacpU">> = iolist_to_binary(re:replace("ac","(a)b|(a)c","dA\\1\\1WFejmOJ&pU",[])), 
    <<"dAWFejmOJacpU">> = iolist_to_binary(re:replace("ac","(a)b|(a)c","dA\\1\\1WFejmOJ&pU",[global])), 
    <<"XacWp">> = iolist_to_binary(re:replace("ac","(?>(a))b|(a)c","X&Wp",[])), 
    <<"XacWp">> = iolist_to_binary(re:replace("ac","(?>(a))b|(a)c","X&Wp",[global])), 
    <<"VypacbfdlXdCGJofacdRt">> = iolist_to_binary(re:replace("ac","(?=(a))ab|(a)c","Vyp&bfdlXdCGJo\\1f&dRt",[])), 
    <<"VypacbfdlXdCGJofacdRt">> = iolist_to_binary(re:replace("ac","(?=(a))ab|(a)c","Vyp&bfdlXdCGJo\\1f&dRt",[global])), 
    <<"soXacAL">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)","soX&AL",[])), 
    <<"soXacAL">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)","soX&AL",[global])), 
    <<"ackacTacsYVlYVjKacCEL">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)++","&k\\1T&sYVlYVjK&CEL",[])), 
    <<"ackacTacsYVlYVjKacCEL">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)++","&k\\1T&sYVlYVjK&CEL",[global])), 
    <<"qiUiactJ">> = iolist_to_binary(re:replace("ac","(?:(?>(a))b|(a)c)++","qiUi&tJ\\1",[])), 
    <<"qiUiactJ">> = iolist_to_binary(re:replace("ac","(?:(?>(a))b|(a)c)++","qiUi&tJ\\1",[global])), 
    <<"KkacqeX">> = iolist_to_binary(re:replace("ac","(?=(?>(a))b|(a)c)(..)","Kk&qeX",[])), 
    <<"KkacqeX">> = iolist_to_binary(re:replace("ac","(?=(?>(a))b|(a)c)(..)","Kk&qeX",[global])), 
    <<"dtNNac">> = iolist_to_binary(re:replace("ac","(?>(?>(a))b|(a)c)","dtNN&",[])), 
    <<"dtNNac">> = iolist_to_binary(re:replace("ac","(?>(?>(a))b|(a)c)","dtNN&",[global])), 
    <<"maaaabaaabaababGEUEgWaaaabaaabaababRaaaabaaabaababYtLSDKaaaabaaabaababA">> = iolist_to_binary(re:replace("aaaabaaabaabab","((?>(a+)b)+(aabab))","m&GEUEgW\\1R&YtLSDK\\1A",[])), 
    <<"maaaabaaabaababGEUEgWaaaabaaabaababRaaaabaaabaababYtLSDKaaaabaaabaababA">> = iolist_to_binary(re:replace("aaaabaaabaabab","((?>(a+)b)+(aabab))","m&GEUEgW\\1R&YtLSDK\\1A",[global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+?c","hd\\1shPpIuFmAa\\1aJk&q",[])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+?c","hd\\1shPpIuFmAa\\1aJk&q",[global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+c","ekKjsw&",[])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+c","ekKjsw&",[global])), 
    <<"KRQcpPbvHhi">> = iolist_to_binary(re:replace("aabc","(?:a+|ab)+c","KRQcpPbvHhi",[])), 
    <<"KRQcpPbvHhi">> = iolist_to_binary(re:replace("aabc","(?:a+|ab)+c","KRQcpPbvHhi",[global])), 
    <<"iamaarURhafOTI">> = iolist_to_binary(re:replace("a","(?(?=(a))a)","i&m&&rURh\\1fOTI",[])), 
    <<"iamaarURhafOTIimrURhfOTI">> = iolist_to_binary(re:replace("a","(?(?=(a))a)","i&m&&rURh\\1fOTI",[global])), 
    <<"aba">> = iolist_to_binary(re:replace("ab","(?(?=(a))a)(b)","&a",[])), 
    <<"aba">> = iolist_to_binary(re:replace("ab","(?(?=(a))a)(b)","&a",[global])), 
    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)++c","Siik\\1BdqOkNdp\\1",[])), 
    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)++c","Siik\\1BdqOkNdp\\1",[global])), 
    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?>a|ab)++c","LpFM&EcaXt\\1b\\1",[])), 
    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?>a|ab)++c","LpFM&EcaXt\\1b\\1",[global])), 
    <<"FNLSSaaaabcr">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)+c","FNLSS&r",[])), 
    <<"FNLSSaaaabcr">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)+c","FNLSS&r",[global])), 
    <<"TxGxyzQbpeqVTpoEkrYqxyz">> = iolist_to_binary(re:replace("xyz","(?=abc){0}xyz","TxG\\1&QbpeqVTpoEkrYq&",[])), 
    <<"TxGxyzQbpeqVTpoEkrYqxyz">> = iolist_to_binary(re:replace("xyz","(?=abc){0}xyz","TxG\\1&QbpeqVTpoEkrYq&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?=abc){1}xyz","cR\\1y\\1Q\\1&okEra\\1h",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?=abc){1}xyz","cR\\1y\\1Q\\1&okEra\\1h",[global])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","(?=abc){1}xyz","reg\\1lU\\1RfQVPuOHJA\\1Cq",[])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","(?=abc){1}xyz","reg\\1lU\\1RfQVPuOHJA\\1Cq",[global])), 
    <<"xcPaaLxpkaXVHb">> = iolist_to_binary(re:replace("ab","(?=(a))?.","xcP\\1aLxpkaXVH",[])), 
    <<"xcPaaLxpkaXVHxcPaLxpkaXVH">> = iolist_to_binary(re:replace("ab","(?=(a))?.","xcP\\1aLxpkaXVH",[global])), 
    <<"sOiVGLUSbixjsOGc">> = iolist_to_binary(re:replace("bc","(?=(a))?.","s\\1OiVGLUS&ixjsOG",[])), 
    <<"sOiVGLUSbixjsOGsOiVGLUScixjsOG">> = iolist_to_binary(re:replace("bc","(?=(a))?.","s\\1OiVGLUS&ixjsOG",[global])), 
    ok.
run39() ->
    <<"VDuEPkfWcTxyeUaBWb">> = iolist_to_binary(re:replace("ab","(?=(a))??.","VDuEPkfWcTxyeU&BW",[])), 
    <<"VDuEPkfWcTxyeUaBWVDuEPkfWcTxyeUbBW">> = iolist_to_binary(re:replace("ab","(?=(a))??.","VDuEPkfWcTxyeU&BW",[global])), 
    <<"mbbCUVsGVbqKPXic">> = iolist_to_binary(re:replace("bc","(?=(a))??.","m&bCUVsGVbqKPXi",[])), 
    <<"mbbCUVsGVbqKPXimcbCUVsGVbqKPXi">> = iolist_to_binary(re:replace("bc","(?=(a))??.","m&bCUVsGVbqKPXi",[global])), 
    <<"vckgammon">> = iolist_to_binary(re:replace("backgammon","^(?=(a)){0}b(?1)","v",[])), 
    <<"vckgammon">> = iolist_to_binary(re:replace("backgammon","^(?=(a)){0}b(?1)","v",[global])), 
    <<"jwhBBBtpN">> = iolist_to_binary(re:replace("abd","^(?=(?1))?[az]([abc])d","jwhBBBtpN",[])), 
    <<"jwhBBBtpN">> = iolist_to_binary(re:replace("abd","^(?=(?1))?[az]([abc])d","jwhBBBtpN",[global])), 
    <<"zcdBcKYPcEyoXnxVFxx">> = iolist_to_binary(re:replace("zcdxx","^(?=(?1))?[az]([abc])d","&B\\1KYPcEyoXnxVF",[])), 
    <<"zcdBcKYPcEyoXnxVFxx">> = iolist_to_binary(re:replace("zcdxx","^(?=(?1))?[az]([abc])d","&B\\1KYPcEyoXnxVF",[global])), 
    <<"eaaaaacuRrwVlw">> = iolist_to_binary(re:replace("aaaaa","^(?!a){0}\\w+","e&cuR\\1rwVlw",[])), 
    <<"eaaaaacuRrwVlw">> = iolist_to_binary(re:replace("aaaaa","^(?!a){0}\\w+","e&cuR\\1rwVlw",[global])), 
    <<"abcrjCWbwUOujlotBJKabcTxyz">> = iolist_to_binary(re:replace("abcxyz","(?<=(abc))?xyz","rjCWbwUOujlotBJK\\1T&",[])), 
    <<"abcrjCWbwUOujlotBJKabcTxyz">> = iolist_to_binary(re:replace("abcxyz","(?<=(abc))?xyz","rjCWbwUOujlotBJK\\1T&",[global])), 
    <<"pqrMKeGrgiv">> = iolist_to_binary(re:replace("pqrxyz","(?<=(abc))?xyz","MKeGrgi\\1v",[])), 
    <<"pqrMKeGrgiv">> = iolist_to_binary(re:replace("pqrxyz","(?<=(abc))?xyz","MKeGrgi\\1v",[global])), 
    <<"RxQ">> = iolist_to_binary(re:replace("ggg<<<aaa>>>","^[\\g<a>]+","\\1RxQ",[])), 
    <<"RxQ">> = iolist_to_binary(re:replace("ggg<<<aaa>>>","^[\\g<a>]+","\\1RxQ",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\g<a>]+","dH",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\g<a>]+","dH",[global])), 
    <<"\\ga">> = iolist_to_binary(re:replace("\\ga","^[\\g<a>]+","Uga",[])), 
    <<"\\ga">> = iolist_to_binary(re:replace("\\ga","^[\\g<a>]+","Uga",[global])), 
    <<"kGIjWAmWxlixyz">> = iolist_to_binary(re:replace("gggagagaxyz","^[\\ga]+","kGIjWAmWxli",[])), 
    <<"kGIjWAmWxlixyz">> = iolist_to_binary(re:replace("gggagagaxyz","^[\\ga]+","kGIjWAmWxli",[global])), 
    <<"aaaa444:::osjAfaaaa444:::myeRjZ">> = iolist_to_binary(re:replace("aaaa444:::Z","^[:a[:digit:]]+","&\\1osjAf&my\\1e\\1Rj",[])), 
    <<"aaaa444:::osjAfaaaa444:::myeRjZ">> = iolist_to_binary(re:replace("aaaa444:::Z","^[:a[:digit:]]+","&\\1osjAf&my\\1e\\1Rj",[global])), 
    <<"qSUaaaa444:::bbbthaaaa444:::bbboRHpyZ">> = iolist_to_binary(re:replace("aaaa444:::bbbZ","^[:a[:digit:]:b]+","qSU&th&oR\\1Hpy",[])), 
    <<"qSUaaaa444:::bbbthaaaa444:::bbboRHpyZ">> = iolist_to_binary(re:replace("aaaa444:::bbbZ","^[:a[:digit:]:b]+","qSU&th&oR\\1Hpy",[global])), 
    <<"mxfweUe">> = iolist_to_binary(re:replace(":xxx:","[:a]xxx[b:]","mxf\\1weUe",[])), 
    <<"mxfweUe">> = iolist_to_binary(re:replace(":xxx:","[:a]xxx[b:]","mxf\\1weUe",[global])), 
    <<"xaaVrvSafReLAbLfQXc">> = iolist_to_binary(re:replace("xaabc","(?<=a{2})b","Vr\\1vSafReLA&\\1LfQX",[caseless])), 
    <<"xaaVrvSafReLAbLfQXc">> = iolist_to_binary(re:replace("xaabc","(?<=a{2})b","Vr\\1vSafReLA&\\1LfQX",[caseless,
                                                                                                                                                                                                                    global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=a{2})b","fcR",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=a{2})b","fcR",[caseless,
                                                                                                                                                                                       global])), 
    <<"xabc">> = iolist_to_binary(re:replace("xabc","(?<=a{2})b","BoRyoqeTXWscX",[caseless])), 
    <<"xabc">> = iolist_to_binary(re:replace("xabc","(?<=a{2})b","BoRyoqeTXWscX",[caseless,
                                                                                                                                                                                               global])), 
    <<"xabc">> = iolist_to_binary(re:replace("xabc","(?<!a{2})b","&",[caseless])), 
    <<"xabc">> = iolist_to_binary(re:replace("xabc","(?<!a{2})b","&",[caseless,
                                                                                                                                                                        global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<!a{2})b","\\1o\\1eK\\1cENK\\1&djd",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<!a{2})b","\\1o\\1eK\\1cENK\\1&djd",[caseless,
                                                                                                                                                                                                                                    global])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<!a{2})b","&&o&KwHJm",[caseless])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<!a{2})b","&&o&KwHJm",[caseless,
                                                                                                                                                                                            global])), 
    <<"xa ccEEJTcFn">> = iolist_to_binary(re:replace("xa c","(?<=a\\h)c","&&EEJ\\1T&F\\1n",[])), 
    <<"xa ccEEJTcFn">> = iolist_to_binary(re:replace("xa c","(?<=a\\h)c","&&EEJ\\1T&F\\1n",[global])), 
    <<"axxYHmPRLyCdYeBCTMFc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","YHmPRLyCdYeBCTMF",[])), 
    <<"axxYHmPRLyCdYeBCTMFc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","YHmPRLyCdYeBCTMF",[global])), 
    <<"aAAIbac">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","I&a",[])), 
    <<"aAAIbac">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","I&a",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","Qosgls",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","Qosgls",[global])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","Iry\\1",[])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","Iry\\1",[global])), 
    <<"axxbbc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","&&",[caseless])), 
    <<"axxbbc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","&&",[caseless,
                                                                                                                                                                                   global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","oNddUdB\\1XA",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","oNddUdB\\1XA",[caseless,
                                                                                                                                                                                                                global])), 
    <<"aAAbc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","boNOPUMfK&\\1",[caseless])), 
    <<"aAAbc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","boNOPUMfK&\\1",[caseless,
                                                                                                                                                                                                         global])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","W&iffNoQ\\1",[caseless])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","W&iffNoQ\\1",[caseless,
                                                                                                                                                                                                     global])), 
    <<"abKnqCjyP">> = iolist_to_binary(re:replace("abc","(?<=a\\H)c","KnqCjyP",[])), 
    <<"abKnqCjyP">> = iolist_to_binary(re:replace("abc","(?<=a\\H)c","KnqCjyP",[global])), 
    <<"abTxeCfVaOhSYo">> = iolist_to_binary(re:replace("abc","(?<=a\\V)c","TxeCfV\\1aOhSYo",[])), 
    <<"abTxeCfVaOhSYo">> = iolist_to_binary(re:replace("abc","(?<=a\\V)c","TxeCfV\\1aOhSYo",[global])), 
    <<"a
gxsYrXgNx">> = iolist_to_binary(re:replace("a
c","(?<=a\\v)c","g\\1\\1xs\\1Yr\\1XgN\\1x",[])), 
    <<"a
gxsYrXgNx">> = iolist_to_binary(re:replace("a
c","(?<=a\\v)c","g\\1\\1xs\\1Yr\\1XgN\\1x",[global])), 
    <<"XcccddYLX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)++Y","&L",[])), 
    <<"XcccddYLX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)++Y","&L",[global])), 
    <<"XjcccddYxcccddYymX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)*+Y","j&x\\1&\\1\\1ym",[])), 
    <<"XjcccddYxcccddYymX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)*+Y","j&x\\1&\\1\\1ym",[global])), 
    ok.
run40() ->
    <<"P">> = iolist_to_binary(re:replace("aaaaaaa","^(a{2,3}){2,}+a","P",[])), 
    <<"P">> = iolist_to_binary(re:replace("aaaaaaa","^(a{2,3}){2,}+a","P",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3}){2,}+a","&AJ",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3}){2,}+a","&AJ",[global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3}){2,}+a","bT&aphetNw&xcisR",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3}){2,}+a","bT&aphetNw&xcisR",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a{2,3}){2,}+a","g",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a{2,3}){2,}+a","g",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})++a","U",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})++a","U",[global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})++a","CjQf&BIE\\1m&vHKyV",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})++a","CjQf&BIE\\1m&vHKyV",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})*+a","jEe&kL&\\1Wd",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})*+a","jEe&kL&\\1Wd",[global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})*+a","&VFXL\\1JOa\\1dHl&Yw",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})*+a","&VFXL\\1JOa\\1dHl&Yw",[global])), 
    <<"fByANGarQU">> = iolist_to_binary(re:replace("abXde","ab\\Cde","\\1fByANGarQ\\1U",[])), 
    <<"fByANGarQU">> = iolist_to_binary(re:replace("abXde","ab\\Cde","\\1fByANGarQ\\1U",[global])), 
    <<"abZdeXdDJIltBeDyobKXo">> = iolist_to_binary(re:replace("abZdeX","(?<=ab\\Cde)X","&dDJIltBeDyobK&o",[])), 
    <<"abZdeXdDJIltBeDyobKXo">> = iolist_to_binary(re:replace("abZdeX","(?<=ab\\Cde)X","&dDJIltBeDyobK&o",[global])), 
    <<"hv">> = iolist_to_binary(re:replace("aCb","a[\\CD]b","h\\1v",[])), 
    <<"hv">> = iolist_to_binary(re:replace("aCb","a[\\CD]b","h\\1v",[global])), 
    <<"waDbEkr">> = iolist_to_binary(re:replace("aDb","a[\\CD]b","w&Ekr",[])), 
    <<"waDbEkr">> = iolist_to_binary(re:replace("aDb","a[\\CD]b","w&Ekr",[global])), 
    <<"RCcE">> = iolist_to_binary(re:replace("aJb","a[\\C-X]b","R\\1CcE",[])), 
    <<"RCcE">> = iolist_to_binary(re:replace("aJb","a[\\C-X]b","R\\1CcE",[global])), 
    <<"X X">> = iolist_to_binary(re:replace("X X","\\H\\h\\V\\v","B&pquMp\\1NBcoPfQTdr\\1o",[])), 
    <<"X X">> = iolist_to_binary(re:replace("X X","\\H\\h\\V\\v","B&pquMp\\1NBcoPfQTdr\\1o",[global])), 
    <<"bjVX	XX	XOAvV">> = iolist_to_binary(re:replace("X	X","\\H\\h\\V\\v","bjV&&OAv\\1V",[])), 
    <<"bjVX	XX	XOAvV">> = iolist_to_binary(re:replace("X	X","\\H\\h\\V\\v","bjV&&OAv\\1V",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H\\h\\V\\v","Y",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H\\h\\V\\v","Y",[global])), 
    <<"  X">> = iolist_to_binary(re:replace("  X","\\H\\h\\V\\v","VrvLpiABSBWYG",[])), 
    <<"  X">> = iolist_to_binary(re:replace("  X","\\H\\h\\V\\v","VrvLpiABSBWYG",[global])), 
    <<"UibLPUMxnHgluPEcwP">> = iolist_to_binary(re:replace("	  X

","\\H*\\h+\\V?\\v{3,4}","Ui\\1bLPUMxnHgluPEcwP",[])), 
    <<"UibLPUMxnHgluPEcwP">> = iolist_to_binary(re:replace("	  X

","\\H*\\h+\\V?\\v{3,4}","Ui\\1bLPUMxnHgluPEcwP",[global])), 
    <<"	  

	  

YOgvhC">> = iolist_to_binary(re:replace("	  

","\\H*\\h+\\V?\\v{3,4}","&&YOgvhC\\1\\1",[])), 
    <<"	  

	  

YOgvhC">> = iolist_to_binary(re:replace("	  

","\\H*\\h+\\V?\\v{3,4}","&&YOgvhC\\1\\1",[global])), 
    <<"o	  
aixbY	  
BtbY">> = iolist_to_binary(re:replace("	  
","\\H*\\h+\\V?\\v{3,4}","o&aixbY&BtbY\\1",[])), 
    <<"o	  
aixbY	  
BtbY">> = iolist_to_binary(re:replace("	  
","\\H*\\h+\\V?\\v{3,4}","o&aixbY&BtbY\\1",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H*\\h+\\V?\\v{3,4}","orCME\\1H",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H*\\h+\\V?\\v{3,4}","orCME\\1H",[global])), 
    <<"	  
">> = iolist_to_binary(re:replace("	  
","\\H*\\h+\\V?\\v{3,4}","h&L\\1\\1wk\\1",[])), 
    <<"	  
">> = iolist_to_binary(re:replace("	  
","\\H*\\h+\\V?\\v{3,4}","h&L\\1\\1wk\\1",[global])), 
    <<"XY  aeVjRE">> = iolist_to_binary(re:replace("XY  ABCDE","\\H{3,4}","aeVjR",[])), 
    <<"XY  aeVjRE">> = iolist_to_binary(re:replace("XY  ABCDE","\\H{3,4}","aeVjR",[global])), 
    <<"XY  inwBHwGPQRKvfoDb ST">> = iolist_to_binary(re:replace("XY  PQR ST","\\H{3,4}","in\\1wBHw\\1G&KvfoDb\\1",[])), 
    <<"XY  inwBHwGPQRKvfoDb ST">> = iolist_to_binary(re:replace("XY  PQR ST","\\H{3,4}","in\\1wBHw\\1G&KvfoDb\\1",[global])), 
    <<"XY  AcCVYFB    PYkLB    PHB    PFIQRB    PBeQRS">> = iolist_to_binary(re:replace("XY  AB    PQRS",".\\h{3,4}.","\\1cCVYF&YkL&H&FIQR&Be",[])), 
    <<"XY  AcCVYFB    PYkLB    PHB    PFIQRB    PBeQRS">> = iolist_to_binary(re:replace("XY  AB    PQRS",".\\h{3,4}.","\\1cCVYF&YkL&H&FIQR&Be",[global])), 
    <<">XNNNYZEbXNNNYZXNNNYZQsKnuk">> = iolist_to_binary(re:replace(">XNNNYZ","\\h*X\\h?\\H+Y\\H?Z","&E\\1b&&QsKnuk",[])), 
    <<">XNNNYZEbXNNNYZXNNNYZQsKnuk">> = iolist_to_binary(re:replace(">XNNNYZ","\\h*X\\h?\\H+Y\\H?Z","&E\\1b&&QsKnuk",[global])), 
    <<">m">> = iolist_to_binary(re:replace(">  X NYQZ","\\h*X\\h?\\H+Y\\H?Z","m",[])), 
    <<">m">> = iolist_to_binary(re:replace(">  X NYQZ","\\h*X\\h?\\H+Y\\H?Z","m",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\h*X\\h?\\H+Y\\H?Z","W\\1BBQbt&HF\\1KkXwm\\1Vdn",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\h*X\\h?\\H+Y\\H?Z","W\\1BBQbt&HF\\1KkXwm\\1Vdn",[global])), 
    <<">XYZ">> = iolist_to_binary(re:replace(">XYZ","\\h*X\\h?\\H+Y\\H?Z","&GW",[])), 
    <<">XYZ">> = iolist_to_binary(re:replace(">XYZ","\\h*X\\h?\\H+Y\\H?Z","&GW",[global])), 
    <<">  X NY Z">> = iolist_to_binary(re:replace(">  X NY Z","\\h*X\\h?\\H+Y\\H?Z","JIYAqmdtuCSO",[])), 
    <<">  X NY Z">> = iolist_to_binary(re:replace(">  X NY Z","\\h*X\\h?\\H+Y\\H?Z","JIYAqmdtuCSO",[global])), 
    <<">vctAlOgcGXY
Z
ANNh">> = iolist_to_binary(re:replace(">XY
Z
ANN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","vc\\1tAl\\1O\\1gcG&h\\1",[])), 
    <<">vctAlOgcGXY
Z
ANNh">> = iolist_to_binary(re:replace(">XY
Z
ANN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","vc\\1tAl\\1O\\1gcG&h\\1",[global])), 
    <<">bm

X
Y
ZZZ
AAANNNuAMN">> = iolist_to_binary(re:replace(">

X
Y
ZZZ
AAANNN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","bm&\\1uAMN",[])), 
    <<">bm

X
Y
ZZZ
AAANNNuAMN">> = iolist_to_binary(re:replace(">

X
Y
ZZZ
AAANNN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","bm&\\1uAMN",[global])), 
    <<"foojypfoojma">> = iolist_to_binary(re:replace("foobar","(foo)\\Kbar","jyp\\1jma",[])), 
    <<"foojypfoojma">> = iolist_to_binary(re:replace("foobar","(foo)\\Kbar","jyp\\1jma",[global])), 
    <<"fooUcOiqwyxvfoobar">> = iolist_to_binary(re:replace("foobar","(foo)(\\Kbar|baz)","UcOiqwyxv\\1&",[])), 
    <<"fooUcOiqwyxvfoobar">> = iolist_to_binary(re:replace("foobar","(foo)(\\Kbar|baz)","UcOiqwyxv\\1&",[global])), 
    <<"xXfoobazTfoobazneSQcxWfooBA">> = iolist_to_binary(re:replace("foobaz","(foo)(\\Kbar|baz)","xX&T&neSQcxW\\1BA",[])), 
    <<"xXfoobazTfoobazneSQcxWfooBA">> = iolist_to_binary(re:replace("foobaz","(foo)(\\Kbar|baz)","xX&T&neSQcxW\\1BA",[global])), 
    <<"foovYnKbarbazVqfoobarheyiy">> = iolist_to_binary(re:replace("foobarbaz","(foo\\Kbar)baz","vYnK&Vq\\1heyiy",[])), 
    <<"foovYnKbarbazVqfoobarheyiy">> = iolist_to_binary(re:replace("foobarbaz","(foo\\Kbar)baz","vYnK&Vq\\1heyiy",[global])), 
    <<"wYDabPababababbbabZygQUbMBoQiXXXX">> = iolist_to_binary(re:replace("ababababbbabZXXXX","^(a(b))\\1\\g1\\g{1}\\g-1\\g{-1}\\g{-02}Z","wYD\\1P&ygQUbMBoQi",[])), 
    <<"wYDabPababababbbabZygQUbMBoQiXXXX">> = iolist_to_binary(re:replace("ababababbbabZXXXX","^(a(b))\\1\\g1\\g{1}\\g-1\\g{-1}\\g{-02}Z","wYD\\1P&ygQUbMBoQi",[global])), 
    <<"QJyUVPxY">> = iolist_to_binary(re:replace("tom-tom","(?<A>tom|bon)-\\g{A}","QJyUVPxY",[])), 
    <<"QJyUVPxY">> = iolist_to_binary(re:replace("tom-tom","(?<A>tom|bon)-\\g{A}","QJyUVPxY",[global])), 
    <<"bonvRbon-bonECJDijVbonbon-bonnbonYtaYv">> = iolist_to_binary(re:replace("bon-bon","(?<A>tom|bon)-\\g{A}","\\1vR&ECJDijV\\1&n\\1YtaYv",[])), 
    <<"bonvRbon-bonECJDijVbonbon-bonnbonYtaYv">> = iolist_to_binary(re:replace("bon-bon","(?<A>tom|bon)-\\g{A}","\\1vR&ECJDijV\\1&n\\1YtaYv",[global])), 
    <<"bacxxx">> = iolist_to_binary(re:replace("bacxxx","(^(a|b\\g{-1}))","B",[])), 
    <<"bacxxx">> = iolist_to_binary(re:replace("bacxxx","(^(a|b\\g{-1}))","B",[global])), 
    <<"abcHN">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))\\1","\\1HN",[])), 
    <<"abcHN">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))\\1","\\1HN",[global])), 
    <<"i">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))\\1","i",[])), 
    <<"i">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))\\1","i",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))\\1","&RDdXS\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))\\1","&RDdXS\\1",[global])), 
    <<"abcxyz">> = iolist_to_binary(re:replace("abcxyz","(?|(abc)|(xyz))\\1","xvrTYMBEX",[])), 
    <<"abcxyz">> = iolist_to_binary(re:replace("abcxyz","(?|(abc)|(xyz))\\1","xvrTYMBEX",[global])), 
    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))\\1","gkljK\\1CR\\1BykWHcqqC&G",[])), 
    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))\\1","gkljK\\1CR\\1BykWHcqqC&G",[global])), 
    ok.
run41() ->
    <<"EaIdWBoabck">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))(?1)","EaIdWBo\\1k",[])), 
    <<"EaIdWBoabck">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))(?1)","EaIdWBo\\1k",[global])), 
    <<"xyzabcxyzxyzMvxyzjgRaou">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))(?1)","&\\1\\1Mv\\1jgRaou",[])), 
    <<"xyzabcxyzxyzMvxyzjgRaou">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))(?1)","&\\1\\1Mv\\1jgRaou",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))(?1)","&vqt\\1Hv",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))(?1)","&vqt\\1Hv",[global])), 
    <<"xyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))(?1)","LyN",[])), 
    <<"xyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))(?1)","LyN",[global])), 
    <<"XYabcdYvXYabcdYXYabcdYXYabcdYjw">> = iolist_to_binary(re:replace("XYabcdY","^X(?5)(a)(?|(b)|(q))(c)(d)(Y)","&v&&&jw",[])), 
    <<"XYabcdYvXYabcdYXYabcdYXYabcdYjw">> = iolist_to_binary(re:replace("XYabcdY","^X(?5)(a)(?|(b)|(q))(c)(d)(Y)","&v&&&jw",[global])), 
    <<"uqndDBXYabcdYGahfmNcwsERUk">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)","uqndDB&G\\1hfmNcwsERUk",[])), 
    <<"uqndDBXYabcdYGahfmNcwsERUk">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)","uqndDB&G\\1hfmNcwsERUk",[global])), 
    <<"XYabcdYtahaNIsaeGvkDDLOQ">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)","&tah\\1NIs\\1eGvkDDLOQ",[])), 
    <<"XYabcdYtahaNIsaeGvkDDLOQ">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)","&tah\\1NIs\\1eGvkDDLOQ",[global])), 
    <<"boxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\k<abc>{2}","bo",[])), 
    <<"boxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\k<abc>{2}","bo",[global])), 
    <<"sqNrwMWMcRUxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\k<abc>{2}","sqNrwMWMcRU",[])), 
    <<"sqNrwMWMcRUxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\k<abc>{2}","sqNrwMWMcRU",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\k<abc>{2}","Ahbk",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\k<abc>{2}","Ahbk",[global])), 
    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\k<abc>{2}","yr&SM&HjpyRb",[])), 
    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\k<abc>{2}","yr&SM&HjpyRb",[global])), 
    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\k<abc>{2}","BQwV",[])), 
    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\k<abc>{2}","BQwV",[global])), 
    <<"a:aaxnnUMItwyNa:aamCRBaixyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\g{abc}{2}","&xnnUMItwyN&mCRB\\1i",[])), 
    <<"a:aaxnnUMItwyNa:aamCRBaixyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\g{abc}{2}","&xnnUMItwyN&mCRB\\1i",[global])), 
    <<"Labjab:ababqxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\g{abc}{2}","L\\1j&q",[])), 
    <<"Labjab:ababqxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\g{abc}{2}","L\\1j&q",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\g{abc}{2}","dLG\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\g{abc}{2}","dLG\\1",[global])), 
    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\g{abc}{2}","MKB",[])), 
    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\g{abc}{2}","MKB",[global])), 
    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\g{abc}{2}","BwHek&EFhbw",[])), 
    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\g{abc}{2}","BwHek&EFhbw",[global])), 
    <<"abdqUabdFaabdtmIkaf">> = iolist_to_binary(re:replace("abd","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","&qU&Fa&tmIk\\1f",[extended])), 
    <<"abdqUabdFaabdtmIkaf">> = iolist_to_binary(re:replace("abd","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","&qU&Fa&tmIk\\1f",[extended,
                                                                                                                                                                                                                                                                         global])), 
    <<"haacettwdUtIv">> = iolist_to_binary(re:replace("ce","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","haa&ttwdU\\1tIv",[extended])), 
    <<"haacettwdUtIv">> = iolist_to_binary(re:replace("ce","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","haa&ttwdU\\1tIv",[extended,
                                                                                                                                                                                                                                                                     global])), 
    <<"uaXaXZYWULYgJXaXaXaXZg">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g-1Z","u&YWULYgJX\\1&g",[])), 
    <<"uaXaXZYWULYgJXaXaXaXZg">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g-1Z","u&YWULYgJX\\1&g",[global])), 
    <<"TpaXaXZmaXaXZQhnJ">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g{-1}Z","Tp&m&QhnJ",[])), 
    <<"TpaXaXZmaXaXZQhnJ">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g{-1}Z","Tp&m&QhnJ",[global])), 
    <<"cNcd">> = iolist_to_binary(re:replace("abcd","^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) ","cN",[extended])), 
    <<"cNcd">> = iolist_to_binary(re:replace("abcd","^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) ","cN",[extended,
                                                                                                                                                                                                                                               global])), 
    <<"S">> = iolist_to_binary(re:replace("metcalfe 33","(?<NAME>(?&NAME_PAT))\\s+(?<ADDR>(?&ADDRESS_PAT))
  (?(DEFINE)
  (?<NAME_PAT>[a-z]+)
  (?<ADDRESS_PAT>\\d+)
  )","S",[extended])), 
    <<"S">> = iolist_to_binary(re:replace("metcalfe 33","(?<NAME>(?&NAME_PAT))\\s+(?<ADDR>(?&ADDRESS_PAT))
  (?(DEFINE)
  (?<NAME_PAT>[a-z]+)
  (?<ADDRESS_PAT>\\d+)
  )","S",[extended,global])), 
    <<"m1.2.3.4CNSbdi">> = iolist_to_binary(re:replace("1.2.3.4","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","m&CNSbd\\1i",[])), 
    <<"m1.2.3.4CNSbdi">> = iolist_to_binary(re:replace("1.2.3.4","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","m&CNSbd\\1i",[global])), 
    <<"131.111.10.206131.111.10.206DPiNTNK131.111.10.206grPeyEu">> = iolist_to_binary(re:replace("131.111.10.206","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","&&DPiNTN\\1\\1K&grPey\\1Eu",[])), 
    <<"131.111.10.206131.111.10.206DPiNTNK131.111.10.206grPeyEu">> = iolist_to_binary(re:replace("131.111.10.206","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","&&DPiNTN\\1\\1K&grPey\\1Eu",[global])), 
    <<"uBfPy10.0.0.010.0.0.0svWuRdbVVmys">> = iolist_to_binary(re:replace("10.0.0.0","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","u\\1BfPy&&svWuRdbVVmys",[])), 
    <<"uBfPy10.0.0.010.0.0.0svWuRdbVVmys">> = iolist_to_binary(re:replace("10.0.0.0","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","u\\1BfPy&&svWuRdbVVmys",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","jVYSCLvb\\1Rm\\1Vn&",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","jVYSCLvb\\1Rm\\1Vn&",[global])), 
    <<"10.6">> = iolist_to_binary(re:replace("10.6","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","dECob\\1\\1yakWA",[])), 
    <<"10.6">> = iolist_to_binary(re:replace("10.6","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","dECob\\1\\1yakWA",[global])), 
    <<"455.3.4.5">> = iolist_to_binary(re:replace("455.3.4.5","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","r",[])), 
    <<"455.3.4.5">> = iolist_to_binary(re:replace("455.3.4.5","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","r",[global])), 
    <<"VjWQp">> = iolist_to_binary(re:replace("1.2.3.4","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","VjWQp",[])), 
    <<"VjWQp">> = iolist_to_binary(re:replace("1.2.3.4","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","VjWQp",[global])), 
    <<"VQs131.111.10.206131.111.10.206r.206.206">> = iolist_to_binary(re:replace("131.111.10.206","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","VQs&&r\\1\\1",[])), 
    <<"VQs131.111.10.206131.111.10.206r.206.206">> = iolist_to_binary(re:replace("131.111.10.206","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","VQs&&r\\1\\1",[global])), 
    <<"mebNTtCd10.0.0.010.0.0.010.0.0.010.0.0.0S.0">> = iolist_to_binary(re:replace("10.0.0.0","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","mebNTtCd&&&&S\\1",[])), 
    <<"mebNTtCd10.0.0.010.0.0.010.0.0.010.0.0.0S.0">> = iolist_to_binary(re:replace("10.0.0.0","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","mebNTtCd&&&&S\\1",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","uvmK&GcQ&\\1u\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","uvmK&GcQ&\\1u\\1",[global])), 
    <<"10.6">> = iolist_to_binary(re:replace("10.6","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","TH\\1bkRaOVXKAGH&Wq\\1",[])), 
    <<"10.6">> = iolist_to_binary(re:replace("10.6","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","TH\\1bkRaOVXKAGH&Wq\\1",[global])), 
    <<"455.3.4.5">> = iolist_to_binary(re:replace("455.3.4.5","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","flY&",[])), 
    <<"455.3.4.5">> = iolist_to_binary(re:replace("455.3.4.5","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","flY&",[global])), 
    <<"XIXOpartynow is the time for all good men to come to the aid of the partyenW">> = iolist_to_binary(re:replace("now is the time for all good men to come to the aid of the party","^(\\w++|\\s++)*$","XIXO\\1&enW",[])), 
    <<"XIXOpartynow is the time for all good men to come to the aid of the partyenW">> = iolist_to_binary(re:replace("now is the time for all good men to come to the aid of the party","^(\\w++|\\s++)*$","XIXO\\1&enW",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\w++|\\s++)*$","bwiYg",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\w++|\\s++)*$","bwiYg",[global])), 
    <<"this is not a line with only words and spaces!">> = iolist_to_binary(re:replace("this is not a line with only words and spaces!","^(\\w++|\\s++)*$","d\\1",[])), 
    <<"this is not a line with only words and spaces!">> = iolist_to_binary(re:replace("this is not a line with only words and spaces!","^(\\w++|\\s++)*$","d\\1",[global])), 
    <<"m12345sdTXRM1234512345a">> = iolist_to_binary(re:replace("12345a","(\\d++)(\\w)","m\\1sdTXRM\\1&",[])), 
    <<"m12345sdTXRM1234512345a">> = iolist_to_binary(re:replace("12345a","(\\d++)(\\w)","m\\1sdTXRM\\1&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\d++)(\\w)","eFU&\\1cQE\\1\\1grkNJ&Ad\\1f",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\d++)(\\w)","eFU&\\1cQE\\1\\1grkNJ&Ad\\1f",[global])), 
    <<"12345+">> = iolist_to_binary(re:replace("12345+","(\\d++)(\\w)","i&hvp\\1XhCAs&VRh",[])), 
    <<"12345+">> = iolist_to_binary(re:replace("12345+","(\\d++)(\\w)","i&hvp\\1XhCAs&VRh",[global])), 
    <<"NaaabIg">> = iolist_to_binary(re:replace("aaab","a++b","\\1N&Ig",[])), 
    <<"NaaabIg">> = iolist_to_binary(re:replace("aaab","a++b","\\1N&Ig",[global])), 
    <<"maaabaaabgBJFEHXaaabaaabaaabkAaaab">> = iolist_to_binary(re:replace("aaab","(a++b)","m&\\1gBJFEHX&&\\1kA&",[])), 
    <<"maaabaaabgBJFEHXaaabaaabaaabkAaaab">> = iolist_to_binary(re:replace("aaab","(a++b)","m&\\1gBJFEHX&&\\1kA&",[global])), 
    <<"TaaabRaaaaaaeBTpaaaTi">> = iolist_to_binary(re:replace("aaab","(a++)b","T&R\\1\\1eBTp\\1Ti",[])), 
    <<"TaaabRaaaaaaeBTpaaaTi">> = iolist_to_binary(re:replace("aaab","(a++)b","T&R\\1\\1eBTp\\1Ti",[global])), 
    <<"((PwxkrBxNdabc(ade)ufh()()xYBkxEabc(ade)ufh()()xFkxx">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","([^()]++|\\([^()]*\\))+","Pw\\1krB\\1Nd&YBk\\1E&Fk\\1\\1",[])), 
    <<"((PwxkrBxNdabc(ade)ufh()()xYBkxEabc(ade)ufh()()xFkxx">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","([^()]++|\\([^()]*\\))+","Pw\\1krB\\1Nd&YBk\\1E&Fk\\1\\1",[global])), 
    <<"F(abc)sMN">> = iolist_to_binary(re:replace("(abc)","\\(([^()]++|\\([^()]+\\))+\\)","F&sMN",[])), 
    <<"F(abc)sMN">> = iolist_to_binary(re:replace("(abc)","\\(([^()]++|\\([^()]+\\))+\\)","F&sMN",[global])), 
    <<"SMUJyftxyzxyz(abc(def)xyz)RpnMnA">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(([^()]++|\\([^()]+\\))+\\)","SMUJyft\\1\\1&RpnMnA",[])), 
    <<"SMUJyftxyzxyz(abc(def)xyz)RpnMnA">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(([^()]++|\\([^()]+\\))+\\)","SMUJyft\\1\\1&RpnMnA",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(([^()]++|\\([^()]+\\))+\\)","p",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(([^()]++|\\([^()]+\\))+\\)","p",[global])), 
    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(([^()]++|\\([^()]+\\))+\\)","gVbYV&vnkHNjeK",[])), 
    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(([^()]++|\\([^()]+\\))+\\)","gVbYV&vnkHNjeK",[global])), 
    ok.
run42() ->
    <<"YHcxHwcJHhabcabcyqOabcio">> = iolist_to_binary(re:replace("abc","^([^()]|\\((?1)*\\))*$","YH\\1xHw\\1JHh&&yqO&io",[])), 
    <<"YHcxHwcJHhabcabcyqOabcio">> = iolist_to_binary(re:replace("abc","^([^()]|\\((?1)*\\))*$","YH\\1xHw\\1JHh&&yqO&io",[global])), 
    <<"Xua(b)ccOqkxg">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","Xu&\\1Oqkxg",[])), 
    <<"Xua(b)ccOqkxg">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","Xu&\\1Oqkxg",[global])), 
    <<"pHOdcaLUi">> = iolist_to_binary(re:replace("a(b(c))d","^([^()]|\\((?1)*\\))*$","pHO\\1caLUi",[])), 
    <<"pHOdcaLUi">> = iolist_to_binary(re:replace("a(b(c))d","^([^()]|\\((?1)*\\))*$","pHO\\1caLUi",[global])), 
    <<"*** Failers)">> = iolist_to_binary(re:replace("*** Failers)","^([^()]|\\((?1)*\\))*$","&YxG",[])), 
    <<"*** Failers)">> = iolist_to_binary(re:replace("*** Failers)","^([^()]|\\((?1)*\\))*$","&YxG",[global])), 
    <<"a(b(c)d">> = iolist_to_binary(re:replace("a(b(c)d","^([^()]|\\((?1)*\\))*$","s\\1BLqc",[])), 
    <<"a(b(c)d">> = iolist_to_binary(re:replace("a(b(c)d","^([^()]|\\((?1)*\\))*$","s\\1BLqc",[global])), 
    <<"puAth">> = iolist_to_binary(re:replace(">abc>123<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","puAth",[])), 
    <<"puAth">> = iolist_to_binary(re:replace(">abc>123<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","puAth",[global])), 
    <<"QVYB>abc>1(2)3<xyz<cFhyH">> = iolist_to_binary(re:replace(">abc>1(2)3<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","QVYB&cFhyH",[])), 
    <<"QVYB>abc>1(2)3<xyz<cFhyH">> = iolist_to_binary(re:replace(">abc>1(2)3<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","QVYB&cFhyH",[global])), 
    <<"(1(2)3)">> = iolist_to_binary(re:replace(">abc>(1(2)3)<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","\\1",[])), 
    <<"(1(2)3)">> = iolist_to_binary(re:replace(">abc>(1(2)3)<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","\\1",[global])), 
    <<"fb1221w122112211221Q1221yL1221d">> = iolist_to_binary(re:replace("1221","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","fb\\1w\\1&&Q&yL&d",[caseless])), 
    <<"fb1221w122112211221Q1221yL1221d">> = iolist_to_binary(re:replace("1221","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","fb\\1w\\1&&Q&yL&d",[caseless,
                                                                                                                                                                                                                                                                global])), 
    <<"yadakp">> = iolist_to_binary(re:replace("Satanoscillatemymetallicsonatas","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","ya\\1dakp\\1",[caseless])), 
    <<"yadakp">> = iolist_to_binary(re:replace("Satanoscillatemymetallicsonatas","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","ya\\1dakp\\1",[caseless,
                                                                                                                                                                                                                                                                                                        global])), 
    <<"aAmanaplanacanalPanamalDAmanaplanacanalPanamaiqyAmanaplanacanalPanamaOSvaJYbQ">> = iolist_to_binary(re:replace("AmanaplanacanalPanama","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","a&lD&i\\1qy&OSv\\1aJYbQ",[caseless])), 
    <<"aAmanaplanacanalPanamalDAmanaplanacanalPanamaiqyAmanaplanacanalPanamaOSvaJYbQ">> = iolist_to_binary(re:replace("AmanaplanacanalPanama","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","a&lD&i\\1qy&OSv\\1aJYbQ",[caseless,
                                                                                                                                                                                                                                                                                                             global])), 
    <<"UcSlDNWgAva">> = iolist_to_binary(re:replace("AblewasIereIsawElba","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","UcSlD\\1NWgAva\\1",[caseless])), 
    <<"UcSlDNWgAva">> = iolist_to_binary(re:replace("AblewasIereIsawElba","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","UcSlD\\1NWgAva\\1",[caseless,
                                                                                                                                                                                                                                                                                          global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","n",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","n",[caseless,
                                                                                                                                                                                                                                        global])), 
    <<"Thequickbrownfox">> = iolist_to_binary(re:replace("Thequickbrownfox","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","MuY&Y&DfSiG&KPnRRGOO",[caseless])), 
    <<"Thequickbrownfox">> = iolist_to_binary(re:replace("Thequickbrownfox","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","MuY&Y&DfSiG&KPnRRGOO",[caseless,
                                                                                                                                                                                                                                                                                           global])), 
    <<"Dlcq12uvNpwj">> = iolist_to_binary(re:replace("12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","Dlcq\\1uvNpwj",[])), 
    <<"Dlcq12uvNpwj">> = iolist_to_binary(re:replace("12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","Dlcq\\1uvNpwj",[global])), 
    <<"(((2+2)*-3)-7)Hq(((2+2)*-3)-7)nwjc(((2+2)*-3)-7)OCxTARr">> = iolist_to_binary(re:replace("(((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","&Hq&nwjc\\1OCxTARr",[])), 
    <<"(((2+2)*-3)-7)Hq(((2+2)*-3)-7)nwjc(((2+2)*-3)-7)OCxTARr">> = iolist_to_binary(re:replace("(((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","&Hq&nwjc\\1OCxTARr",[global])), 
    <<"EjPI-12tsA-12ux-12-12-12MfkO">> = iolist_to_binary(re:replace("-12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","EjPI&tsA&ux&\\1\\1MfkO",[])), 
    <<"EjPI-12tsA-12ux-12-12-12MfkO">> = iolist_to_binary(re:replace("-12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","EjPI&tsA&ux&\\1\\1MfkO",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","sxA&v\\1L\\1Q\\1FFDAm\\1hOOv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","sxA&v\\1L\\1Q\\1FFDAm\\1hOOv",[global])), 
    <<"((2+2)*-3)-7)">> = iolist_to_binary(re:replace("((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","el\\1La",[])), 
    <<"((2+2)*-3)-7)">> = iolist_to_binary(re:replace("((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","el\\1La",[global])), 
    <<"vRxyzxyzrJYxyzxyzjNtdExyzSxeWm">> = iolist_to_binary(re:replace("xyz","^(x(y|(?1){2})z)","vR\\1\\1rJY&\\1jNtdE&SxeWm",[])), 
    <<"vRxyzxyzrJYxyzxyzjNtdExyzSxeWm">> = iolist_to_binary(re:replace("xyz","^(x(y|(?1){2})z)","vR\\1\\1rJY&\\1jNtdE&SxeWm",[global])), 
    <<"CRxxyzxyzzkQsxxyzxyzzHmiGvxxyzxyzzy">> = iolist_to_binary(re:replace("xxyzxyzz","^(x(y|(?1){2})z)","CR\\1kQs\\1HmiGv\\1y",[])), 
    <<"CRxxyzxyzzkQsxxyzxyzzHmiGvxxyzxyzzy">> = iolist_to_binary(re:replace("xxyzxyzz","^(x(y|(?1){2})z)","CR\\1kQs\\1HmiGv\\1y",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(x(y|(?1){2})z)","qTfvW\\1q\\1&UXxp\\1b",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(x(y|(?1){2})z)","qTfvW\\1q\\1&UXxp\\1b",[global])), 
    <<"xxyzz">> = iolist_to_binary(re:replace("xxyzz","^(x(y|(?1){2})z)","WRW&Ky",[])), 
    <<"xxyzz">> = iolist_to_binary(re:replace("xxyzz","^(x(y|(?1){2})z)","WRW&Ky",[global])), 
    <<"xxyzxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzxyzz","^(x(y|(?1){2})z)","SgB&TOTaVTG\\1\\1Sy",[])), 
    <<"xxyzxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzxyzz","^(x(y|(?1){2})z)","SgB&TOTaVTG\\1\\1Sy",[global])), 
    <<"p">> = iolist_to_binary(re:replace("<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","p",[extended])), 
    <<"p">> = iolist_to_binary(re:replace("<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","p",[extended,
                                                                                                                                                                                                                                          global])), 
    <<"<abcd>oQy<abcd><abcd>UhI<abcd>g">> = iolist_to_binary(re:replace("<abcd>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","\\1oQy\\1&UhI&g",[extended])), 
    <<"<abcd>oQy<abcd><abcd>UhI<abcd>g">> = iolist_to_binary(re:replace("<abcd>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","\\1oQy\\1&UhI&g",[extended,
                                                                                                                                                                                                                                                                                  global])), 
    <<"NymkAa">> = iolist_to_binary(re:replace("<abc <123> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","NymkAa",[extended])), 
    <<"NymkAa">> = iolist_to_binary(re:replace("<abc <123> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","NymkAa",[extended,
                                                                                                                                                                                                                                                                              global])), 
    <<"<abc i<def>g<def>fMHHlJ<def><def> hij>">> = iolist_to_binary(re:replace("<abc <def> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","i&g\\1fMHHlJ\\1\\1",[extended])), 
    <<"<abc i<def>g<def>fMHHlJ<def><def> hij>">> = iolist_to_binary(re:replace("<abc <def> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","i&g\\1fMHHlJ\\1\\1",[extended,
                                                                                                                                                                                                                                                                                                          global])), 
    <<"yJJ<abc<>def>yo<abc<>def>X">> = iolist_to_binary(re:replace("<abc<>def>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","yJJ&yo\\1X",[extended])), 
    <<"yJJ<abc<>def>yo<abc<>def>X">> = iolist_to_binary(re:replace("<abc<>def>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","yJJ&yo\\1X",[extended,
                                                                                                                                                                                                                                                                              global])), 
    <<"<abcn<>LhiK<>ufT<>q<><>SodEfM">> = iolist_to_binary(re:replace("<abc<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","n\\1LhiK&ufT&q&&SodEfM",[extended])), 
    <<"<abcn<>LhiK<>ufT<>q<><>SodEfM">> = iolist_to_binary(re:replace("<abc<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","n\\1LhiK&ufT&q&&SodEfM",[extended,
                                                                                                                                                                                                                                                                                                 global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","R&",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","R&",[extended,
                                                                                                                                                                                                                                                               global])), 
    <<"<abc">> = iolist_to_binary(re:replace("<abc","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","l",[extended])), 
    <<"<abc">> = iolist_to_binary(re:replace("<abc","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","l",[extended,
                                                                                                                                                                                                                                              global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^a+(*FAIL)","oWDClek&Nwt&&aMO\\1",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^a+(*FAIL)","oWDClek&Nwt&&aMO\\1",[global])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?c+(*FAIL)","L\\1&&fllctiK\\1WqBCUQ",[])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?c+(*FAIL)","L\\1&&fllctiK\\1WqBCUQ",[global])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*PRUNE)c+(*FAIL)","Jpy\\1FAL",[])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*PRUNE)c+(*FAIL)","Jpy\\1FAL",[global])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*COMMIT)c+(*FAIL)","I",[])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*COMMIT)c+(*FAIL)","I",[global])), 
    <<"aaabcccaaabccc">> = iolist_to_binary(re:replace("aaabcccaaabccc","a+b?(*SKIP)c+(*FAIL)","cRBQ\\1mL",[])), 
    <<"aaabcccaaabccc">> = iolist_to_binary(re:replace("aaabcccaaabccc","a+b?(*SKIP)c+(*FAIL)","cRBQ\\1mL",[global])), 
    <<"JRWgePSUsExfJfHo">> = iolist_to_binary(re:replace("aaaxxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","\\1JRWgePSUsExfJf\\1Ho",[])), 
    <<"JRWgePSUsExfJfHo">> = iolist_to_binary(re:replace("aaaxxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","\\1JRWgePSUsExfJf\\1Ho",[global])), 
    <<"AlHMdrRl++++++">> = iolist_to_binary(re:replace("aaa++++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","AlHMdrRl",[])), 
    <<"AlHMdrRl++++++">> = iolist_to_binary(re:replace("aaa++++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","AlHMdrRl",[global])), 
    <<"bKH">> = iolist_to_binary(re:replace("bbbxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","bKH",[])), 
    <<"bKH">> = iolist_to_binary(re:replace("bbbxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","bKH",[global])), 
    <<"AyqLHpWSaFmaN+++++">> = iolist_to_binary(re:replace("bbb+++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","AyqLHpWSaFma\\1N",[])), 
    <<"AyqLHpWSaFmaN+++++">> = iolist_to_binary(re:replace("bbb+++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","AyqLHpWSaFma\\1N",[global])), 
    <<"bvYRps">> = iolist_to_binary(re:replace("cccxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","bvYR\\1ps",[])), 
    <<"bvYRps">> = iolist_to_binary(re:replace("cccxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","bvYR\\1ps",[global])), 
    <<"KPYMvODtuotXNIo++++">> = iolist_to_binary(re:replace("ccc++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","KPYMv\\1\\1ODtuotXNIo",[])), 
    <<"KPYMvODtuotXNIo++++">> = iolist_to_binary(re:replace("ccc++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","KPYMv\\1\\1ODtuotXNIo",[global])), 
    <<"kddddd">> = iolist_to_binary(re:replace("dddddddd","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","k",[])), 
    <<"kddddd">> = iolist_to_binary(re:replace("dddddddd","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","k",[global])), 
    <<"kaaaxxxxxxrQaRFqL">> = iolist_to_binary(re:replace("aaaxxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","k\\1rQaRFqL",[])), 
    <<"kaaaxxxxxxrQaRFqL">> = iolist_to_binary(re:replace("aaaxxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","k\\1rQaRFqL",[global])), 
    <<"aaaw++++++">> = iolist_to_binary(re:replace("aaa++++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","\\1w",[])), 
    <<"aaaw++++++">> = iolist_to_binary(re:replace("aaa++++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","\\1w",[global])), 
    <<"JyQqJIbbbxxxxxBAVHEvuuRsYpC">> = iolist_to_binary(re:replace("bbbxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","JyQqJI&BAVHEvuuRsYpC",[])), 
    <<"JyQqJIbbbxxxxxBAVHEvuuRsYpC">> = iolist_to_binary(re:replace("bbbxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","JyQqJI&BAVHEvuuRsYpC",[global])), 
    <<"dBwHTombbbccbbbR+++++">> = iolist_to_binary(re:replace("bbb+++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","dBwHTom&cc&R",[])), 
    <<"dBwHTombbbccbbbR+++++">> = iolist_to_binary(re:replace("bbb+++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","dBwHTom&cc&R",[global])), 
    <<"OcccxxxxeA">> = iolist_to_binary(re:replace("cccxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","O&eA",[])), 
    <<"OcccxxxxeA">> = iolist_to_binary(re:replace("cccxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","O&eA",[global])), 
    <<"DyFCQsccclWCcccy++++">> = iolist_to_binary(re:replace("ccc++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","DyFCQs&lWC&y",[])), 
    <<"DyFCQsccclWCcccy++++">> = iolist_to_binary(re:replace("ccc++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","DyFCQs&lWC&y",[global])), 
    <<"cdddvddddd">> = iolist_to_binary(re:replace("dddddddd","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","c&v",[])), 
    <<"cdddvddddd">> = iolist_to_binary(re:replace("dddddddd","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","c&v",[global])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*THEN)c+(*FAIL)","PV&\\1x\\1vsUDLpYB\\1\\1t",[])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*THEN)c+(*FAIL)","PV&\\1x\\1vsUDLpYB\\1\\1t",[global])), 
    <<"FhiABxmOfR">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","Fhi\\1xmOfR",[extended])), 
    <<"FhiABxmOfR">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","Fhi\\1xmOfR",[extended,
                                                                                                                                                                                                                      global])), 
    <<"BHulABQjABrLtABEnSX">> = iolist_to_binary(re:replace("ABX","(A (A|B(*ACCEPT)|C) D)(E)","BHul&Qj&rLt\\1EnS",[extended])), 
    <<"BHulABQjABrLtABEnSX">> = iolist_to_binary(re:replace("ABX","(A (A|B(*ACCEPT)|C) D)(E)","BHul&Qj&rLt\\1EnS",[extended,
                                                                                                                                                                                                                                      global])), 
    <<"fwi">> = iolist_to_binary(re:replace("AADE","(A (A|B(*ACCEPT)|C) D)(E)","fwi",[extended])), 
    <<"fwi">> = iolist_to_binary(re:replace("AADE","(A (A|B(*ACCEPT)|C) D)(E)","fwi",[extended,
                                                                                                                                                                                                         global])), 
    <<"vpACDe">> = iolist_to_binary(re:replace("ACDE","(A (A|B(*ACCEPT)|C) D)(E)","vp\\1e",[extended])), 
    <<"vpACDe">> = iolist_to_binary(re:replace("ACDE","(A (A|B(*ACCEPT)|C) D)(E)","vp\\1e",[extended,
                                                                                                                                                                                                                global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(A (A|B(*ACCEPT)|C) D)(E)","YJgvKXOIgucMHsvWUdgN",[extended])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(A (A|B(*ACCEPT)|C) D)(E)","YJgvKXOIgucMHsvWUdgN",[extended,
                                                                                                                                                                                                                                                       global])), 
    <<"AD">> = iolist_to_binary(re:replace("AD","(A (A|B(*ACCEPT)|C) D)(E)","ssJb&\\1nwuF&t",[extended])), 
    <<"AD">> = iolist_to_binary(re:replace("AD","(A (A|B(*ACCEPT)|C) D)(E)","ssJb&\\1nwuF&t",[extended,
                                                                                                                                                                                                                              global])), 
    <<"AjVOUn">> = iolist_to_binary(re:replace("1221","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","AjVOUn",[caseless])), 
    <<"AjVOUn">> = iolist_to_binary(re:replace("1221","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","AjVOUn",[caseless,
                                                                                                                                                                                                                                                                                                                            global])), 
    <<"BDdMi">> = iolist_to_binary(re:replace("Satan, oscillate my metallic sonatas!","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","B\\1DdMi",[caseless])), 
    <<"BDdMi">> = iolist_to_binary(re:replace("Satan, oscillate my metallic sonatas!","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","B\\1DdMi",[caseless,
                                                                                                                                                                                                                                                                                                                                                                                                   global])), 
    <<"YfFtA man, a plan, a canal: Panama!pwRSbpA man, a plan, a canal: Panama!">> = iolist_to_binary(re:replace("A man, a plan, a canal: Panama!","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","YfFt\\1&\\1pwRSb\\1p&",[caseless])), 
    <<"YfFtA man, a plan, a canal: Panama!pwRSbpA man, a plan, a canal: Panama!">> = iolist_to_binary(re:replace("A man, a plan, a canal: Panama!","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","YfFt\\1&\\1pwRSb\\1p&",[caseless,
                                                                                                                                                                                                                                                                                                                                                                                                                     global])), 
    <<"xvAble was I ere I saw Elba.HqjQAble was I ere I saw Elba.vR">> = iolist_to_binary(re:replace("Able was I ere I saw Elba.","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","x\\1v&HqjQ&vR",[caseless])), 
    <<"xvAble was I ere I saw Elba.HqjQAble was I ere I saw Elba.vR">> = iolist_to_binary(re:replace("Able was I ere I saw Elba.","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","x\\1v&HqjQ&vR",[caseless,
                                                                                                                                                                                                                                                                                                                                                                                         global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","\\1JH",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","\\1JH",[caseless,
                                                                                                                                                                                                                                                                                                                                         global])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","GCnEOe&\\1HfW&",[caseless])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","GCnEOe&\\1HfW&",[caseless,
                                                                                                                                                                                                                                                                                                                                                                             global])), 
    <<"EEBtpaXa">> = iolist_to_binary(re:replace("a","^((.)(?1)\\2|.)$","EEBtpaX\\1",[])), 
    <<"EEBtpaXa">> = iolist_to_binary(re:replace("a","^((.)(?1)\\2|.)$","EEBtpaX\\1",[global])), 
    <<"qXEWopOY">> = iolist_to_binary(re:replace("aba","^((.)(?1)\\2|.)$","qXEWopOY",[])), 
    <<"qXEWopOY">> = iolist_to_binary(re:replace("aba","^((.)(?1)\\2|.)$","qXEWopOY",[global])), 
    <<"fQRaabaaaabaaaabaavgdtLaabaaijxUaabaaV">> = iolist_to_binary(re:replace("aabaa","^((.)(?1)\\2|.)$","fQR\\1\\1&vgdtL\\1ijxU\\1V",[])), 
    <<"fQRaabaaaabaaaabaavgdtLaabaaijxUaabaaV">> = iolist_to_binary(re:replace("aabaa","^((.)(?1)\\2|.)$","fQR\\1\\1&vgdtL\\1ijxU\\1V",[global])), 
    <<"rfIabcdcbaQmGUaQxwnGtIhc">> = iolist_to_binary(re:replace("abcdcba","^((.)(?1)\\2|.)$","rfI&QmGUaQxwnGtIhc",[])), 
    <<"rfIabcdcbaQmGUaQxwnGtIhc">> = iolist_to_binary(re:replace("abcdcba","^((.)(?1)\\2|.)$","rfI&QmGUaQxwnGtIhc",[global])), 
    <<"QEpqaabaaqpcpqaabaaqpmxcBpqaabaaqpfErt">> = iolist_to_binary(re:replace("pqaabaaqp","^((.)(?1)\\2|.)$","QE\\1c\\1mxcB&fErt",[])), 
    <<"QEpqaabaaqpcpqaabaaqpmxcBpqaabaaqpfErt">> = iolist_to_binary(re:replace("pqaabaaqp","^((.)(?1)\\2|.)$","QE\\1c\\1mxcB&fErt",[global])), 
    <<"KLFablewasiereisawelbaablewasiereisawelbaIablewasiereisawelbarjablewasiereisawelbasD">> = iolist_to_binary(re:replace("ablewasiereisawelba","^((.)(?1)\\2|.)$","KLF\\1&I&rj&sD",[])), 
    <<"KLFablewasiereisawelbaablewasiereisawelbaIablewasiereisawelbarjablewasiereisawelbasD">> = iolist_to_binary(re:replace("ablewasiereisawelba","^((.)(?1)\\2|.)$","KLF\\1&I&rj&sD",[global])), 
    <<"rhubarb">> = iolist_to_binary(re:replace("rhubarb","^((.)(?1)\\2|.)$","g\\1WKOnON\\1\\1YO\\1\\1Uj\\1F",[])), 
    <<"rhubarb">> = iolist_to_binary(re:replace("rhubarb","^((.)(?1)\\2|.)$","g\\1WKOnON\\1\\1YO\\1\\1Uj\\1F",[global])), 
    <<"the quick brown fox">> = iolist_to_binary(re:replace("the quick brown fox","^((.)(?1)\\2|.)$","JgofHErdXPIu\\1&",[])), 
    <<"the quick brown fox">> = iolist_to_binary(re:replace("the quick brown fox","^((.)(?1)\\2|.)$","JgofHErdXPIu\\1&",[global])), 
    <<"bKFgOfuwLfpxaHaJaz">> = iolist_to_binary(re:replace("baz","(a)(?<=b(?1))","KFgOfuwLfpx&H\\1J\\1",[])), 
    <<"bKFgOfuwLfpxaHaJaz">> = iolist_to_binary(re:replace("baz","(a)(?<=b(?1))","KFgOfuwLfpx&H\\1J\\1",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)(?<=b(?1))","i\\1&j&",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)(?<=b(?1))","i\\1&j&",[global])), 
    <<"caz">> = iolist_to_binary(re:replace("caz","(a)(?<=b(?1))","l&U&&H&t&",[])), 
    <<"caz">> = iolist_to_binary(re:replace("caz","(a)(?<=b(?1))","l&U&&H&t&",[global])), 
    <<"zbaakOqTqMsiTyaSGadz">> = iolist_to_binary(re:replace("zbaaz","(?<=b(?1))(a)","\\1kOqTqMsiTy\\1SG&d",[])), 
    <<"zbaakOqTqMsiTyaSGadz">> = iolist_to_binary(re:replace("zbaaz","(?<=b(?1))(a)","\\1kOqTqMsiTy\\1SG&d",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=b(?1))(a)","\\1osY\\1treCMjxk&Af",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=b(?1))(a)","\\1osY\\1treCMjxk&Af",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","(?<=b(?1))(a)","ykA&qS&nno",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","(?<=b(?1))(a)","ykA&qS&nno",[global])), 
    <<"baOKaGPxYz">> = iolist_to_binary(re:replace("baz","(?<X>a)(?<=b(?&X))","\\1OK&GPxY",[])), 
    <<"baOKaGPxYz">> = iolist_to_binary(re:replace("baz","(?<X>a)(?<=b(?&X))","\\1OK&GPxY",[global])), 
    ok.
run43() ->
    <<"abckIo">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))\\1","\\1kIo",[])), 
    <<"abckIo">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))\\1","\\1kIo",[global])), 
    <<"sdefdefUbl">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))\\1","s&Ubl",[])), 
    <<"sdefdefUbl">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))\\1","s&Ubl",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))\\1","&m&bWQpRl",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))\\1","&m&bWQpRl",[global])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))\\1","qwUmfoHo&tN",[])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))\\1","qwUmfoHo&tN",[global])), 
    <<"defabc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))\\1","KGoYhhlYddcruQ&k",[])), 
    <<"defabc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))\\1","KGoYhhlYddcruQ&k",[global])), 
    <<"PdYfAnnabcPxabcabcHvAQabcabcabcabcabcls">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))(?1)","PdYfAnn\\1Px&HvAQ&&\\1ls",[])), 
    <<"PdYfAnnabcPxabcabcHvAQabcabcabcabcabcls">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))(?1)","PdYfAnn\\1Px&HvAQ&&\\1ls",[global])), 
    <<"PAdefabc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))(?1)","PA&",[])), 
    <<"PAdefabc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))(?1)","PA&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))(?1)","Fqig",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))(?1)","Fqig",[global])), 
    <<"defdef">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))(?1)","e&yLb\\1&\\1D\\1q\\1UcBtn&",[])), 
    <<"defdef">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))(?1)","e&yLb\\1&\\1D\\1q\\1UcBtn&",[global])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))(?1)","&\\1\\1\\1atTuOfcyl\\1RO&y",[])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))(?1)","&\\1\\1\\1atTuOfcyl\\1RO&y",[global])), 
    <<"ACBCSBCTCMoOD">> = iolist_to_binary(re:replace("ABCD","(?:(?1)|B)(A(*F)|C)","C&S&T\\1MoO",[])), 
    <<"ACBCSBCTCMoOD">> = iolist_to_binary(re:replace("ABCD","(?:(?1)|B)(A(*F)|C)","C&S&T\\1MoO",[global])), 
    <<"bD">> = iolist_to_binary(re:replace("CCD","(?:(?1)|B)(A(*F)|C)","b",[])), 
    <<"bD">> = iolist_to_binary(re:replace("CCD","(?:(?1)|B)(A(*F)|C)","b",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*F)|C)","u&dbYn\\1jVvV&V\\1XC",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*F)|C)","u&dbYn\\1jVvV&V\\1XC",[global])), 
    <<"CAD">> = iolist_to_binary(re:replace("CAD","(?:(?1)|B)(A(*F)|C)","UbDT\\1DjcdPh",[])), 
    <<"CAD">> = iolist_to_binary(re:replace("CAD","(?:(?1)|B)(A(*F)|C)","UbDT\\1DjcdPh",[global])), 
    <<"CCahPD">> = iolist_to_binary(re:replace("CCD","^(?:(?1)|B)(A(*F)|C)","&ahP",[])), 
    <<"CCahPD">> = iolist_to_binary(re:replace("CCD","^(?:(?1)|B)(A(*F)|C)","&ahP",[global])), 
    <<"IYJaGD">> = iolist_to_binary(re:replace("BCD","^(?:(?1)|B)(A(*F)|C)","IYJaG",[])), 
    <<"IYJaGD">> = iolist_to_binary(re:replace("BCD","^(?:(?1)|B)(A(*F)|C)","IYJaG",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:(?1)|B)(A(*F)|C)","uckGWWHQG&ocJD\\1l\\1T",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:(?1)|B)(A(*F)|C)","uckGWWHQG&ocJD\\1l\\1T",[global])), 
    <<"ABCD">> = iolist_to_binary(re:replace("ABCD","^(?:(?1)|B)(A(*F)|C)","qbEQn",[])), 
    <<"ABCD">> = iolist_to_binary(re:replace("ABCD","^(?:(?1)|B)(A(*F)|C)","qbEQn",[global])), 
    <<"CAD">> = iolist_to_binary(re:replace("CAD","^(?:(?1)|B)(A(*F)|C)","kVqFM&D",[])), 
    <<"CAD">> = iolist_to_binary(re:replace("CAD","^(?:(?1)|B)(A(*F)|C)","kVqFM&D",[global])), 
    <<"BAD">> = iolist_to_binary(re:replace("BAD","^(?:(?1)|B)(A(*F)|C)","nKcCWd\\1",[])), 
    <<"BAD">> = iolist_to_binary(re:replace("BAD","^(?:(?1)|B)(A(*F)|C)","nKcCWd\\1",[global])), 
    <<"mCJFixrmAAAPiiNWHD">> = iolist_to_binary(re:replace("AAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","mCJFixrm&APiiNWH",[])), 
    <<"mCJFixrmAAAPiiNWHD">> = iolist_to_binary(re:replace("AAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","mCJFixrm&APiiNWH",[global])), 
    <<"fjOtIXCc">> = iolist_to_binary(re:replace("ACD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","fjOtIXCc",[])), 
    <<"fjOtIXCc">> = iolist_to_binary(re:replace("ACD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","fjOtIXCc",[global])), 
    <<"KSgQhFSAnBABD">> = iolist_to_binary(re:replace("BAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","KSgQhFS\\1n&B",[])), 
    <<"KSgQhFSAnBABD">> = iolist_to_binary(re:replace("BAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","KSgQhFS\\1n&B",[global])), 
    <<"KdBHaAwVPBCDCGCsRCBCD">> = iolist_to_binary(re:replace("BCD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","KdBHaAwVP&\\1G\\1sRC&",[])), 
    <<"KdBHaAwVPBCDCGCsRCBCD">> = iolist_to_binary(re:replace("BCD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","KdBHaAwVP&\\1G\\1sRC&",[global])), 
    <<"iaomqEcFWGhoDBAAnBAiCX">> = iolist_to_binary(re:replace("BAX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","iaomqEcFWGhoD&\\1n&iC",[])), 
    <<"iaomqEcFWGhoDBAAnBAiCX">> = iolist_to_binary(re:replace("BAX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","iaomqEcFWGhoD&\\1n&iC",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*ACCEPT)XX|C)D","S\\1&OO",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*ACCEPT)XX|C)D","S\\1&OO",[global])), 
    <<"ACX">> = iolist_to_binary(re:replace("ACX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","F\\1&dqt",[])), 
    <<"ACX">> = iolist_to_binary(re:replace("ACX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","F\\1&dqt",[global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","(?:(?1)|B)(A(*ACCEPT)XX|C)D","bL\\1I",[])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","(?:(?1)|B)(A(*ACCEPT)XX|C)D","bL\\1I",[global])), 
    <<"h">> = iolist_to_binary(re:replace("BAC","(?(DEFINE)(A))B(?1)C","\\1h",[])), 
    <<"h">> = iolist_to_binary(re:replace("BAC","(?(DEFINE)(A))B(?1)C","\\1h",[global])), 
    <<"EiDCVEGlgEGIr">> = iolist_to_binary(re:replace("BAAC","(?(DEFINE)((A)\\2))B(?1)C","E\\1iD\\1C\\1V\\1EG\\1lgEGIr",[])), 
    <<"EiDCVEGlgEGIr">> = iolist_to_binary(re:replace("BAAC","(?(DEFINE)((A)\\2))B(?1)C","E\\1iD\\1C\\1V\\1EG\\1lgEGIr",[global])), 
    <<"u(ab(cd)ef)(ab(cd)ef)v(ab(cd)ef)M">> = iolist_to_binary(re:replace("(ab(cd)ef)","(?<pn> \\( ( [^()]++ | (?&pn) )* \\) )","u&\\1v&M",[extended])), 
    <<"u(ab(cd)ef)(ab(cd)ef)v(ab(cd)ef)M">> = iolist_to_binary(re:replace("(ab(cd)ef)","(?<pn> \\( ( [^()]++ | (?&pn) )* \\) )","u&\\1v&M",[extended,
                                                                                                                                                                                                                                                              global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*SKIP)b|ac)","EhJBenWdk&&",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*SKIP)b|ac)","EhJBenWdk&&",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*SKIP)b|ac)","DVmcudRK&vBXmqcVY",[])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*SKIP)b|ac)","DVmcudRK&vBXmqcVY",[global])), 
    <<"qxyHbdqjab">> = iolist_to_binary(re:replace("ab","^(?=a(*PRUNE)b)","qxyH&bdqj",[])), 
    <<"qxyHbdqjab">> = iolist_to_binary(re:replace("ab","^(?=a(*PRUNE)b)","qxyH&bdqj",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*PRUNE)b)","qDd\\1UHvpsMvHI\\1gEx&d",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*PRUNE)b)","qDd\\1UHvpsMvHI\\1gEx&d",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*PRUNE)b)","mB\\1\\1R&\\1Ax",[])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*PRUNE)b)","mB\\1\\1R&\\1Ax",[global])), 
    <<"FpGwac">> = iolist_to_binary(re:replace("ac","^(?=a(*ACCEPT)b)","Fp\\1Gw",[])), 
    <<"FpGwac">> = iolist_to_binary(re:replace("ac","^(?=a(*ACCEPT)b)","Fp\\1Gw",[global])), 
    <<"abCqbtkqunCIvDxbdMM">> = iolist_to_binary(re:replace("ab","(?>a\\Kb)","&Cq&t\\1kqunCIvDx&dMM",[])), 
    <<"abCqbtkqunCIvDxbdMM">> = iolist_to_binary(re:replace("ab","(?>a\\Kb)","&Cq&t\\1kqunCIvDx&dMM",[global])), 
    <<"aAk">> = iolist_to_binary(re:replace("ab","((?>a\\Kb))","Ak",[])), 
    <<"aAk">> = iolist_to_binary(re:replace("ab","((?>a\\Kb))","Ak",[global])), 
    <<"anKUUUFwaxNFjPabNJd">> = iolist_to_binary(re:replace("ab","(a\\Kb)","nKUUUFwaxNFjP\\1NJd",[])), 
    <<"anKUUUFwaxNFjPabNJd">> = iolist_to_binary(re:replace("ab","(a\\Kb)","nKUUUFwaxNFjP\\1NJd",[global])), 
    <<"acuYfxPcxoRKaceSXk">> = iolist_to_binary(re:replace("ac","^a\\Kcz|ac","&uYfxPcxoRK\\1\\1&eSXk",[])), 
    <<"acuYfxPcxoRKaceSXk">> = iolist_to_binary(re:replace("ac","^a\\Kcz|ac","&uYfxPcxoRK\\1\\1&eSXk",[global])), 
    <<"abCSFabuababvPlR">> = iolist_to_binary(re:replace("ab","(?>a\\Kbz|ab)","\\1&CSF&u&&vPlR",[])), 
    <<"abCSFabuababvPlR">> = iolist_to_binary(re:replace("ab","(?>a\\Kbz|ab)","\\1&CSF&u&&vPlR",[global])), 
    <<"aomXuCuVpjjUFcrWQIR">> = iolist_to_binary(re:replace("ab","^(?&t)(?(DEFINE)(?<t>a\\Kb))$","omXuCuVpjjUFcrW\\1QIR",[])), 
    <<"aomXuCuVpjjUFcrWQIR">> = iolist_to_binary(re:replace("ab","^(?&t)(?(DEFINE)(?<t>a\\Kb))$","omXuCuVpjjUFcrW\\1QIR",[global])), 
    <<"a(b)clxcg">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","&lx\\1g",[])), 
    <<"a(b)clxcg">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","&lx\\1g",[global])), 
    <<"dUeBGa(b(c)d)emKya(b(c)d)e">> = iolist_to_binary(re:replace("a(b(c)d)e","^([^()]|\\((?1)*\\))*$","dU\\1BG&mKy&",[])), 
    <<"dUeBGa(b(c)d)emKya(b(c)d)e">> = iolist_to_binary(re:replace("a(b(c)d)e","^([^()]|\\((?1)*\\))*$","dU\\1BG&mKy&",[global])), 
    <<"cP00f0uN">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","cP&\\1f&uN",[])), 
    <<"cP00f0uN">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","cP&\\1f&uN",[global])), 
    <<"pV00MD00p00haFc00MG00qG">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","pV\\1MD\\1p\\1haFc&MG&qG",[])), 
    <<"pV00MD00p00haFc00MG00qG">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","pV\\1MD\\1p\\1haFc&MG&qG",[global])), 
    <<"GdBC0000INu00000000Y0000">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","GdBC&INu&&Y&",[])), 
    <<"GdBC0000INu00000000Y0000">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","GdBC&INu&&Y&",[global])), 
    ok.
run44() ->
    <<"00RwFP">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","&&RwFP",[])), 
    <<"00RwFP">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","&&RwFP",[global])), 
    <<"TIRVuPlNk0">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","TIRVuPlNk",[])), 
    <<"TIRVuPlNkTIRVuPlNk">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","TIRVuPlNk",[global])), 
    <<"0IxIBm0KbqqiO000">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","&IxIBm&KbqqiO",[])), 
    <<"0IxIBm0KbqqiO0IxIBm0KbqqiO0IxIBm0KbqqiO0IxIBm0KbqqiO">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","&IxIBm&KbqqiO",[global])), 
    <<"ACABX">> = iolist_to_binary(re:replace("ACABX","A(*COMMIT)(B|D)","\\1&&\\1KWXWa",[])), 
    <<"ACABX">> = iolist_to_binary(re:replace("ACABX","A(*COMMIT)(B|D)","\\1&&\\1KWXWa",[global])), 
    <<"ABCgPYRRqRBOrABCABCAHBQDEFG">> = iolist_to_binary(re:replace("ABCDEFG","(*COMMIT)(A|P)(B|P)(C|P)","&gPYRRqRBOr&&\\1HBQ",[])), 
    <<"ABCgPYRRqRBOrABCABCAHBQDEFG">> = iolist_to_binary(re:replace("ABCDEFG","(*COMMIT)(A|P)(B|P)(C|P)","&gPYRRqRBOr&&\\1HBQ",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(*COMMIT)(A|P)(B|P)(C|P)","awq\\1dexeIK&rKgbPrqk",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(*COMMIT)(A|P)(B|P)(C|P)","awq\\1dexeIK&rKgbPrqk",[global])), 
    <<"DEFGABC">> = iolist_to_binary(re:replace("DEFGABC","(*COMMIT)(A|P)(B|P)(C|P)","NRfdYIv\\1HtrT",[])), 
    <<"DEFGABC">> = iolist_to_binary(re:replace("DEFGABC","(*COMMIT)(A|P)(B|P)(C|P)","NRfdYIv\\1HtrT",[global])), 
    <<"jYabbbAGmvaabbbXabbbTAaixGp">> = iolist_to_binary(re:replace("abbb","(\\w+)(?>b(*COMMIT))\\w{2}","jY&AGmv\\1&X&TA\\1ixGp",[])), 
    <<"jYabbbAGmvaabbbXabbbTAaixGp">> = iolist_to_binary(re:replace("abbb","(\\w+)(?>b(*COMMIT))\\w{2}","jY&AGmv\\1&X&TA\\1ixGp",[global])), 
    <<"abbb">> = iolist_to_binary(re:replace("abbb","(\\w+)b(*COMMIT)\\w{2}","\\1mM",[])), 
    <<"abbb">> = iolist_to_binary(re:replace("abbb","(\\w+)b(*COMMIT)\\w{2}","\\1mM",[global])), 
    <<"bofPRc">> = iolist_to_binary(re:replace("bac","(?&t)(?#()(?(DEFINE)(?<t>a))","ofPR",[])), 
    <<"bofPRc">> = iolist_to_binary(re:replace("bac","(?&t)(?#()(?(DEFINE)(?<t>a))","ofPR",[global])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(?>yes|no)(*THEN)(*F))?","&ItXS\\1Uh&ueLGo\\1AKJxK",[])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(?>yes|no)(*THEN)(*F))?","&ItXS\\1Uh&ueLGo\\1AKJxK",[global])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(yes|no)(*THEN)(*F))?","VnOG&\\1W",[])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(yes|no)(*THEN)(*F))?","VnOG&\\1W",[global])), 
    ok.
run45() ->
    <<"LVLUbcejbciMOvVvY">> = iolist_to_binary(re:replace("bc","b?(*SKIP)c","LV\\1LU&ej&iMOvVvY",[])), 
    <<"LVLUbcejbciMOvVvY">> = iolist_to_binary(re:replace("bc","b?(*SKIP)c","LV\\1LU&ej&iMOvVvY",[global])), 
    <<"aHUUUhKBfPpjU">> = iolist_to_binary(re:replace("abc","b?(*SKIP)c","\\1HUUUhKBf\\1P\\1pjU",[])), 
    <<"aHUUUhKBfPpjU">> = iolist_to_binary(re:replace("abc","b?(*SKIP)c","\\1HUUUhKBf\\1P\\1pjU",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)bc","\\1F&mJF",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)bc","\\1F&mJF",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)b","P\\1EF",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)b","P\\1EF",[global])), 
    <<"EiQojDQBehRidDoNAxxx">> = iolist_to_binary(re:replace("xxx","(?P<abn>(?P=abn)xxx|)+","EiQojDQBehRidDoNA",[])), 
    <<"EiQojDQBehRidDoNAxEiQojDQBehRidDoNAxEiQojDQBehRidDoNAxEiQojDQBehRidDoNA">> = iolist_to_binary(re:replace("xxx","(?P<abn>(?P=abn)xxx|)+","EiQojDQBehRidDoNA",[global])), 
    <<"akmvYT">> = iolist_to_binary(re:replace("aa","(?i:([^b]))(?1)","akmvYT",[])), 
    <<"akmvYT">> = iolist_to_binary(re:replace("aa","(?i:([^b]))(?1)","akmvYT",[global])), 
    <<"alaAraWMaaaAKIgQdaAOaF">> = iolist_to_binary(re:replace("aA","(?i:([^b]))(?1)","\\1l&r\\1WM\\1\\1&KIgQd&O\\1F",[])), 
    <<"alaAraWMaaaAKIgQdaAOaF">> = iolist_to_binary(re:replace("aA","(?i:([^b]))(?1)","\\1l&r\\1WM\\1\\1&KIgQd&O\\1F",[global])), 
    <<"*XAfh**hlh Failers">> = iolist_to_binary(re:replace("** Failers","(?i:([^b]))(?1)","\\1XAfh&hlh",[])), 
    <<"*XAfh**hlh XAfh FhlhaXAfhaihlhlXAfhlehlhrXAfhrshlh">> = iolist_to_binary(re:replace("** Failers","(?i:([^b]))(?1)","\\1XAfh&hlh",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(?i:([^b]))(?1)","e\\1eCmoSn",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(?i:([^b]))(?1)","e\\1eCmoSn",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:([^b]))(?1)","hiocPQeyl&&Nx\\1",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:([^b]))(?1)","hiocPQeyl&&Nx\\1",[global])), 
    <<"Ba">> = iolist_to_binary(re:replace("Ba","(?i:([^b]))(?1)","Q\\1ImC\\1ihLTYkO",[])), 
    <<"Ba">> = iolist_to_binary(re:replace("Ba","(?i:([^b]))(?1)","Q\\1ImC\\1ihLTYkO",[global])), 
    <<"ba">> = iolist_to_binary(re:replace("ba","(?i:([^b]))(?1)","R\\1bTV\\1\\1",[])), 
    <<"ba">> = iolist_to_binary(re:replace("ba","(?i:([^b]))(?1)","R\\1bTV\\1\\1",[global])), 
    <<"mwO">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","mwO",[])), 
    <<"mwO">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","mwO",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","EQl\\1AR",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","EQl\\1AR",[global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","&yy\\1GJaXojFYo",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","&yy\\1GJaXojFYo",[global])), 
    <<"WMarOaaaaaaXebFIbQKdmm">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*(?(DEFINE)(?<t>a))\\w$","\\1W\\1MarO&ebFIbQKdm\\1\\1m",[])), 
    <<"WMarOaaaaaaXebFIbQKdmm">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*(?(DEFINE)(?<t>a))\\w$","\\1W\\1MarO&ebFIbQKdm\\1\\1m",[global])), 
    <<"lWw">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*(?(DEFINE)(?<t>a))\\w$","lWw\\1",[])), 
    <<"lWw">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*(?(DEFINE)(?<t>a))\\w$","lWw\\1",[global])), 
    <<"IpraaaaXkaKXqwTNFSEgDP">> = iolist_to_binary(re:replace("aaaaX","^(a)*+(\\w)","Ipr&k\\1KXqwTNFSEgDP",[])), 
    <<"IpraaaaXkaKXqwTNFSEgDP">> = iolist_to_binary(re:replace("aaaaX","^(a)*+(\\w)","Ipr&k\\1KXqwTNFSEgDP",[global])), 
    <<"jnYLYhYZ">> = iolist_to_binary(re:replace("YZ","^(a)*+(\\w)","jn&L&\\1\\1hY",[])), 
    <<"jnYLYhYZ">> = iolist_to_binary(re:replace("YZ","^(a)*+(\\w)","jn&L&\\1\\1hY",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)*+(\\w)","d\\1&ohvven\\1&P\\1\\1exSs",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)*+(\\w)","d\\1&ohvven\\1&P\\1\\1exSs",[global])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)*+(\\w)","biv&rxkne",[])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)*+(\\w)","biv&rxkne",[global])), 
    <<"FVSRXhsNXQwYCX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)*+(\\w)","FVSR\\1hsN\\1QwYC\\1",[])), 
    <<"FVSRXhsNXQwYCX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)*+(\\w)","FVSR\\1hsN\\1QwYC\\1",[global])), 
    <<"MiyTnbYYLxIYkYvmDUZ">> = iolist_to_binary(re:replace("YZ","^(?:a)*+(\\w)","MiyTnb&&LxI\\1k\\1vmDU",[])), 
    <<"MiyTnbYYLxIYkYvmDUZ">> = iolist_to_binary(re:replace("YZ","^(?:a)*+(\\w)","MiyTnb&&LxI\\1k\\1vmDU",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)*+(\\w)","&Ugr\\1y",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)*+(\\w)","&Ugr\\1y",[global])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)*+(\\w)","\\1\\1&Qbd\\1SyY&u",[])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)*+(\\w)","\\1\\1&Qbd\\1SyY&u",[global])), 
    <<"uQsoweaaaaXLoVaaaaaXmpAeu">> = iolist_to_binary(re:replace("aaaaX","^(a)++(\\w)","uQsowe&LoVa&mpAeu",[])), 
    <<"uQsoweaaaaXLoVaaaaaXmpAeu">> = iolist_to_binary(re:replace("aaaaX","^(a)++(\\w)","uQsowe&LoVa&mpAeu",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)++(\\w)","Nqxlkpdpkdkbt",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)++(\\w)","Nqxlkpdpkdkbt",[global])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)++(\\w)","rKpJsjRH&q",[])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)++(\\w)","rKpJsjRH&q",[global])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a)++(\\w)","\\1kUJik\\1c\\1d\\1wcEQVl",[])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a)++(\\w)","\\1kUJik\\1c\\1d\\1wcEQVl",[global])), 
    <<"aaaaXaaaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)++(\\w)","&&",[])), 
    <<"aaaaXaaaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)++(\\w)","&&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)++(\\w)","qJF",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)++(\\w)","qJF",[global])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)++(\\w)","Myqjwdc&SqVjwe\\1ab\\1x",[])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)++(\\w)","Myqjwdc&SqVjwe\\1ab\\1x",[global])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a)++(\\w)","pXmu",[])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a)++(\\w)","pXmu",[global])), 
    <<"dKaaX">> = iolist_to_binary(re:replace("aaaaX","^(a)?+(\\w)","dK",[])), 
    <<"dKaaX">> = iolist_to_binary(re:replace("aaaaX","^(a)?+(\\w)","dK",[global])), 
    <<"QtZ">> = iolist_to_binary(re:replace("YZ","^(a)?+(\\w)","Qt",[])), 
    <<"QtZ">> = iolist_to_binary(re:replace("YZ","^(a)?+(\\w)","Qt",[global])), 
    <<"yaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)?+(\\w)","y",[])), 
    <<"yaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)?+(\\w)","y",[global])), 
    <<"knhrTYKYCYLYLHYZ">> = iolist_to_binary(re:replace("YZ","^(?:a)?+(\\w)","knhrT\\1K&C&L\\1LH\\1",[])), 
    <<"knhrTYKYCYLYLHYZ">> = iolist_to_binary(re:replace("YZ","^(?:a)?+(\\w)","knhrT\\1K&C&L\\1LH\\1",[global])), 
    <<"qaFxAasVdrHD">> = iolist_to_binary(re:replace("aaaaX","^(a){2,}+(\\w)","q\\1FxAasVdrHD",[])), 
    <<"qaFxAasVdrHD">> = iolist_to_binary(re:replace("aaaaX","^(a){2,}+(\\w)","q\\1FxAasVdrHD",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a){2,}+(\\w)","Ce",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a){2,}+(\\w)","Ce",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a){2,}+(\\w)","Pr\\1pRjfic",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a){2,}+(\\w)","Pr\\1pRjfic",[global])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a){2,}+(\\w)","\\1qc&A\\1p\\1Ce",[])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a){2,}+(\\w)","\\1qc&A\\1p\\1Ce",[global])), 
    <<"TomaaaaXfexyXrPgPChaaaaXUaaaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a){2,}+(\\w)","Tom&fexy\\1rPgPCh&U&",[])), 
    <<"TomaaaaXfexyXrPgPChaaaaXUaaaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a){2,}+(\\w)","Tom&fexy\\1rPgPCh&U&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a){2,}+(\\w)","QxuQNyMAkLj\\1N",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a){2,}+(\\w)","QxuQNyMAkLj\\1N",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(?:a){2,}+(\\w)","qs&d\\1p&DFpaHv",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(?:a){2,}+(\\w)","qs&d\\1p&DFpaHv",[global])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a){2,}+(\\w)","&YUGUUNV&jklvBQ",[])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a){2,}+(\\w)","&YUGUUNV&jklvBQ",[global])), 
    <<"kRhvBb">> = iolist_to_binary(re:replace("b","(a|)*(?1)b","kRhvB&",[])), 
    <<"kRhvBb">> = iolist_to_binary(re:replace("b","(a|)*(?1)b","kRhvB&",[global])), 
    <<"UabqY">> = iolist_to_binary(re:replace("ab","(a|)*(?1)b","U&qY",[])), 
    <<"UabqY">> = iolist_to_binary(re:replace("ab","(a|)*(?1)b","U&qY",[global])), 
    <<"vmyFiqvLaabXSeOYAObD">> = iolist_to_binary(re:replace("aab","(a|)*(?1)b","vmyFiqvL&XSeOYAObD",[])), 
    <<"vmyFiqvLaabXSeOYAObD">> = iolist_to_binary(re:replace("aab","(a|)*(?1)b","vmyFiqvL&XSeOYAObD",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)++(?1)b","aYXyIdVfFghDXyBuUsnK",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)++(?1)b","aYXyIdVfFghDXyBuUsnK",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(a)++(?1)b","mJgf&UxblrhCqYENY",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(a)++(?1)b","mJgf&UxblrhCqYENY",[global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(a)++(?1)b","Nji&a",[])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(a)++(?1)b","Nji&a",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)*+(?1)b","oFCeDPwP&kYedB",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)*+(?1)b","oFCeDPwP&kYedB",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(a)*+(?1)b","&ws\\1adQnsr\\1NinVGyRsh",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(a)*+(?1)b","&ws\\1adQnsr\\1NinVGyRsh",[global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(a)*+(?1)b","Sb&x&",[])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(a)*+(?1)b","Sb&x&",[global])), 
    <<"bQNe">> = iolist_to_binary(re:replace("b","(?1)(?:(b)){0}","&QNe",[])), 
    <<"bQNe">> = iolist_to_binary(re:replace("b","(?1)(?:(b)){0}","&QNe",[global])), 
    <<"KRfoo(bar(baz)+baz(bop))yTvP">> = iolist_to_binary(re:replace("foo(bar(baz)+baz(bop))","(foo ( \\( ((?:(?> [^()]+ )|(?2))*) \\) ) )","KR\\1yTvP",[extended])), 
    <<"KRfoo(bar(baz)+baz(bop))yTvP">> = iolist_to_binary(re:replace("foo(bar(baz)+baz(bop))","(foo ( \\( ((?:(?> [^()]+ )|(?2))*) \\) ) )","KR\\1yTvP",[extended,
                                                                                                                                                                                                                                                                                                global])), 
    ok.
run46() ->
    <<"Cfqx">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","Cfqx",[extended])), 
    <<"Cfqx">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","Cfqx",[extended,
                                                                                                                                                                                                       global])), 
    <<"abaaHraVohxea">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)","a&\\1Hr\\1Vohxe\\1",[])), 
    <<"abaaHraVohxea">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)","a&\\1Hr\\1Vohxe\\1",[global])), 
    <<"hEyjnxKIbWTujTtR">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)++","hEyjnxKIbWT\\1ujT\\1tR",[])), 
    <<"hEyjnxKIbWTujTtR">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)++","hEyjnxKIbWT\\1ujT\\1tR",[global])), 
    <<"oTgqSlaOSViBsWdYFa">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)++","oTgqSl\\1OSViBsWdYF\\1",[])), 
    <<"oTgqSlaOSViBsWdYFa">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)++","oTgqSl\\1OSViBsWdYF\\1",[global])), 
    <<"pATfIbaqPbaaOQbaSG">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc|d)","pATfI\\1&qP&aOQ&SG\\1",[])), 
    <<"pATfIbaqPbaaOQbaSG">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc|d)","pATfI\\1&qP&aOQ&SG\\1",[global])), 
    <<"bJYJaBVjnbvSceetle">> = iolist_to_binary(re:replace("beetle","(?:(b))++","bJYJaBVjn\\1vSc",[])), 
    <<"bJYJaBVjnbvSceetle">> = iolist_to_binary(re:replace("beetle","(?:(b))++","bJYJaBVjn\\1vSc",[global])), 
    <<"MEbqeMaqej">> = iolist_to_binary(re:replace("a","(?(?=(a(*ACCEPT)z))a)","MEbqeM\\1qej",[])), 
    <<"MEbqeMaqejMEbqeMqej">> = iolist_to_binary(re:replace("a","(?(?=(a(*ACCEPT)z))a)","MEbqeM\\1qej",[global])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)+ab","&",[])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)+ab","&",[global])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)++ab","O&\\1shXpvDpv&VVC",[])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)++ab","O&\\1shXpvDpv&VVC",[global])), 
    <<"RARockgammon">> = iolist_to_binary(re:replace("backgammon","(?(DEFINE)(a))?b(?1)","RARo\\1",[])), 
    <<"RARockgammon">> = iolist_to_binary(re:replace("backgammon","(?(DEFINE)(a))?b(?1)","RARo\\1",[global])), 
    <<"wlgVxP
def">> = iolist_to_binary(re:replace("abc
def","^\\N+","wlgVxP",[])), 
    <<"wlgVxP
def">> = iolist_to_binary(re:replace("abc
def","^\\N+","wlgVxP",[global])), 
    <<"G
def">> = iolist_to_binary(re:replace("abc
def","^\\N{1,}","G",[])), 
    <<"G
def">> = iolist_to_binary(re:replace("abc
def","^\\N{1,}","G",[global])), 
    <<"Iocde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|(?R)b)","Io",[])), 
    <<"Iocde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|(?R)b)","Io",[global])), 
    <<"kXRsqrvOjaaaaanNXFFUcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|((?R))b)","kXRsqrvOja\\1nNXFFU",[])), 
    <<"kXRsqrvOjaaaaanNXFFUcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|((?R))b)","kXRsqrvOja\\1nNXFFU",[global])), 
    <<"QNpwCPcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R)a+|(?1)b))","QNpwCP",[])), 
    <<"QNpwCPcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R)a+|(?1)b))","QNpwCP",[global])), 
    <<"QcDpPOcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R1)a+|(?1)b))","QcDpPO",[])), 
    <<"QcDpPOcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R1)a+|(?1)b))","QcDpPO",[global])), 
    <<"hIv">> = iolist_to_binary(re:replace("a","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","\\1hIv",[])), 
    <<"hIv">> = iolist_to_binary(re:replace("a","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","\\1hIv",[global])), 
    <<"bHaeaxaaAF">> = iolist_to_binary(re:replace("ba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","H&\\1eax&&AF",[])), 
    <<"bHaeaxaaAF">> = iolist_to_binary(re:replace("ba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","H&\\1eax&&AF",[global])), 
    <<"bbyaRYN">> = iolist_to_binary(re:replace("bba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","y&RYN",[])), 
    <<"bbyaRYN">> = iolist_to_binary(re:replace("bba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","y&RYN",[global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b) c","y\\1YaiS",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b) c","y\\1YaiS",[extended,
                                                                                                                                                                                                      global])), 
    ok.
run47() ->
    <<"LababMabJVX">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F)) c","L\\1\\1M\\1JVX",[extended])), 
    <<"LababMabJVX">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F)) c","L\\1\\1M\\1JVX",[extended,
                                                                                                                                                                                                                              global])), 
    <<"jBPevabLaabcWNWjnnaabcpgwaabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) | (*F) ) c","jBPev\\1L&WNWjnn&pgw&",[extended])), 
    <<"jBPevabLaabcWNWjnnaabcpgwaabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) | (*F) ) c","jBPev\\1L&WNWjnn&pgw&",[extended,
                                                                                                                                                                                                                                                         global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) ) c","GOxmfDqgi",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) ) c","GOxmfDqgi",[extended,
                                                                                                                                                                                                               global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b) c","H\\1mWytdK\\1",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b) c","H\\1mWytdK\\1",[extended,
                                                                                                                                                                                                                     global])), 
    <<"bpmBlFODKYLa">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F)) c","bpmBlFO\\1DKYLa",[extended])), 
    <<"bpmBlFODKYLa">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F)) c","bpmBlFO\\1DKYLa",[extended,
                                                                                                                                                                                                                                  global])), 
    <<"JjdAaabcVAKJYnJUNmb">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) | (*F) ) c","JjdA&VAKJYnJUN\\1mb",[extended])), 
    <<"JjdAaabcVAKJYnJUNmb">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) | (*F) ) c","JjdA&VAKJYnJUN\\1mb",[extended,
                                                                                                                                                                                                                                                           global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) ) c","th\\1Srp\\1LGEBK",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) ) c","th\\1Srp\\1LGEBK",[extended,
                                                                                                                                                                                                                                       global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b) c","ukgQQVa\\1qLglPHKE",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b) c","ukgQQVa\\1qLglPHKE",[extended,
                                                                                                                                                                                                                              global])), 
    <<"PVXXt">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b|(*F)) c","PVXXt",[extended])), 
    <<"PVXXt">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b|(*F)) c","PVXXt",[extended,
                                                                                                                                                                                                             global])), 
    <<"XNnaabcsJeaabciijbma">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) | (*F) ) c","XNn&sJe&iijbma",[extended])), 
    <<"XNnaabcsJeaabciijbma">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) | (*F) ) c","XNn&sJe&iijbma",[extended,
                                                                                                                                                                                                                                                 global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) ) c","CtO\\1VdQgHMA&JMp",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) ) c","CtO\\1VdQgHMA&JMp",[extended,
                                                                                                                                                                                                                                         global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b)++ c","AAl\\1s\\1MAOnKUxaX",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b)++ c","AAl\\1s\\1MAOnKUxaX",[extended,
                                                                                                                                                                                                                                 global])), 
    <<"iaabcpWabNRGraabct">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F))++ c","i&pW\\1NRGr&t",[extended])), 
    <<"iaabcpWabNRGraabct">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F))++ c","i&pW\\1NRGr&t",[extended,
                                                                                                                                                                                                                                global])), 
    <<"aabcqfVFpeSPlabMdablfKabP">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ | (*F) )++ c","&qfVFpeSPl\\1Md\\1lfK\\1P",[extended])), 
    <<"aabcqfVFpeSPlabMdablfKabP">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ | (*F) )++ c","&qfVFpeSPl\\1Md\\1lfK\\1P",[extended,
                                                                                                                                                                                                                                                                         global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ )++ c","b\\1de\\1",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ )++ c","b\\1de\\1",[extended,
                                                                                                                                                                                                                         global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b)++ c","&\\1&MQR\\1u\\1SGG&\\1SpJ",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b)++ c","&\\1&MQR\\1u\\1SGG&\\1SpJ",[extended,
                                                                                                                                                                                                                                                      global])), 
    ok.
run48() ->
    <<"SaabcjaKGAOmOgHE">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F))++ c","S&\\1jaKGAOmOgHE",[extended])), 
    <<"SaabcjaKGAOmOgHE">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F))++ c","S&\\1jaKGAOmOgHE",[extended,
                                                                                                                                                                                                                                         global])), 
    <<"VvLaabclAtFq">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ | (*F) )++ c","VvL&lAtFq",[extended])), 
    <<"VvLaabclAtFq">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ | (*F) )++ c","VvL&lAtFq",[extended,
                                                                                                                                                                                                                                              global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ )++ c","Mg&",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ )++ c","Mg&",[extended,
                                                                                                                                                                                                                    global])), 
    <<"prdTVmJacpUmv">> = iolist_to_binary(re:replace("ac","^(?(?=a(*THEN)b)ab|ac)","prdT\\1VmJ&pUmv",[])), 
    <<"prdTVmJacpUmv">> = iolist_to_binary(re:replace("ac","^(?(?=a(*THEN)b)ab|ac)","prdT\\1VmJ&pUmv",[global])), 
    <<"ba">> = iolist_to_binary(re:replace("ba","^.*?(?(?=a)a|b(*THEN)c)","wa",[])), 
    <<"ba">> = iolist_to_binary(re:replace("ba","^.*?(?(?=a)a|b(*THEN)c)","wa",[global])), 
    <<"JLcpcbaPX">> = iolist_to_binary(re:replace("ba","^.*?(?:(?(?=a)a|b(*THEN)c)|d)","JLcpc&PX",[])), 
    <<"JLcpcbaPX">> = iolist_to_binary(re:replace("ba","^.*?(?:(?(?=a)a|b(*THEN)c)|d)","JLcpc&PX",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^.*?(?(?=a)a(*THEN)b|c)","P\\1eLsoy&h",[])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^.*?(?(?=a)a(*THEN)b|c)","P\\1eLsoy&h",[global])), 
    <<"aaQkbjSmrabIabc">> = iolist_to_binary(re:replace("aabc","^.*(?=a(*THEN)b)","&&Q\\1kbjSmr&\\1bI",[])), 
    <<"aaQkbjSmrabIabc">> = iolist_to_binary(re:replace("aabc","^.*(?=a(*THEN)b)","&&Q\\1kbjSmr&\\1bI",[global])), 
    <<"xascDcHDAWsCEkjCgcd">> = iolist_to_binary(re:replace("xacd","(?<=a(*ACCEPT)b)c","s\\1&D&HDAWsCEkjC\\1g&",[])), 
    <<"xascDcHDAWsCEkjCgcd">> = iolist_to_binary(re:replace("xacd","(?<=a(*ACCEPT)b)c","s\\1&D&HDAWsCEkjC\\1g&",[global])), 
    <<"xaTcalxCpPaREWFWqwSqLed">> = iolist_to_binary(re:replace("xacd","(?<=(a(*ACCEPT)b))c","T&\\1lxCpP\\1REWFWqwSqLe",[])), 
    <<"xaTcalxCpPaREWFWqwSqLed">> = iolist_to_binary(re:replace("xacd","(?<=(a(*ACCEPT)b))c","T&\\1lxCpP\\1REWFWqwSqLe",[global])), 
    <<"xababKJXd">> = iolist_to_binary(re:replace("xabcd","(?<=(a(*COMMIT)b))c","\\1KJX",[])), 
    <<"xababKJXd">> = iolist_to_binary(re:replace("xabcd","(?<=(a(*COMMIT)b))c","\\1KJX",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=(a(*COMMIT)b))c","caxcMW&&uQRuH",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=(a(*COMMIT)b))c","caxcMW&&uQRuH",[global])), 
    <<"xacd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*COMMIT)b))c","FOAJ",[])), 
    <<"xacd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*COMMIT)b))c","FOAJ",[global])), 
    <<"xkklXcAWOSApWPhcsCd">> = iolist_to_binary(re:replace("xcd","(?<!a(*FAIL)b)c","kklX&AWOSApWPhcsC",[])), 
    <<"xkklXcAWOSApWPhcsCd">> = iolist_to_binary(re:replace("xcd","(?<!a(*FAIL)b)c","kklX&AWOSApWPhcsC",[global])), 
    <<"aEd">> = iolist_to_binary(re:replace("acd","(?<!a(*FAIL)b)c","E",[])), 
    <<"aEd">> = iolist_to_binary(re:replace("acd","(?<!a(*FAIL)b)c","E",[global])), 
    <<"xabXbpgbspePmyaYAcaQfd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*PRUNE)b)c","XbpgbspePmyaYA&a\\1Qf\\1",[])), 
    <<"xabXbpgbspePmyaYAcaQfd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*PRUNE)b)c","XbpgbspePmyaYA&a\\1Qf\\1",[global])), 
    <<"xabLEAOaSIPRfaaJd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*SKIP)b)c","LEAO\\1a\\1SIPRfaaJ",[])), 
    <<"xabLEAOaSIPRfaaJd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*SKIP)b)c","LEAO\\1a\\1SIPRfaaJ",[global])), 
    <<"xabaUocAdcnXoUlbd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*THEN)b)c","aUocAdcnXoUlb",[])), 
    <<"xabaUocAdcnXoUlbd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*THEN)b)c","aUocAdcnXoUlb",[global])), 
    <<"nkbGaaSijewUabcdnMG">> = iolist_to_binary(re:replace("abcd","(a)(?2){2}(.)","nkbG\\1aSijewU&nMG",[])), 
    <<"nkbGaaSijewUabcdnMG">> = iolist_to_binary(re:replace("abcd","(a)(?2){2}(.)","nkbG\\1aSijewU&nMG",[global])), 
    ok.
run49() ->
    <<"hello world SintestMnKXO">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1?)test","Sin&MnKXO",[])), 
    <<"hello world SintestMnKXO">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1?)test","Sin&MnKXO",[global])), 
    <<"hello world test">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1+)test","EqY&e&Np",[])), 
    <<"hello world test">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1+)test","EqY&e&Np",[global])), 
    <<"aacnRTVpYnGmPcIyAaacWH">> = iolist_to_binary(re:replace("aac","(a(*COMMIT)b){0}a(?1)|aac","\\1&n\\1RTVpYnGmPcIyA&WH",[])), 
    <<"aacnRTVpYnGmPcIyAaacWH">> = iolist_to_binary(re:replace("aac","(a(*COMMIT)b){0}a(?1)|aac","\\1&n\\1RTVpYnGmPcIyA&WH",[global])), 
    <<"saacAdlboHVPY">> = iolist_to_binary(re:replace("aac","((?:a?)*)*c","s&\\1Adlb\\1oHVPY",[])), 
    <<"saacAdlboHVPY">> = iolist_to_binary(re:replace("aac","((?:a?)*)*c","s&\\1Adlb\\1oHVPY",[global])), 
    <<"PQFQipl">> = iolist_to_binary(re:replace("aac","((?>a?)*)*c","\\1PQF\\1Qipl",[])), 
    <<"PQFQipl">> = iolist_to_binary(re:replace("aac","((?>a?)*)*c","\\1PQF\\1Qipl",[global])), 
    <<"aOSwgH">> = iolist_to_binary(re:replace("aba","(?>.*?a)(?<=ba)","OSwg\\1H",[])), 
    <<"aOSwgH">> = iolist_to_binary(re:replace("aba","(?>.*?a)(?<=ba)","OSwg\\1H",[global])), 
    <<"UL">> = iolist_to_binary(re:replace("aba","(?:.*?a)(?<=ba)","UL",[])), 
    <<"UL">> = iolist_to_binary(re:replace("aba","(?:.*?a)(?<=ba)","UL",[global])), 
    <<"akGFFqTULiWlebdQv">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","kGFFqTU\\1Li\\1\\1Wl\\1ebdQv",[])), 
    <<"akGFFqTULiWlebdQv">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","kGFFqTU\\1Li\\1\\1Wl\\1ebdQv",[global])), 
    <<"aXPTFWMMabnvLRLXcgs">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","XP\\1T\\1FWMM&nvLRL\\1Xcgs",[dotall])), 
    <<"aXPTFWMMabnvLRLXcgs">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","XP\\1T\\1FWMM&nvLRL\\1Xcgs",[dotall,
                                                                                                                                                                                                                                 global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^a(*PRUNE)b","kTbd&d\\1IUxwe",[dotall])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^a(*PRUNE)b","kTbd&d\\1IUxwe",[dotall,
                                                                                                                                                                                                   global])), 
    <<"atVababo">> = iolist_to_binary(re:replace("aab",".*?a(*SKIP)b","\\1tV&&o",[])), 
    <<"atVababo">> = iolist_to_binary(re:replace("aab",".*?a(*SKIP)b","\\1tV&&o",[global])), 
    <<"aWeRyiVpKsDiabnl">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","WeR\\1yiVpKsDi&nl\\1",[dotall])), 
    <<"aWeRyiVpKsDiabnl">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","WeR\\1yiVpKsDi&nl\\1",[dotall,
                                                                                                                                                                                                            global])), 
    <<"aUabbhWWOF">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","U&bhWWOF\\1",[])), 
    <<"aUabbhWWOF">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","U&bhWWOF\\1",[global])), 
    ok.
run50() ->
    <<"aab">> = iolist_to_binary(re:replace("aab","(?>^a)b","l",[dotall])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(?>^a)b","l",[dotall,
                                                                                                                                                               global])), 
    <<"alphabetabcdeY">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*?)(?<=(abcd)|(wxyz))","eY",[])), 
    <<"alphabetabcdeY">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*?)(?<=(abcd)|(wxyz))","eY",[global])), 
    <<"endingwxyzmUXcfh">> = iolist_to_binary(re:replace("endingwxyz","(?>.*?)(?<=(abcd)|(wxyz))","mUX&cf\\1\\1h",[])), 
    <<"endingwxyzmUXcfh">> = iolist_to_binary(re:replace("endingwxyz","(?>.*?)(?<=(abcd)|(wxyz))","mUX&cf\\1\\1h",[global])), 
    <<"alphabetabcddalphabetabcdHPabcdycalphabetabcdalphabetabcdabcdAsalphabetabcdnalphabetabcd">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd)|(wxyz))","&d&HP\\1yc&&\\1As&n&",[])), 
    <<"alphabetabcddalphabetabcdHPabcdycalphabetabcdalphabetabcdabcdAsalphabetabcdnalphabetabcddHPabcdycabcdAsn">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd)|(wxyz))","&d&HP\\1yc&&\\1As&n&",[global])), 
    <<"nuJausendingwxyzRQmendingwxyzxY">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd)|(wxyz))","nuJaus&RQm&xY",[])), 
    <<"nuJausendingwxyzRQmendingwxyzxYnuJausRQmxY">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd)|(wxyz))","nuJaus&RQm&xY",[global])), 
    <<"abcdfooxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*)foo","tW\\1",[])), 
    <<"abcdfooxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*)foo","tW\\1",[global])), 
    <<"abcdfooVDUixyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*?)foo","&VDUi",[])), 
    <<"abcdfooVDUixyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*?)foo","&VDUi",[global])), 
    <<"acxmMn">> = iolist_to_binary(re:replace("ac","(?:(a(*PRUNE)b)){0}(?:(?1)|ac)","&\\1xmMn",[])), 
    <<"acxmMn">> = iolist_to_binary(re:replace("ac","(?:(a(*PRUNE)b)){0}(?:(?1)|ac)","&\\1xmMn",[global])), 
    <<"PvKHsAacacQ">> = iolist_to_binary(re:replace("ac","(?:(a(*SKIP)b)){0}(?:(?1)|ac)","P\\1vKHsA&&Q",[])), 
    <<"PvKHsAacacQ">> = iolist_to_binary(re:replace("ac","(?:(a(*SKIP)b)){0}(?:(?1)|ac)","P\\1vKHsA&&Q",[global])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","(?<=(*SKIP)ac)a","g",[])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","(?<=(*SKIP)ac)a","g",[global])), 
    <<"aakcebaaaacgyaaaaceWGsoCOKKn">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)b|a+c","kceb&gy&eWG\\1soCOKKn",[])), 
    <<"aakcebaaaacgyaaaaceWGsoCOKKn">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)b|a+c","kceb&gy&eWG\\1soCOKKn",[global])), 
    <<"aaMwmkmaaaacTVDJaaaacSHIqUKYU">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*PRUNE)b|a+c","Mwmk\\1m&TVDJ&SHIqUKYU",[])), 
    <<"aaMwmkmaaaacTVDJaaaacSHIqUKYU">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*PRUNE)b|a+c","Mwmk\\1m&TVDJ&SHIqUKYU",[global])), 
    <<"aaaaaacWXE">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP:N)(*PRUNE)b|a+c","&WXE",[])), 
    <<"aaaaaacWXE">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP:N)(*PRUNE)b|a+c","&WXE",[global])), 
    <<"aalIbneaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaa(*:N)a(*SKIP:N)(*PRUNE)b|a+c","\\1lI\\1b\\1ne&",[])), 
    <<"aalIbneaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaa(*:N)a(*SKIP:N)(*PRUNE)b|a+c","\\1lI\\1b\\1ne&",[global])), 
    <<"aauaaaacUCgqIctaaaacOCUYF">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*PRUNE)b|a+c","u&UCg\\1qIct&O\\1CU\\1\\1YF",[])), 
    <<"aauaaaacUCgqIctaaaacOCUYF">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*PRUNE)b|a+c","u&UCg\\1qIct&O\\1CU\\1\\1YF",[global])), 
    ok.
run51() ->
    <<"aaaaaKQacStnP">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)b|a+c","K\\1Q&St\\1nP",[])), 
    <<"aaaaaKQacStnP">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)b|a+c","K\\1Q&St\\1nP",[global])), 
    <<"aaaaaYggUuQGacfRtKLJ">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*SKIP)b|a+c","YggUu\\1QG&\\1fRtKL\\1\\1J\\1",[])), 
    <<"aaaaaYggUuQGacfRtKLJ">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*SKIP)b|a+c","YggUu\\1QG&\\1fRtKL\\1\\1J\\1",[global])), 
    <<"aaaaa">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*SKIP)b|a+c","\\1",[])), 
    <<"aaaaa">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*SKIP)b|a+c","\\1",[global])), 
    <<"aaaaaU">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*SKIP)b|a+c","U",[])), 
    <<"aaaaaU">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*SKIP)b|a+c","U",[global])), 
    <<"aaaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)b|a+c","kAM",[])), 
    <<"aaaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)b|a+c","kAM",[global])), 
    <<"VvCwaaaaaacLKWgIbVKGB">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)b|a+c","VvCw&LKWgIbVKGB",[])), 
    <<"VvCwaaaaaacLKWgIbVKGB">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)b|a+c","VvCw&LKWgIbVKGB",[global])), 
    <<"abvTAmJ">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*THEN)b|a+c","abvTA\\1mJ",[])), 
    <<"abvTAmJ">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*THEN)b|a+c","abvTA\\1mJ",[global])), 
    <<"phVmoxx">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*THEN)b|a+c","phVm\\1oxx",[])), 
    <<"phVmoxx">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*THEN)b|a+c","phVm\\1oxx",[global])), 
    <<"GdHapg">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*THEN)b|a+c","Gd\\1Hapg",[])), 
    <<"GdHapg">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*THEN)b|a+c","Gd\\1Hapg",[global])), 
    ok.
run52() ->
    <<"aaaaa">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*PRUNE:m)(*SKIP:m)m|a+","\\1",[])), 
    <<"aaaaa">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*PRUNE:m)(*SKIP:m)m|a+","\\1",[global])), 
    <<"aaaaaQvaOuCaBoHYMapab">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","\\1Qv&\\1OuC&BoHYM&pab",[])), 
    <<"aaaaaQvaOuCaBoHYMapab">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","\\1Qv&\\1OuC&BoHYM&pab",[global])), 
    <<"aauaaaa">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*PRUNE:m)(*SKIP:m)m|a+","u&",[])), 
    <<"aauaaaa">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*PRUNE:m)(*SKIP:m)m|a+","u&",[global])), 
    <<"aaaaaTLn">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","TLn\\1",[])), 
    <<"aaaaaTLn">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","TLn\\1",[global])), 
    <<"aaaacEITBRXepyL">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*PRUNE:A)a(*SKIP:A)b|a+c","&EITBRXepyL\\1",[])), 
    <<"aaaacEITBRXepyL">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*PRUNE:A)a(*SKIP:A)b|a+c","&EITBRXepyL\\1",[global])), 
    <<"aaaMSacMdGgSm">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*MARK:A)a(*SKIP:A)b|a+c","\\1MS&MdGg\\1Sm",[])), 
    <<"aaaMSacMdGgSm">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*MARK:A)a(*SKIP:A)b|a+c","\\1MS&MdGg\\1Sm",[global])), 
    <<"aaKCBrjuDaackaactRB">> = iolist_to_binary(re:replace("aaaac","aaa(*PRUNE:A)a(*SKIP:A)b|a+c","KCBrjuD&k&t\\1RB",[])), 
    <<"aaKCBrjuDaackaactRB">> = iolist_to_binary(re:replace("aaaac","aaa(*PRUNE:A)a(*SKIP:A)b|a+c","KCBrjuD&k&t\\1RB",[global])), 
    <<"aaaKWuEddO">> = iolist_to_binary(re:replace("aaaac","aaa(*MARK:A)a(*SKIP:A)b|a+c","KWuEddO",[])), 
    <<"aaaKWuEddO">> = iolist_to_binary(re:replace("aaaac","aaa(*MARK:A)a(*SKIP:A)b|a+c","KWuEddO",[global])), 
    <<"QSDGhNmLAsnYtCIuka">> = iolist_to_binary(re:replace("ba",".?(a|b(*THEN)c)","QSDGhNmLAsnYtCIuka",[])), 
    <<"QSDGhNmLAsnYtCIuka">> = iolist_to_binary(re:replace("ba",".?(a|b(*THEN)c)","QSDGhNmLAsnYtCIuka",[global])), 
    <<"tARW">> = iolist_to_binary(re:replace("abc","(a(*COMMIT)b)c|abd","tARW",[])), 
    <<"tARW">> = iolist_to_binary(re:replace("abc","(a(*COMMIT)b)c|abd","tARW",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(a(*COMMIT)b)c|abd","THra\\1QsHhH&NqVcHjK\\1",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(a(*COMMIT)b)c|abd","THra\\1QsHhH&NqVcHjK\\1",[global])), 
    <<"eJabcbgg">> = iolist_to_binary(re:replace("abc","(?=a(*COMMIT)b)abc|abd","\\1eJ&\\1bgg",[])), 
    <<"eJabcbgg">> = iolist_to_binary(re:replace("abc","(?=a(*COMMIT)b)abc|abd","\\1eJ&\\1bgg",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(?=a(*COMMIT)b)abc|abd","&",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(?=a(*COMMIT)b)abc|abd","&",[global])), 
    <<"SJjtxKabcE">> = iolist_to_binary(re:replace("abc","(?>a(*COMMIT)b)c|abd","SJjt\\1xK&E",[])), 
    <<"SJjtxKabcE">> = iolist_to_binary(re:replace("abc","(?>a(*COMMIT)b)c|abd","SJjt\\1xK&E",[global])), 
    <<"nCO">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","\\1nCO",[])), 
    <<"nCO">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","\\1nCO",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a(?=b(*COMMIT)c)[^d]|abd","sicBOgC",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a(?=b(*COMMIT)c)[^d]|abd","sicBOgC",[global])), 
    <<"OIc">> = iolist_to_binary(re:replace("abc","a(?=b(*COMMIT)c)[^d]|abd","OI",[])), 
    <<"OIc">> = iolist_to_binary(re:replace("abc","a(?=b(*COMMIT)c)[^d]|abd","OI",[global])), 
    <<"cBnM">> = iolist_to_binary(re:replace("abd","a(?=bc).|abd","cBnM",[])), 
    <<"cBnM">> = iolist_to_binary(re:replace("abd","a(?=bc).|abd","cBnM",[global])), 
    <<"uwVabvc">> = iolist_to_binary(re:replace("abc","a(?=bc).|abd","\\1uwV&v",[])), 
    <<"uwVabvc">> = iolist_to_binary(re:replace("abc","a(?=bc).|abd","\\1uwV&v",[global])), 
    <<"abceabd">> = iolist_to_binary(re:replace("abceabd","a(?>b(*COMMIT)c)d|abd","ON\\1oJApWbhJ&h\\1SDD",[])), 
    <<"abceabd">> = iolist_to_binary(re:replace("abceabd","a(?>b(*COMMIT)c)d|abd","ON\\1oJApWbhJ&h\\1SDD",[global])), 
    <<"abceabdFDcsKjWRPJwG">> = iolist_to_binary(re:replace("abceabd","a(?>bc)d|abd","&FDcsK\\1jWRPJwG",[])), 
    <<"abceabdFDcsKjWRPJwG">> = iolist_to_binary(re:replace("abceabd","a(?>bc)d|abd","&FDcsK\\1jWRPJwG",[global])), 
    <<"fTabdENuYeMabdK">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","fT&ENuY\\1eM&K",[])), 
    <<"fTabdENuYeMabdK">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","fT&ENuY\\1eM&K",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)c)d|abd","vbE",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)c)d|abd","vbE",[global])), 
    <<"iKqJ">> = iolist_to_binary(re:replace("ac","((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))","iKq\\1J",[])), 
    <<"iKqJ">> = iolist_to_binary(re:replace("ac","((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))","iKq\\1J",[global])), 
    ok.
run53() ->
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","YQRU&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","YQRU&",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a)?(?(1)a|b)+$","SLSciT&&F",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a)?(?(1)a|b)+$","SLSciT&&F",[global])), 
    <<"aIbCe">> = iolist_to_binary(re:replace("ab","(?=a\\Kb)ab","IbCe",[])), 
    <<"aIbCe">> = iolist_to_binary(re:replace("ab","(?=a\\Kb)ab","IbCe",[global])), 
    <<"KWEhxbu">> = iolist_to_binary(re:replace("ac","(?!a\\Kb)ac","KWEhxbu",[])), 
    <<"KWEhxbu">> = iolist_to_binary(re:replace("ac","(?!a\\Kb)ac","KWEhxbu",[global])), 
    <<"abObpVTjlSnifUCddjn">> = iolist_to_binary(re:replace("abcd","^abc(?<=b\\Kc)d","ObpV\\1TjlSnifUCddjn",[])), 
    <<"abObpVTjlSnifUCddjn">> = iolist_to_binary(re:replace("abcd","^abc(?<=b\\Kc)d","ObpV\\1TjlSnifUCddjn",[global])), 
    <<"lljlodkrbhYabcdXWQwLIT">> = iolist_to_binary(re:replace("abcd","^abc(?<!b\\Kq)d","llj\\1lodkrbhY&XWQwLIT",[])), 
    <<"lljlodkrbhYabcdXWQwLIT">> = iolist_to_binary(re:replace("abcd","^abc(?<!b\\Kq)d","llj\\1lodkrbhY&XWQwLIT",[global])), 
    <<"abcdabcdabcdHLqtQeabcdEabcdJHiabcdP">> = iolist_to_binary(re:replace("abcd","^((abc|abcx)(*THEN)y|abcd)","&&\\1HLqtQe&E\\1JHi\\1P",[])), 
    <<"abcdabcdabcdHLqtQeabcdEabcdJHiabcdP">> = iolist_to_binary(re:replace("abcd","^((abc|abcx)(*THEN)y|abcd)","&&\\1HLqtQe&E\\1JHi\\1P",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((abc|abcx)(*THEN)y|abcd)","NtVKEpoSj\\1\\1o\\1ESK",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((abc|abcx)(*THEN)y|abcd)","NtVKEpoSj\\1\\1o\\1ESK",[global])), 
    <<"abcxy">> = iolist_to_binary(re:replace("abcxy","^((abc|abcx)(*THEN)y|abcd)","Jj\\1XL&TAaD",[])), 
    <<"abcxy">> = iolist_to_binary(re:replace("abcxy","^((abc|abcx)(*THEN)y|abcd)","Jj\\1XL&TAaD",[global])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","^((yes|no)(*THEN)(*F))?","fA&L\\1bxmA\\1bu\\1w\\1Lh",[])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","^((yes|no)(*THEN)(*F))?","fA&L\\1bxmA\\1bu\\1w\\1Lh",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|ac)ac|ac","uuCjDlLQYP",[])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|ac)ac|ac","uuCjDlLQYP",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|(ac)) ac | (a)c","\\1W&y&PeDCK\\1cDLtO",[extended])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|(ac)) ac | (a)c","\\1W&y&PeDCK\\1cDLtO",[extended,
                                                                                                                                                                                                                                                     global])), 
    <<"bnWqWn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*THEN)a)bn|bnn)","&WqW",[])), 
    <<"bnWqWn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*THEN)a)bn|bnn)","&WqW",[global])), 
    <<"PGnTXLBnIbnbnbnePKbnn">> = iolist_to_binary(re:replace("bnn","(?!b(*SKIP)a)bn|bnn","PGnTXLBnI&&&e\\1PK&",[])), 
    <<"PGnTXLBnIbnbnbnePKbnn">> = iolist_to_binary(re:replace("bnn","(?!b(*SKIP)a)bn|bnn","PGnTXLBnI&&&e\\1PK&",[global])), 
    <<"iMn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*SKIP)a)bn|bnn)","\\1iM",[])), 
    <<"iMn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*SKIP)a)bn|bnn)","\\1iM",[global])), 
    <<"gcbnaxAn">> = iolist_to_binary(re:replace("bnn","(?!b(*PRUNE)a)bn|bnn","\\1gc&ax\\1\\1A",[])), 
    <<"gcbnaxAn">> = iolist_to_binary(re:replace("bnn","(?!b(*PRUNE)a)bn|bnn","\\1gc&ax\\1\\1A",[global])), 
    <<"dAtbnrKybneTLNeBcn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*PRUNE)a)bn|bnn)","dAt&rKy&eTLNeBc",[])), 
    <<"dAtbnrKybneTLNeBcn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*PRUNE)a)bn|bnn)","dAt&rKy&eTLNeBc",[global])), 
    <<"vXn">> = iolist_to_binary(re:replace("bnn","(?!b(*COMMIT)a)bn|bnn","vX",[])), 
    <<"vXn">> = iolist_to_binary(re:replace("bnn","(?!b(*COMMIT)a)bn|bnn","vX",[global])), 
    <<"EUadjhULxavkwOtGbnqrPn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*COMMIT)a)bn|bnn)","EUadjhULxavkwOtG&qrP",[])), 
    <<"EUadjhULxavkwOtGbnqrPn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*COMMIT)a)bn|bnn)","EUadjhULxavkwOtG&qrP",[global])), 
    <<"bnn">> = iolist_to_binary(re:replace("bnn","(?=b(*SKIP)a)bn|bnn","Fw",[])), 
    <<"bnn">> = iolist_to_binary(re:replace("bnn","(?=b(*SKIP)a)bn|bnn","Fw",[global])), 
    <<"JgfYWGl">> = iolist_to_binary(re:replace("bnn","(?=b(*THEN)a)bn|bnn","Jgf\\1Y\\1W\\1Gl\\1",[])), 
    <<"JgfYWGl">> = iolist_to_binary(re:replace("bnn","(?=b(*THEN)a)bn|bnn","Jgf\\1Y\\1W\\1Gl\\1",[global])), 
    <<"SacJCiWoykVpvXacd">> = iolist_to_binary(re:replace("acd","(?!a(*SKIP)b)..","S&JCiWoykVpvX\\1&",[])), 
    <<"SacJCiWoykVpvXacd">> = iolist_to_binary(re:replace("acd","(?!a(*SKIP)b)..","S&JCiWoykVpvX\\1&",[global])), 
    ok.
run54() ->
    <<"CxbMac">> = iolist_to_binary(re:replace("ac","^(?(?!a(*SKIP)b))","&Cxb&M",[])), 
    <<"CxbMac">> = iolist_to_binary(re:replace("ac","^(?(?!a(*SKIP)b))","&Cxb&M",[global])), 
    <<"OceGNacoaFRboacPKd">> = iolist_to_binary(re:replace("acd","^(?!a(*PRUNE)b)..","OceGN&o\\1aF\\1Rb\\1o&PK",[])), 
    <<"OceGNacoaFRboacPKd">> = iolist_to_binary(re:replace("acd","^(?!a(*PRUNE)b)..","OceGN&o\\1aF\\1Rb\\1o&PK",[global])), 
    <<"ysd">> = iolist_to_binary(re:replace("acd","(?!a(*PRUNE)b)..","ys",[])), 
    <<"ysd">> = iolist_to_binary(re:replace("acd","(?!a(*PRUNE)b)..","ys",[global])), 
    <<"nba">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)","n\\1\\1&",[])), 
    <<"nba">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)","n\\1\\1&",[global])), 
    <<"CDEeCDYuCDCDb">> = iolist_to_binary(re:replace("CD","^(A(*THEN)B|C(*THEN)D)","&Ee\\1Yu\\1\\1b",[])), 
    <<"CDEeCDYuCDCDb">> = iolist_to_binary(re:replace("CD","^(A(*THEN)B|C(*THEN)D)","&Ee\\1Yu\\1\\1b",[global])), 
    <<"AYtnukv">> = iolist_to_binary(re:replace("1234","^\\d*\\w{4}","AYtn\\1ukv",[])), 
    <<"AYtnukv">> = iolist_to_binary(re:replace("1234","^\\d*\\w{4}","AYtn\\1ukv",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^\\d*\\w{4}","oGBqK\\1EWY&VbHw\\1ue&",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^\\d*\\w{4}","oGBqK\\1EWY&VbHw\\1ue&",[global])), 
    <<"LhHvlYGR">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","\\1LhHvlYGR",[])), 
    <<"LhHvlYGR">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","\\1LhHvlYGR",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","S\\1wy&o\\1v&ST",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","S\\1wy&o\\1v&ST",[global])), 
    <<"aaaagQaaaalwFSxFUL">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","\\1\\1\\1&gQ&lwFSxFU\\1L",[caseless])), 
    <<"aaaagQaaaalwFSxFUL">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","\\1\\1\\1&gQ&lwFSxFU\\1L",[caseless,
                                                                                                                                                                                                                                global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","SfymhPOH",[caseless])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","SfymhPOH",[caseless,
                                                                                                                                                                                        global])), 
    <<"HTMLYQhAQNJHaaaaJKAva">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","HTM\\1L\\1YQhAQNJH&JKAva",[])), 
    <<"HTMLYQhAQNJHaaaaJKAva">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","HTM\\1L\\1YQhAQNJH&JKAva",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","bfScQRcKYl&\\1&\\1&Aq&C",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","bfScQRcKYl&\\1&\\1&Aq&C",[global])), 
    <<"aaaadgKVePEaaaaqdlcK">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","&dgKVePE&qdl\\1cK",[caseless])), 
    <<"aaaadgKVePEaaaaqdlcK">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","&dgKVePE&qdl\\1cK",[caseless,
                                                                                                                                                                                                         global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","ncXKavCFttF",[caseless])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","ncXKavCFttF",[caseless,
                                                                                                                                                                                        global])), 
    ok.