anchor.diff:              {Pattern, []}
       end.
   
  -match_pattern(_Topic, undefined) ->
  +match_pattern(<<>>, {<<>>, _}) ->
  +    #{};
  +match_pattern(_NonEmpty, {<<>>, _}) ->
       undefined;
   match_pattern(Topic, {Pattern, Vars}) ->
       case re:run(Topic, Pattern, [global, {capture, all, binary}]) of
  
positive.code:     undefined.
  
  prepare_matching(undefined) ->
      undefined;
  prepare_matching(Pattern) ->
      EPattern0 = binary:replace(Pattern, <<".">>, <<"\\">>, [global, {insert_replaced, 1}]),
      EPattern = binary:replace(EPattern0, <<"#">>, <<".*">>, [global]),
  
negative.code: pattern_for_cowboy(_Error) ->
      error.
  
  -type fill_pattern_t() :: {binary(), [{integer(), integer()}]}.
  -spec prepare_filling('undefined' | binary() | [binary()]) -> fill_pattern_t() | [fill_pattern_t()].
  prepare_filling(List) when is_list(List) ->
      lists:map(
          fun(Item) -> prepare_filling(Item) end, List);
  prepare_filling(undefined) ->
      ?EMPTY_PATTERN;
  prepare_filling(Pattern) ->
      case re:run(Pattern, "{[^}]+}", [global]) of
          {match, Match} ->
  