+:Escapes
+s,\\\\,\\,g; s,\\&,\&,g;
+s,\\<,\<,g; s,\\>,\>,g;
+s,\\",\",g; s,\\',\',g;
+s,\\\[,\[,g; s,\\\],\],g;
+s,\\\.,\.,g; s,\\#,\#,g;
+s,\\,,g;
+
+:CommentHandle
+x; /^<\/!-->/{
+ x; /--]/{
+ H; s;^(.*)--].*$;\1-->;p;
+ g; s;^.*--]([^\n]*)$;\1;
+ x; s;^</!-->\n(.*)\n[^\n]*$;\1;; x;
+ bCommentEnd
+ }
+ p; b;
+}
+x;
+:CommentEnd
+
+:shortcuts
+s;\[hidden[ \t]+"([^"]*)"[ \t]+"([^"]*)";[input type="hidden" name="\1" value="\2";g;